Wayland: Support xdg-shell protocol
The wl_shell
interface is deprecated in Wayland. A number of issues are caused by this:
-
ClutterStageWayland
doesn't work without awl_shell_surface
-
ClutterBackendWayland
looks for thewl_shell
interface even if the application doesn't useClutterStage
- As a result of the above, calling
clutter_init()
with the wayland backend causes an infinite loop waiting forwl_shell
if it doesn't exist
This PR fixes those issues by adding support for the replacement xdg_shell
protocol. The changes have been tested to work in these compositors:
- gnome-shell
- kwin_wayland
- sway
- wayfire
- weston
Additionally, this has been tested to work with both the autotools and meson builds.
Edited by Emmanuele Bassi