nclarius / KWin-window-positioning-scripts

KWin scripts controlling window placement on multi-monitor setups
GNU General Public License v3.0
59 stars 14 forks source link

Window positioning scripts break Libreoffice presentation view #10

Closed jlemonde closed 2 years ago

jlemonde commented 2 years ago

Dear nclarius,

I am loving these scripts; I've been using "Always Open on Active Screen" for a few weeks and it has been a game changer! But I just realised that these scripts would break the presentation view in Libreoffice. Indeed, when starting a presentation in a dual monitor set-up, Libreoffice would open two windows: one for the presentor, and another for the public. The kwin script would open both of them to the same monitor obviously, which is contrary to what Libreoffice means to do.

Therefore I would like to know whether it may be possible for you to implement a setting that allows the users to set exceptions for applications or windows to which the script shouldn't apply (similar to a black list).

This would be a fantastic enhancement! Thank you for your consideration!

nclarius commented 2 years ago

I would like to not add too much complexity to this script at least at the moment, but you could hardcode the special case on your local install:

In ~/.local/share/kwin/scripts/alwaysopenonactivescreen/contents/code/main.js

after the line

    if (!client || client.dock || client.desktopWindow) return;

insert a new line

    if (client.resourceClass == "soffice.bin" && client.caption.startsWith("Presenting: ")) return;

then restart KWin (log out and in again, or kwin_x11 --replace & resp. kwin_wayland --replace &).

nclarius commented 2 years ago

I recently published a new version of the script that should now generically handle special windows properly. Thanks for bringing it to my attention. Can you confirm that v3.0 without additional hacks works for you ?

jlemonde commented 2 years ago

Dear nclarius! I tried it and it works as expected! Thank you very much for the enhancement!