<table><tr><td style="">cfeck added a comment.
</td><a style="text-decoration: none; padding: 4px 8px; margin: 0 8px 8px; float: right; color: #464C5C; font-weight: bold; border-radius: 3px; background-color: #F7F7F9; background-image: linear-gradient(to bottom,#fff,#f1f0f1); display: inline-block; border: 1px solid rgba(71,87,120,.2);" href="https://phabricator.kde.org/D5928" rel="noreferrer">View Revision</a></tr></table><br /><div><div><p>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.</p>
<p>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.</p>
<p>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.</p></div></div><br /><div><strong>REPOSITORY</strong><div><div>R108 KWin</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D5928" rel="noreferrer">https://phabricator.kde.org/D5928</a></div></div><br /><div><strong>To: </strong>subdiff, KWin<br /><strong>Cc: </strong>cfeck, graesslin, davidedmundson, plasma-devel, kwin, ZrenBot, spstarr, progwolff, lesliezhai, ali-mohamed, hardening, jensreuterberg, abetts, eliasp, sebas, apol, mart, hein, lukas<br /></div>