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





<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
 <p style="margin-top: 0;">On May 14th, 2015, 11:23 p.m. UTC, <b>Thomas Pfeiffer</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;"><blockquote style="text-rendering: inherit;padding: 0 0 0 1em;border-left: 1px solid #bbb;white-space: normal;margin: 0 0 0 0.5em;line-height: inherit;">
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">1) The minimizability of windows is ignored. It's a cornercase, but the former behavior was a side-effect of the implementation. (At least I don't know a reason to keep them)</p>
</blockquote>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Could you explain what minimizability of windows means, please?</p>
<blockquote style="text-rendering: inherit;padding: 0 0 0 1em;border-left: 1px solid #bbb;white-space: normal;margin: 0 0 0 0.5em;line-height: inherit;">
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">2) The state is broken with the activation of windows, not them becoming visible. Latter doesn't work for most cases (unminimizing) for obvious reasons (they're not minimized ;-) and when a new window is mapped, the focus stealing prevention seems a good filter (if it's not good enough to gain the focus, it's not good enough to break the state either ;-)</p>
</blockquote>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Sounds sensible</p>
<blockquote style="text-rendering: inherit;padding: 0 0 0 1em;border-left: 1px solid #bbb;white-space: normal;margin: 0 0 0 0.5em;line-height: inherit;">
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">3) Keep above windows remain visible and do not break the state (as if they'd belong to the desktop) for a request by the HIG group. I'm frankly not sure about the background of this behavior (hopefully not krunner - that doesn't work)</p>
</blockquote>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">The reasoning behind that was the assumption that keepabove is used for windows that one always wants to see (e.g. because they contain some information one is monitoring). We have no data to back that assumption up, though, so please challenge it if you have reason to believe that keepabove is mostly used for windows which do not have to be always visible. Our words are not gospel, after all ;)</p>
<blockquote style="text-rendering: inherit;padding: 0 0 0 1em;border-left: 1px solid #bbb;white-space: normal;margin: 0 0 0 0.5em;line-height: inherit;">
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">4) Windows in the desktop group initially remain above the desktop and can be activated w/ breaking the state, but can also hide behind the desktop (notably when that is clicked/activated)</p>
</blockquote>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">I'm not sure if I understood this correctly. My interpretation is this:
<em style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;"> If I open a window that is related to the desktop and </em>then<em style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;"> activate Show Desktop, the window gets hidden
</em> If I then activate the hidden window, it brakes the state
<em style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;"> If I activate Show Desktop and </em>then* open a window that is related to the desktop, it gets shown without braking the state</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Is that correct? If so, sounds good to me!</p></pre>
 </blockquote>




 <p>On May 15th, 2015, 8:55 a.m. UTC, <b>Thomas Lübking</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;"><blockquote style="text-rendering: inherit;padding: 0 0 0 1em;border-left: 1px solid #bbb;white-space: normal;margin: 0 0 0 0.5em;line-height: inherit;">
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Could you explain what minimizability of windows means, please?</p>
</blockquote>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Believe it or not, but windows can hint to be not minimizable (what KWin boldly ignores) and KWin has a rule to control that (you can specify that a particular window cannot be minimized)
It's a corner case ;-)</p>
<blockquote style="text-rendering: inherit;padding: 0 0 0 1em;border-left: 1px solid #bbb;white-space: normal;margin: 0 0 0 0.5em;line-height: inherit;">
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">that one always wants to see</p>
</blockquote>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">In doubt, we'd meanwhile have an "on screen display" layer which is even above the fullscreen layer.
The question is whether this context (showing desktop) is similar to eg. running a fullscreen game or video. Both would overlay even keep above windows.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">I'm not afraid of another field test, though >-)</p>
<blockquote style="text-rendering: inherit;padding: 0 0 0 1em;border-left: 1px solid #bbb;white-space: normal;margin: 0 0 0 0.5em;line-height: inherit;">
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">I'm not sure if I understood this correctly.</p>
</blockquote>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Second part: yes, first part: no.
Basically they behave like keep above windows. They initially remain visible. If you click (activate/raise) the desktop, they'll go behind, if you then reactivate them (through the taskbar or eg. the desktop RMB menu), they'll show up WITHOUT breaking the state.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">I'm agnostic to whether they should be initially hidden, but would object having them break the state depending on whether they were visible while entering the state.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">1st because it makes the code more complex ;-)</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">2nd because "visible" is relative in this context: they're neither keep above (so could have been behind a maximized window) nor on all virtual desktops (so could have been on such)
They could even have randomly been occluded by three other windows.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">In return the assumed usecase "show desktop -> change wallpaper" would "randomly" turn into "show desktop -> restore all windows -> change wallpaper"</p></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;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Sorry for not replying earlier :(</p>
<blockquote style="text-rendering: inherit;padding: 0 0 0 1em;border-left: 1px solid #bbb;white-space: normal;margin: 0 0 0 0.5em;line-height: inherit;">
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Believe it or not, but windows can hint to be not minimizable (what KWin boldly ignores) and KWin has a rule to control that (you can specify that a particular window cannot be minimized)
It's a corner case ;-)</p>
</blockquote>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">I assume non-minimizable windows are things like modal dialogs where someone at Microsoft (or Xerox or... I dunno) once had the bright idea that they should not have a minimize button. Those windows are not supposed to stay open for long anyway, so yes, corner case which does not deserve much attention (e.g. just treating them like any other window is fine).</p>
<blockquote style="text-rendering: inherit;padding: 0 0 0 1em;border-left: 1px solid #bbb;white-space: normal;margin: 0 0 0 0.5em;line-height: inherit;">
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">I'm not afraid of another field test, though >-)</p>
</blockquote>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Yeah, let's see what happens ;)</p>
<blockquote style="text-rendering: inherit;padding: 0 0 0 1em;border-left: 1px solid #bbb;white-space: normal;margin: 0 0 0 0.5em;line-height: inherit;">
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Second part: yes, first part: no.
Basically they behave like keep above windows. They initially remain visible. If you click (activate/raise) the desktop, they'll go behind, if you then reactivate them (through the taskbar or eg. the desktop RMB menu), they'll show up WITHOUT breaking the state.</p>
</blockquote>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Ah okay. Yes, that is fine, too (better, probably).</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">So yes, green light from my side as well!</p></pre>
<br />










