--- 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 #include +#include + #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 @@ + /schemas/apps/gdm/simple-greeter/disable_user_list + /apps/gdm/simple-greeter/disable_user_list + gdm-simple-greeter + bool + FALSE + + Do not show known users in the login window + Set to TRUE to disable showing known users in the login window. + + + /schemas/apps/gdm/simple-greeter/wm_use_compiz /apps/gdm/simple-greeter/wm_use_compiz gdm-simple-greeter