We have actually been looking into this issue recently in #ubuntu, so I
thought I'd add my finding here.

As mentioned in the linked debian bug, logging into the session with gdm
fixes the issue (unless you are logging into a session that uses
compiz). And at the bottom of the report, lightdm-kde-greeter works as
well.

The only difference I found is that both lightdm-gtk-greeter and unity-
greeter set the cursor on the root window:

/* Set default cursor */
gdk_window_set_cursor (gdk_get_default_root_window (), gdk_cursor_new 
(GDK_LEFT_PTR));

(for lightdm-gtk-greeter)

And I found that commenting that line out, and instead setting the
cursor on login_window:

--- lightdm-gtk-greeter-1.1.5.orig/src/lightdm-gtk-greeter.c
+++ lightdm-gtk-greeter-1.1.5/src/lightdm-gtk-greeter.c
@@ -717,7 +717,7 @@ main (int argc, char **argv)
         return EXIT_FAILURE;
 
     /* Set default cursor */
-    gdk_window_set_cursor (gdk_get_default_root_window (), gdk_cursor_new 
(GDK_LEFT_PTR));
+    //gdk_window_set_cursor (gdk_get_default_root_window (), gdk_cursor_new 
(GDK_LEFT_PTR));
 
     /* Load background */
     value = g_key_file_get_value (config, "greeter", "background", NULL);
@@ -940,6 +940,9 @@ main (int argc, char **argv)
     gtk_widget_show (GTK_WIDGET (login_window));
     center_window (login_window);
 
+    gdk_window_set_cursor (gtk_widget_get_window (login_window), 
gdk_cursor_new (GDK_LEFT_PTR));
+
+
     gtk_widget_show (GTK_WIDGET (panel_window));
     GtkAllocation allocation;
     gtk_widget_get_allocation (GTK_WIDGET (panel_window), &allocation);

Rebuilding lightdm-gtk-greeter and then logging in, cursor updating
should work as expected. I'm not really suggesting this as a fix because
it has its own issues (unless you are over the login_window, the cursor
with be the X), but it demonstrates the problem.

Test Case:
1) Log in with lightdm-gtk-greeter to Gnome Classic (no effects) [or 
gnome-shell or really anything without compiz]
2) Run: gsettings set org.gnome.desktop.interfaces cursor-size 48
3) Notice that every cursor except the default left pointer is resized

Patch lightdm-gtk-greeter as above or use gdm and the cursor will
immediately resize. (Changing cursor-theme has the same sort of effect,
but we were trying to figure out why cursor-size didn't work).

I think the compiz problem is that compiz also sets the cursor on the
root window.

-- 
You received this bug notification because you are a member of Desktop
Packages, which is subscribed to lightdm in Ubuntu.
https://bugs.launchpad.net/bugs/1024482

Title:
  Mouse cursor theme does not change from default after login

Status in Light Display Manager:
  New
Status in “lightdm” package in Ubuntu:
  Confirmed
Status in “lightdm” package in Debian:
  New

Bug description:
  When using LightDM to login to a GNOME Shell session, the mouse
  cursor's appearance does not change from what it is in the lightdm
  login screen (black pointer from default X theme). Any custom mouse
  cursor theme actually does apply within any open application windows,
  but hovering the cursor over the window title bar, the root window, or
  the Shell interface changes it back to the default black pointer,
  leading to an inconsistent appearance.

To manage notifications about this bug go to:
https://bugs.launchpad.net/lightdm/+bug/1024482/+subscriptions

-- 
Mailing list: https://launchpad.net/~desktop-packages
Post to     : desktop-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~desktop-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to