SafeEyes
SafeEyes copied to clipboard
wlrctl / fullscreen detection doesn't work on kde wayland
Describe the bug
I am currently running kde wayland. The do not disturb plugin does not seem to work. I looked in the code and the method used to detect fullscreen is the command wlrctl toplevel find state:fullscreen
. When I run that on cli with a fullscreen app it gives the following output Foreign Toplevel Management interface not found!
. Research shows that wlrctl
only works with wlroots based DE such as sway. KDE wayland and Gnome wayland don't appear to be based on wlroots meaning the fullscreen detection will not work in either DE.
To Reproduce Steps to reproduce the behavior:
- enable DND plugin
- have window fullscreen
- break should be skipped
- break happens anyway
Expected behavior Fullscreen detection should work via the DND plugin
Desktop (please complete the following information):
- OS: Arch
- Desktop Env: KDE wayland
- Version 2.1.6
Debug Log N/A
I don't know of a way to do this currently, unfortunately. There are the ext-foreign-toplevel-list (merged) and ext-foreign-toplevel-state (in progress) protocols, which together would allow this - but there it is explicitly left to the compositor to set up a policy which clients may use the protocol. Unfortunately, there does not seem to be a KWin implementation for either of these protocols yet, so we'll have to see. (At least wlroots/sway have implemented ext-foreign-toplevel-list in a way that SafeEyes could use it, from what I can tell - so if KWin implements it, we can switch to using it long-term.)