Summary: | Window type rule does not work in wayland | ||
---|---|---|---|
Product: | [Plasma] kwin | Reporter: | Bill <bill73653> |
Component: | rules | Assignee: | KWin default assignee <kwin-bugs-null> |
Status: | RESOLVED FIXED | ||
Severity: | minor | CC: | default_357-line, isma.af, nate |
Priority: | NOR | ||
Version: | 5.27.0 | ||
Target Milestone: | --- | ||
Platform: | Gentoo Packages | ||
OS: | Linux | ||
Latest Commit: | https://invent.kde.org/plasma/kwin/-/commit/947d8c5e590e8d89fde2885abbb2bea8cce1b2e5 | Version Fixed In: | 6.0 |
Sentry Crash Report: |
Description
Bill
2023-02-18 17:52:54 UTC
Window type window rule is not implemented on wayland, not sure if it's worth implementing either. Various surface roles have their own separate implementations. It will be quite a hassle for us to make it work on wayland. You can use "keep above" instead. A possibly relevant merge request was started @ https://invent.kde.org/plasma/kwin/-/merge_requests/4953 A possibly relevant merge request was started @ https://invent.kde.org/plasma/kwin/-/merge_requests/4953 Git commit 5c4acbdddda11df7beaef3575fcba064b2b5a67d by Vlad Zahorodnii. Committed on 18/01/2024 at 00:05. Pushed by vladz into branch 'master'. Introduce layer window rule The new window rule allows to overwrite the stack layer. It can be useful on wayland to force picture-in-picture surfaces (which are xdg-toplevels at the moment) to be placed above fullscreen windows. Keep above flag is unsuitable because fullscreen windows are placed higher "above" windows. M +2 -0 autotests/integration/dbus_interface_test.cpp M +41 -0 autotests/integration/xdgshellwindow_rules_test.cpp M +1 -0 src/dbusinterface.cpp M +24 -0 src/kcms/rules/rulesmodel.cpp M +1 -0 src/kcms/rules/rulesmodel.h M +9 -2 src/rules.cpp M +5 -0 src/rules.h M +21 -0 src/rulesettings.kcfg M +3 -2 src/window.cpp https://invent.kde.org/plasma/kwin/-/commit/5c4acbdddda11df7beaef3575fcba064b2b5a67d Git commit 176ae6e6927f15f28c992b58366c4dd05fcc274a by Vlad Zahorodnii. Committed on 18/01/2024 at 00:05. Pushed by vladz into branch 'master'. Drop window type rule Practically all code assumes that the window type is static and fixing it would bring extra complexity, which may not be worth given that there are window rules to control position, focus, layer, etc. M +1 -1 src/inputpanelv1window.cpp M +1 -1 src/inputpanelv1window.h M +1 -1 src/internalwindow.cpp M +1 -1 src/internalwindow.h M +0 -7 src/kcms/rules/rulesmodel.cpp M +1 -1 src/layershellv1window.cpp M +1 -1 src/layershellv1window.h M +1 -11 src/rules.cpp M +0 -4 src/rules.h M +0 -11 src/rulesettings.kcfg M +1 -1 src/window.h M +1 -9 src/x11window.cpp M +1 -1 src/x11window.h M +1 -1 src/xdgshellwindow.cpp M +1 -1 src/xdgshellwindow.h https://invent.kde.org/plasma/kwin/-/commit/176ae6e6927f15f28c992b58366c4dd05fcc274a A possibly relevant merge request was started @ https://invent.kde.org/plasma/kwin/-/merge_requests/4972 Git commit 7e6876cc630b4dbe720d2d9aa0953170731f5644 by Vlad Zahorodnii. Committed on 18/01/2024 at 00:16. Pushed by vladz into branch 'Plasma/6.0'. Introduce layer window rule The new window rule allows to overwrite the stack layer. It can be useful on wayland to force picture-in-picture surfaces (which are xdg-toplevels at the moment) to be placed above fullscreen windows. Keep above flag is unsuitable because fullscreen windows are placed higher "above" windows. (cherry picked from commit 5c4acbdddda11df7beaef3575fcba064b2b5a67d) M +2 -0 autotests/integration/dbus_interface_test.cpp M +41 -0 autotests/integration/xdgshellwindow_rules_test.cpp M +1 -0 src/dbusinterface.cpp M +24 -0 src/kcms/rules/rulesmodel.cpp M +1 -0 src/kcms/rules/rulesmodel.h M +9 -2 src/rules.cpp M +5 -0 src/rules.h M +21 -0 src/rulesettings.kcfg M +3 -2 src/window.cpp https://invent.kde.org/plasma/kwin/-/commit/7e6876cc630b4dbe720d2d9aa0953170731f5644 Git commit 947d8c5e590e8d89fde2885abbb2bea8cce1b2e5 by Vlad Zahorodnii. Committed on 18/01/2024 at 00:17. Pushed by vladz into branch 'Plasma/6.0'. Drop window type rule Practically all code assumes that the window type is static and fixing it would bring extra complexity, which may not be worth given that there are window rules to control position, focus, layer, etc. (cherry picked from commit 176ae6e6927f15f28c992b58366c4dd05fcc274a) M +1 -1 src/inputpanelv1window.cpp M +1 -1 src/inputpanelv1window.h M +1 -1 src/internalwindow.cpp M +1 -1 src/internalwindow.h M +0 -7 src/kcms/rules/rulesmodel.cpp M +1 -1 src/layershellv1window.cpp M +1 -1 src/layershellv1window.h M +1 -11 src/rules.cpp M +0 -4 src/rules.h M +0 -11 src/rulesettings.kcfg M +1 -1 src/window.h M +1 -9 src/x11window.cpp M +1 -1 src/x11window.h M +1 -1 src/xdgshellwindow.cpp M +1 -1 src/xdgshellwindow.h https://invent.kde.org/plasma/kwin/-/commit/947d8c5e590e8d89fde2885abbb2bea8cce1b2e5 Any chance I can convince you to bring this back on X11? Yakuake is unusable for me without the ability to override the window type so that it shows up in the alt-tab list. |