Please don’t theme our apps
stopthemingmy.app
stopthemingmy.app
Gnome is not an OS or a "platform", it is free (as in freedom!) software to be used and tied together however the users, distro authors, ansd whoever else feels like.
Writing and publishing open source software then trying to guilt trip people into interacting with it at arms length and subject to condiions like closed source, proprietary software is nuts.
I honestly couldn't care less if all these people quit writing software tomorrow, if the alternative is this nonsense.
The GPL clearly states that there needs not even be a particular purpose.
I think what they mean by supported though is (in a very simple example) if you complain about a missing button but it's because your DE theme washes it out then they aren't going to help, otherwise they'd look at the issue and try to resolve it. I think this is reasonable. Sure there's no awareness, consideration, capacity and all that but a reasonable attempt at support.
At that point they are the ones abusing the OS environment to gain benefits without contributing back to the community. And it becomes hypocritical to say "you can't do what im doing"
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
I think you were already in unsupported territory.> We understand the need for distributions to stand out. However, we urge you to find ways to do this without taking away our agency. We are tired of having to do extra work for setups we never intended to support, just to have that used against us when people tell us the breakage from theming is “not that bad”. 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.
> Since you are shipping the GNOME platform, we assume you want this ecosystem to be healthy. If you do, we ask that you please stop theming our apps.
I'm sorry but just becuase you make some software that works together you don't get to designate it a platform and decide you should control it. Not in the free software world, at least.
Debian et al. aren't "shipping the Gnome platform", they're shipping package managers that can install many things including a bunch of Gnome software (and vastly more non-Gnome software). A very large proporrion of it can be themed or customised in some way.
Some people use Gnome "stock" but don't install or use any of the Gnome apps, others use aspects of the Gnome WM but without the default panels and interfaces, others install the whole lot, some run Gnome software but with a totally different WM or desktop environment, and then there are things like Regolith [1] which use some Gnome software but are pretty unrecognisable compared to a default Gnome install.
Gnome devs are just writing software. Their desire to deifne and own and control a platform is their problem, not ours.
Honestly, this is probably the best approach. It puts the onus back on the person making the modifications for things that they know and understand that are fundamentally trivial in nature.
> I'm sorry but just becuase you make some software that works together you don't get to designate it a platform and decide you should control it.
I don't see anything about this post as an attempt to exert control. I think it's pretty reasonable to ask that users don't theme their apps with the implication that if they do they're not going to get any support. But to your point they should probably just come right out and say that.
This is about distributors applying system wide default theming to apps without doing any QA and then users being confused when the app doesn't work and doesn't match support documentation. Then these users file bug reports with the app developer rather than with the theme creator.
The letter is asking for specific changes so that the app developers don't need to take away user's ability to theme apps by hard coding a stylesheet (since that is the only way to disable automatic distro themes.)
> If you like to tinker with your own system, that’s fine with us. However, if you change things like stylesheets and icons, you should be aware that you’re in unsupported territory. Any issues you encounter should be reported to the theme developer, not the app developer.
> If you are a distribution who changes the system stylesheet and icons, please reconsider this decision. Changing third-party apps without any QA is reckless, and would be unacceptable on any other platform. Your actions are hurting us app developers a great deal, and are damaging to the entire ecosystem beyond your distribution.
What if a user themes their apps a bit and publishes their configs?
What if that turns into a distro or a "spin" on another distro with a website?
What about things like Regolith [1]?
It's a scale not a yes/no question IMO, and these devs are showing hostility to some users, which comes across as an attitude of arrogance and hostility to all users.
When I think about the scale of the problem I get the impression that only a commercial company that earns money would have the resources to do this. There is no way in hell you can get enough volunteers to do this in a reliable way.
Yes, but completely irrelevant as this is not asking for the right to be taken away.
> What if a user themes their apps a bit and publishes their configs?
Totally fine. Publishing those configs allows users to have a choice and opt in to a config that they know was not QA'd by the developer.
> What if that turns into a distro or a "spin" on another distro with a website?
If the distro takes on the role of providing QA, documentation and support then there is no issue. The distro could also clearly communicate about the theming so users know why stuff might break. The issue arises when they do none of these things and make the resulting breakage someone else's problem.
> It's a scale not a yes/no question IMO, and these devs are showing hostility to some users, which comes across as an attitude of arrogance and hostility to all users.
I don't see any hostility. I see a very politely worded request that explains the negative impacts certain behaviors have in certain context.
If the support documentation only applies for certain themes, then that sure sounds like a bug in the application (or at least its docs)!
Likewise, if such requests are a consistent drain on resources (e.g. white text on white background for some custom widget, or whatever) then that also sounds like a noteworthy bug: either in the application (what's it doing wrong compared to unaffected applications that the theme developer tested against?); or the toolkit (why is GTK3+ so fragile in the first place?).
Looking at the list of signatories, it seems many of them are applications which embed a giant WebKit frame and cross their fingers (e.g. I use Geary on my Pinephone, which spawns a WebKit process with 100GB virtual RAM; even though I've set the plaintext-only preference!). That could also be the cause of such issues. Or indeed the fault might rest with GTK, for not providing the required functionality, which drove those devs to embed a browser engine instead.
The issue of distros breaking applications and giving upstream developers unnecessary headaches and noise because of it is one that goes way beyond themes. Recall jwz's ugly fights with Debian about the Xscreensaver warning. There's not a perfect solution, but distros can at least try and not make the problem worse for the sake of "brand identity", which is what this article is actually complaining about.
Erm, the page literally argues in favour of "brand identity" (only for themselves, of course!)
Sure, but this is a "just because you can, doesn't mean you should" situation. The authors of this blog post are asking distro maintainers to not do it, and IMO giving good reasons.
> While I agree that users shouldn't be reporting breakage caused by distro maintainers,
One of the reasons I brought up the jwz-vs-Debian Xscreensaver kerfuffle from a few years ago is because it was a great example of how it's not sufficient to just wave your hands and say "well, users should be filing bugs against the distro, not against upstream." Yes, they should, but empirically they don't and they probably never will.
We need to figure out a solution for the real world as it exists, where upstream maintainers have to waste time and energy on bug reports that have nothing to do with them. OSS maintenance is enough of a headache as it is with real bugs that are actually your fault. It feels both against the spirit of OSS, and just plain unsustainable, to pile onto volunteers the hassle of dealing with users who are angry at a change their distro made.
Which is exactly what the person you are replying to is highlighting. See freedom 3 here[0].
> There's not a perfect solution, but distros can at least try and not make the problem worse for the sake of "brand identity"
This website is explicitly (!) about valuing the "brand identity" of applications over that of distributions. Both are equally unimportant. Write software. Distribute software. Change software. Distribute changed software. Do it all.
The brand complaint is BS though. Using an alternative app icon does not rob you of your brand. If you care about your brand so much then defend it in your license. And don’t come whining if that means some popular distro won’t package you.
It's fine to politely ask not to modify code in certain ways. It's only antithetical to free software to take away your right or ability to modify it however you want.
My single biggest pet pieve with my iPhone is when a developer (Google is a big offender) decides that instead of sticking with native design language they are just going to steamroll their own design language onto a device it wasn't meant for.
I feel like consistency goes a long way towards a better computing device.
Since that removal of user choice is antithetical to these developers, they are looking for better solutions.
One solution is asking distributors to not apply themes to apps by default without doing QA on those apps.
The other solution is to provide apps a way to opt out of system default themes without those apps having to remove user choice by hard coding the stylesheet.
The themes are applied by default but there is somewhere to easily disable it on a a per app basis by the user and not by the app developer.
This makes it so some consistency is the default option but if something breaks then you can disable it. Maybe throw in some user education if you are really worried about this.
Edit: Also to be clear I don't really agree with the article. I understand some of the points it makes but considering downloading an app and it having a different UI is a frustration for me I would be very happy if on my iPhone I could somehow overwrite parts of that UI. (Ultimately right now I just uninstall it)
I think an opt-in via prompt on first run (or whatever) is a better experience since it makes the distinction clear in case stuff breaks and provides an opportunity to warn users about potential breakage.
I'm on macOS but 99% of the time I feel the need to mess around with the appearance of a website or application or something it's because it is blindingly bright white instead of reading the room (or my dark mode setting, as it were).
I used an app on my phone recently that had an AMOLED option, clearly labelled AMOLED, that was gray. These people are crazy.
The visual aspect of apps is a choice of the users, not of the developers. Please, let us users decide what colors, fonts and margins we see on our screens.
> On a platform level, we believe GTK should stop forcing a single stylesheet on all apps by default. Instead of apps having to opt out of this by hardcoding a stylesheet, they should use the platform stylesheet unless they opt in to something else. We realize this is a complicated issue, but assuming every app works with every stylesheet is a bad default.
Lol, I look forward to the followup sites:
StopPatchingThemeSupportBackIntoMy.App
StopDistributingYourOwnBuildsOfMy.App
StopUsingTheMorePopularForkOfMy.App
GTK2 has a large ecosystem of themes, and flexible (but slow) engines like pixbuf for those who don't want to write C. GTK3 broke that, but promised that its CSS-like styling would let a hundred flowers blossom as Web devs could contribute. Over a decade later and scouring OpenDesktop shows mostly just "flat design" and "flat design - dark mode".I know that GTK vs Qt and Gnome vs KDE are holy wars, but GTK/Gnome seem to be squandering their position as the distro's default choice. Many standalone/third-party projects have jumped ship (e.g. PCManFM, LXDE, Audacious); I wonder if major distros will do the same (after all, Ubuntu wasn't afraid to push Unity).
PS: OK, I admit Vertex is quite nice; but GTK seems to keep breaking themes with each point-release https://www.gnome-look.org/p/1013757
PPS: Are we really calling things "apps" now?
PPPS: Does anyone know a (not yet broken) GTK3/4 theme which changes the scrollbars from their godawful default? I've been looking for years; I'd roll my own, but the lack of diversity across themes makes me worry it's too painful to bother.
(Written from Firefox (which uses GTK) on Phosh (a mobile-friendly Gnome compositor) on a Pinephone ;) )
The responses from GNOME members were quite enlightening. Really shows the level of respect they have for anyone besides the in club.
[1] https://github.com/do-not-theme/do-not-theme.github.io/issue...
> Just because something is technically possible and not illegal doesn't mean it's not a dick move
[1] https://github.com/do-not-theme/do-not-theme.github.io/issue...
Sounds reasonable to me.
This is why I don't maintain free software, and God bless those who do.
Looking at the project maintained by the front-runner of this movement, it has had 5 total reported issues in the last year, none of which are related to theming, so I'm not sure I understand what the big support struggle they're chafing at is either.
Default applications! On one of the two major desktop frameworks in Linux!
Oh I'm sure what you're working on is so much more important.
Still seems weird to not share your opinion...
Anyway, since you asked:
> If you don't want people to theme your software (or rather, you don't want your software to be themed by distribution maintainers), why not write your own license forbidding just that? No one will want to touch it with a 10 foot pole, but hey, you won't have distribution maintainers theming your software.
This is just... Well let's just say it's you that doesn't understand free software. First off changing the license to deal with this is like solving a problem with your business by nuking your competitors from orbit. It's way way way too heavy-handed an approach.
Second, I dunno if you've ever actually worked in software before, but the people churning out the features, in this case the themes, more often than not don't really have a say in what they're building, even in the case of open source. Opening a public conversation like this is exactly how you solve this kind of problem. It's a democratic commons. Talk it out. There's no one person you can just email and say, hey, this is hurting us, knock it off.
You're basically just telling these people to shut up and take it. You don't care about their needs, or what they're going through every day. They make a website like this to stand up and be heard, and they hear your voice, hey, you over there, you're out of your lane, shut up and code.
It's... an immature response. The kind of immaturity that makes me believe that explaining why past the most basic observation would be an exercise in pissing upstream.
IMO I'd petition for GTK to support safe theming, and maybe build up what themes can do in a controlled manner over time, rather than just tell everyone to stop with the CSS. But maybe it's a foregone conclusion that GTK devs won't do this.
I'm sympathetic to users. I don't think devs have the right to force branding on users and there are good accessibility reasons to want themes, but its also reasonable for devs to want their software to not look like crap out of the box and there are carefully hand crafted UIs for specific uses that will never fit a theming standard.
> I'd petition for GTK to support safe theming, and maybe build up what themes can do in a controlled manner over time
GTK already supported themes! In particular, GTK2 has loads of themes (e.g. see the GTK2 category on gnome-look.org https://www.gnome-look.org/browse?cat=136&ord=rating ). Not only did artists create a wide variety of themes, programmers also wrote many "theme engines" to extend the theming capabilities of GTK2, e.g. see all of the "gtk2-engines-foo" packages in Debian: https://packages.debian.org/search?lang=en&searchon=names&ke...
GTK3 purposefully broke all that, in order to clean up the API, deprecate/replace various functionality, etc.. Fair enough, that's perfectly understandable; and necessary at some point.
> ... and some people are using custom CSS overrides to emulate it.
> tell everyone to stop with the CSS.
To mitigate the damage of losing all existing themes, the GTK3 developers switched to using CSS, so that:
- Theming would be much easier than for GTK2, reducing the effort to replace all those existing themes, and for making entirely new ones
- By replacing their old bespoke formats with CSS, hordes of Web devs would be able to join in with theming (this is also why the Gnome desktop embraced Javascript around the same time)
In other words, those "custom CSS overrides" are not only the officially sanctioned way to do theming; but the project implemented a major breaking-change in order to add CSS support, precisely for this reason!
This situation is entirely unlike, say, a Web site breaking due to someone's user-style.css. Web sites typically don't want anyone overriding their CSS, and they only use CSS at all because it's the only thing browsers provide. In contrast, GTK3 chose to implement CSS (previous versions worked fine without it), and they chose it so it could be overridden.
---
Unfortunately, this strategy did not work, at all. There was some initial effort at creating and porting themes; but each minor release of GTK3 broke them, requiring constant maintenance from their creators, until most just gave up. For example, see the GTK3/4 category on gnome-look.org ( https://www.gnome-look.org/browse?cat=135&ord=rating ) and notice:
- How many of the changelogs show breakages for every GTK update (usually the even-numbered ones like 3.16, 3.18, 3.20, etc. which are the stable releases)
- All of the comments (~one thread a year) reporting breakages, asking for updates for new GTK versions, linking to forks maintained by third-parties, reports that those forks aren't maintained anymore either, etc.
Also, compare the Debian link above to this search for GTK3, which only shows one transitional package and one from their "oldoldstable" release: https://packages.debian.org/search?suite=default§ion=all...
Over this time, Gnome's official position has changed to a combination of:
- We'll be adding better theme support soon, and it will be much better than before!
- The very idea of theming is an insult to our perfect decisions and aesthetics
NOTE: Gnome/GTK developers have pissed off so many people with their 2->3 transition that Gnome 2 got forked into the Mate desktop; the Cinnamon desktop forked Gnome 3 in order to clone Gnome 2; and many projects have been abandoning GTK in favour of alternatives like Qt, e.g. Audacious did so recently.
- 2023-09-26 (1 comment): https://news.ycombinator.com/item?id=37655658
- 2021-09-03 (80 comments): https://news.ycombinator.com/item?id=28400337
- 2021-05-15 (4 comments): https://news.ycombinator.com/item?id=27167115
- 2019-05-25 (194 comments): https://news.ycombinator.com/item?id=20008396
- 2019-05-24 (1 comment): https://news.ycombinator.com/item?id=20000358
You're not recommending blanket tweaks for all users and are savvy enough to remove the theme (or fix it) if it's breaking an app you want to use before reporting issues
My impression of the article is a request against generic re theming.
I suspect there's a better path forwards though. Eg distros could make their themes more modular (relocation of UI elements, changing colors, changing icons - maybe this already happens!) and then make it easy to toggle these when opening a new app (just like the OS gives you a minute to decide if your monitor display settings tweaks broke something for you)
If an app hasn't been properly tested with numerous themes the chances are that it'll break. The default Pop OS dark theme messes up several apps and it's a pain to poke around and fix them by editing obscure files. If it doesn't support theming I'd rather it look out of place than be partially illegible.
Also, sometimes even if I like things dark in general there's some software which just feels wrong if it's not light - like a word processor. The white background is representing paper, I don't want that to be inverted - and I don't want the toolbars etc to go dark either, because the contrast against the white page becomes unpleasant.
But all of this feels like an expectation of folks who want the free software ecosystem to more closely resemble how their disciplines function in the hierarchical divisions of responsibility and control in the private corporate world.
The first screenshot (CSS Theming) shows an app that doesn't use standard background color (?offwhite?), but uses standard font color. Normally this works, as standard font color is something dark (?black?).
And the problem becomes when user opens the app in dark mode, the background color stays non standard (?offwhite?), but the font color stays standard, which in dark mode makes fonts bright (?white?).
The question is:
If developer is ignoring theming, why don't they hard code both background and foreground colors?
There is one solution : stop using off theme coloring
This is squarely for developer to fix.
But since they want Gnome/GTK to fix this, here are potential options:
- Gnome / GTK should implement that if someone wants to use non standard, off theme colors, then developer has to always define foreground and background color. --- not sure how feasible it this with nested frames
- Gnome / GTK should disable allowing changing colors to specific values, and only allow changing by rotating Hue (aka 5% rotation of Hue 'clockwise') and by changing saturating (aka 5% more grayscale) and by changing brightness/contrast in relation to paired color (aka: background 5% closer shade to font)
- Gnome / GTK should define more color pairs , kind of like bootstrap has primary/secondary/success/danger/warning/info/light/dark coloring for all components in a single theme
I don't really have a point with all of this; I just think there's a middleground that can be met to let users modify whatever they'd like, and straying from the Happy Path that devs test for could show a warning or a way to let them choose to revert certain system defaults for your app.
On the one hand, ui consistency is a thing, and everyone making up their own paradigm is not great. (And the linux desktop is already highly inconsistent as is).
But I think we passed that station a long time ago.
On the third hand, if you do have themability, it ought to not break apps that are thus themable. I'm not sure if that's an app problem or a gnome problem or a both problem here.
In the main "please don't theme our app" might be the wrong approach though. It somehow seems to go against the spirit of open-sourceness. Not saying the issue is with the upstream dev per-se, but something is definitely going wrong here.
I always got super fascinated by this, they ask me such a random thing, that shouldn't really affect them (okay, I buy less soap if I dilute it with water), but makes my life worse.
I have a similar feeling with this article. You want me to use the original icons. Okay, noted. When I decide if I want to replace the icons, I will probably consider the wish of the creators too. With a weight approximately 0%.
Essentially: the warranty is void. Tap water can contain bacteria that a soap manufacturer can't possibly account for [1]
This actually makes a perfect analogy for the original post - even though there was no guarantee or warranty (it's free software) when you theme your computer, it makes dealing with bug reports difficult. It makes screenshots misleading.
If you want to theme your computer, they actually specifically say that's fine, but I imagine they would appreciate 1) noting what theme you use on screenshots (much like noting the prompt that generated an image) or removing the theme when taking screenshots and 2) try debugging and reproducing issues with the theme turned off.
If you're developing software and >50% of the bug reports you field are because people are doing something unsupported that is frustrating
[1] https://www.washingtonpost.com/lifestyle/wellness/why-you-do...
If you don't realize your distro is theming that's also something you should know.
If a distro's default theme breaks an app then it's something the distro and app will have to work together and fix. But throwing system themes out in favour of app specific themes like the article is arguing for sounds absolutely awful.
A "fresh install" doesn't necessarily remove default themes applied by the distribution.
never had an incentive to install any of the others.
(i have been using linux full time, both personally and professionally, for the last two decades).
Oh shut up Gnome, this is why nobody likes you.