gdm/show-users.patch
2008-05-08 19:03:22 +00:00

91 lines
3.0 KiB
Diff

--- gdm-2.22.0/gui/simple-greeter/gdm-user-chooser-widget.c 2008-05-01 18:35:35.000000000 -0400
+++ hacked/gui/simple-greeter/gdm-user-chooser-widget.c 2008-05-07 20:27:09.000000000 -0400
@@ -34,9 +34,14 @@
#include <glib/gstdio.h>
#include <gtk/gtk.h>
+#include <gconf/gconf-client.h>
+
#include "gdm-user-manager.h"
#include "gdm-user-chooser-widget.h"
+
+#define KEY_DISABLE_USER_LIST "/apps/gdm/simple-greeter/disable_user_list"
+
enum {
USER_NO_DISPLAY = 1 << 0,
USER_ACCOUNT_DISABLED = 1 << 1,
@@ -59,6 +64,7 @@
guint show_other_user : 1;
guint show_guest_user : 1;
guint show_auto_user : 1;
+ guint show_normal_users : 1;
};
enum {
@@ -231,6 +237,25 @@
}
}
+static gboolean
+is_user_list_disabled (GdmUserChooserWidget *widget)
+{
+ GConfClient *client;
+ GError *error;
+ gboolean result;
+
+ client = gconf_client_get_default ();
+ error = NULL;
+ result = gconf_client_get_bool (client, KEY_DISABLE_USER_LIST, &error);
+ if (error != NULL) {
+ g_debug ("GdmUserChooserWidget: unable to get disable-user-list configuration: %s", error->message);
+ g_error_free (error);
+ }
+ g_object_unref (client);
+
+ return result;
+}
+
static GObject *
gdm_user_chooser_widget_constructor (GType type,
guint n_construct_properties,
@@ -247,6 +272,8 @@
gdm_user_chooser_widget_set_show_auto_user (user_chooser_widget, FALSE);
gdm_user_chooser_widget_set_show_other_user (user_chooser_widget, TRUE);
+ user_chooser_widget->priv->show_normal_users = !is_user_list_disabled (user_chooser_widget);
+
return G_OBJECT (user_chooser_widget);
}
@@ -403,6 +430,9 @@
char *tooltip;
gboolean is_logged_in;
+ if (!widget->priv->show_normal_users)
+ return;
+
pixbuf = gdm_user_render_icon (user, ICON_SIZE);
if (pixbuf == NULL && widget->priv->stock_person_pixbuf != NULL) {
pixbuf = g_object_ref (widget->priv->stock_person_pixbuf);
--- gdm-2.22.0/gui/simple-greeter/gdm-simple-greeter.schemas.in 2008-05-07 20:28:57.000000000 -0400
+++ hacked/gui/simple-greeter/gdm-simple-greeter.schemas.in 2008-05-07 20:22:33.000000000 -0400
@@ -68,6 +68,17 @@
</locale>
</schema>
<schema>
+ <key>/schemas/apps/gdm/simple-greeter/disable_user_list</key>
+ <applyto>/apps/gdm/simple-greeter/disable_user_list</applyto>
+ <owner>gdm-simple-greeter</owner>
+ <type>bool</type>
+ <default>FALSE</default>
+ <locale name="C">
+ <short>Do not show known users in the login window</short>
+ <long>Set to TRUE to disable showing known users in the login window.</long>
+ </locale>
+ </schema>
+ <schema>
<key>/schemas/apps/gdm/simple-greeter/wm_use_compiz</key>
<applyto>/apps/gdm/simple-greeter/wm_use_compiz</applyto>
<owner>gdm-simple-greeter</owner>