3 ms·
> I think that GNOME Shell is the most attractive and useful window manager for any operating system out there. > I set /org/gnome/shell/disable-user-extension
by jitl 3y ago
> I think that GNOME Shell is the most attractive and useful window manager for any operating system out there.
> I set /org/gnome/shell/disable-user-extensions to false, which completely disables the user extensions feature of GNOME. User extensions are a mechanism that allow users to write GNOME extensions in Javascript, similar to how Chrome and Firefox extensions work. […] I'm not sure that disabling user extensions actually disables the Javascript engine completely, but it definitely minimizes it to the least possible scope.
Gnome Shell itself is largely written in JavaScript.
From https://gjs.guide/extensions/overview/architecture.html#shell https://gjs.guide/extensions/overview/architecture.html#shel...
> GNOME Shell's JavaScript codebase uses these libraries to create the user interface you interact with every day, organized into modules. A number of these modules are re-used throughout GNOME Shell and are commonly used in extensions
I wrote a tiling window manager extension for myself in 2010. At least back then it was a very weird JavaScript environment and I didn’t enjoy programming for it. It was best to write all the code for browser and use dependency injection with small Gnome Shell specific parts because debugging in the browser was so much easier.
- emmelaich 3y agoThere's a typo/thinko there too? Should be true not false.
- physicles 3y agoGood observation. Turning off extensions is where OP lost me. In the last year, the single biggest quality of life improvement for me has been discovering the Argos[0] extension, which basically lets you put whatever text/menus you want in the top bar by writing scripts that print to stdout. To save space, I hid the dock (I use [1] as a replacement alt-tab), so the top bar is the only piece of screen that isn't OS chrome. On my top bar right now I have the time in four time zones (including the ever-important UTC to save a mental calculation when logging at logs), the name of the current Wifi access point, and some VPN details gleaned using a combination of ip r, ping, nc, and curl. Another extension shows free RAM. I look at them dozens of times a day. [0] https://extensions.gnome.org/extension/1176/argos/ https://extensions.gnome.org/extension/1176/argos/ [1] https://gist.github.com/cbd32/cbec9a32b32bd9e93b0d2696c71b5f03 https://gist.github.com/cbd32/cbec9a32b32bd9e93b0d2696c71b5f...
- pjmlp 3y ago> Gnome Shell itself is largely written in JavaScript. And its "performance" is what finally made me switch to XFCE.
- ankurdhama 3y agoJavaScript in Gnome shell is not doing any heavy lifting... all such things are done in C code.
- pjmlp 3y agoYeah, sure. https://feaneron.com/2018/04/20/the-infamous-gnome-shell-memory-leak/ https://feaneron.com/2018/04/20/the-infamous-gnome-shell-mem... https://www.phoronix.com/news/GNOME-Shell-JS-Exts-Problems https://www.phoronix.com/news/GNOME-Shell-JS-Exts-Problems Plenty of other links to share if you want.