The `--disable-wm-check` flag not working with `xfconf`
While trying to follow the ArchWiki recommendations to set a new default window manager on an Xfce detup, it resulted into an unexpected outcome.
I have double checked the results on Fedora Xfce with Bspwm, Qtile, and Openbox, but I focused on a default and up-to-date Endeavouros Xfce install and default Bspwm configuration to perform most of the testing below.
The first thing I did was running the following comand:
xfconf-query -c xfce4-session -p /sessions/Failsafe/Client0_Command -t string -sa bspwm
It worked, but my VM startup time went from 5 to 40 seconds after login authentication. I then found out about the --disable-wm-check
flag, and tried to modify the subsequent ClientN_Command
properties to include that flag.
xfconf-query -c xfce4-session -p /sessions/Failsafe/Client0_Command -t string -sa bspwm
xfconf-query -c xfce4-session -p /sessions/Failsafe/Client1_Command -t string -s xfsettingsd -t string -s --disable-wm-check
xfconf-query -c xfce4-session -p /sessions/Failsafe/Client2_Command -t string -s xfce4-panel -t string -s --disable-wm-check
xfconf-query -c xfce4-session -p /sessions/Failsafe/Client4_Command -t string -s xfdesktop -t string -s --disable-wm-check
After checking the settings editor, as well as the underlying xfce4-session.xml
file, and taking the Thunar --daemon
command as a reference as to how commands passed as arrays should look, I can say with some level of confidence that everything looked right at that point.
However, there was no decrease in startup time, and I was still hovering around 40 seconds start up time. I ran many different tests to make sure I had the commands right, and seeked help on the Xfce forum where I received the advice to open a bug report here. Following ToZ recommendations there, I checked logs generated after adding the XFSM_VERBOSE=1
variable to my environment, and although I could not make much out of it, I got the confirmation that the --disable-wm-check
was not ignored, and appeared to be run behind the scenes. I prefer to keep this post short, and leave a link for reference.
Finally, I tried removing all startup commands from the xfce4-session
channel, and rely on my window manager 'autostart' script instead. In that case, the bspwmrc
configuration file.
From the terminal:
xfconf-query -c xfce4-session -p /sessions/Failsafe/Client0_Command -t string -sa bspwm
xfconf-query -c xfce4-session -p /sessions/Failsafe/Client1_Command -t string -sa ""
xfconf-query -c xfce4-session -p /sessions/Failsafe/Client2_Command -t string -sa ""
xfconf-query -c xfce4-session -p /sessions/Failsafe/Client3_Command -t string -sa ""
xfconf-query -c xfce4-session -p /sessions/Failsafe/Client4_Command -t string -sa ""
Bspwmrc file:
xfsettingsd --disable-wm-check &
xfce4-panel --disable-wm-check &
Thunar --daemon &
xfdesktop --disable-wm-check &
This seems to work exactly as expected for the little testing I have done and brought the startup time back to the 5 seconds initial baseline. All of which leads me to believe that the --disable-wm-check
flag is not working when set using xfconf
directly.
Please, let me know if you need any additional info. Thank you for your time.