You may associate Linux with the freedom to make your desktop look however you want, but that’s not the case with GNOME. At least, not without knowing which extensions to install or how to read code. By default, GNOME is intended to look and feel a certain way, and many developers would prefer if Linux distributions didn’t change the appearance of their apps by using themes.

Is it an issue when you change the theme on your own personal machine? No, you know what you're getting yourself into. But confusion can arise when the customized experience comes presented as the default.

Is GTK Designed for Themes?

GNOME uses the GTK graphical toolkit to manage app interfaces. In the GNOME 2.x days, nearly every GNOME-based distro came with a custom theme. This helped feed the perception among many users that changing themes is something simple to do without additional effort from app developers.

Plus other Linux desktop environments still make heavy use of themes. KDE Plasma, Xfce, Cinnamon, and others usually come with several options for you to pick from.

Many of the aforementioned desktop environments also use GTK, but GTK 3 doesn’t actually have a theming API. There are CSS stylesheets used by the platform and app developers. The default GNOME theme “Adwaita” isn’t actually a theme, but rather the name of the platform stylesheet. Adwaita is Sanskrit for “the only one.”

maps app in gnome40

When a distro like Ubuntu ships with a different default theme, it actually comes with a set of manually rewritten, custom stylesheets. This is not a simple process. Part of the reason Ubuntu 21.04 didn’t come with GNOME 40 is that the Ubuntu desktop team wanted more time to make the theme compatible.

All that said, compared to the likes of Microsoft Windows or Apple macOS, GNOME is still relatively easy to customize and tweak.

Downsides to Themes

Sometimes themes break app design. Often it’s just a small quirk here or there, such as inverted colors, an icon changed in such a way that a setting no longer makes sense, or extra borders around buttons.

But sometimes the breakage is major, like when entire buttons are missing or spacing is thrown off to the point that elements of the interface no longer line up properly.

Then there’s the issue of branding. Many app developers put a great deal of effort into their icons and use a consistent brand across desktops. Changing that icon gives developers less control over their brand and can lead to confusion for some users.

Challenges for Theme and App Makers Alike

GNOME stop theming my app

In the Linux ecosystem, it often isn’t immediately clear who to report bugs to. Many users report bugs to the app developer, thinking there is something wrong with the app when the issue was really introduced by a theme that the app developer never had any intention of supporting.

This puts app developers in the frustrating situation of having to support themes simply because many users come from desktops that have custom themes pre-installed, such as Ubuntu and Pop!_OS.

At the same time, theme designers tweak their theme manually for each app. This is somewhat manageable with few desktop apps, but it can very quickly become unmanageable as Linux gets more apps.

Are Themes Not That Big a Deal?

Right now theming on GNOME may seem relatively simple to users because we don’t see all the work that goes into fixing the errors that themes cause, either from the developer side or from theme makers.

Distro maintainers and theme-lovers may weigh the benefits of having their own look and feel highly enough that they write off the occasional issue as a minor inconvenience. Yet to other users, these same issues can come off as signs that the Linux desktop is unfinished, unprofessional, and not a capable alternative to proprietary OSes. It’s no surprise many GNOME developers find this frustrating.

While many GNOME developers have signed their names to the Stop Theming My App webpage, they aren’t officially speaking for the GNOME community as a whole, which also includes members working on precisely those distros that opt to ship a custom theme. Various members of the community, like GNOME users themselves, have different opinions on this issue.