This change introduces support for the unstable xdg-shell interface in
the server. The implementation is based on version 5 of the unstable
interface. This is the version used by toolkits like e.g. GTK.
There is also a version 6 of the protocol under development which is
incompatible. This makes it difficult to implement it in a backward
compatible way.
Because of that the implementation is a little bit different to other
interfaces:
- there is no client implementation
- the interface version number is encoded in the class names
The idea is that once v6 stabilized we implement that and call it
XdgShell. At the same time this class will be deprecated, but users of
the library can still make use of it.
As we can expect many areas to be the same between v5 and v6 and also
with WlShell code of the Private class is split out into a templated
class which implements the same aspects in a generic way.
To not need a copy of the protocol, KWayland depends on the new
wayland-protocols.
An implementation of client side is part of the auto tests, though.