D5931: ColorCorrect Library - for configuring KWin's native color correction (in particular Night Color)
Roman Gilg
noreply at phabricator.kde.org
Sun May 21 22:37:09 UTC 2017
subdiff created this revision.
subdiff added projects: Plasma on Wayland, KWin.
Restricted Application edited projects, added Plasma; removed KWin, Plasma on Wayland.
Restricted Application added a subscriber: plasma-devel.
REVISION SUMMARY
Introduction
------------
With https://phabricator.kde.org/D5928 I've introduced Night Color in KWin. It was designed in a way to be fully configurable (while safe checking values) via DBus. Also it is supposed to get updated location data from workspace. To ease the configuration and provide the updated location data this library was written.
Features
--------
- Abstracts away the DBus part and provides a generic adaptor to the compositor as QML object for that
- Allows to stage values and send them at once as needed for KWin's atomic config changes
- Informs about configuration changes
- Provides also QML objects for other often used functionality in this context (sun calculator and a locator, i.e. an encapsulated connection to the location data service).
- For automatic location updates the library provides a KDE Daemon Module, which gets the current location via such a locator object and sends it to KWin.
- The library is named and structured in a way, such that it later can be extended with functionality to configure gamma values in general (normal color correction), i.e. as soon as the support for that has landed in KWin.
In theory the library could be used with other compositors as well, if they use a somewhat similar mechanism as KWin. In this case though the CompositorAdaptor class would need to be rewritten in parts, probably subclassed. A KCM in Plasma Desktop, which uses this library to configure KWin, is already written and its Diff will be uploaded soon.
TEST PLAN
Manually and auto tests.
REPOSITORY
R120 Plasma Workspace
REVISION DETAIL
https://phabricator.kde.org/D5931
AFFECTED FILES
CMakeLists.txt
libcolorcorrect/CMakeLists.txt
libcolorcorrect/LibColorCorrectConfig.cmake.in
libcolorcorrect/README
libcolorcorrect/autotests/CMakeLists.txt
libcolorcorrect/autotests/mock_kwin.cpp
libcolorcorrect/autotests/mock_kwin.h
libcolorcorrect/autotests/nightcolortest.cpp
libcolorcorrect/autotests/qtest_dbus.h
libcolorcorrect/colorcorrectconstants.h
libcolorcorrect/compositorcoloradaptor.cpp
libcolorcorrect/compositorcoloradaptor.h
libcolorcorrect/declarative/CMakeLists.txt
libcolorcorrect/declarative/colorcorrectplugin.cpp
libcolorcorrect/declarative/colorcorrectplugin.h
libcolorcorrect/declarative/qmldir
libcolorcorrect/geolocator.cpp
libcolorcorrect/geolocator.h
libcolorcorrect/kded/CMakeLists.txt
libcolorcorrect/kded/colorcorrectlocationupdater.desktop
libcolorcorrect/kded/locationupdater.cpp
libcolorcorrect/kded/locationupdater.h
libcolorcorrect/suncalc.cpp
libcolorcorrect/suncalc.h
To: subdiff, #plasma
Cc: plasma-devel, ZrenBot, spstarr, progwolff, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol, lukas
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/plasma-devel/attachments/20170521/c4507edc/attachment.html>
More information about the Plasma-devel
mailing list