A group of independent Linux app developers have written an open letter to the wider GNOME community to say: “stop theming our apps”.
The letter is addressed to the maintainers of Linux distributions who elect to ship custom GTK and icons themes by default in lieu of upstream defaults.
By publicising the issues they feel stem from the practice of “theming” it’s hoped that distros and developers might work together to create a “healthier GNOME third party app ecosystem”.
So what’s the actual rub here?
GTK App Devs: “Stop Theming Our Apps”
It often feels like the ability to control how our desktop looks and works is part of some unwritten Linux constitution, one we’re all secret adherents to.
But theming on the GNOME platform isn’t all it seems. It’s not without complications or compromises. As superficial as these changes might seem, usability is actually more than skin deep.
Now, elephant in the room time: many leading Linux distros use custom GTK themes and icon sets as a way create a brand identity for themselves; an experience that feels uniquely their own.
This includes Ubuntu (with Ambiance and Yaru), Linux Mint (with Mint-X), Pop OS (with Pop GTK) and Manjaro (with, er, I don’t know it’s name).
‘The Need to Stand Out’
Does the wont of a distro to brand itself overrule the wont of app makers to deliver apps to users in the manner they want?
It’s a difficult question and i’m not sure there’s a satisfactory answer.
For what it’s worth the need for Linux distributions to differentiate and ‘stand out’ is something that this open letter acknowledges, but which suggests distro maintainers find ‘other ways’ of achieving.
GNOME Themes Are Illusionary, Anyway
It’s been mentioned before (by those far more qualified than I) that, technically, the GNOME desktop doesn’t have a theming framework; the look and feel of the platform is simply not designed to be hot-swappable.
In fact GTK themes as we think of them don’t really exist; there is no GTK theme API, just hacks and stylesheets.
As anyone who works in web development will tell you: you have to be very fastidious and consistent when working with stylesheets. There’s a reason most website don’t have a drop down selection of different .css you can apply while browsing.
It’s the deficiencies that result from this patchwork approach to theming GTK apps, and the simple notion of being able to change theme in general, that third party developers are taking issue with in this letter.
“We are tired of having to do extra work for setups we never intended to support,” the letter states.
One only needs to try and use Incognito mode in GNOME Web (aka Epiphany) on Pop OS to appreciate just how easy it is for supposedly ‘innocuous theming’ to break the fundamental functionality of an app.
Besides, there’s also the question of why distros don’t target theme restyles at other toolkits, too:
“You are not doing this to Blender, Atom, Telegram, or other third party apps. Just because our apps use GTK that does not mean we’re ok with them being changed from under us,” the letter continues.
Understandable, I Guess?
For the perspective of a GTK app developer the “theming conundrum” must be rather frustrating.
Picture it: you spend an insane amount of effort making an app from scratch, ironing out bugs and issues, tailoring your app to look and behave in a certain way.
When ready to launch you write helps docs based on how your app looks, take screenshots of how your app looks, and upload it all the App Store of choice, ready for users to come and find it…
Only for Clone!_OS to come along and stuff your finely tailored app into a different pair of clothes, with frayed edges and untucked collars.
An unreadable text label here and a missing tab there might not be major deal breakers for most, but users will assume the app is at fault, not the uniquely branded theme a distro has chosen to force third-party apps to wear.
So they file a (well meaning) with the app developer who then has to explain “my app is not broken, your distro’s theme is…”
Now expand out: think of how many distros are out there, using how many different themes, resulting in how many minor, yet different theming quirks with apps that are actually at fault…
It’s a bit of a snowball problem.
Hence this letter
Enter the “Stop Theming My App” open letter which states that “…our efforts designing, developing, and testing our apps are made futile by theming in many cases.”
“This is why we ask respectfully that our applications not be themed. They are built and tested for the upstream GNOME stylesheet, icons, and fonts, so that’s what they should look like on peoples’ systems,” the developers argue.
Will Distros Follow The Advice?
I want to stress that it is not my place to say who is right or who is wrong in this debate.
There are pros and cons on both sides — so much so that that if I gathered you all around a whiteboard to list them, the marker pen would run out before your list of reasons for and against did.
One possible solution might be to wrest the issue from distro maintainers hands; to hardcode stylesheets in apps and prevent theming of them.
Controversial — and a solution the letter writes say they simply “do not want to resort to”.
Another solution could be marketing. Developers pitching a pure upstream GNOME experience for their wares could perhaps label app with a “designed for GNOME” label, or note that it’s built for a specific a GNOME base, like Fedora?
There’s already a precedent in this area elementary OS app often look rough on non-elementary OS platforms, so are marketed as “designed for elementary” accordingly.
Then again, perhaps the solution is for GNOME to solve; to create a theming API or delicate more cleanly between what should be brand able and what shouldn’t.
Both Ubuntu and Pop OS have stopped theming third-party app icons by default (a change I used this site to argue for).
Read the Open letter
Signatories to this open letter include well-respected GTK app makers like Felix Häcker (Gradio), Bilal Elmoussaoui (Authenticator) and Jordan Petridis (Podcasts), as well as several members of the GNOME foundation (who, its stated, sign in a personal capacity).
Other app developers are invited to “sign” the letter and add a “please don’t theme” badge to their code repository pages to promote the idea.
You can read the letter in full on the site below.
Do let me know how you think this situation could be tackled in the comments section. There are no “easy” solutions, so some creative thinking is required!
Please note: the open letter above does not call for an end to GTK theming in general. Grab the right end of the stick before sounding off below.