plasma-windowed: add command option to bypass fixed minimum geometry.
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.