<html>
 <body>
  <div style="font-family: Verdana, Arial, Helvetica, Sans-Serif;">
   <table bgcolor="#f9f3c9" width="100%" cellpadding="8" style="border: 1px #c9c399 solid;">
    <tr>
     <td>
      This is an automatically generated e-mail. To reply, visit:
      <a href="http://git.reviewboard.kde.org/r/106794/">http://git.reviewboard.kde.org/r/106794/</a>
     </td>
    </tr>
   </table>
   <br />





<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
 <p style="margin-top: 0;">On October 12th, 2012, 5:47 p.m., <b>Oliver Henshaw</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">I'm wondering if the best fix is set dpms timeouts to 0 at all times and have
the dpms action use powerdevil idle timeouts to directly set dpms state. This
would hopefully have less corner cases to reason about and wouldn't wake the
screen or (I think) reset the timers on profile/configuration/activity change.

I expect that would be something for 4.10 and master, not for 4.9 branch?</pre>
 </blockquote>




 <p>On October 29th, 2012, 5:26 p.m., <b>Susanne Oberhauser</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">do you mean to replace Xorg dpms by powerdevil when kde is running?

so that xset -dpms /+dpms anything settings are just overridden?

That is then turning bug#295164 and bug#306490 into a feature :)

please don't do that.  just don't.  don't duplicate in-core Xorg functionality,
and break xorg dpms in a way that is obscure and unexpected to long time X users.

thx.

</pre>
 </blockquote>








</blockquote>

<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">I don't think you have anything to worry about. The purpose of these two review requests is to fix the two bugs you mention. Then it's a very natural move to simplify powerdevil's dpms handling in the way I suggested above - this should make it harder for similar bugs to creep back in in the future, and would only change powerdevil's behaviour in very minor ways (this will continue to use the same xorg mechanism that xset does, if that's what you're worried about.)

That said, you can't avoid clashes if you have two things (xset in a script and powerdevil) responsible for dpms settings. Even when timed screen blanking is disabled in powerdevil there are situations where powerdevil has to change dpms settings to make sure it stays disabled - see the review description above for an example. There are two scenarios that work and one that doesn't:

+ If you want no timed screen blanking ever then you can disable it in powerdevil and not worry again (once these fixes are in). Therefore disabling dpms with xset is unnecessary.
+ If you want timed dpms then powerdevil is there for you. Altering dpms settings with xset at the same time obviously has the potential to cause weird interactions.
- Using xset to manage timeouts instead of powerdevil isn't going to be foolproof - as mentioned, powerdevil sometimes needs to force dpms timeouts to zero (effectively disabled).

My proposal doesn't change any of this - it may change some of the details of what happens when  xset-by-hand and powerdevil clash but clashes will still tend to mean dpms is disabled when you want it enabled and not vice versa.

If you have needs that powerdevil doesn't satisfy then it would be interesting to hear what they are. </pre>
<br />








<p>- Oliver</p>


<br />
<p>On October 12th, 2012, 5:45 p.m., Oliver Henshaw wrote:</p>






<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="8" style="background-image: url('http://git.reviewboard.kde.org/media/rb/images/review_request_box_top_bg.png'); background-position: left top; background-repeat: repeat-x; border: 1px black solid;">
 <tr>
  <td>

<div>Review request for Solid.</div>
<div>By Oliver Henshaw.</div>


<p style="color: grey;"><i>Updated Oct. 12, 2012, 5:45 p.m.</i></p>






<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Description </h1>
 <table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
 <tr>
  <td>
   <pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Prevent button action from enabling disabled DPMS

Button actions call triggerImpl, which leaves DPMS enabled. It can't be
disabled until return from idle, as that would wake the screen. Solve
this by explicitly setting DPMS timeouts to zero when DPMS is meant to
be disabled - i.e. when unloading the action or when screen power
management is inhibited.

CCBUG: 295164</pre>
  </td>
 </tr>
</table>


<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Testing </h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
 <tr>
  <td>
   <pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">(in combination with review request  #106793 )

Set power button to "Turn off screen" then press it, wait for the screen to turn off then wake the system from idle. Check 'xset -q' has expected values in various situations, e.g.:

- when timed screen power saving is enabled
- when it's disabled
- when it hasn't been enabled in this login
- when screen power saving is inhibited
- when profile or configuration or activity change
- when profile or configuration or activity change when screen power saving is inhibited

I think this covers all cases, but please hammer away with it and see if you can find any problems I've missed.</pre>
  </td>
 </tr>
</table>




<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Diffs</b> </h1>
<ul style="margin-left: 3em; padding-left: 0;">

 <li>powerdevil/daemon/actions/dpms/powerdevildpmsaction.cpp <span style="color: grey">(a16bf7ee254b9a40c6f033c93e5ca63226469e6e)</span></li>

</ul>

<p><a href="http://git.reviewboard.kde.org/r/106794/diff/" style="margin-left: 3em;">View Diff</a></p>




  </td>
 </tr>
</table>








  </div>
 </body>
</html>