3 ms·
This is cool, but the fact that its written in JS tells me just about everything I need to know about gnome... JS has its place, using it for systems programmi
by StillBored 5y ago
This is cool, but the fact that its written in JS tells me just about everything I need to know about gnome...
JS has its place, using it for systems programming isn't one of them IMHO, since I prefer to have the core of my computation stack slim and fast. I can almost forgive the electron apps their piggyness given the desire to build cross platform, but gnome? Yah, no thanks.
- jeff_vader 5y agoI find it interesting since JavaScript in this case is only "glue" language. Actual effects are hardware (?) shaders: https://github.com/Schneegans/Burn-My-Windows/blob/main/src/extension/FireShader.js#L45-L153 https://github.com/Schneegans/Burn-My-Windows/blob/main/src/... .. Had no idea this is possible.
- StillBored 5y agoIMHO, its less about where the work is done (and yes i'm aware that gjs tends to be used mostly as glue, and the same with KDE) and more the fact that I don't want a big heavyweight garbage collected language deciding to garbage collect and glitch some part of the system, or JIT pass recompiling a bunch of code when I first click it. I despise latency in human computer interactions and everyone whines about how its worse on pretty much every common PC/etc vs older devices, yet they go an install hooks written in JITed/garbage collected languages all over the system. Having those hooks written in compiled languages/etc is bad enough, I found myself regularly cleaning the runas & windows explorer context menus of loads of cruft because the click latency was noticeable, and now not only can one plug in a ton of stuff but it needs to thunk though to JS to do it (and not picking particularly on JS, because it would be just as bad in java or python or whatever other scripting language one chooses). Its just a waste of cycles, and for projects I work on, engineering time is "cheap". That applies to most system programming if one spends 1/2 a second considering that the code forms the foundation for hundreds of millions of devices all burning energy and the time of their users.
- ratboy666 5y agoAh ha! Thank you the detail. The philosophy is that Gnome is NOT configurable, really, just does a VERY limited and consistent desktop thing. It doesn't even have icons on the desktop (by default). I find that it is "easy" for most users -- there is really nothing there! If you want icons on the desktop, add an extension for that. And, the idea of extensions is that they are small programs that are easy to manage. It is possible to turn them all off with a click! (if they are getting in the way). I just counted -- I have 36 extensions on my Gnome 41. Note that icons on the desktop = extension, start menu for programs = extension. You can certainly start programs without a start menu -- that is the default "Gnome Way". On the other hand -- being able to consistently customize is very nice (I particularly like "argos" extension, which makes it delightfully easy to add buttons, gather and display information and more -- and as a bonus, is fully compatible with the MacOS bitbar plugin. Yes, I use a lot of extensions, but I do have 4 or 8GB of RAM is my laptops, and i3 or better processors, so this becomes a reasonable fit for me.
- nerdponx 5y agoThe JS usage in this case isn't any different from Python or Ruby or Perl or Tcl.
- ratboy666 5y agoJavascript for desktop extensions. Makes sense -- doesn't matter what processor you are running! Sure, depends on the version of the desktop environment - and each extension declares what version(s) it is operable for. The major problem is that I may be running (just for example) Gnome 40 on one machine and then Gnome 30 on another, and I really can't share the same home directory! That would be lovely if it could be worked out! Would also slightly simplify my backup strategies. I don't see desktop extensions as the "core of the computation stack". Can you expand on that idea, please?
- dyingkneepad 5y agoI don't care what language is used, my problem with Gnome extensions is that after I install them, one of these things will happen: a) after a minor apt-get update the extension will stop working b) the extension will leak memory and after a few days of uptime my desktop will be unusable That's why I'm still running Cinnamon. Gnome extensions are a thing created to deflect the biggest criticisms towards Gnome's questionable direction, yet they are a second-class citizen and never really work well enough to be acceptable.