Hacker News new | ask | show | jobs
by red_admiral 742 days ago
I know, but that still leaves a sour taste in the mouth.

On Windows, the first thing I do after setting up a new PC is disable the adware, uninstall default apps, turn off as much telemetry as I can, and very soon that'll include turning off the creepy AI too. They say I should use linux instead ...

And on a standard gnome/GTK/adwaita setup, apparently the first thing you have to do is patch the UI library to remove the hardcoded default theme. The free software world wasn't meant to be like this, where you have to fight the OS/distro to get things to work the way you want.

(Meanwhile Mint, as the original article alluded to, is still trying to do good by its users. Long may this continue.)

2 comments

> The free software world wasn't meant to be like this, where you have to fight the OS/distro to get things to work the way you want.

I think the actual history says something different. The free software world is created by people who think the source code is the ultimate end, however basic it is. Actually combined with the common Unix convention of implementing the most basic and barebones piece of software to maximize text based interaction, I think it is fundamentally against democratizing computers for regular people.

It doesn't have to be this way but many founders thought and still think that barely useful but libre software is better.

The thing here is - around the era of GTK2, when themes (and widgets) were mostly bitmaps, there were a few things you couldn't do that adwaita is great at, but changing your accent color? Hell yes, just set the accent color in a .rc file and you're good, because that just changes the color at a particular index in the palette of the bitmaps used to draw a window.

Earlier still, there was a lot you could do with `~/.Xresources`.

Theming back then was much more a negotiation between "designers" and "users": if I like someone's general style of buttons but I'd like them in red instead of blue, I can easily do that, no coding required. You didn't even have to edit the bitmaps by hand most of the time. Want the widgets from this theme but the window decorations from that theme, but with a different font? Config file, or a few clicks in the settings GUI.

The code of the window manager/desktop environment was written to make this kind of thing possible.

In theory, you could develop a CSS-based theming where you can still factor out some key settings like "accent color" or "roundedness of corners" into variables that are easy to set or edit. Then the OS/DE would ship a default theme that works well, and if the user wants to change those settings to something that works better for them, it's on them not to mess it up.

It seems to me though that adwaita is doing everything short of DRM to make it maximally hard to disagree with their design choices.

I think the best way to solve this iis having an easy way to set the theme per-app. Any time an app is broken because of a theme, I have to either switch back to the default or submit a bug report and hope it's fixed / fix it myself. If I could just, let's say, right click on the window in the taskbar and click "use theme > default > always for this app", incompatibility with a theme wouldn't be a real problem, just mildly annoying.
> The free software world wasn't meant to be like this, where you have to fight the OS/distro to get things to work the way you want.

I'm of two minds about this. I get where you're coming from, but I also understand the reasoning behind this default behavior. I've seen a lot of UIs in visually broken or even dysfunctional states due to bad themes. I get why app developers want to prevent that. You and I both, and probably most everyone here, know to turn the theme off first and see if we can reproduce the issue before reporting a bug, but does everyone?

In my mind, if we want the Linux desktop to be appealing to the broader masses (and I really want this), we need a desktop environment or two that makes some concessions in this direction (e.g. making things more user-proof) without compromising on its values. To me, themeability is nice and something I want personally, but it's not a core value that needs to be upheld.

It is a core value once accessibility gets involved. Color-blind or partially sighted users, or dyslexic or highly sensory-sensitive users, may want to make choices that would seem weird if not painful on the eyes to most people, but that work well for them.