GNOME Bugzilla – Bug 308106
Should react to cursor theme changes
Last modified: 2005-07-21 23:47:08 UTC
Please describe the problem: GTK+ will support x settings for cursor theme name and cursor size, and react to their changes. There is a patch (bug 308104) to make gnome-settings-daemon expose these x settings. That all works nice, but it doesn't cover the root cursor and the various other cursors used by metacity. You can look at my recent changes to gdkcursor-x11.c to see what needs to be done to make cursor theme changes work... Steps to reproduce: Actual results: Expected results: Does this happen every time? Other information:
Created attachment 48124 [details] [review] a patch This patch seems to be sufficient to make metacity follow the gconf cursor theme keys. Note that it should not be applied until it is clear that we are going with gtk+ 2.8, otherwise we may end up with a situation where the wm updates immediately while the toolkit requires a re-login to apply the cursor theme change. That would suck.
Elijah, the remaining pieces of the cursor theme puzzle (cursor theme selection in the mouse capplet, exporting the gconf keys as xsettings, pick them up in gtk+) have been committed now. Could you please consider this patch for metacity ?
Um, Havoc is the maintainer. I can't commit anything without hix approval unless it's something simple and obvious. So, you'll need to ping him. For what it's worth, though, I don't see anything wrong with the patch and it builds fine here.
Well, Havoc is on vacation until feature freeze, I think
Oh, in that case, we should branch (haven't done that yet for 2.11) and commit, but leave the bug open for him to look at later...
sounds good to me
Okay, branch created, go ahead and check in.
2005-07-11 Matthias Clasen <mclasen@redhat.com> React to cursor theme changes: (#308106) * src/prefs.h: * src/prefs.c: Expose the GConf keys for cursor theme and size as preferences META_PREF_CURSOR_THEME and META_PREF_CURSOR_SIZE with getters meta_prefs_get_cursor_theme() and meta_prefs_get_cursor_size(). * src/display.c (meta_display_open): Initialize the cursor theme and size. * src/display.h: * src/display.c (meta_display_set_cursor_theme): New function to change the cursor theme and update all cursors. * src/screen.h * src/screen.c (meta_screen_update_cursor): New function to refesh the root cursor of a screen. * src/main.c (prefs_changed_callback): Update the cursor theme when the cursor preferences change.
I'm going to tentatively mark this a 2.12 showstopper, because it is highly visible if/when it fails.
Havoc: Can you verify that Matthias' patch is okay? Matthias already committed it since we needed it in before feature freeze and you were out of town.
Comment on attachment 48124 [details] [review] a patch Looks perfect to me.