[Pkg-xfce-devel] Bug#742460: Bug#742460: lightdm-gtk-greeter root window cursor problems

Yves-Alexis Perez corsac at debian.org
Mon Mar 24 06:52:58 UTC 2014


Control: tag -1 confirmed
On Sun, Mar 23, 2014 at 11:10:34PM +0000, Ken Milmore wrote:
> LightDM causes problems with mouse cursors and startup notifications on the
> Xfce desktop (and possibly elsewhere).  These seem to be caused by the lightdm
> greeter setting a device-specific cursor on the root window (i.e. a cursor set
> through XIDefineCursor, called in this case through gdk_window_set_cursor).
> This cusror overrides any "normal" cursors set in the desktop environment with
> XDefineCursor.
> 
> On Xfce in particular, the most noticeable effect is that application startup
> notifications do not work - no busy cursor is shown when an application is
> launched from the desktop or menus.  Also, if a pointer theme is set, this is
> overridden on the root window which continues to show the pointer which was set
> by lightdm.
> 
> An easy way to demonstrate this problem is to run "xsetroot -cursor_name watch"
> from a terminal window.  A "busy" cursor should appear when the pointer is
> moved over the desktop; but instead the default arrow cursor remains.
> 
> This problem appears to have already been reported in several other places:
> 
> https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=694353
> https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=671121
> https://bugs.launchpad.net/ubuntu/+source/unity-greeter/+bug/1024482
> 
> The discussion following on from the Ubuntu bug report seems to have got to the
> root of the problem:  When a "device cursor" has been set, it overrides any
> "ordinary" cursor defined on the window.  Unfortunately nobody seems to have
> applied a fix yet.

Thanks for the report and the patch. Since there's already a large
discussion on the launchpad bug, I'm CC:ing it in order to make
discussion there.
> 
> I would like to suggest that the attached patch be applied, which I have
> tested on Wheezy with Xfce.  It sets the root cursor using XDefineCursor, which
> avoids the problems caused by the XInput2 cursor precedence rules.  A fairly
> thorough explanation of why this should work appears on comment 15 of the
> Ubuntu bug report.
> 
> I think the patch should also apply against Jessie/Sid, although I haven't had
> a chance to test it on those platforms yet.

I'm not completely sure it's the right solution here. I mean, it might
be the wisest short-term one, but it'll also break XInput2 features. I
guess not much people already use them and I'm not sure how well they
work, but I guess the best way to fix the issue would be to use XInput2
API correctly everywhere, so the “right” cursor is always found.

I'm not sure what that means concerning “global” cursors like the
notification one (I guess it has no reason to be defined until we arrive
at the root window), but I guess that's something which should be
discussed at the GTK level.

Regards,
-- 
Yves-Alexis Perez
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 490 bytes
Desc: Digital signature
URL: <http://lists.alioth.debian.org/pipermail/pkg-xfce-devel/attachments/20140324/f6f7b7ff/attachment.sig>


More information about the Pkg-xfce-devel mailing list