Skip to content

plasma-windowed: add command option to bypass fixed minimum geometry.

Chris Xiong requested to merge (removed):master into master

This is probably a niche use case, but I use Plasma components with a custom FVWM setup. Namely I use the systray and appmenu in my FVWMButtons configuration (works like panels in a full plasma desktop). The config looks like something like this:

*FvwmButtons: (8x2, Frame 0, Swallow(NoClose,UseOld,NoHints,Respawn) "System Tray" `Exec exec plasmawindowed org.kde.plasma.systemtray`)

As such the panel "swallows" the window created by plasmawindowed and makes it part of the panels window.

I noticed plasmawindowed always forces a minimum geometry of at least 128x128 on the window. This obviously makes no sense for my use case (or even just testing the systray plasmoid). With Plasma 5 I was able to work this around using the NoHints option, which instructs FVWM to ignore the minimum geometry.

However with Plasma 6 / Qt 6 this no longer works. I have to resort to patching the source code, which resulted in this patch. The patched version doesn't change the behavior of plasmawindowed unless the new command line option is specified.

Side note: While I was going through the source code I noted something off with how the --statusnotifier option is implemented. Since plasmawindowed uses KDBusService to host all windows in the same process, it appears to me that according to the current code, specifying this option to all subsequent launches will have no effect at all (the option for the first process is always used instead). I'm not sure if this is intended, or familiar enough with KDBusService to conclude that this will be the actual behavior.

Merge request reports