80fc55b
From 18bf08d14ed77db00a17e74c5ce04c812ef251af Mon Sep 17 00:00:00 2001
80fc55b
From: Ray Strode <rstrode@redhat.com>
80fc55b
Date: Mon, 26 Oct 2009 10:45:49 -0400
80fc55b
Subject: [PATCH 1/2] Use gethostname instead of g_get_host_name in greeter
80fc55b
80fc55b
The latter is unreliable when the hostname changes at runtime.
80fc55b
---
80fc55b
 gui/simple-greeter/gdm-greeter-login-window.c |    6 +++++-
80fc55b
 1 files changed, 5 insertions(+), 1 deletions(-)
80fc55b
80fc55b
diff --git a/gui/simple-greeter/gdm-greeter-login-window.c b/gui/simple-greeter/gdm-greeter-login-window.c
80fc55b
index 9a29a2e..9d75b8c 100644
80fc55b
--- a/gui/simple-greeter/gdm-greeter-login-window.c
80fc55b
+++ b/gui/simple-greeter/gdm-greeter-login-window.c
80fc55b
@@ -996,7 +996,11 @@ create_computer_info (GdmGreeterLoginWindow *login_window)
80fc55b
 
80fc55b
         label = glade_xml_get_widget (login_window->priv->xml, "computer-info-name-label");
80fc55b
         if (label != NULL) {
80fc55b
-                gtk_label_set_text (GTK_LABEL (label), g_get_host_name ());
80fc55b
+                char localhost[HOST_NAME_MAX + 1] = "";•
80fc55b
+
80fc55b
+                if (gethostname (localhost, HOST_NAME_MAX) == 0) {•
80fc55b
+                        gtk_label_set_text (GTK_LABEL (label), localhost);
80fc55b
+                }
80fc55b
         }
80fc55b
 
80fc55b
         label = glade_xml_get_widget (login_window->priv->xml, "computer-info-version-label");
80fc55b
-- 
80fc55b
1.6.5.1
80fc55b
80fc55b
eab447e
From 03e01936f5c11580a1485c492355eb0a468ea0f6 Mon Sep 17 00:00:00 2001
eab447e
From: Ray Strode <rstrode@redhat.com>
eab447e
Date: Mon, 26 Oct 2009 10:53:25 -0400
80fc55b
Subject: [PATCH 2/2] Don't bother showing hostname if it's not unique
eab447e
eab447e
The advantage of showing hostname by default is it is a
eab447e
unique identifier for people who have multiple machines.
eab447e
eab447e
If it only says "localhost" or "localhost.localdomain"
eab447e
that advantage is mitigated, and it's probably better to
eab447e
show OS release.
eab447e
---
eab447e
 gui/simple-greeter/gdm-greeter-login-window.c |   27 +++++++++++++++++++-----
eab447e
 1 files changed, 21 insertions(+), 6 deletions(-)
eab447e
eab447e
diff --git a/gui/simple-greeter/gdm-greeter-login-window.c b/gui/simple-greeter/gdm-greeter-login-window.c
eab447e
index 9d75b8c..8de74df 100644
eab447e
--- a/gui/simple-greeter/gdm-greeter-login-window.c
eab447e
+++ b/gui/simple-greeter/gdm-greeter-login-window.c
eab447e
@@ -887,10 +887,8 @@ on_user_unchosen (GdmUserChooserWidget  *user_chooser,
eab447e
         do_cancel (login_window);
eab447e
 }
eab447e
 
eab447e
-static gboolean
eab447e
-on_computer_info_label_button_press (GtkWidget             *widget,
eab447e
-                                     GdkEventButton        *event,
eab447e
-                                     GdmGreeterLoginWindow *login_window)
eab447e
+static void
eab447e
+rotate_computer_info (GdmGreeterLoginWindow *login_window)
eab447e
 {
eab447e
         GtkWidget *notebook;
eab447e
         int        current_page;
eab447e
@@ -907,6 +905,14 @@ on_computer_info_label_button_press (GtkWidget             *widget,
eab447e
                 gtk_notebook_set_current_page (GTK_NOTEBOOK (notebook), 0);
eab447e
         }
eab447e
 
eab447e
+}
eab447e
+
eab447e
+static gboolean
eab447e
+on_computer_info_label_button_press (GtkWidget             *widget,
eab447e
+                                     GdkEventButton        *event,
eab447e
+                                     GdmGreeterLoginWindow *login_window)
eab447e
+{
eab447e
+        rotate_computer_info (login_window);
eab447e
         return FALSE;
eab447e
 }
eab447e
 
eab447e
@@ -996,11 +1002,20 @@ create_computer_info (GdmGreeterLoginWindow *login_window)
eab447e
 
eab447e
         label = glade_xml_get_widget (login_window->priv->xml, "computer-info-name-label");
eab447e
         if (label != NULL) {
eab447e
-                char localhost[HOST_NAME_MAX + 1] = "";•
eab447e
+                char localhost[HOST_NAME_MAX + 1] = "";
eab447e
 
eab447e
-                if (gethostname (localhost, HOST_NAME_MAX) == 0) {•
eab447e
+                if (gethostname (localhost, HOST_NAME_MAX) == 0) {
eab447e
                         gtk_label_set_text (GTK_LABEL (label), localhost);
eab447e
                 }
eab447e
+
eab447e
+                /* If this isn't actually unique identifier for the computer, then
eab447e
+                 * don't bother showing it by default.
eab447e
+                 */
eab447e
+                if (strcmp (localhost, "localhost") == 0 ||
eab447e
+                    strcmp (localhost, "localhost.localdomain") == 0) {
eab447e
+
eab447e
+                    rotate_computer_info (login_window);
eab447e
+                }
eab447e
         }
eab447e
 
eab447e
         label = glade_xml_get_widget (login_window->priv->xml, "computer-info-version-label");
eab447e
-- 
eab447e
1.6.5.1
eab447e