GNOME 42 is on course to ship with support for a proper ‘dark mode’ toggle.
Right now Linux desktops lack a standardised, system-level way for users to indicate to the system, its apps, and even the websites they visit that they’d prefer them to use a dark appearance.
Now, you’re probably thinking: “Joey, Ubuntu already has a dark mode: I use it” — and you’re not mistaken.
Major desktop Linux distros, including Ubuntu and Pop!_OS, do include a dark theme option. But changing GTK theme the best way to approach this?
Not at all.
First off, GTK themes aren’t a ‘supported feature’ in GNOME desktops, and let’s not forget that not everyone is running a GNOME desktop or using GTK apps. A theme-based switch also means some apps/websites then have to (try to) detect what theme the underlying system is running (for which there isn’t a standardised way).
Wouldn’t it be easier if there was a single, unified, and cross-desktop ‘preference’ users could mark instead? Then, any app, tool, website, or widget that wants to respect a user’s choice would know where to look, what to look for, and how to comply.
Well, that’s exactly what’s happening.
FreeDesktop Colour Scheme Preference
There’s no point in having a unified setting for dark mode preference if some apps can’t read it, or some desktops don’t use it. The goal is to create something any app written in any toolkit running on any open source desktop.
We (users) get to flag our preference to say “hey, use a dark appearance please”. Apps (though not just apps) check that setting and then comply, or ignore it (since dark mode is not forced in the way that a dark GTK theme is, apps can ignore the setting and do their own thing).
Now GNOME Developer Alexander Mikhaylenko shares details on the plans for GNOME 42. They plan to include a colour preference setting in GNOME 42, which is released next year. And many of GNOME’s own roster of apps and utilities will respect the setting where it makes sense.
The user-facing preference will likely come to GNOME via a revamped Appearance panel in Settings. The panel, the design for which is under active development, may combine light/dark mode preference with other common visual-related tweaks, like changing the desktop wallpaper.
Other ideas include adding a toggle within the GNOME Shell UI (similar to Android and iOS) to make switching between light/dark modes easier. Some thought is going into possibly supporting day/night scheduling, and/or allowing wallpapers to change along with it (similar to iOS and macOS).
As with other systems, the biggest barrier to adoption will be app makers: they’ll need to bake in support for the feature rather than rely on the system to do it for them.
But if things can be “got right” at a system level, and then in first-party apps across all major open source desktops then adoption in the wider app-making ecosystem is then a question of when, not if.