For more than 10 years (maybe 15?) I have struggled with this issue... most of the time the kwin window rules (Settings->Window Management->Window Rules) work great, and I use them to make applications open on certain screens, in certain positions, etc etc.
But now and then an application just can't be tamed. It's not a window matching problem, at least not at first glance: if I set the rule to "Force" it works fine, but I don't want it to be forced all the time. I want to use "Apply Initially". I would also settle for "Remember", but neither work.
I have tried in vain to figure out what might be going wrong. The latest problem app is VSCode (installed via .deb from here). My only guess is that the metadata kwin is using to "find" the window is not set by vscode as it starts up, e.g. maybe it doesn't set the window class of the window to the expected value until after kwin has checked it, or something to that effect. That's my only wild theory, anyway.
I tried various ways to see if I could catch the window in this hypothetical intermediate state (running wmctrl -l -x -p on a loop, or running xprop and clicking just as the app window opened, etc.) to no avail.
I've seen a lot of posts on the internet about this over the years and nobody seems to have an explanation or solution. Anything to be done here?
If memory serves, years ago there was a "Force for X seconds" type feature, which would also be a workaround, but if there once was, there is no longer. ("Force Temporarily" is not what it sounds like and is not appropriate in this case.)
Thanks for any ideas!
But now and then an application just can't be tamed. It's not a window matching problem, at least not at first glance: if I set the rule to "Force" it works fine, but I don't want it to be forced all the time. I want to use "Apply Initially". I would also settle for "Remember", but neither work.
I have tried in vain to figure out what might be going wrong. The latest problem app is VSCode (installed via .deb from here). My only guess is that the metadata kwin is using to "find" the window is not set by vscode as it starts up, e.g. maybe it doesn't set the window class of the window to the expected value until after kwin has checked it, or something to that effect. That's my only wild theory, anyway.
I tried various ways to see if I could catch the window in this hypothetical intermediate state (running wmctrl -l -x -p on a loop, or running xprop and clicking just as the app window opened, etc.) to no avail.
I've seen a lot of posts on the internet about this over the years and nobody seems to have an explanation or solution. Anything to be done here?
If memory serves, years ago there was a "Force for X seconds" type feature, which would also be a workaround, but if there once was, there is no longer. ("Force Temporarily" is not what it sounds like and is not appropriate in this case.)
Thanks for any ideas!
Comment