<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="https://git.reviewboard.kde.org/r/115137/">https://git.reviewboard.kde.org/r/115137/</a>
     </td>
    </tr>
   </table>
   <br />





<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
 <p style="margin-top: 0;">On January 20th, 2014, 6 p.m. CET, <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;">given the ratio by this property is set (often) and read (rarely), i wonder whether we could establish a semi-async functionality, where the client sends a message to have the property updated, then syncs, reads and returns the updated property?

reg. screen ./. output terminology:
we've "active screen" everywhere and we can probably not expose the screen/output problem to end users.
Also Qt talks of screen in this regard.
I'd suggest to keep activeScreen and specify the meaning in the comment.
</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 wonder whether we could establish a semi-async functionality, where the client sends a message to have the property updated, then syncs, reads and returns the updated property?

That would be different to how all the other methods in KWindowSystem works. What could be considered is not having a signal to not wake up the clients or only emit the signal if connect-notify is called.

> Also Qt talks of screen in this regard.

This was the reason why I went with screen in the first place. The class is called QScreen and not QOutput. Calling it output didn't occur to me at all. I don't mind how it is called and from a technical perspective (especially considering XRandR) I agree with Fredrik. But from a user point of view I think screen is the better name due to the QScreen anology. What could be done is using output in the NET class to be closer to the X11 world, but keep the name screen in the abstraction. I don't know whether output makes sense on Windows or Mac (in case they ever implement it).</pre>
<br />










<p>- Martin</p>


<br />
<p>On January 20th, 2014, 2:14 p.m. CET, Martin Gräßlin wrote:</p>








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

<div>Review request for KDE Frameworks, kdewin and kwin.</div>
<div>By Martin Gräßlin.</div>


<p style="color: grey;"><i>Updated Jan. 20, 2014, 2:14 p.m.</i></p>









<div style="margin-top: 1.5em;">
 <b style="color: #575012; font-size: 10pt;">Repository: </b>
kwindowsystem
</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;">The rational for these changes is based on the discussion in http://article.gmane.org/gmane.comp.kde.devel.plasma/27579/

Plasma needs to know which is the active screen and so far only KWin knows it, so we need to make everybody aware of it.

---
Add convenient wrapper for active screen to KWindowSystem

A method is added to get the identifier of the active screen as a
QString and a signal whenever the active screen changes. This method
is only provided for X11, on Windows and Mac a null QString is returned
as the identifier.

Add an active screen property to NETRootInfo

The active screen is intended to be set by KWin to the active screen
it's using. This can be used by a Client to manually position e.g.
override redirect windows on the active screen. It's intended as a help
for multi-screen setups where a Client can only do guesses on where to
position e.g. a notification window.

It's a KDE specific extension as property _KDE_NET_ACTIVE_SCREEN and
announced in the supported properties.</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;">* wm part of NETWM is unit tested
* KWindowSystem is only compile tested (unit testing is difficult as we need a window manager which supports this property which is at the moment of this writing: none)
* Windows and Mac is not even compile tested, that's why kdewin is included in the review. If you have the time for it, please do a compile test.</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>autotests/netrootinfotestwm.cpp <span style="color: grey">(120fbee92d0b22862d8ce746b3b30891ecd9f056)</span></li>

 <li>src/kwindowsystem.h <span style="color: grey">(5bcfd062dcca42d282b70d0683d4ee1da88cc814)</span></li>

 <li>src/kwindowsystem_mac.cpp <span style="color: grey">(8bd2ac763fa26ba49e7733fc3ba93e755383928c)</span></li>

 <li>src/kwindowsystem_win.cpp <span style="color: grey">(96148b2d808396a3046204e55fd19d767db017c5)</span></li>

 <li>src/kwindowsystem_x11.cpp <span style="color: grey">(8634240cabc708a608277b34f21c41cee295e48a)</span></li>

 <li>src/netwm.h <span style="color: grey">(aee6cea5e3b65cf6252b50515e4920cb9c96f240)</span></li>

 <li>src/netwm.cpp <span style="color: grey">(266afccaf111e6707493b18dad1d9c03dde1d912)</span></li>

 <li>src/netwm_def.h <span style="color: grey">(8b1ccb8bd731aefb9559c8f2b450337b0312ed4d)</span></li>

 <li>src/netwm_p.h <span style="color: grey">(41792b330f7405034f4d51fb31a4de5dd674b6d0)</span></li>

</ul>

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







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








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