<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/119663/">https://git.reviewboard.kde.org/r/119663/</a>
</td>
</tr>
</table>
<br />
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
<p style="margin-top: 0;">On August 8th, 2014, 5:35 nachm. 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;">Would it be sufficient to set the cursor on "target" instead of an application wide override?</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">setOverrideCursor has this "nasty" stack behavior which could be troublesome in a library and I could eg. think of "screensavers" implementing a little game (ie. run kpatience or so ;-)<br style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;" />
In case they should have nice control over the cursor w/o having to rewind a stack (or using an override on top ...)</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;"><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;">Would it be sufficient to set the cursor on "target" instead of an application wide override?</p>
</blockquote>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">No, unfortunately not.<br style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;" />
That was the first thing I tried, but it had no effect at all (no matter whether it is done before target->show() or after).</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">The only other way I see is explicitely set a blank mouse cursor in all of the affected screen savers (I tried this with Euphoria and it worked), but that would be much more work of course.</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;">setOverrideCursor has this "nasty" stack behavior which could be troublesome in a library and I could eg. think of "screensavers" implementing a little game (ie. run kpatience or so ;-)</p>
</blockquote>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Does this actually make sense?<br style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;" />
When used as screensaver, it would immediately disappear anyway when you move the mouse, no?</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">A side-note: xscreensaver's "julia" screensaver does something like this: it allows you to choose a new starting point for its animation by clicking with the mouse. But when used as screensaver, the xscreensaver daemon forces a blank cursor somehow (I haven't looked at the source code how exactly, but I would guess via XGrabPointer()), so even this one does not show a cursor then. When used with KDE's screen locker, the cursor does show (that's of course not changed by this patch, as that screensaver obviously doesn't use libkscreensaver), still you can do that only in demo mode/in the systemsettings preview because otherwise the screensaver disappears on every input event.</p></pre>
<br />
<p>- Wolfgang</p>
<br />
<p>On August 8th, 2014, 2:37 nachm. CEST, Wolfgang Bauer 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-workspace.</div>
<div>By Wolfgang Bauer.</div>
<p style="color: grey;"><i>Updated Aug. 8, 2014, 2:37 nachm.</i></p>
<div style="margin-top: 1.5em;">
<b style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Bugs: </b>
<a href="http://bugs.kde.org/show_bug.cgi?id=334762">334762</a>
</div>
<div style="margin-top: 1.5em;">
<b style="color: #575012; font-size: 10pt;">Repository: </b>
kde-workspace
</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;">Qt's QGLWidget apparently explicitely sets a standard mouse pointer for the screensaver widget.<br style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;" />
This patch prevents the mouse cursor from being shown for KDE's OpenGL screensavers by setting a blank override cursor for the screensaver application when not run in demo mode.</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;">Set one of KDE's OpenGL screensavers in systemsettings->Display and Monitor->Screen Locker, like Euphoria or Solarwinds.<br style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;" />
Wait for the screensaver to kick in.<br style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;" />
Notice that the mouse pointer is blanked now, whereas it was shown without this patch.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">If a password is required, the mouse cursor does correctly re-appear for the greeter as it should if you move the mouse/press a key to get rid of the screensaver.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">I'm using the patch on my systems for over two months now and haven't noticed any unexpected results.</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>kscreensaver/libkscreensaver/main.cpp <span style="color: grey">(561205a)</span></li>
</ul>
<p><a href="https://git.reviewboard.kde.org/r/119663/diff/" style="margin-left: 3em;">View Diff</a></p>
</td>
</tr>
</table>
</div>
</body>
</html>