Hello community, here is the log from the commit of package gdm checked in at Mon Dec 1 12:07:11 CET 2008. -------- --- GNOME/gdm/gdm.changes 2008-11-21 10:19:57.000000000 +0100 +++ /mounts/work_src_done/STABLE/gdm/gdm.changes 2008-12-01 06:46:19.000000000 +0100 @@ -1,0 +2,18 @@ +Sun Nov 30 22:55:57 CST 2008 - hpj@novell.com + +- Update gdm-sysconfig-settings.patch to translate the name of the + configured system keymap into something libxklavier can + understand (bnc#446958). + +------------------------------------------------------------------- +Sun Nov 30 18:05:54 CST 2008 - hpj@novell.com + +- Update gdm-domain-logon.patch to make domain prefix logon work + when entering user names manually (bnc#450146). + +------------------------------------------------------------------- +Sat Nov 29 19:44:16 CST 2008 - hpj@novell.com + +- Add gdm-save-panel-space-on-low-resolutions.patch (bnc#449815). + +------------------------------------------------------------------- calling whatdependson for head-i586 New: ---- gdm-save-panel-space-on-low-resolutions.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ gdm.spec ++++++ --- /var/tmp/diff_new_pack.z22607/_old 2008-12-01 12:05:11.000000000 +0100 +++ /var/tmp/diff_new_pack.z22607/_new 2008-12-01 12:05:11.000000000 +0100 @@ -57,7 +57,7 @@ License: GPL v2 or later Group: System/GUI/GNOME Version: 2.24.0 -Release: 12 +Release: 13 Summary: The GNOME 2.x Display Manager Source: %{name}-%{version}.tar.bz2 Source1: gdm.pamd @@ -95,6 +95,8 @@ Patch17: gdm-fix-pam-auditing.patch # PATCH-FIX-UPSTREAM gdm-always-reflect-keyboard-layout.patch bnc438159 bgo561771 hpj@novell.com -- Make keyboard selector not neglect to apply the selected keyboard in some situations. Patch18: gdm-always-reflect-keyboard-layout.patch +# PATCH-FIX-OPENSUSE gdm-save-panel-space-on-low-resolutions.patch bnc449815 hpj@novell.com -- Hide clock and/or selector labels on low resolutions. +Patch19: gdm-save-panel-space-on-low-resolutions.patch Patch28: gdm-X_SERVER.patch # PATCH-SUSE: enable SELinux Patch60: gdm-selinux.patch @@ -175,6 +177,7 @@ %patch16 -p1 %patch17 -p0 %patch18 -p1 +%patch19 -p1 %patch28 %patch60 @@ -283,6 +286,15 @@ %files lang -f %{name}.lang %changelog +* Sun Nov 30 2008 hpj@novell.com +- Update gdm-sysconfig-settings.patch to translate the name of the + configured system keymap into something libxklavier can + understand (bnc#446958). +* Sun Nov 30 2008 hpj@novell.com +- Update gdm-domain-logon.patch to make domain prefix logon work + when entering user names manually (bnc#450146). +* Sat Nov 29 2008 hpj@novell.com +- Add gdm-save-panel-space-on-low-resolutions.patch (bnc#449815). * Fri Nov 21 2008 hpj@novell.com - Add gdm-always-reflect-keyboard-layout.patch (bnc#438159). * Thu Nov 20 2008 hpj@novell.com ++++++ gdm-domain-logon.patch ++++++ --- /var/tmp/diff_new_pack.z22607/_old 2008-12-01 12:05:12.000000000 +0100 +++ /var/tmp/diff_new_pack.z22607/_new 2008-12-01 12:05:12.000000000 +0100 @@ -1665,7 +1665,7 @@ + +#endif /* __GDM_DOMAIN_PROVIDER_H */ diff --git a/gui/simple-greeter/gdm-greeter-panel.c b/gui/simple-greeter/gdm-greeter-panel.c -index 50478c5..e557ba9 100644 +index 50478c5..825f0c5 100644 --- a/gui/simple-greeter/gdm-greeter-panel.c +++ b/gui/simple-greeter/gdm-greeter-panel.c @@ -40,6 +40,7 @@ @@ -1756,7 +1756,7 @@ } void -@@ -651,6 +690,7 @@ gdm_greeter_panel_hide_user_options (GdmGreeterPanel *panel) +@@ -651,18 +690,26 @@ gdm_greeter_panel_hide_user_options (GdmGreeterPanel *panel) gtk_widget_hide (panel->priv->session_option_widget); gtk_widget_hide (panel->priv->language_option_widget); gtk_widget_hide (panel->priv->layout_option_widget); @@ -1764,7 +1764,26 @@ g_debug ("GdmGreeterPanel: activating default layout"); gdm_layout_activate (NULL); -@@ -730,3 +770,20 @@ gdm_greeter_panel_set_default_session_name (GdmGreeterPanel *panel, + } + + void ++gdm_greeter_panel_set_domain_enabled (GdmGreeterPanel *panel, gboolean enabled) ++{ ++ gtk_widget_set_sensitive (panel->priv->domain_option_widget, enabled); ++} ++ ++void + gdm_greeter_panel_reset (GdmGreeterPanel *panel) + { + gdm_greeter_panel_set_default_language_name (panel, NULL); + gdm_greeter_panel_set_default_layout_name (panel, NULL); + gdm_greeter_panel_set_default_session_name (panel, NULL); + gdm_greeter_panel_hide_user_options (panel); ++ gdm_greeter_panel_set_domain_enabled (panel, TRUE); + } + + void +@@ -730,3 +777,20 @@ gdm_greeter_panel_set_default_session_name (GdmGreeterPanel *panel, gdm_option_widget_set_default_item (GDM_OPTION_WIDGET (panel->priv->session_option_widget), session_name); } @@ -1786,7 +1805,7 @@ + domain_name); +} diff --git a/gui/simple-greeter/gdm-greeter-panel.h b/gui/simple-greeter/gdm-greeter-panel.h -index 07cca3f..5d2e2b2 100644 +index 07cca3f..6079569 100644 --- a/gui/simple-greeter/gdm-greeter-panel.h +++ b/gui/simple-greeter/gdm-greeter-panel.h @@ -53,6 +53,9 @@ typedef struct @@ -1799,7 +1818,15 @@ } GdmGreeterPanelClass; GType gdm_greeter_panel_get_type (void); -@@ -70,6 +73,8 @@ void gdm_greeter_panel_set_default_layout_name (GdmGree +@@ -64,12 +67,16 @@ void gdm_greeter_panel_show_user_options (GdmGree + void gdm_greeter_panel_hide_user_options (GdmGreeterPanel *panel); + void gdm_greeter_panel_reset (GdmGreeterPanel *panel); + ++void gdm_greeter_panel_set_domain_enabled (GdmGreeterPanel *panel, gboolean enabled); ++ + void gdm_greeter_panel_set_default_language_name (GdmGreeterPanel *panel, + const char *language_name); + void gdm_greeter_panel_set_default_layout_name (GdmGreeterPanel *panel, const char *layout_name); void gdm_greeter_panel_set_default_session_name (GdmGreeterPanel *panel, const char *session_name); @@ -1809,7 +1836,7 @@ #endif /* __GDM_GREETER_PANEL_H */ diff --git a/gui/simple-greeter/gdm-greeter-session.c b/gui/simple-greeter/gdm-greeter-session.c -index 83375b2..50c0e33 100644 +index 83375b2..fe85746 100644 --- a/gui/simple-greeter/gdm-greeter-session.c +++ b/gui/simple-greeter/gdm-greeter-session.c @@ -38,6 +38,8 @@ @@ -1821,17 +1848,19 @@ #include "gdm-profile.h" #define GDM_GREETER_SESSION_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GDM_TYPE_GREETER_SESSION, GdmGreeterSessionPrivate)) -@@ -48,6 +50,9 @@ struct GdmGreeterSessionPrivate +@@ -48,6 +50,11 @@ struct GdmGreeterSessionPrivate GtkWidget *login_window; GtkWidget *panel; + + char *user; + char *domain; ++ ++ gint n_info_queries; }; enum { -@@ -62,6 +67,33 @@ G_DEFINE_TYPE (GdmGreeterSession, gdm_greeter_session, G_TYPE_OBJECT) +@@ -62,6 +69,33 @@ G_DEFINE_TYPE (GdmGreeterSession, gdm_greeter_session, G_TYPE_OBJECT) static gpointer session_object = NULL; @@ -1865,7 +1894,28 @@ static void on_info (GdmGreeterClient *client, const char *text, -@@ -198,8 +230,14 @@ on_begin_verification_for_user (GdmGreeterLoginWindow *login_window, +@@ -99,6 +133,10 @@ on_reset (GdmGreeterClient *client, + + gdm_greeter_panel_reset (GDM_GREETER_PANEL (session->priv->panel)); + gdm_greeter_login_window_reset (GDM_GREETER_LOGIN_WINDOW (session->priv->login_window)); ++ ++ session->priv->n_info_queries = 0; ++ if (session->priv->panel) ++ gdm_greeter_panel_set_domain_enabled (GDM_GREETER_PANEL (session->priv->panel), TRUE); + } + + static void +@@ -174,6 +212,9 @@ on_secret_info_query (GdmGreeterClient *client, + { + g_debug ("GdmGreeterSession: Secret info query: %s", text); + ++ if (session->priv->panel) ++ gdm_greeter_panel_set_domain_enabled (GDM_GREETER_PANEL (session->priv->panel), FALSE); ++ + gdm_greeter_login_window_secret_info_query (GDM_GREETER_LOGIN_WINDOW (session->priv->login_window), text); + } + +@@ -198,8 +239,14 @@ on_begin_verification_for_user (GdmGreeterLoginWindow *login_window, const char *username, GdmGreeterSession *session) { @@ -1881,7 +1931,30 @@ } static void -@@ -236,13 +274,46 @@ on_select_layout (GdmGreeterSession *session, +@@ -207,8 +254,21 @@ on_query_answer (GdmGreeterLoginWindow *login_window, + const char *text, + GdmGreeterSession *session) + { ++ gchar *temp; ++ ++ if (session->priv->n_info_queries == 0) ++ temp = maybe_prepend_domain_to_user (session, text); ++ else ++ temp = g_strdup (text); ++ ++ if (session->priv->panel) ++ gdm_greeter_panel_set_domain_enabled (GDM_GREETER_PANEL (session->priv->panel), FALSE); ++ + gdm_greeter_client_call_answer_query (session->priv->client, +- text); ++ temp); ++ ++ g_free (temp); ++ session->priv->n_info_queries++; + } + + static void +@@ -236,13 +296,46 @@ on_select_layout (GdmGreeterSession *session, } static void @@ -1929,7 +2002,18 @@ } static void -@@ -300,6 +371,11 @@ toggle_panel (GdmGreeterSession *session, +@@ -251,6 +344,10 @@ on_cancelled (GdmGreeterLoginWindow *login_window, + { + gdm_greeter_panel_hide_user_options (GDM_GREETER_PANEL (session->priv->panel)); + gdm_greeter_client_call_cancel (session->priv->client); ++ ++ session->priv->n_info_queries = 0; ++ if (session->priv->panel) ++ gdm_greeter_panel_set_domain_enabled (GDM_GREETER_PANEL (session->priv->panel), TRUE); + } + + static void +@@ -300,6 +397,11 @@ toggle_panel (GdmGreeterSession *session, G_CALLBACK (on_select_session), session); @@ -1941,7 +2025,16 @@ gtk_widget_show (session->priv->panel); } else { gtk_widget_destroy (session->priv->panel); -@@ -563,6 +639,9 @@ gdm_greeter_session_finalize (GObject *object) +@@ -542,6 +644,8 @@ gdm_greeter_session_init (GdmGreeterSession *session) + G_CALLBACK (on_user_authorized), + session); + ++ session->priv->n_info_queries = 0; ++ + /* We want to listen for panel mnemonics even if the + * login window is focused, so we intercept them here. + */ +@@ -563,6 +667,9 @@ gdm_greeter_session_finalize (GObject *object) g_return_if_fail (greeter_session->priv != NULL); ++++++ gdm-save-panel-space-on-low-resolutions.patch ++++++ diff --git a/gui/simple-greeter/gdm-greeter-panel.c b/gui/simple-greeter/gdm-greeter-panel.c index e557ba9..c3e1c9b 100644 --- a/gui/simple-greeter/gdm-greeter-panel.c +++ b/gui/simple-greeter/gdm-greeter-panel.c @@ -557,6 +557,7 @@ gdm_greeter_panel_init (GdmGreeterPanel *panel) { NaTray *tray; GtkWidget *spacer; + GdkScreen *screen; gdm_profile_start (NULL); @@ -634,7 +635,15 @@ gdm_greeter_panel_init (GdmGreeterPanel *panel) panel->priv->clock = gdm_clock_widget_new (); gtk_box_pack_end (GTK_BOX (panel->priv->hbox), GTK_WIDGET (panel->priv->clock), FALSE, FALSE, 6); - gtk_widget_show (panel->priv->clock); + + screen = gtk_widget_get_screen (panel->priv->clock); + if (!screen) + screen = gdk_screen_get_default (); + + /* If resolution is limited, hide clock to conserve horizontal space */ + + if (!screen || gdk_screen_get_width (screen) > 1024) + gtk_widget_show (panel->priv->clock); tray = na_tray_new_for_screen (gtk_window_get_screen (GTK_WINDOW (panel)), GTK_ORIENTATION_HORIZONTAL); diff --git a/gui/simple-greeter/gdm-option-widget.c b/gui/simple-greeter/gdm-option-widget.c index 5561ce6..d49a375 100644 --- a/gui/simple-greeter/gdm-option-widget.c +++ b/gui/simple-greeter/gdm-option-widget.c @@ -617,8 +617,18 @@ gdm_option_widget_check_visibility (GdmOptionWidget *widget) if (widget->priv->number_of_top_rows > 0 || widget->priv->number_of_middle_rows > 1 || widget->priv->number_of_bottom_rows > 0) { + GdkScreen *screen; + gtk_widget_show (widget->priv->items_combo_box); - gtk_widget_show (widget->priv->label); + + screen = gtk_widget_get_screen (widget->priv->label); + if (!screen) + screen = gdk_screen_get_default (); + + /* If resolution is limited, hide labels to conserve horizontal space */ + + if (!screen || gdk_screen_get_width (screen) > 1280) + gtk_widget_show (widget->priv->label); if (widget->priv->icon_name != NULL) { gtk_widget_show (widget->priv->image); ++++++ gdm-sysconfig-settings.patch ++++++ --- /var/tmp/diff_new_pack.z22607/_old 2008-12-01 12:05:12.000000000 +0100 +++ /var/tmp/diff_new_pack.z22607/_new 2008-12-01 12:05:12.000000000 +0100 @@ -992,7 +992,7 @@ + +#endif /* __GDM_SYSCONFIG_H */ diff --git a/daemon/gdm-session-direct.c b/daemon/gdm-session-direct.c -index 75a1cec..8b74dea 100644 +index 75a1cec..886e7e8 100644 --- a/daemon/gdm-session-direct.c +++ b/daemon/gdm-session-direct.c @@ -45,6 +45,8 @@ @@ -1004,18 +1004,101 @@ #include "gdm-session-direct.h" #include "gdm-session.h" #include "gdm-session-private.h" -@@ -600,9 +602,11 @@ get_default_language_name (GdmSessionDirect *session) +@@ -600,8 +602,16 @@ get_default_language_name (GdmSessionDirect *session) static const char * get_default_layout_name (GdmSessionDirect *session) { - if (session->priv->saved_layout != NULL) { - return session->priv->saved_layout; -- } + if (!session->priv->saved_layout) + session->priv->saved_layout = gdm_sysconfig_load_value ("/etc/sysconfig/keyboard", "KEYTABLE"); + -+ if (session->priv->saved_layout) ++ if (session->priv->saved_layout) { ++ if (g_str_has_suffix (session->priv->saved_layout, ".gz")) ++ *(session->priv->saved_layout + strlen (session->priv->saved_layout) - strlen (".gz")) = '\0'; ++ if (g_str_has_suffix (session->priv->saved_layout, ".map")) ++ *(session->priv->saved_layout + strlen (session->priv->saved_layout) - strlen (".map")) = '\0'; ++ + return session->priv->saved_layout; + } return "us"; +diff --git a/gui/simple-greeter/gdm-layouts.c b/gui/simple-greeter/gdm-layouts.c +index 479d5ea..fba3147 100644 +--- a/gui/simple-greeter/gdm-layouts.c ++++ b/gui/simple-greeter/gdm-layouts.c +@@ -70,14 +70,35 @@ xci_desc_to_utf8 (XklConfigItem * ci) + g_locale_to_utf8 (sd, -1, NULL, NULL, NULL); } + ++static gchar * ++canonicalize_layout_name (const gchar *name) ++{ ++ gchar *canon_name; ++ ++ if (!name) ++ return NULL; ++ ++ canon_name = g_strdup (name); ++ ++ if (g_str_has_suffix (canon_name, ".gz")) ++ *(canon_name + strlen (canon_name) - strlen (".gz")) = '\0'; ++ if (g_str_has_suffix (canon_name, ".map")) ++ *(canon_name + strlen (canon_name) - strlen (".map")) = '\0'; ++ ++ return canon_name; ++} ++ + static void + add_variant (XklConfigRegistry *config, + const XklConfigItem *item, + gpointer data) + { + LayoutData *ldata = data; ++ gchar *name; + +- ldata->list = g_slist_prepend (ldata->list, g_strdup_printf ("%s\t%s", ldata->layout, item->name)); ++ name = canonicalize_layout_name (item->name); ++ ldata->list = g_slist_prepend (ldata->list, g_strdup_printf ("%s\t%s", ldata->layout, name)); ++ g_free (name); + } + + static void +@@ -86,11 +107,16 @@ add_layout (XklConfigRegistry *config, + gpointer data) + { + LayoutData *ldata = data; ++ gchar *name; + +- ldata->layout = item->name; +- ldata->list = g_slist_prepend (ldata->list, g_strdup (item->name)); +- xkl_config_registry_foreach_layout_variant (config, item->name, add_variant, data); ++ name = canonicalize_layout_name (item->name); ++ ++ ldata->layout = name; ++ ldata->list = g_slist_prepend (ldata->list, g_strdup (name)); ++ xkl_config_registry_foreach_layout_variant (config, name, add_variant, data); + ldata->layout = NULL; ++ ++ g_free (name); + } + #endif + +@@ -108,7 +134,7 @@ gdm_get_layout_from_name (const char *name) + + init_xkl (); + +- id1 = g_strdup (name); ++ id1 = canonicalize_layout_name (name); + p = strchr (id1, '\t'); + + if (p != NULL) { +@@ -207,7 +233,7 @@ gdm_layout_activate (const char *layout) + config->options = g_strdupv (initial_config->options); + } else { + config->layouts = g_new0 (char *, 2); +- config->layouts[0] = g_strdup (layout); ++ config->layouts[0] = canonicalize_layout_name (layout); + + p = strchr (config->layouts[0], '\t'); + if (p != NULL) { ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun... -- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org