This feature is not designed to work like that. It changes the background color of windows handled by dom0, not the qubes themselves. Based on the screenshot provided and the “screen sharing” window, what you are seeing right now is the color used by the graphical server inside the qube.
Running the following command in the qube should change its color from white to black:
Thanks, that works and helps reduce white flashes (along with the default-window-background-color tweak).
I’ve tried putting this in /etc/X11/xinit/xinitrc.d/96-xsetroot-black.sh in the template but for some reason it does not work, would you happen to know why? The permissions are all correct (same as other files in xinitrc.d, 0755).
#!/bin/sh
# Make the X root window solid black
[ -n "$WAYLAND_DISPLAY" ] && exit 0
command -v xsetroot >/dev/null 2>&1 || exit 0
xsetroot -solid black
Added some basic sanity checks so that it doesn’t throw an error (idk how X would react to that). Executing that script manually works.
My instinct is to shy away from adding hooks to X startup in this clean and logical way, partly because X startup is layer upon layer of legacy such that making sense of it + troubleshooting is a trial, and partly because setup can/does differ a lot across distributions so the customization is probably not trivially transferable (so you have to repeat the making sense of it + troubleshooting).
I don’t know why your hook script doesn’t work. Maybe instead you could implement it as a oneshot systemd unit to be executed after graphical.target, or throw it into /rw/config/rc.local if that executes late enough during boot?