This summary is based on (and quotes) the Qubes Community guide, this and that — especially @Sven’s extensive work, see also this thread.
Dom0, Fedora & Debian
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.
Dom0
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
andSettings
to your taste. In all these examples here, icons are always set toGnome
and fonts toDejaVu Sans
family.
Change Style in Window Manager
-
Open the
Window Manager
dialog:Qubes Applications Menu →
System Tools
→Window Manager
→Style
-
Change
Theme
inStyle
tab toG2
,Wallis
, orBluebird
. 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. If you choose a different style, it is a good idea to keep at least one window from an AppVM open. Some styles don’t color the title bar according to the AppVM (for example, none of the “Arc” family of themes do) and this will not be obvious if all of the open windows are Dom0.
Qubes tools
Most of the Qubes OS UI in dom0 is now Qt5 based and doesn’t adhere to the selected theme by default.
more info: Uniform look for Qt and GTK applications - ArchWiki
This can be remedied by:
- using a native Qt style
sudo qubes-dom0-update adwaita-qt5
Then add QT_STYLE_OVERRIDE=adwaita-dark
to /etc/environment
.
Reboot.
- using a theme engines
sudo qubes-dom0-update qt5-qtstyleplugins
Then add QT_QPA_PLATFORMTHEME=gtk2
to /etc/environment
.
Reboot.
- add a menu option to qube manager
That avoid to install anything in dom0,
but it require to review the few lines of code being added.
qube-manager dark mode (built-in method)
Fedora 34 / 35
Install and use Gnome Tweaks
In templateVM:
sudo dnf install gnome-tweaks
Note: See How to update.
-
Shutdown templateVM and add
Tweaks
toApp 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
.
Debian 10 / 11
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
gtk-application-prefer-dark-theme=1
is not necessary, it’s forces usage of dark variation of selected theme. Since we are choosing theme that is already Dark it can be omitted.
.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"
Note: The icon theme name is the name of its directory, not the name property in its index.theme
.
According to: https://wiki.archlinux.org/title/GTK
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
This work for debian-11-minimal but for debian-11 You have to uninstall xsettingsd
or edit ~/xsettingsd
config file instead of using ~/.config/gtk-3.0/settings.ini
and ~/.gtkrc-2.0
.
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 —, notification-daemon
, Joplin and Keybase, remain with white instead of dark resp. transparent backgrounds. For NetworkManager icon, see Qubes issue #2846.