Package: lightdm-gtk-greeter Version: 1.1.6-2 Severity: normal Tags: upstream patch
Dear Maintainer, 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. 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. -- System Information: Debian Release: 7.4 APT prefers stable-updates APT policy: (500, 'stable-updates'), (500, 'stable') Architecture: amd64 (x86_64) Kernel: Linux 3.2.0-4-amd64 (SMP w/8 CPU cores) Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Versions of packages lightdm-gtk-greeter depends on: ii libc6 2.13-38+deb7u1 ii libcairo2 1.12.2-3 ii libgdk-pixbuf2.0-0 2.26.1-1 ii libglib2.0-0 2.33.12+really2.32.4-5 ii libgtk-3-0 3.4.2-7 ii liblightdm-gobject-1-0 1.2.2-4 ii libx11-6 2:1.5.0-1+deb7u1 Versions of packages lightdm-gtk-greeter recommends: ii desktop-base 7.0.3 ii gnome-icon-theme 3.4.0-2 ii gnome-themes-standard 3.4.2-2.1 ii policykit-1 0.105-3 lightdm-gtk-greeter suggests no packages. -- no debconf information *** /home/data/ken/local/default-cursor.patch diff -Naur lightdm-gtk-greeter-1.1.6.orig/src/lightdm-gtk-greeter.c lightdm- gtk-greeter-1.1.6/src/lightdm-gtk-greeter.c --- lightdm-gtk-greeter-1.1.6.orig/src/lightdm-gtk-greeter.c 2012-05-21 10:47:42.000000000 +0100 +++ lightdm-gtk-greeter-1.1.6/src/lightdm-gtk-greeter.c 2014-03-23 22:09:58.723502815 +0000 @@ -722,7 +722,7 @@ return EXIT_FAILURE; /* Set default cursor */ - gdk_window_set_cursor (gdk_get_default_root_window (), gdk_cursor_new (GDK_LEFT_PTR)); + XDefineCursor(gdk_x11_get_default_xdisplay (), gdk_x11_get_default_root_xwindow (), gdk_x11_cursor_get_xcursor (gdk_cursor_new (GDK_LEFT_PTR))); -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org