Over the last couple of years that have been some discussion in the Gnome community, in particular on r/gnome about why Gnome is against theming. This article from OS news GNOME to prevent theming wider community not happy, explains the issue fairly well. Then there are a some blog post where it is discussing this in more detail: GNOME developers against themese?, Why and how libadwaita prevents theming?. The OS news article claims that the community in general is frustrated, which I sort of agree with based on what I have read on the subject over the past five years or so. Below is an comment take from the Why and how libadwaita prevents theming? discussion on gnomes discourse (Link to the actual comment)

I don’t dispute the problems with replacing stylesheets and I think distros should stop it, but the artificial restrictions are stupid. If I want to break my app, let me please…

In contrast Gnome has a post about Restyling apps at scale and what some of the issues are and a lot of the discussion was in particular sparked by this post Please don’t them our apps. To outline the points abstractly it boils down to:

  • It is difficult/impossible to ensure 100% compatibility between an app and all themese
  • Developers are being blamed when an app breaks
  • The UI and experience breaks
  • The consistency across the system UI may break (side note this is one of the reasons for libadwaita to be created)

And that is okay. Why is it okay? Should Linux not be a system where you can play and do what ever the hell you want? Well it still we can just use another desktop environment (DE) or windows manager. We can still play around with what we want. We just should not expect developers of our apps or DE’s to adapt to us accordingly because if they had to do that for all users, the development process would be hell. But this is actually not why I agree with Gnomes perspective. So let me go into a little more detail on why I agree with it.

If we look at macOS, there is one design, one style to follow, if you design apps in swiftUI or earlier versions of Apples development environments. This gives all apps a somewhat familiar look and often menus are similar or at least close enough that you can guess where you are going. This combined with macOS over all strides towards a stream lined UI gives an overall complete system User Interface (UI) and User Experience (UX). This, combined with their ecosystem, gives Apple a very good edge to retain users, as they get comfortable. So why is this relevant? Well for a long time on Linux, there was no one design language, no unified UI and therefore no unified UX. Although this is both good and bad it can scare some people away from Linux, something I (at least) is not interested in. However back when Gnome went from version 2 to version 3, we so the dawn of a system that could provide this. Side note… if you want to read about how angry the gnome community actually can get go back and read about the swap from Gnome 2 to 3 flame wars everywhere! Gnome got a modern look, it felt more like macOS, a thing many hated, but it was pretty and shinny. Since then Gnome has morphed, not so much in design but rather philosophy. It has become a more unified attempt at providing a good UX for Linux right out of the box. Just look at how good Fedora with vanilla (unmodified) Gnome is out of the box! As this philosophy have evolved, big ideas have emerged and one of these are libadwaita. libadwaita gives you great building blocks to create GTK apps for Gnome, that look like Gnome Core Apps (some are still being updated). This is good, it provides a similar UX to what Apple provides and as both a macOS and Fedora/Gnome user this is very much appreciated as it gives some coherence. I do not mean because the two system look similar (although they do), but more that it feels like we have a healthy competition almost. That I cannot break it with theming is nice, that I do not have to is nice, that everything looks the same is nice and that is something I really appreciated. In particular after spouts of using XFCE (although it is an awesome DE) or some window manager like FluxBox over whatever I fancied a given day.

Another thing I would like to mention is that KDE with Plasma and in particular KDE Neon seems to be going in a similar direction. I am guessing this is in particular down to how QT are handling things at the moment or maybe I am just projecting. I do not see this as a bad thing for mainstream distros like Fedora, Ubuntu, and Mint to seem less daunting to newcomers, a thing I think we need. Finally, I hope COSMIC by system76 will provide something similar in terms of coherent UX as I expect they soon with Pop!_OS will have a mainstream distro.