cfeck added a comment.
I agree that this code should not talk about night mode at all. Indeed we only need code in KWin to control the gamma LUTs per screen, and maybe even compute the LUTs from a number of gamma/contrast/brightness control points so that we do not have to transfer a lot of data via inter-process communication. If new values are submitted from the night mode daemon, they can be marked as "apply LUTs immediately", or marked as "fade to new LUTs smoothly within a given timeframe", e.g. a minute. Likewise for color correction, we would not have a full ICC specification in KWin, only code that manages the 3D LUTs and applies them per window or per screen. That reminds me about another important difference between gamma correction and color correction. The former is a hardware feature, and cannot be applied per window. REPOSITORY R108 KWin REVISION DETAIL https://phabricator.kde.org/D5928 To: subdiff, #kwin Cc: cfeck, graesslin, davidedmundson, plasma-devel, kwin, ZrenBot, spstarr, progwolff, lesliezhai, ali-mohamed, hardening, jensreuterberg, abetts, eliasp, sebas, apol, mart, hein, lukas