Open Ferdi265 opened 1 year ago
For client-side decorations, libdecor could also be an option, if it's easily possible to add it to our event loop unintrusively (it seems to have its own dispatch function that replaces wl_display_dispatch in the examples)
I started implementing libdecor support for server and client side window decorations. Current progress tracked in branch feature-libdecor.
Currently it's still a little buggy, especially on sway. Window movement and resizing seems to work fine on KDE, but the feature is definitely far from being implemented correctly.
It seems I found the fix for the flickering resize on sway: I was committing the libdecor frame and resizing the EGL surface in the wrong order.
I think this now just needs a small bit of cleanup, and then decoration support is done, ticking two of the above boxes.
There are a few things that need to be done for wl-mirror to work on other compositors than sway / wlroots:
The last of these is likely going to be a long way off, if it is ever implemented. Since wl-mirror does not use a toolkit, adding client-side decorations would involve a whole new level of complexity since that would require handling mouse input and seats.