graesslin created this revision. graesslin added a reviewer: Plasma on Wayland. Restricted Application added a subscriber: plasma-devel. Restricted Application added a project: Plasma on Wayland.
REVISION SUMMARY 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 and inspired by the TextInput interfaces: On client side an XdgShell class is exposed which does not represent it directly. Instead it delegates everything to an XdgShellUnstableV5 implementation. For the Surface/Popup the same is done. In the Registry it's possible to create an XdgShell and it accepts the XdgShellUnstableV5 and in future will accept XdgUnstableV6, etc. On server side it also follows the approach from TextInput. That is there is a version enum which gets passed to the factory method in Display. It currently supports only V5, but in future can be extended for V6. As there is lots of similar code between wl_shell, xdg_shell and in future xdg_shell_unstable_v6 a templated GenericShellInterface class is added which combines the common parts. REPOSITORY rKWAYLAND KWayland BRANCH xdg-shell REVISION DETAIL https://phabricator.kde.org/D2102 AFFECTED FILES autotests/client/CMakeLists.txt autotests/client/test_wayland_registry.cpp autotests/client/test_xdg_shell.cpp src/client/CMakeLists.txt src/client/protocols/xdg-shell-unstable-v5.xml src/client/registry.cpp src/client/registry.h src/client/xdgshell.cpp src/client/xdgshell.h src/client/xdgshell_p.h src/client/xdgshell_v5.cpp src/server/CMakeLists.txt src/server/display.cpp src/server/display.h src/server/generic_shell_surface_p.h src/server/shell_interface.cpp src/server/shell_interface.h src/server/xdg_shell_interface.cpp src/server/xdg_shell_interface.h src/server/xdg_shell_interface_p.h src/server/xdg_shell_v5_interface.cpp src/server/xdg_shell_v5_interface_p.h src/tools/mapping.txt EMAIL PREFERENCES https://phabricator.kde.org/settings/panel/emailpreferences/ To: graesslin, #plasma_on_wayland Cc: plasma-devel, jensreuterberg, sebas
_______________________________________________ Plasma-devel mailing list Plasma-devel@kde.org https://mail.kde.org/mailman/listinfo/plasma-devel