File gnome-shell-878951-hide-list-with-no-user.patch of Package gnome-shell.1083
diff -Npur gnome-shell-3.10.4/js/gdm/loginDialog.js gnome-shell-3.10.4-new/js/gdm/loginDialog.js
--- gnome-shell-3.10.4/js/gdm/loginDialog.js 2014-05-27 08:23:29.055450987 +0800
+++ gnome-shell-3.10.4-new/js/gdm/loginDialog.js 2014-05-30 08:23:04.470771769 +0800
@@ -551,6 +551,15 @@ const LoginDialog = new Lang.Class({
_updateDisableUserList: function() {
let disableUserList = this._settings.get_boolean(GdmUtil.DISABLE_USER_LIST_KEY);
+ if (disableUserList == false) {
+ if (this._userListLoaded == true) {
+ let items = this._userList._items;
+ let hasItems = Object.keys(items).length > 0;
+ if (hasItems == false)
+ disableUserList = true;
+ }
+ }
+
if (disableUserList != this._disableUserList) {
this._disableUserList = disableUserList;
@@ -964,15 +973,18 @@ const LoginDialog = new Lang.Class({
for (let i = 0; i < users.length; i++) {
this._userList.addUser(users[i]);
}
+ this._updateDisableUserList();
this._userManager.connect('user-added',
Lang.bind(this, function(userManager, user) {
this._userList.addUser(user);
+ this._updateDisableUserList();
}));
this._userManager.connect('user-removed',
Lang.bind(this, function(userManager, user) {
this._userList.removeUser(user);
+ this._updateDisableUserList();
}));
return GLib.SOURCE_REMOVE;