<p>- Thomas</p>


<br />
<p>On May 13th, 2015, 10:21 p.m. UTC, Thomas Lübking wrote:</p>








<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="12" style="border: 1px #888a85 solid; border-radius: 6px; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
 <tr>
  <td>

<div>Review request for kwin, Plasma, Kai Uwe Broulik, David Edmundson, Martin Gräßlin, Marco Martin, Sebastian Kügler, and Thomas Pfeiffer.</div>
<div>By Thomas Lübking.</div>


<p style="color: grey;"><i>Updated May 13, 2015, 10:21 p.m.</i></p>







<div style="margin-top: 1.5em;">
 <b style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Bugs: </b>


 <a href="https://bugs.kde.org/show_bug.cgi?id=346837">346837</a>, 

 <a href="https://bugs.kde.org/show_bug.cgi?id=346933">346933</a>, 

 <a href="https://bugs.kde.org/show_bug.cgi?id=347212">347212</a>


</div>



<div style="margin-top: 1.5em;">
 <b style="color: #575012; font-size: 10pt;">Repository: </b>
kwin
</div>


<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;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Errhemmmm... while we're waiting for final comments of the HIG group ;-)
Here's a patch that <em style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;">mostly</em> restores the 5.2 behavior</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Notable differences:</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">1) The minimizability of windows is ignored. It's a cornercase, but the former behavior was a side-effect of the implementation. (At least I don't know a reason to keep them)</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">2) The state is broken with the <em style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;">activation</em> of windows, not them becoming visible. Latter doesn't work for most cases (unminimizing) for obvious reasons (they're not minimized ;-) and when a new window is mapped, the focus stealing prevention seems a good filter (if it's not good enough to gain the focus, it's not good enough to break the state either ;-)</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">3) Keep above windows remain visible and do not break the state (as if they'd belong to the desktop) for a request by the HIG group. I'm frankly not sure about the background of this behavior (hopefully not krunner - that doesn't work)</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">4) Windows in the desktop group initially remain above the desktop and can be activated w/ breaking the state, but can also hide behind the desktop (notably when that is clicked/activated)</p></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>activation.cpp <span style="color: grey">(fe0a51f)</span></li>

 <li>client.h <span style="color: grey">(40d503c)</span></li>

 <li>client.cpp <span style="color: grey">(a6fbf3e)</span></li>

 <li>layers.cpp <span style="color: grey">(b6d5b75)</span></li>

 <li>manage.cpp <span style="color: grey">(75af4e5)</span></li>

 <li>workspace.cpp <span style="color: grey">(09ae9a2)</span></li>

</ul>

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






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







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