rpms/gnome-settings-daemon/devel fix-gdm-layout.patch, 1.1, 1.2 gnome-settings-daemon.spec, 1.63, 1.64
Matthias Clasen
mclasen at fedoraproject.org
Sun Oct 12 19:30:15 UTC 2008
- Previous message: rpms/gnomint/devel gnomint.spec, NONE, 1.1 import.log, NONE, 1.1 .cvsignore, 1.1, 1.2 sources, 1.1, 1.2
- Next message: rpms/ghc/F-10 .cvsignore, 1.13, 1.14 ghc.spec, 1.47, 1.48 sources, 1.15, 1.16 ghc-6.8.3-libraries-config.patch, 1.3, NONE
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Author: mclasen
Update of /cvs/extras/rpms/gnome-settings-daemon/devel
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv1003
Modified Files:
fix-gdm-layout.patch gnome-settings-daemon.spec
Log Message:
update spec
fix-gdm-layout.patch:
Index: fix-gdm-layout.patch
===================================================================
RCS file: /cvs/extras/rpms/gnome-settings-daemon/devel/fix-gdm-layout.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- fix-gdm-layout.patch 1 Oct 2008 03:32:08 -0000 1.1
+++ fix-gdm-layout.patch 12 Oct 2008 19:29:45 -0000 1.2
@@ -1,24 +1,89 @@
diff -up gnome-settings-daemon-2.24.0/plugins/keyboard/gsd-keyboard-xkb.c.fix-gdm-layout gnome-settings-daemon-2.24.0/plugins/keyboard/gsd-keyboard-xkb.c
---- gnome-settings-daemon-2.24.0/plugins/keyboard/gsd-keyboard-xkb.c.fix-gdm-layout 2008-09-30 22:56:41.000000000 -0400
-+++ gnome-settings-daemon-2.24.0/plugins/keyboard/gsd-keyboard-xkb.c 2008-09-30 22:58:52.000000000 -0400
-@@ -142,6 +142,7 @@ apply_xkb_settings (void)
+--- gnome-settings-daemon-2.24.0/plugins/keyboard/gsd-keyboard-xkb.c.fix-gdm-layout 2008-10-12 14:45:57.000000000 -0400
++++ gnome-settings-daemon-2.24.0/plugins/keyboard/gsd-keyboard-xkb.c 2008-10-12 15:11:51.000000000 -0400
+@@ -142,12 +142,38 @@ apply_xkb_settings (void)
{
GConfClient *conf_client;
GkbdKeyboardConfig current_sys_kbd_config;
+ int group_to_activate = -1;
++ const char *gdm_layout;
if (!inited_ok)
return;
-@@ -175,7 +176,7 @@ apply_xkb_settings (void)
- for (i = 0, l = current_kbd_config.layouts_variants; l; i++, l = l->next) {
- char *lv = l->data;
- if (strncmp (lv, gdm_keyboard_layout, len) == 0 && (lv[len] == '\0' || lv[len] == '\t')) {
+
+ conf_client = gconf_client_get_default ();
+
++ /* With GDM the user can already set a layout from the login
++ * screen. Try to keep that setting.
++ * We clear gdm_keyboard_layout early, so we don't risk
++ * recursion from gconf notification.
++ */
++ gdm_layout = gdm_keyboard_layout;
++ gdm_keyboard_layout = NULL;
++ if (gdm_layout != NULL) {
++ GSList *layouts;
++
++ layouts = gconf_client_get_list (conf_client,
++ GKBD_KEYBOARD_CONFIG_KEY_LAYOUTS,
++ GCONF_VALUE_STRING,
++ NULL);
++ if (layouts == NULL) {
++ layouts = g_slist_append (layouts, g_strdup (gdm_layout));
++ gconf_client_set_list (conf_client,
++ GKBD_KEYBOARD_CONFIG_KEY_LAYOUTS,
++ GCONF_VALUE_STRING,
++ layouts,
++ NULL);
++ }
++ }
++
+ gkbd_keyboard_config_init (¤t_sys_kbd_config,
+ conf_client,
+ xkl_engine);
+@@ -158,29 +184,20 @@ apply_xkb_settings (void)
+ gkbd_keyboard_config_load_from_x_current (¤t_sys_kbd_config,
+ NULL);
+
+- /* With GDM the user can already set a layout from the login
+- * screen. Try to keep that setting */
+- if (gdm_keyboard_layout != NULL) {
+- if (current_kbd_config.layouts_variants == NULL) {
+- current_kbd_config.layouts_variants = g_slist_append (NULL, (char *) gdm_keyboard_layout);
+- gconf_client_set_list (conf_client,
+- GKBD_KEYBOARD_CONFIG_KEY_LAYOUTS,
+- GCONF_VALUE_STRING,
+- current_kbd_config.layouts_variants,
+- NULL);
+- } else {
+- GSList *l;
+- int i;
+- size_t len = strlen (gdm_keyboard_layout);
+- for (i = 0, l = current_kbd_config.layouts_variants; l; i++, l = l->next) {
+- char *lv = l->data;
+- if (strncmp (lv, gdm_keyboard_layout, len) == 0 && (lv[len] == '\0' || lv[len] == '\t')) {
- xkl_engine_lock_group (current_config.engine, i);
-+ group_to_activate = i;
- break;
- }
- }
-@@ -206,6 +207,8 @@ apply_xkb_settings (void)
+- break;
+- }
+- }
++ if (gdm_layout != NULL) {
++ /* If there are multiple layouts,
++ * try to find the one closest to the gdm layout
++ */
++ GSList *l;
++ int i;
++ size_t len = strlen (gdm_layout);
++ for (i = 0, l = current_kbd_config.layouts_variants; l; i++, l = l->next) {
++ char *lv = l->data;
++ if (strncmp (lv, gdm_layout, len) == 0 && (lv[len] == '\0' || lv[len] == '\t')) {
++ group_to_activate = i;
++ break;
++ }
+ }
+- gdm_keyboard_layout = NULL;
+ }
+
+ /* Ignore model if using evdev, since evdev needs its own model
+@@ -206,6 +223,8 @@ apply_xkb_settings (void)
xkl_debug (100,
"Actual KBD configuration was not changed: redundant notification\n");
Index: gnome-settings-daemon.spec
===================================================================
RCS file: /cvs/extras/rpms/gnome-settings-daemon/devel/gnome-settings-daemon.spec,v
retrieving revision 1.63
retrieving revision 1.64
diff -u -r1.63 -r1.64
--- gnome-settings-daemon.spec 12 Oct 2008 17:06:54 -0000 1.63
+++ gnome-settings-daemon.spec 12 Oct 2008 19:29:45 -0000 1.64
@@ -1,6 +1,6 @@
Name: gnome-settings-daemon
Version: 2.24.0
-Release: 6%{?dist}
+Release: 7%{?dist}
Summary: The daemon sharing settings from GNOME to GTK+/KDE applications
Group: System Environment/Daemons
@@ -38,11 +38,8 @@
# http://bugzilla.gnome.org/show_bug.cgi?id=552857
Patch8: gnome-settings-daemon-2.24.0-fade.patch
-# http://bugzilla.gnome.org/show_bug.cgi?id=554525
-Patch9: fix-gdm-layout.patch
-
# http://bugzilla.gnome.org/show_bug.cgi?id=555873
-Patch10: fix-gdm-layout-even-more.patch
+Patch9: fix-gdm-layout.patch
%description
A daemon to share settings from GNOME to other applications. It also
@@ -67,7 +64,6 @@
%patch7 -p1 -b .fnf7-cycle
%patch8 -p1 -b .fade
%patch9 -p1 -b .fix-gdm-layout
-%patch10 -p1 -b .fix-gdm-layout-even-more
%build
aclocal
@@ -167,6 +163,9 @@
%{_libdir}/pkgconfig/gnome-settings-daemon.pc
%changelog
+* Sun Oct 12 2008 Matthias Clasen <mclasen at redhat.com> - 2.24.0-7
+- Try harder not to override peoples configured keyboard layouts
+
* Sun Oct 12 2008 Ray Strode <rstrode at redhat.com> - 2.24.0-6
- Update fade patch to skip crossfade when changing frames in
slideshow background.
- Previous message: rpms/gnomint/devel gnomint.spec, NONE, 1.1 import.log, NONE, 1.1 .cvsignore, 1.1, 1.2 sources, 1.1, 1.2
- Next message: rpms/ghc/F-10 .cvsignore, 1.13, 1.14 ghc.spec, 1.47, 1.48 sources, 1.15, 1.16 ghc-6.8.3-libraries-config.patch, 1.3, NONE
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the scm-commits
mailing list