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