Review Request 125942: KWayland OutputManagement protocol and implementation
Sebastian Kügler
sebas at kde.org
Wed Nov 4 12:09:57 UTC 2015
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/125942/
-----------------------------------------------------------
(Updated Nov. 4, 2015, 12:09 p.m.)
Review request for kwin, Plasma and Martin Gräßlin.
Changes
-------
Addressed all comments.
Repository: kwayland
Description
-------
This implements the client and server part of the screen management protocol. The protocol is implemented as a wayland protocol.
It provides the following mechanisms:
- a list of outputs, close to wl_output, with additional properties for enabled, uuid, edid, etc.. These OutputDevices correspond to a connected output that can be enabled by the compositor, but is not necessarily currently used for rendering.
- a global OutputManagement, which allows creating config objects, one per client. The client can make changes to the outputs through setScale(outputdevice*, scale) for example.
- an OutputConfiguration resource, that can be handed to a client and used for configuration. Changes are double buffered here. Only after OutputConfiguration.apply() has been called, the changes are relayed over the global OutputManagement.
The compositor is responsible to handle changes.
For a more detailed description, see the API docs in especially outputconfiguration.h.
The working branch for this is kwayland[sebas/kwin]. A backend for libkscreen is available in libkscreen[sebas/wayland].
Diffs (updated)
-----
autotests/client/CMakeLists.txt 1556c47
autotests/client/test_wayland_outputdevice.cpp PRE-CREATION
autotests/client/test_wayland_outputmanagement.cpp PRE-CREATION
autotests/client/test_wayland_registry.cpp 55f0f6c
autotests/server/test_display.cpp b398812
src/client/CMakeLists.txt 79092ef
src/client/outputconfiguration.h PRE-CREATION
src/client/outputconfiguration.cpp PRE-CREATION
src/client/outputdevice.h PRE-CREATION
src/client/outputdevice.cpp PRE-CREATION
src/client/outputmanagement.h PRE-CREATION
src/client/outputmanagement.cpp PRE-CREATION
src/client/protocols/output-management.xml PRE-CREATION
src/client/protocols/outputdevice.xml PRE-CREATION
src/client/registry.h 034e38f
src/client/registry.cpp 1a481c8
src/server/CMakeLists.txt 57eb763
src/server/display.h 0fd1185
src/server/display.cpp 019991a
src/server/outputchangeset.h PRE-CREATION
src/server/outputchangeset.cpp PRE-CREATION
src/server/outputchangeset_p.h PRE-CREATION
src/server/outputconfiguration_interface.h PRE-CREATION
src/server/outputconfiguration_interface.cpp PRE-CREATION
src/server/outputdevice_interface.h PRE-CREATION
src/server/outputdevice_interface.cpp PRE-CREATION
src/server/outputmanagement_interface.h PRE-CREATION
src/server/outputmanagement_interface.cpp PRE-CREATION
src/tools/mapping.txt d6a4a44
Diff: https://git.reviewboard.kde.org/r/125942/diff/
Testing
-------
Unit tests pass.
Thanks,
Sebastian Kügler
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/plasma-devel/attachments/20151104/2fd5af89/attachment-0001.html>
More information about the Plasma-devel
mailing list