There’s no denying that not everyone is happy with the state of the GTK world, and I, too, have argued that GNOME’s massive presence and seeming unwillingness to cooperate with or even consider the existence of other GTK-based desktop environments is doing real, measurable harm to the likes of Xfce, Cinnamon, and others. A major root cause is a feeling that GTK is nothing but a vessel for GNOME, and that the project doesn’t really seem to care much about anyone else.
GNOME Foundation member and all-round very kind person Hari Rana, also known as TheEvilSkeleton, penned a blog post highlighting the other side of the story. In essence, what it comes down to, according to Rana, is that it’s better for everyone if GNOME-specific widgets are moved out of GTK, and into something else – first libhandy, and now its succesor libadwaita, splitting the toolkit (GTK) from the design language (libadwaita). This allows GNOME developers to focus on, well, GNOME, and frees up time for GTK developers to focus on generic widgets that aren’t specific to GNOME.
Thanks to the removal of GNOME widgets from GTK 4, GTK developers can continue to work on general-purpose widgets, without being influenced or restricted in any way by the GNOME HIG. Developers of cross-platform GTK 3 apps that rely exclusively on general-purpose widgets can be more confident that GTK 4 won’t remove these widgets, and hopefully enjoy the benefits that GTK 4 offers.
↫ Hari Rana
From a GNOME standpoint, this makes perfect sense, and I can obviously see the benefits for them. However, what this entire post seems to ignore is that the main effect of the split between GTK 4 and libadwaita is that various GTK applications, now targeting libadwaita because of GNOME’s immense popularity, simply no longer integrate very well with other desktops, like Xfce or Cinnamon. GNOME is, of course, under no obligation to remedy this situation, but at the very least they could acknowledge this is a very real problem that their fellow developers working on Xfce, Cinnamon, MATE, and others, have to deal with.
It works the other way around too. Developers targeting the Linux desktop, where GNOME is more or less the default, have to choose between making a GTK application that integrates well with GNOME by opting for libadwaita and leaving non-GNOME users with a crappy experience, or opting for ‘pure’ GTK 4 and leaving GNOME users with a worse experience. Neither option is good for the Linux desktop as a whole.
The very real ripple effects of GNOME’s choices regarding GTK and libadwaita are seemingly being stubbornly ignored, neglected, and often not even acknowledged at all, and it’s no surprise this creates an immense amount of friction in the wider desktop Linux community. It just feels smug and careless, and of course that’s going to rub people the wrong way- regardless of the purity of your intentions.
“the design language (libadwaita)”
Calling libadwaita a “design language” is a bit of a stretch.
“grey & muddy mess” would describe it much better.
It’s everything bad with the Win 11 GUI cranked up to … 11 …
And Win 11 is already really bad.
Gotta love Linux neckbeards and greybeards whining about systemd and libadwaita.
Hint: Open-source is about the right to receive a copy of the source code, not creative control
Open source – yes, you just get the source code. Free software – definitely not, it is all about user’s freedom and control. You, as a user, or someone with similar needs, can always step in and modify a piece of software to your liking.
Projects like Gnome interfere with this process by centralising everything they can. Now if you want to modify an app, you may very well end up maintaining Gtk, SystemD, Wayland compositor, sound server, browser engine and who knows what, the list is growing. That’s not free software anymore.
Personally, I am a “digital atheist” who has adopted the “best tool for the job” principle:
PC gaming -> Windows
Everything else desktop/laptop -> MacOS
Smartphones -> Android
Servers -> GNU/Linux (without a graphics stack)
Don’t get emotionally attached to an OS that can change in ways you personally don’t approve of. Also, try to use FOSS apps when possible (which tend to be portable between OSes).
The issue around GTK/Libadwaita is that it’s nothing to do with “Best tool for the best job”, it’s about one tool impacting others.
Put another way, imagine you had a woodshop. Power tools everywhere. Every tool is the right tool for its own job. Then the people who maintain the tablesaw decide they want more power, and modify the tablesaw so when it’s powered on it sucks so much juice everything else loses power. There’s even electrical damage because the building wasn’t wired to handle the amperage. Everybody else in the shop is complaining, and the power surges are damaging other tools.
This is basically what Gnome has done. It’s not that they’re doing their own thing, its that they inherited an entrenched toolkit and broke it to the point where it caused issues in other locations. For example, that time they broke window decorations for literally everyone relying on GTK in every non-Gnome desktop… Despite receiving patches that enabled backwards compatibility from KDE.
That’s a general problem with the Desktop Linux stack: Lots of bits from different organizations intertwined with each other, with each organization pushing its own agenda. So, the “best tool for the job” for desktop/laptops is not Desktop Linux no matter how hard the Thom Holwerdas of this world pretend it is. Buy a Mac if you want a Unix-like OS on your desktop/laptop. At least MacOS has a single organization exercising creative control, so at least there’s no internal infighting.
But if you must use Desktop Linux (at your job for example), pick GNOME or KDE, at least that way you don’t have the GTK people indirectly fighting the Xfce and Cinnamon people (with you caught in the middle). Hence, GNOME or KDE are the right tools for the job (even if you don’t like the UI they offer that much). But then of course you have the fact the forever war between GNOME and KDE spills into the app ecosystem of Desktop Linux (via the respective toolkits), but that is unavoidable in Desktop Linuxland.
I mean, you can get enraged by how the GNOME people are screwing over the Xfce and Cinnamon people, but this won’t fix anything. BTW this is what the whole “digital atheist” philosophy is, understanding all software (and especially OSes) are crap and choosing the crap that is the least dysfunctional for a given situation any given moment.
kurkosdr,
Both of these points are debatable though. A lot of people run linux on their apple PCs rather than macos. At least it was common when they were x86, mac hardware was well supported by linux and provided a sort of platform standard even for users who didn’t care for macos itself. Also, macos has long been criticized for not keeping up to date. All the unix development I see is really happening on linux these days.
There’s always infighting, it just happens that with private companies less of it is on public display and more of it is behind closed doors.
I think the criticism of Gnome is deserved for not playing well with others. For better or worse though they don’t really care. I could definitely agree with you that this remains a rather perpetual problem for many significant linux projects. We haven’t done a great job working together and we generally haven’t held any of he project leaders accountable for this. “Not invented here syndrome” is very high in linux circles.
That’s a valid philosophical point. I don’t see a reason it must be true in principal, but in practice I cannot deny that is often the case. I would point out it’s not really unique to linux, I still feel many frustrating things when I have to go back on windows. There too I don’t think things have to be bad in principal, but it seems like microsoft are determined to make it so because their interests aren’t aligned with their own users. In some ways I’m becoming nihilistic: it’s just the way things are and it doesn’t really matter what I think.
As well picking GNOME or KDE will not save you from the ongoing madness.
GNOME decided to not follow the freedesktop.org icon theming standards anymore, leading to missing icons when you e.g. use KDE apps in gnome: https://gitlab.gnome.org/GNOME/adwaita-icon-theme/-/issues/288
Using gnome apps in KDE as well will look bad, because gnome apps are not able to use server side decorations.
The problem is, that gnome is just not interested at all on interoperability. Hence, it makes alot of sense to port the Gnome apps to some general XApps project, like planned by Linux Mint, so that they can be used again in a non-gnome environment in a way forseen by the freedesktop.org standards.
Though yea, considered you have a donkey which poops money, you like walled gardens and are fine with having to obey to an evil company, for sure you can use MacOS instead.
When it comes to OSes in particular, it inevitably ends up being true, because absolute power corrupts absolutely. The people with creative control over a given OS have all the power and no responsibility (legal or otherwise).
Some people think that choosing an open-source OS (usually some Desktop Linux distro) will save them, until they realise the DE they love and cherish so much sits on top of a gigantic pile of dependencies they don’t have control over and have no hope of ever forking and maintaining separately. And I am not talking about UI dependencies only but stuff like systemd (which I personally like but everyone here apparently hates). Even if you “freeze” your dependencies, you then have the issue that stuff races past you. In fact, I consider Desktop Linux to be worse in terms of user experience, since there are all those little fiefdoms fighting each other (and you get to be in the middle of all the fighting) and there’s no CEO to step in and mandate that stuff has to be brought into at least shippable condition (Windows) or even better be consistent (MacOS and Anrdroid) or heads will roll.
A refurbished Mac is generally preferable to Desktop Linux, it’s the reason refurbished Macs are a big business while the sale of new Desktop Linux computers… not so much. And then there is the neat concept of paying a bit extra to get a premium OS (and with a much better app ecosystem too).
MacOS supports installing from dmg just fine. in fact, I don’t have to wait for some graybeard to repackage VLC into some “repository” to be able to install it (like on Desktop Linux), instead, I can go to VLC’s website and download it from there. Yes, I know, flatpak etc, I will believe it when I see it become the default way of installing apps on Desktop Linux.
Each Desktop Linux distro and its set of repositories is, in a sense, a little walled garden for us who don’t want to compile stuff from scratch.
And let’s not forget that in true Desktop Linux fashion, there are forever wars going on between the little fiefdoms on that front too (deb vs rpm – flatpak vs appimage vs snap).
Let’s look at the bright side, I don’t have to obey the people responsible for the GNOME vs KDE forever war, or the people responsible for the deb vs rpm forever war, or the people responsible for the flatpak vs appimage vs snap forever war, or the people responsible for the GTK-libadwaita mess currently playing out.
Yes, why not?
My point is: FOSS can save you when it comes to apps but can’t save you when it comes to OSes, the fact people here are wailing about systemd and libadwaita is your proof that the “freedom” you were promised is not there.
Considering you aren’t using GNU/Linux on desktop, likely you are not the target audience, when it comes to libadwaita, GTK, GNOME … Considering you use MacOS on desktop. You never criticise Apple in regards to their choices? As if you ever did, then the same applies to you. All the things you have been arguing about. And in my experience Apple users are emotionally attached to an OS from Apple. They often even defend Apple, when it’s clear users of other platforms woudl be much more critical.
Geck,
It’s an interesting point. There are very biased evangelical types in all communities, obviously including apple. To be fair it’s not everyone, but apple certainly has it’s share. Personally I’ve never been a good evangelical, haha. I’d have to give up being critical of my platform of choice. If I were a regular apple user I’ know I’d still be critical of them.
[Start rant]
Strongly disagree. Its fine. All designs for UI elements since Mostif are fine. No additional benefit has been gained by adding/dropping drop shadows or adding/removing 3d effects. They are all ready fine. Drop anyone into windows 3.1 and they’re fine. The exception of course is for accessibility concerns for screen readers, high contrast for those with vision impairments. I feel like more money, time and talent has been wasted over these overblown design elements than anything else in tech. Heck it used to be a joke that engineers at Google would spend five years there and had the position and color of a button as their only notable contributions that made a release. Then Google laid people off and surprisingly a lot of jobs they found were not really contributing that much measurable to the end result. Obviously they were and are very talented, and I don’t fault them for management’s silly decisions, but put people to work creating things of real value.
[end rant]
Finally some sanity, i guess. Trying to salvage GTK as a viable option when it comes to selecting a widget toolkit.
That linked Gnome post is hilarious
They remove core widgets everybody is using, like “GtkDialog” from Gtk and tell people/DE’s to bundle that in a platform lib instead. Too bad that there are platform-agnostic applications, which by nature don’t want to depend on platform specific libs, and as such now all have to re-implement basic stuff like a dialog. (Which, because of that now, will look different for each application).
They might have had a good intention, but the result turned out to be a disaster.
This is a really interesting point that I think gets to the crux of the matter. I don’t think the issue is as much about Gnome applications “not integrating well” with other desktops, because (IMHO at least) if they’re called Gnome applications go figure, they will follow the Gnome HIG.. The real issue is that application developers outside of the Gnome ecosystem currently are missing universal, simple replacements for some of what libadwaita does.
But that was the intention, to force GTK people to use Adwaita; but they failed miserably. There is nautilus, gedit, terminal, eog and evince, but the of typical gnome programs are still going the traditional ways (gimp, inkscape, libreoffice, pavucontrol, audacity) or there is a gnome/traditional duo (virt-manager+boxes, evince+geary). I believe the reason is that adwaita is just NOT productive at all. Free space has no function, and so maximizing it over the fixed amount of screen estate has to end up with a productivity gap. Browsing the tens of “gnome apps” on flathub, they mostly have like one or two functions; and they are not simple as in the UNIX way since they aren’t inter-operating, they are just painfully constrained.
Hopefully when the Cosmic Desktop is released people will move toward that ecosystem along with Iced. People need to ignore GNOME as much as possible and push forward without them.
Well… throughout many years a package called kde-config-gtk-style has been a allowing GTK apps to look KDE’ish in KDE.
As GTK and adwaita libs become separate – does this mean that a new kde-config-adwaita-style will emerge? Or will the needed changes somehow fit into kde-config-gtk-style?
Gnome Devs are ruining GTK apps for everyone. I was running Debian Sid for a few years, loved the Debianess of the system, while running much newer versions of the software i tend to use. then one day Zenity (which i use a lot in scripts) started appearing in adwaita with no way to change it. I fought with it until i was blue in the face, nothing i could do would make zenity fit in with the rest of my XFCE desktop. Throw in CSD, which imo is a usability nightmare compared to normal titlebars, and you’ve got a shitty, unthemable UI. I had to downgrade to Stable to get it to fit. I’ll eventually move to KDE, but it’s sad when a group of developers forget who they are developing for, and just ram changes through that effect everyone.