> On Aug. 8, 2014, 5:35 nachm., Thomas Lübking wrote:
> > Would it be sufficient to set the cursor on "target" instead of an 
> > application wide override?
> > 
> > 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 ;-)
> > In case they should have nice control over the cursor w/o having to rewind 
> > a stack (or using an override on top ...)

> Would it be sufficient to set the cursor on "target" instead of an 
> application wide override?

No, unfortunately not.
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).

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.

> 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 ;-)

Does this actually make sense?
When used as screensaver, it would immediately disappear anyway when you move 
the mouse, no?

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.


- Wolfgang


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/119663/#review64072
-----------------------------------------------------------


On Aug. 8, 2014, 2:37 nachm., Wolfgang Bauer wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/119663/
> -----------------------------------------------------------
> 
> (Updated Aug. 8, 2014, 2:37 nachm.)
> 
> 
> Review request for kde-workspace.
> 
> 
> Bugs: 334762
>     http://bugs.kde.org/show_bug.cgi?id=334762
> 
> 
> Repository: kde-workspace
> 
> 
> Description
> -------
> 
> Qt's QGLWidget apparently explicitely sets a standard mouse pointer for the 
> screensaver widget.
> 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.
> 
> 
> Diffs
> -----
> 
>   kscreensaver/libkscreensaver/main.cpp 561205a 
> 
> Diff: https://git.reviewboard.kde.org/r/119663/diff/
> 
> 
> Testing
> -------
> 
> Set one of KDE's OpenGL screensavers in systemsettings->Display and 
> Monitor->Screen Locker, like Euphoria or Solarwinds.
> Wait for the screensaver to kick in.
> Notice that the mouse pointer is blanked now, whereas it was shown without 
> this patch.
> 
> 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.
> 
> I'm using the patch on my systems for over two months now and haven't noticed 
> any unexpected results.
> 
> 
> Thanks,
> 
> Wolfgang Bauer
> 
>

Reply via email to