D29024: feat(wayland): support multiple protocol extensions through plugin system

Roman Gilg noreply at phabricator.kde.org
Mon Apr 20 21:44:28 BST 2020


romangg created this revision.
romangg added a reviewer: Plasma.
Herald added a project: Plasma.
Herald added a subscriber: plasma-devel.
romangg requested review of this revision.

REVISION SUMMARY
  Besides the KWayland output-management protocol there exist other protocol
  extensions for output-management, for example wlroot's
  wlr-output-management-unstable-v1 and kwinft_output_management_unstable_v1
  protocols.
  
  This patch refactors the Wayland backend such that alternative extensions can
  be added in the future in an encaplusated way and are instantiated through a
  plugin system.
  
  All available Wayland backend plugins are fired up in parallel and the first to
  return success will be used while all others are rejected instantly. In theory
  this is racy if a compositor supports more than one of the supported output-
  management protocols, but there is none out at the moment and it is unlikely to
  happen in the future.

TEST PLAN
  Tested with KWin's Wayland session.

REPOSITORY
  R110 KScreen Library

BRANCH
  wayland-plugins

REVISION DETAIL
  https://phabricator.kde.org/D29024

AFFECTED FILES
  CONTRIBUTING.md
  backends/kwayland/CMakeLists.txt
  backends/kwayland/plugins/CMakeLists.txt
  backends/kwayland/plugins/kwayland/CMakeLists.txt
  backends/kwayland/plugins/kwayland/kwayland.json
  backends/kwayland/plugins/kwayland/kwayland_interface.cpp
  backends/kwayland/plugins/kwayland/kwayland_interface.h
  backends/kwayland/plugins/kwayland/kwayland_output.cpp
  backends/kwayland/plugins/kwayland/kwayland_output.h
  backends/kwayland/wayland_interface.cpp
  backends/kwayland/wayland_interface.h
  backends/kwayland/waylandbackend.cpp
  backends/kwayland/waylandbackend.h
  backends/kwayland/waylandconfig.cpp
  backends/kwayland/waylandconfig.h
  backends/kwayland/waylandoutput.cpp
  backends/kwayland/waylandoutput.h
  backends/kwayland/waylandscreen.cpp

To: romangg, #plasma
Cc: plasma-devel, Orage, LeGast00n, The-Feren-OS-Dev, cblack, jraleigh, zachus, fbampaloukas, ragreen, ZrenBot, ngraham, himcesjf, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol, ahiemstra, mart
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/plasma-devel/attachments/20200420/2e73dfb7/attachment.html>


More information about the Plasma-devel mailing list