91 lines
3.0 KiB
Diff
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>
|