<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/119267/">https://git.reviewboard.kde.org/r/119267/</a>
</td>
</tr>
</table>
<br />
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
<p style="margin-top: 0;">On July 31st, 2014, 2:03 p.m. CEST, <b>Thomas Lübking</b> wrote:</p>
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
<table width="100%" border="0" bgcolor="white" style="border: 1px solid #C0C0C0; border-collapse: collapse; margin: 2px padding: 2px;">
<thead>
<tr>
<th colspan="4" bgcolor="#F0F0F0" style="border-bottom: 1px solid #C0C0C0; font-size: 9pt; padding: 4px 8px; text-align: left;">
<a href="https://git.reviewboard.kde.org/r/119267/diff/2/?file=292848#file292848line305" style="color: black; font-weight: bold; text-decoration: underline;">src/kwindowinfo_x11.cpp</a>
<span style="font-weight: normal;">
(Diff revision 2)
</span>
</th>
</tr>
</thead>
<tbody style="background-color: #e4d9cb; padding: 4px 8px; text-align: center;">
<tr>
<td colspan="4"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">QStringList KWindowInfoPrivateX11::activities() const</pre></td>
</tr>
</tbody>
<tbody>
<tr>
<th bgcolor="#b1ebb0" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2"></font></th>
<td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>
<th bgcolor="#b1ebb0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">305</font></th>
<td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "> <span class="k">return</span> <span class="n">result</span><span class="p">.</span><span class="n">contains</span><span class="p">(</span><span class="n">QStringLiteral</span><span class="p">(</span><span class="s">"00000000-0000-0000-0000-000000000000"</span><span class="p">))</span> <span class="o">?</span></pre></td>
</tr>
</tbody>
</table>
<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;">Any chance we can make this a function return in netwm.h to be used by the lib, kactivities and kwin and plasma and whoever else?</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">NETWM::allActivityUUID() or so?</p></pre>
</blockquote>
<p>On July 31st, 2014, 7:45 p.m. CEST, <b>Ivan Čukić</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;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">The problem is that the null uuid is not really meant to be visible to the outside world. So, while the kwindowsystem can have the relevant definition in a single location and refered from the two places it is currently present in (src/netwm.cpp and this), it should not be visible from the outside world. That is the reason for the above check - if the window has null uuid for activity, and empty string list is returned by the method.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">All the clients of kwindowsystem should be able to be implemented without knowing that null uuid is a special value.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">For kactivities, the value is used only if the daemon is not running - in that case, the library returns a single activity (because we need to have at least one at all times to avoid special cases in all clients) whose id is null uuid. Still, most clients should have no idea that it is not a proper activity.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">In kwin, it was used since (as usual, alongside plasma) kwin is 1% and null uuid was suitable to represent 'all activities' with or without kactivitymanagerd running.</p></pre>
</blockquote>
<p>On July 31st, 2014, 8:18 p.m. CEST, <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;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">supersecret netwm.h</p>
<h1 style="font-size: 100%;text-rendering: inherit;padding: 0;white-space: normal;margin: 0;line-height: inherit;">define KDE_ALL_ACTIVITY_UUID "00000000-0000-0000-0000-000000000000"</h1>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">?</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">What I basically do not like about this string is that several components need to silently agree on a certain string (w/o any compiletime sanity check) - and this particular one also is easily broken (nobody will notice that there's a "0" too few or much ;-)</p></pre>
</blockquote>
</blockquote>
<pre style="margin-left: 1em; 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;">I think exposing a method in NETWM would be fine. It's API nobody should use - it's X11 specific and too low level for anybody except KWin and KWindowSystem to use. Export it, mark it as internal and if it changes KWin will have been warned ;-)</p></pre>
<br />
<p>- Martin</p>
<br />
<p>On August 7th, 2014, 7:15 a.m. CEST, Ivan Čukić 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 KDE Frameworks, kwin and Martin Gräßlin.</div>
<div>By Ivan Čukić.</div>
<p style="color: grey;"><i>Updated Aug. 7, 2014, 7:15 a.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;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Currently, the library only has the method for retrieving a list of activities a window belongs to.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">This is adding a method which provides changing the list of activities for a window.</p></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;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Yes, works with the new activity switcher.</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>autotests/kwindowinfox11test.cpp <span style="color: grey">(50ce806)</span></li>
<li>src/kwindowinfo_x11.cpp <span style="color: grey">(041dfd3)</span></li>
<li>src/kwindowsystem.h <span style="color: grey">(0b58e71)</span></li>
<li>src/kwindowsystem.cpp <span style="color: grey">(fb59603)</span></li>
<li>src/kwindowsystem_p.h <span style="color: grey">(8861844)</span></li>
<li>src/kwindowsystem_p_x11.h <span style="color: grey">(9baa6ae)</span></li>
<li>src/kwindowsystem_x11.cpp <span style="color: grey">(2016820)</span></li>
<li>src/netwm.h <span style="color: grey">(2d812a7)</span></li>
<li>src/netwm.cpp <span style="color: grey">(1daad1e)</span></li>
<li>src/netwm_p.h <span style="color: grey">(a201cb6)</span></li>
</ul>
<p><a href="https://git.reviewboard.kde.org/r/119267/diff/" style="margin-left: 3em;">View Diff</a></p>
</td>
</tr>
</table>
</div>
</body>
</html>