As a daily GNOME user, this is inaccurate. OP is comparing each DE's out-of-the-box experience which is obviously not meant to be left untouched. Both GNOME and KDE have hundreds of extensions that augment functionality in various ways. For a macOS-like experience on GNOME not much is needed:
- A dock like the one provided by the excellent Dash-to-dock extension
- Toolbar buttons like fullscreen and minimize can be easily enabled from GNOME Tweaks or with the `gsettings` CLI. They can even be moved to the left side of the title bar.
- Desktop icons are available by default, I know because I explicitly disable them.
- The "system tray" is supported with the AppIndicator extension
- Lots of customization options are available in GNOME too in the Control Center, through GNOME Tweaks and the `gsettings` CLI.
- Extensions like Blur My Shell and Rounded Window Corners can bring the experience even closer to the recent macOS one (I'm not aware of any Liquid Glass extensions at the moment). Shell themes are a thing too, you can change anything.
Ubuntu bundles most of this much friendlier GNOME experience as the default. I wonder what distro OP chose.
Personally, I think KDE doesn't have that much to offer over GNOME, except maybe stability and KDE connect for phone integration.
Yes it is a weak point. In the end, no matter what you choose you'll have to make a compromise. Some people prefer extra stability, others prefer a specific workflow or UI theme. It's entirely up to you and that's what makes Linux so great!
My experience has been that while gnome extensions can break with updates. KDE’s built in customization is already buggy as hell. So your choice is to either use gnome for a generally good experience and disable extensions when something breaks, or use kde and not know what feature will break what.
Gnome team probably made the (correct) choice that they couldn’t reasonably maintain a massively customizable de with their resources.
As someone that used GNOME 1.0, was contributor to Gtkmm for a brief moment, the fact that GNOME 3.0 needs so many extensions, versus GNOME 1.0 - 2.0 default experience, and its dependency on JavaScript already rules it out for me.
Indeed, Ubuntu has to ship additional GNOME extensions for basic features Unity already offered, and they didn't want a revolt when decided to drop Unity.
This is true, I don't like the fact that JS is needed either, but as someone who has used Unity as well, the current state of GNOME is much better in other aspects. As far as I can tell, JS was chosen to make it easier to extend, without requiring knowledge of systems programming languages like C, while also preventing all sorts of memory bugs which could crash the whole desktop (technically still possible, but harder to accidentally do).
Unless you want to significantly change how gnome works (nothing wrong with that! It's awesome you can do tons of experimenting that way) you really only need two or three extensions to work around bone headed decisions from the gnome team.
> versus GNOME 1.0 - 2.0 default experience
I honestly think GNOME pre 3.something sucked and always saw KDE 3 as vastly superior (KDE 3 mod even more so) than gnome of those days. Things got a lot rougher with KDE in version 4 and even 5 but they seem to be course correcting and producing something finally mostly superior to KDE 3.
> and its dependency on JavaScript already rules it out for me.
Its not a full browser running in gnome, but actually their own thing with a much more reasonable footprint (haha get it?) and a lot less baggage than a full web view. There is no npm ecosystem, no crazy 1000s of libraries dependency for each extension, no DOM, very simple and direct CSS implementation, no web APIs and so on. Anyway, what other dynamic language would you recommend to be used in this situation? Python? Would that really be better in terms of speed and memory usage?
> Indeed, Ubuntu has to ship additional GNOME extensions for basic features Unity already offered,
Well, duh, gnome is not unity so for ubuntu to make GNOME into unity they do need a way to modify it, and I bet you they are glad they can just use the extension system rather than keep a giant patchset of C code that they need to maintain each release (well they do, but it's much smaller than it would have to be if no extension system existed.).
Besides, Canonical can easily deal with their own extensions breaking each release because they are the distribution and can plan around it, breaking is more of a problem for the extensions that users add, and I do agree GNOME ought to come up with a better way of handling it.
All of it is subjective of course, and I will admit that once upon a time I was a tinkerer to try and find the perfect DE and UI for me. However, about 15 years ago I just got tired of that pursuit and just decided what MacOS gave me out of the box was fine. Now only tweaked by Rectangle just to handle window tiling a bit better.
What I discovered is that all of the effort I spent trying to get to that place of “productivity” I lost so much time that the juice wasn’t worth the squeeze. Not to mention the amount of time needed just to replace a machine to get it “usable”. My efforts towards that productive utopia made me not productive.
Hats off though to anyone who actually gets there and gets a measurable net benefit for their efforts. But for those still in that pursuit, I’d recommend trying to just go out of the box for awhile. It can be liberating and you might find those annoyances you are fixated on in your current out of the box OS, might become less important if you just dive in.
I for one love terrible out of the box experiences and have to magically know what extensions are good and will solve whatever problems I have with the DE. It's so freeing to spend all my time hunting down extensions and and keeping them updated or magically have them break when the DE updates. Even better is when all these extensions aren't handled by the distros' package manager!
> I for one love terrible out of the box experiences and have to magically know what extensions are good and will solve whatever problems I have with the DE.
The first day you got your Mac, did you know what apps to install or where you can get them from? Did you know how to customize your desktop or set a screensaver? macOS is becoming less and less intuitive with every update.
No matter what you do, using Linux with any DE requires this to some extent. I didn't know about these things either when I started using GNOME.
> It's so freeing to spend all my time hunting down extensions and and keeping them updated or magically have them break when the DE updates.
Extensions are automatically updated once a new version is released. Finding them is as easy as finding apps in any app or extension store and the same goes for KDE.
Actively maintained extensions have no issues with breaking updates and there's always the option of delaying a GNOME upgrade until things stabilize. Apps like Extension Manager let you know about compatibility issues before upgrading.
> Even better is when all these extensions aren't handled by the distros' package manager!
Your distro's package repositories have no obligation to support installing extensions for your DE. Do you only install Microsoft Store apps?
Ubuntu bundles most of this much friendlier GNOME experience as the default. I wonder what distro OP chose.
Personally, I think KDE doesn't have that much to offer over GNOME, except maybe stability and KDE connect for phone integration.