I’m hacking on the qubes-gui-daemon code, and have successfully implemented a new feature into it. (Add X event buffering for cloaking user input patterns by ArrayBolt3 · Pull Request #149 · QubesOS/qubes-gui-daemon · GitHub for those who are interested) This feature needs to have a configurable setting, so I tried to implement a new configuration option for it. Supposedly qubes-gui-deamon settings can be set using the qvm-features tool. However, I’m having trouble doing this, and can reproduce the issue I had using a previously existing feature that my new feature should not affect.
Looking at /etc/qubes/guid.conf, there’s a setting called windows_count_limit that allows you to specify how many windows a Qube can have open at any one time. This looked like a pretty easy setting to verify if it worked or not, and so I tried setting the maximum number of allowed windows to 2. Following the instructions from the qvm-features manpage, I ran:
qvm-features work gui-windows-count-limit 2
(work being the name of a Fedora 40 Qube on my system.) This command seemed to work, if I run qvm-features work I can see the gui-windows-count-limit setting has been set to 2. To make sure the settings were being applied, I shut down the work Qube entirely, then started it back up. Once it was booted, I launched three XFCE Terminal windows in it, and all three of them appeared on my desktop, which seems wrong since I specifically requested a maximum of two windows to be allowed.
Naturally this isn’t the only configuration option that isn’t working - the configuration option for my new feature similarly is silently ignored. Just in case, I also tried setting configuration options directly in /etc/qubes/guid.conf despite the fact that it says it isn’t read, and that similarly failed. (I only tried this with my custom configuration option, and it was silently ignored.)
Am I using qvm-features wrong? Or is this config file telling me to try to set settings in the wrong spot perhaps? What should I do in order to configure qubes-gui-daemon?