[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