GNOME will officially support a global dark style for the first time with its 42 release next week. You might be thinking, how can this be new when I’ve been using a dark theme for a long time?
In early GNOME 3 releases, developers of some media apps like photo viewers enabled an optional dark theme for their apps. Soon after that, GNOME Tweaks provided an option to enable the dark theme for all apps. But GNOME Tweaks has never been a part of core GNOME and that tweak was never officially supported by GNOME.
Now in GNOME 42, it is officially supported, expanding on a concept from elementary OS 6. A toggle switch in the new Appearance panel in the core Settings app enables and disables the feature. A lot of work was done in GNOME apps to fix visual dark style bugs. A new transition effect was added (also inspired by elementary) to more elegantly crossfade when the style is switched.
However, GNOME 42’s new implementation has one important detail: Developers need to explicitly opt in each GTK3 app to the new dark style feature. Otherwise, the app will still have its usual style (probably light) no matter if dark was enabled or not.
There’s a conflict here between the objective to have apps look as good as possible with the new dark style (or at least as the developer “intended”) and a person’s desire to have their apps look dark when they turn on the dark button.
This isn’t much of a problem for GNOME since almost every app in their core GNOME product has opted in to allow the dark style in time for the 42 release. One convenient way GNOME was able to meet this goal was to switch their recommended text editor and terminal app to new apps. (The older apps gedit and gnome-terminal don’t support the new style yet. And dark style is not even the main reason why the recommended apps were changed.)
But there are a huge number of apps that people use that aren’t part of core GNOME.
Ubuntu is especially affected. Ubuntu 20.04 LTS has a similar toggle switch in its version of the GNOME Settings app, which means that Ubuntu already officially supported the dark style for all GTK3 apps. To change that now with little notice would be a real regression. Also Ubuntu’s default install includes a large number of apps that haven’t been updated for the new dark style (including LibreOffice, Transmission, gedit, gnome-terminal, and the “simple” games).
Therefore, the toggle switch in Ubuntu 22.04 LTS will additionally use the older way to enable the dark theme which works for all GTK3 and GTK4 apps. We will re-evaluate this decision for the next non-LTS release, 22.10, later this year.
If you want a similar feature in the distro you use, the older way can be enabled in the renamed Legacy Applications section of the GNOME Tweaks app.
GNOME Tweaks 42 Beta - Appearance
If you are a developer, please see the documentation for the new dark style so that your app will look great on all distros.