<table><tr><td style="">graesslin created this revision.<br />graesslin added reviewers: Frameworks, KWin, Plasma on Wayland.<br />Restricted Application added a subscriber: plasma-devel.<br />Restricted Application added projects: Plasma on Wayland, Frameworks.
</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/D8383" rel="noreferrer">View Revision</a></tr></table><br /><div><strong>REVISION SUMMARY</strong><div><p>This is a preparation step to support idle_inhibit_unstable_v1 protocol.<br />
As in Plasma powermanagement, screen locking, dpms, etc. is not<br />
controlled by the wayland compositor but by external components through<br />
the IdleTimeout interface the compositor needs a way to inhibit the idle<br />
timeouts. So once idle_inhibit_unstable_v1 is implemented the compositor<br />
can hook this up to the inhibit API in IdleInterface and thus inhibit<br />
powermanagement, etc. as requested by the idle_inhibit_unstable_v1<br />
protocol.</p>

<p>The added API is straight forward:</p>

<ul class="remarkup-list">
<li class="remarkup-list-item">inhibit: inhibits idle timeouts</li>
<li class="remarkup-list-item">uninhibit: uninhibits again</li>
<li class="remarkup-list-item">inhibit and uninhibit must be called in pairs, so twice inhibit,</li>
</ul>

<p>means uninhibit must be called twice</p>

<ul class="remarkup-list">
<li class="remarkup-list-item">isInhibited: whether it's inhibited</li>
<li class="remarkup-list-item">and a signal that it changed</li>
</ul>

<p>The signal is mostly used internally to stop the timers.</p></div></div><br /><div><strong>TEST PLAN</strong><div><p>Test case extended</p></div></div><br /><div><strong>REPOSITORY</strong><div><div>R127 KWayland</div></div></div><br /><div><strong>BRANCH</strong><div><div>inhibit-idle</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D8383" rel="noreferrer">https://phabricator.kde.org/D8383</a></div></div><br /><div><strong>AFFECTED FILES</strong><div><div>autotests/client/test_idle.cpp<br />
src/server/idle_interface.cpp<br />
src/server/idle_interface.h</div></div></div><br /><div><strong>To: </strong>graesslin, Frameworks, KWin, Plasma on Wayland<br /><strong>Cc: </strong>plasma-devel, leezu, ZrenBot, alexeymin, progwolff, lesliezhai, ali-mohamed, jensreuterberg, abetts, eliasp, sebas, apol, mart, hein<br /></div>