> On Aug. 8, 2014, 3: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 ...)
>
> Wolfgang Bauer wrote:
> > 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.
> Does this actually make sense?
Dunno, don't use screensavers ;-)
> When used as screensaver, it would immediately disappear anyway when you move
> the mouse, no?
For the moment, yes.
Since the screensaver will not be the grabbing client (other process) it would
require a hint to the locker to not exit the screensaver on mousemove but
forward input instead.
> No, unfortunately not.
There'll be a "QGuiApplication::overrideCursor()" then.
See how nasty that is? ;-)
while (qApp->overrideCursor())
qApp->restoreOverrideCursor();
- Thomas
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/119663/#review64072
-----------------------------------------------------------
On Aug. 8, 2014, 12: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, 12: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
>
>