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(a)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(a)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(a)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(a)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(a)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(a)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(a)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(a)novell.com
+- Add gdm-save-panel-space-on-low-resolutions.patch (bnc#449815).
* Fri Nov 21 2008 hpj(a)novell.com
- Add gdm-always-reflect-keyboard-layout.patch (bnc#438159).
* Thu Nov 20 2008 hpj(a)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(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org