This summary is based on (and quotes) the Qubes Community guide, this and that — especially @Sven’s extensive work.
The following text and screenshots describe how to change the default light theme to a global dark theme. It's just an example; feel free to adjust the appearance to your taste.
And here are the final results:
Dom0 Qube Manager, Dom0 Terminal, Fedora 35 VMs, Debian 11 VM; desktop background color #3B3941 (external full HD display)
Qubes Applications Menu is darkened as well
Note: Of course, several apps (e.g., Terminal and Gedit) can be styled in the app itself. Here, Dom0 Terminal’s background color is set to the desktop background color — because fusion. 😉
Change Appearance
Open the Appearance
window:
Qubes Applications Menu --> System Tools
--\> Appearance
Select Style
--\> Adwaita-dark
. It’s probably the most ›classic‹ and readable/contrasty of the dark styles here. But, of course, feel free …
Adjust Icons
, Fonts
and Settings
to your taste. In all these examples here, icons are always set to Gnome
and fonts to DejaVu Sans
family.
Change Style in Window Manager
Open the Window Manager
dialog:
Qubes Applications Menu --> System Tools
--> Window Manager
--> Style
- Change Theme
in Style
tab to G2
or Bluebird
. These are probably the most ›classic‹ and readable/contrasty. Bluebird
's borders appear more elegant, but it could be difficult to grab the window’s edges in order to resize. But feel free …
Note: Most of the Qubes OS UI in dom0 is now Qt5 based and doesn’t adhere to the selected theme by default. This can be remedied by:
sudo qubes-dom0-update qt5-qtstyleplugins
Then add QT_QPA_PLATFORMTHEME=gtk2
to /etc/environment
. Reboot. Done.
Install and use Gnome Tweaks
In templateVM:
sudo dnf install gnome-tweaks
Note: See How to update.
Shutdown templateVM and add Tweaks
to App shortcuts
of appVM in Qube Manager.
Start Tweaks
in appVM.
Select Appearance
--\> Themes
--\> Applications
--\> Adwaita-dark
(adjust also all the other options to your taste):
Notes: You have to do this in the templateVM and all appVMs; changes you make in the home directory of a templateVM will not reflect in the template based VM by design. For dispVMs see this.
If you want to use gnome-settings-daemon
and Gnome Tweaks, it’s probably best to delete settings.ini
and .gtkrc-2.0
(see following Debian section).
To make sure QT apps look good, too: In templateVM install qt5-qtstyleplugins
, gtk-murrine-engine
and gnome-themes-standard
. Add QT_QPA_PLATFORMTHEME=gtk2
to /etc/environment
.
In Debian, things are getting a little bit trickier …
AppVMs seem to work best without gnome-settings-daemon
(see end of Fedora section above). In that case set DPI in /etc/X11/Xresources/x11-common
using Xft.dpi:
(probably 96
) in template VM.
Make sure your appVMs have both ~/.config/gtk-3.0/settings.ini
and ~/gtkrc-2.0
:
settings.ini
[Settings]
gtk-application-prefer-dark-theme=1
gtk-font-name=DejaVu Sans Book 12
gtk-theme-name=Adwaita-dark
gtk-icon-theme-name=Gnome
.gtkrc-2.0
include "/usr/share/themes/Adwaita-dark/gtk-2.0/gtkrc"
style "user-font"
{
font_name="DejaVu Sans Book"
}
widget_class "*" style "user-font"
gtk-font-name="DejaVu Sans Book 12"
gtk-theme-name="Adwaita-dark"
gtk-icon-theme-name="Gnome"
Put these files to /etc/skel
of the templateVM, so they get created automatically if you set up a new appVM based on that templateVM.
To make sure QT apps look good, too: In templateVM install qt5-style-plugins, gtk2-engines-murrine
, and gnome-themes-standard
. Then add these two lines to /etc/environment
:
QT_QPA_PLATFORMTHEME=gtk2
QT_SCALE_FACTOR=1
Done!
To do? Darken Firefox websites and Thunderbird emails just with userChrome.css
and userContent.css
, not via extensions/add-ons.
Note: Some panel (applet) icons, e.g., NetworkManager — see ›global‹ screenshot at the beginning of this guide —, Joplin and Keybase, remain with white instead of dark resp. transparent backgrounds. For NetworkManager icon, see Qubes issue #2846.