[Differential] [Request, 3,914 lines] D2102: Add support for xdg-shell
graesslin (Martin Gräßlin)
noreply at phabricator.kde.org
Wed Jul 6 14:42:08 UTC 2016
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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/plasma-devel/attachments/20160706/823d26d4/attachment.html>
More information about the Plasma-devel
mailing list