Can't change dom0 theme without a running desktop environment (Qubes 4.0.4)

In terms of appearance, almost all apps in dom0 look like they’re running in a Windows-based domain from over 20 years ago. This includes xfce4-settings-manager and Qube Manager. Trying to change the style using xfce4-appearance-settings does nothing except when running xfce4-session. I haven’t been able to pinpoint what change I need to make to get this to work. How do you people do it? So far, only qt5ct in dom0 looks like it should.

This sounds like a question more directed at the forums of your particular window manager, I believe. Doesn’t seem Qubes-specific.

Well, I’d installed i3-gaps from a Qubes repository, so I thought it should just work out of the box? It certainly did with Manjaro i3… Maybe it’s just a matter of trying to copy the default startup configuration from there. For what it’s worth, I’m still able to change the theme after killing the XFCE session while running i3-gaps.

Trying to change the style […] how do you people do it?

It took me a long time to figure this out. The below is my personal
config but you should be able to get the idea. Note that I am using a
theme, icon set and font that is not installed by default. So change
those to something that exists on your system and matches your taste.

Essentially you need to make sure you have config files and environment
variables in place for GTK-2, GTK-3 as well as QT.

You will be best served to not have any settings daemon running in your
qubes (i.e. gnome-settings-daemon). If it is running the config files
shown in this post will be ignored and you have to run something like
gnome-tweaks. That takes more resources, doesn’t work any better and
involves a lot of clicking. While the config files are written once and
can then just be copied into place (maybe even using a bash script in
dom0 as I do).

  • DPI should be set in /etc/X11/Xresources (dom0 and fedora templates)
    or /etc/X11/Xresources/x11-common (debian templates) by adding or
    modifying the following line

    Xft.dpi: 144

  • GTK-2: ~/.gtkrc-2.0 (home directory of every AppVM and dom0)

    include “/usr/share/themes/Yaru/gtk-2.0/gtkrc”
    style “user-font”
    {
    font_name=“Ubuntu Regular”
    }
    widget_class “*” style “user-font”
    gtk-font-name=“Ubuntu Regular 11”
    gtk-theme-name=“Yaru”
    gtk-icon-theme-name=“Yaru”

  • GTK-3: ~/.config/gtk-3.0/settings.ini (home directory of every AppVM
    and dom0)

    [Settings]
    gtk-font-name=Ubuntu Regular 11
    gtk-icon-theme-name=Yaru
    gtk-theme-name=Yaru
    gtk-xft-antialias=1
    gtk-xft-hinting=1
    gtk-xft-hintstyle=hintslight
    gtk-xft-rgba=rgb

  • QT: make sure you have qt5-style-plugins and gtk2-engines-murrine
    installed on debian templates or there equivalent in fedora templates.
    Then simply add the following line to your /etc/environment in the
    template and dom0 to make QT use your GTK-2 settings:

    QT_QPA_PLATFORMTHEME=gtk2

Enjoy!

1 Like

It was kind of you to provide these instructions. I don’t like clicking either, but I still prefer to use a graphical user interface to change styles instead of editing files. So I installed lxappearance and was able to change the dom0 theme that way. It worked just the same on Manjaro i3, I just didn’t want to install lxappearance and its dependencies on Qubes before, because I already have xfce4-appearance-settings and I thought it could be made usable. Perhaps it’s designed specifically to be used with a running XFCE session. I also noticed how lxappearance appeared to modify the GTK files you were referring to.

I actually had to install a Qt 4 theme (adwaita-qt4) for Qube Manager (after finding out that it uses Qt 4) and modify ~/.config/Trolltech.conf to include style=adwaita-dark in the [Qt] section, since qtconfig-qt4 doesn’t seem to be available for dom0. The only remaining issue for me is AppVM windows that flash bright when they open. Even dunst notifications do that.

xfce4-appearance-settings […] perhaps it’s designed specifically to
be used with a running XFCE session.

XFCE comes with it’s own settings daemon called xfsettingsd.

lxappearance appeared to modify the GTK files

Forgot to mention this an easy way to “make” those files.

qtconfig-qt4 doesn’t seem to be available for dom0

sudo qubes-dom0-update qt-config

remaining issue for me is AppVM windows that flash bright when they
open. Even dunst notifications do that.

Never seen that, sorry.

Ah, so it was xfsettingsd that allowed me to keep changing the theme using xfce4-appearance-settings, but it looks like I’m better off using lxappearance in dom0 and syncing the theme files into domUs.

Good point. (I was reading the Arch wiki)

With i3 definitely since xfsettingsd won’t be running. However if you run XFCE your config files will be ignored since the daemon is running.

@terminalfire feel free to open another thread for this (this way we keep the forum more organized).