Anyone who has spent any time recently using non-GNOME GTK desktop environments, like Cinnamon, MATE, or Xfce, has had to deal with the unfortunate reality of a lot of GTK applications becoming GNOME applications instead, using GNOME’s own libadwaita. These applications are hard to theme, and do not integrate at all with the proper GTK applications non-GNOME desktop environments ship with. With how popular GNOME is, this has meant that the number of non-GNOME GTK applications has been dwindling.
Linux Mint, the popular Linux distribution that also develops the Cinnamon desktop environment, has long made a bundle of GTK applications called XApps – basically forks of various core GNOME 3.x applications to ensure they would have access to non-GNOME GTK applications. With GNOME effectively forking GTK into its own, unique, GNOME-specific style (like libaidwaita), other GTK environments have suffered, and XApps were intended to close that gap.
That hasn’t really happened though, as XApps remained mostly a Mint-only thing, managed by Mint, as part of the Mint/Cinnamon GitHub projects. Other distributions and GTK desktop environments, such as Xfce, MATE, Budgie, and so on, didn’t really pick them up. The Linux Mint project intends to change that, and will ‘spin off’ the XApps into its own, dedicated, independent project to facilitate cross-distribution and cross-DE collaboration, decision-making and development, all in an effort to ensure the long-term viability of non-GNOME GTK desktop environments.
They also intend to fork a lot more of the GNOME 3 applications, for the same reason I mentioned earlier: GNOME applications are no longer GTK applications, but GNOME applications – they look and feel horribly out of place in environments that don’t use the GNOME-specific libadwaita. As such, Celluloid, GNOME Calculator, Simple Scan, Baobab, System Monitor, GNOME Calendar, File Roller, and Zenity were recently downgraded in Linux Mint to their last GTK 3 versions, and will most likely be forked in the near future.
In addition, the Adwaita theme, the default GNOME/GTK theme, will be removed from the list of available themes in Cinnamon 6.2. Adwaita, too, has become increasingly GNOME-only, and thus, increasingly broken on non-GNOME desktop environments. Flat-our removing Adwaita altogether is not possible, since it’s a GTK dependency, but hiding it from the theme selector is not an issue, of course.
As project lead Clément Lefèbvre writes:
libAdwaita is for GNOME and GNOME only. We can’t blame GNOME for this, they’ve been very clear about it from the start. It was made specifically for GNOME to have more freedom and build its own ecosystem without impacting GTK.
We want to send a strong signal upstream and towards other projects. We cannot and will not support applications which do not support our users and environments.
We can’t promote applications to our users which don’t support our users. The software manager will be vigilant towards that going forward and list compatible software by default.
Clément Lefèbvre
All of this is great news to hear. I’ve been making extensive use of Xfce on OpenBSD lately, and on the Fedora Xfce spin in the weeks before that, and the situation has become almost comical. If you install any GNOME application on Xfce, theming just breaks down completely, as most themes are either not made to support the massive headerbars GNOME uses, or they do support it but still look horribly out of place compared to the more sane titlebar plus menubar plus toolbar layout of traditional desktop environments like Xfce.
I’ve long been saying that the non-GNOME GTK desktop environments need to work together to formulate an answer to the onslaught of libadwaita and the GNOME-ification of GTK, because each of them risks becoming entirely tied to whatever GNOME and libadwaita decides to do, for better or worse. It seems the Linux Mint team has finally realised this as well, and I really hope – and strongly suggest – Xfce, MATE, and others join them as well.
If they don’t, there won’t be an Xfce in a few years. What’s the point in developing Xfce if you’re at the mercy of whatever choices GNOME makes?
This is an exciting development. The mint team have always been the best at integrating disparate apps visually with their very professional and complete themes, so they have a track record there. An alliance of GTK based desktops working to overcome the limitations libadwaita places upon them would be wonderful to see. In the modern world desktop consistency seems difficult for distros to achieve. This might turn things around.
https://xkcd.com/927/
Replace “Standards” with “forks”
And this is why Linux will never be a mainstream OS. So much fragmentation. And i’m not poo pooing XFCE or any GTK based desktop environment, this fragmentation is solely caused by Gnome saying “but we can do it different”
Gnome, get your act together and work in harmony with other GTK apps and environments, not against them.
Gnome is not working against anyone, but is focusing on itself only. And this is their right to do, they are mostly volunteers working spare time after all.
I am an XFCE user and I feel like XFCE understands the above well.
I think what the mint team is doing is entirely appropriate.
Regarding the comic strip, this is the equivalent to the owner of the 14th standard deciding it is not available for everybody anymore and moving in an entirely different direction, so people rally to replace the 14th standard to maintain status quo.
This ability is almost entirely unique to the free software movement.
Libadwaita is becoming its own thing for Gnome which has become its own thing, good for them, but it’s leaving behind a lot of still useful apps that weren’t sucked into the Gnome apparatus.
I still use Abiword and Gnome commander and gnucash and gimp and a bunch of other stuff that depends on Gtk because 25 years ago that was a reasonable choice. I would like to be able to still use this software, not see it disappear because at some point in the future distributions decided that Gtk3 was unsafe to bundle any more. So here comes XApp.
Mint team surprised me by making Cinnamon viable and it still exists after a decade. It did not turn into another Trinity Desktop Environment. So hopefullly XApp becomes something that still exists in a decade.
If Xfce (doubtful) and MATE (maybe) decide to move to this toolkit, that would be wonderful. It would require a lot of work up front to port over, but then it would decouple the longevity of the software from the whims of the Gnome development team.
This is excellent news. While I don’t use Mint on a daily basis, the times I’ve used it I’ve enjoyed the XApps available then, and they did indeed feel more native on Xfce and Cinnamon while still being DE-agnostic enough they could be dropped into any desktop setting and play nice with theming and such. Seeing more “GNOME-first” apps being ported as XApps and shared with the community at large is refreshing.
Yay, I’m glad to hear that! I’m looking forward to the inevitable article about your experiences using it, good, bad, or ugly. OpenBSD is definitely not for everyone but the project forges its own path and its developers stand firm on their commitment to security and correctness.
> If you install any GNOME application on Xfce, theming just breaks down completely, as most themes are either not made to support the massive headerbars GNOME uses, or they do support it but still look horribly out of place compared to the more sane titlebar plus menubar plus toolbar layout of traditional desktop environments like Xfce.
While I acknowledge the general problem, the writing above is simply not true.
I ran only XFCE on Arch Linux, on various Desktop and Laptop computers and GTK4 theming works just fine for any mix of GTK 4 and Gnome Applications when you set the GTK_THEME environment variable. And I blame XFCE for not setting this variable properly when using the Theme/Appearance tool.
> If they don’t, there won’t be an Xfce in a few years. What’s the point in developing Xfce if you’re at the mercy of whatever choices GNOME makes?
Another questionable statement. All the gnome software is open under a very free license. If you don’t like libAdwaita you have 2 choices:
1) avoid any dependency to it and avoid any components using it
2) fork libAdwaita and rewrite the parts you don’t like (e.g. the theming part)
I do not like libAdwaita at all but at the same time I see no responsibility on the Gnome’s side to care what other projects want or need — although it would be nice when they listened to suggestions of course.
Gotta love how Thom a couple of posts ago was saying that Desktop Linux was a “a desktop-first, consistent interface”:
https://www.osnews.com/story/136366/the-mac-sure-is-starting-to-look-like-the-iphone/
Newsflash: The spat between KDE and GTK (and now between KDE, GTK, and libadwaita) is much worse than any inconsistency you’d encounter on MacOS and Windows, because it’s intentional.
I don’t see a contradiction here. A Gnome or KDE desktop appears to be very consistent compared to any Windows at least. Even Gnome and KDE apps mixed can still achieve consistency, even when it takes some effort.
I do use XFCE with Gnome Applications and 2 QT applications and see it here in front of me.
There is no spat, especially not any intentional one.
Although there are a few discussions how to position when Gnome’s direction can’t be followed anymore. Sounds like a healthy eco system to me.
Meh… children, work it out. Mint’s great, as are most Deb-based distros that don’t use Gnome. I don’t mind the occasional gnome app creeping in… but I usually shake my head in wonder and go looking for a non-gnome alternative after a few attempts to use them and wondering why folks like watered down interfaces. But to each their own. I can’t personally stand Gnome apps, but I know others who love them… anything’s better than the UI disaster of Windows.
As for comments about Linux and mainstream… FUD, and silly FUD. There are many reasons for Windows’ dominance in the consumer market, least of which is its UI and most of which has to do with corporate power exercised at all levels of the supply chain.
There’s another major theming issue at an even lower level that’s not getting talked about. Up through Qt5 all Qt apps running in a GTK-based desktop could be made to imitate the GTK2 version of the current user’s GTK theme by setting an environment variable: QT_STYLE_OVERRIDE=gtk2
Normal users shouldn’t be required to know or think about whether their apps use GTK or Qt, so my distro sets that variable by default, and everything used to just work with all GTK and Qt apps following the user’s selected theme, and no special software or manual user overrides. But now most Qt apps are moving to Qt6, and Qt6 doesn’t obey the QT_STYLE_OVERRIDE variable, instead using an awful fallback Fusion widget set with the wrong accent colors. At wiki.archlinux.org/title/Uniform_look_for_Qt_and_GTK_applications you can see the awful convoluted mess that is app theming under Linux, which has regressed in a major way in recent years thanks to the likes of libadwaita and Qt6. Unfortunately I’m not optimistic that Linux Mint’s initiative will be able to change that.
The problem is that QtGtkStyle needs to be rewritten from scratch to work with GTK3, and on top of that GTK4 removed the foreign drawing API so something like QtGtkStyle is not possible with GTK4. The GNOME devs said that consistent app theming is a bad idea so app theming is dead on Linux.
Could Mint create a *libcinn as a replacement for libadwaita? Is libadwaita replaceable in GTK4? Would doing so require soft or hard forks of all GTK software or the kind of patch mess that Ubuntu had with Unity?
How about a comic where every application is using it’s own framework and theme engine, each window has a radically different set of colors and now, even window boarder behavior (some have buttons on the right, some on the left, some not at all? That’s where software development is heading. On the bottom right, you see the memory usage, and it’s at 32GB while running the web browser, a calculator, a text editor, a photo editor, and a music player.
Windows?
There’s an idea. In the spirit of making a consistent UI, I should just rise above all the Qt/GTK/Adwaita/Electron mess and install wine and all the good Windows apps. foobar2000, Notepad++, freecommander, k-meleon, irfanview. Windows 2000-esque design and none of the drama. sway, xterm, and mpv fill out the rest. Probably more consistent than anything else available now.
What else do I need?
I’m not that surprised Mint are spinning this out. They have painted themselves into a corner by relying on a framework that doesn’t support their (forked) DE. And created a massive workload maintaining (forked) apps. They are hoping someone else steps in to pick up some of the slack.
Taking a step back and considering Gnome and other app devs are underfunded, wouldn’t the “better” solution, rather than forking and maintaining, to instead support the developers of the apps directly to make them support more theme options?
It’s rather OK for GNOME to do its thing just the way they want to. Its just that by doing that they became a niche product and i don’t know on how popular GNOME actually is. In my opinion most people would be perfectly OK if KDE would become default desktop environment for Ubuntu/Fedora and for GNOME to become a spin.
adwaita-icon-theme (a-i-t) is a problem these days. It is the default icon theme e.g. in Fedora 40 Workstation and Fedora 40 XFCE Spin. a-i-t does not respect the standard https://specifications.freedesktop.org/icon-naming-spec/icon-naming-spec-latest.html because it does not contain 90% of the minimum must have icons.
More details https://www.youtube.com/watch?v=4hJmSC4TLG0 https://gitlab.gnome.org/GNOME/adwaita-icon-theme/-/issues/288 https://cullmann.io/posts/kate-and-icons/
Indeed this is another good example on why GNOME shouldn’t be perceived as the one in power to say what the future of GNU/Linux on desktop should be. That is first they said it’s an issue with KDE, then when they were educated that is not the case as instead it’s due to GNOME not following established standards. Then another person got involved claiming well icon themes are basically a thing of the past anyway. Because GNOME decided so? GNOME you never got mandate for that and you never will have the power to kill icon themes or themes in general on GNU/Linux desktop. The only thing GNOME managed to do is to not follow the established standard and rather to impose a non standard solution creating an issue for everybody including GNOME. And what will they make now, libiconthemes, on where you will supposedly be able to change 5 icons in total? After congratulating themself on how smart they are? It’s a FOSS project but GNOME is something currently in need of critique and to fight against. So people praising GNOME on how great the project is and on how good job they are doing. Get real. You’ve been punked. And compared to a few years back, where a hive of mindless bots was praising GNOME, that sentiment now shifted, GNOME managed to alienate even most of the die hard vocal supporters from the past. The general sentiment now is just go with KDE, until GNOME gets a reality check and sorts itself out. Likely a process that will take a couple of years.