Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
2 of 4 tasks
Ferdi265 opened this issue Jan 7, 2023 · 3 comments
Open
2 of 4 tasks

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

Ferdi265 opened this issue Jan 7, 2023 · 3 comments
Assignees
Labels
enhancement New feature or request

Comments

@Ferdi265
Copy link
Owner

Ferdi265 commented Jan 7, 2023

There are a few things that need to be done for wl-mirror to work on other compositors than sway / wlroots:

  • Make wayland proxy binding code a bit more robust (crashes on Gnome currently, since globals appear in a different order)
  • Implement XDG Desktop Portal backend (Support XDG Desktop Portal / Pipewire screencasting #16)
  • Add support for requesting server side decorations with XDG Decorations or the KDE Decoration Protocol (solved by libdecor)
  • Add client-side decorations for Gnome / Mutter (which does not support XDG Decorations) (solved by libdecor)

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 Ferdi265 added the enhancement New feature or request label Jan 7, 2023
@Ferdi265
Copy link
Owner Author

Ferdi265 commented Jan 7, 2023

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
Copy link
Owner Author

Ferdi265 commented Nov 1, 2023

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
Copy link
Owner Author

Ferdi265 commented Nov 2, 2023

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant