Comment by sph
2 months ago
> Also, any integration attempts like making the icons a common asset rather than each application have their own, _fail_ and make things worse, with these integrations applications less often have working icons at all, and more often have mistakes like black icons against a black background making them invisible
One thing the GNOME community got right, despite the clamour and gnashing of teeth.
Consistent cross-app theming support is a pipe dream from the 90s that has never worked, except in manicured screenshots to get karma points on /r/unixporn
The linked site goes against everything the Linux* platform has historically stood for and frankly just sounds like designers whining that they can't design for computers like they used to for print. I see the same fight against customization on the web, where designers keep asking for ways to, for example, override font and font size preferences, default widget styling, prevent/hijack zoom/select/search/context/whatever.
Your UI is a collection of input/output widgets. The vast majority of apps have maybe one or two app-specific widgets and the rest are completely standard. Why the hell do so many developers insist on styling every stupid textbox just they way they like it?? No, fuck you, a textbox is a textbox, your textbox isn't special, if I want texboxes on my screen to be in purple comic sans on a green background, that's exactly what they should look like.
The reason why apps break when custom themes are applied is almost always because a developer made a "white box with a grey border and black text" instead of a "--bg-surface-color box with a --border-color border and --fg-primary-color text".
It's the same with icons - if you want a homepage button, reference the "home" icon. If you want a house/flat/skyscraper/boathouse dropdown, reference the "house" icon. If you use "home" to show a house because that's what it is on your theme, don't be surprised (let alone angry) that I've set home to a picture of a cat and now your dropdown makes no sense.
Yes, sometimes the platform doesn't give you enough tools to adhere to the system theme (although most apps aren't complex enough to run into that), but there are usually workarounds or you can open a bug report. Most "modern" developers, however, just don't. They draw their UI in Figma and set out to make it in code, pixel-for-pixel if possible.
Seems like you didn't actually read the linked "stop theming our apps" page. They have no issue with users theming their own systems, and gnome apps are still themable. Developers have an issue with distributions shipping a custom theme by default, which breaks things and causes users to report issues which aren't the fault of the developers.
Distributions are operated by users. They're basically just a collection of recommended packages, curated by the distribition maintainers. Why should users be prevented from sharing their preferred themes with other users, in the form of distributions?
Besides, if app developers are doing their job properly as described in the parent comment, then neither user themes, nor distribution themes, should break anything.
1 reply →
They are the fault of developers when developers hardcode their app UI around one particular theme on a platform that explicitly supports theming.
The linked website is basically complaining that 1) it's too hard, and 2) it precludes app developers from doing their own "branding". The former is just laziness, given that software 20 years ago managed to do it fine, and the latter is narcissism.
> The linked site goes against everything the Linux* platform has historically stood for
Nonsense. Linux is about libre software. It might be about choice, if you want. It’s not about “all software needs to let my desktop look like a clown makeup set or it’s literally 1984”
Amateur environments from the 90s let you do that, but it has nothing to do with the Linux philosophy
> It’s not about “all software needs to let my desktop look like a clown makeup set
Except it literally is about that? Libre software guarantees users the right to make their own modifications to it. That's basically the entire point.
https://en.wikipedia.org/wiki/Free_software
Being actively hostile towards users making and sharing modifications to your software, while still technically permitting them, probably doesn't disqualify your project as "libre" software, but it goes against the spirit of it.
It works pretty well for Qt apps though. They just theme the titlebar and some things like fonts.
I don't want every app to have a different look or 'brand' as that page says. I want my system to be consistent.
I run KDE, and Telegram, a native Qt app, has an invisible icon if you have a dark taskbar (the default).
Theming sucks even when you keep the default look. I bet that since many Linux users use custom themes, app developers just give up and don’t even test the default combination.
Hmm yeah but that's a problem with telegram really. The taskbar can be dark without any theming. Even the standard Breeze has a dark option. They just have to supply both versions.
the last version of plasma is here to prove your wrong.
open the color panel and tick the option "tint window title bar with accent color"... which used to be just the window decorator title and borders. ... now some dev wanting to post screenshots on Reddit decided the accent color should be a light pastel tone that can be applied to the top elements of the qt application, bringing back the worst of gnome 2 era.
I'm pretty sure I have that option turned on. I love the accent colour option (2 years ago in the anniversary release of plasma 5 I think) but it's only recent so not all apps have incorporated it yet.
But I don't really understand what goes wrong there.
1 reply →
It did for me. Zukitre, which is gray neutral, and Papirus or any uber complete icon theme. Problem solved.
"Right" is a bit of a stretch. Manicured screenshots are a tiny subset of theming requirements. People went to great lengths to theme GTK because, for the longest time, Adwaita was truly atrocious, with poor contrast in inactive windows and retina-burning acid active colours.
KDE solved 99% of the theming requirements by just allowing color customisation and shipping with a default theme that doesn't suck too badly.