Ferdi265 / wl-mirror

a simple Wayland output mirror client
GNU General Public License v3.0
282 stars 9 forks source link

Support for other compositors (KDE, Gnome, ...) #17

Open Ferdi265 opened 1 year ago

Ferdi265 commented 1 year ago

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.

Ferdi265 commented 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)

Ferdi265 commented 8 months ago

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.

Ferdi265 commented 8 months ago

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.