waylandsink: Support xdg_shell stable
waylandsink currently only supports the ancient wl_shell
interface for window management, which was never intended to be used for anything real.
wl_shell
is long since deprecated in favour of xdg_shell
, which has now been made stable and implemented across all of Mutter, QtCompositor, Weston, wlroots, and more: you can see the status of stable xdg_shell adoption also.
This involves using xdg_wm_base
as the replacement for wl_shell
, and a combination of xdg_surface
and xdg_toplevel
as a replacement for wl_shell_surface
. Notably, xdg_shell
allows far better negotiation of window size and state such as fullscreen, maximised, tiled, etc.