aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMike Gabriel <mike.gabriel@das-netzwerkteam.de>2024-05-28 15:37:12 +0200
committerMike Gabriel <mike.gabriel@das-netzwerkteam.de>2024-05-28 15:39:23 +0200
commitf5f819ead1453ef1b817f843890686a5685632cf (patch)
tree2b8be4081a1cb15761ba483bceaf6b451575c13d /src
parent5a2e16b8405236a76c09de77120a03e50254c5bf (diff)
downloadarctica-greeter-f5f819ead1453ef1b817f843890686a5685632cf.tar.gz
arctica-greeter-f5f819ead1453ef1b817f843890686a5685632cf.tar.bz2
arctica-greeter-f5f819ead1453ef1b817f843890686a5685632cf.zip
Add user filter to greeter's user list.
Diffstat (limited to 'src')
-rw-r--r--src/settings.vala2
-rw-r--r--src/user-list.vala14
2 files changed, 16 insertions, 0 deletions
diff --git a/src/settings.vala b/src/settings.vala
index 7d1ce8f..6bdfe5d 100644
--- a/src/settings.vala
+++ b/src/settings.vala
@@ -56,6 +56,8 @@ public class AGSettings : Object
public const string KEY_PLAY_READY_SOUND = "play-ready-sound";
public const string KEY_INDICATORS = "indicators";
public const string KEY_HIDDEN_USERS = "hidden-users";
+ public const string KEY_USER_FILTER= "user-filter";
+ public const string KEY_USER_FILTER_ALWAYS = "user-filter-always";
public const string KEY_GROUP_FILTER = "group-filter";
public const string KEY_IDLE_TIMEOUT = "idle-timeout";
public const string KEY_ACTIVATE_NUMLOCK = "activate-numlock";
diff --git a/src/user-list.vala b/src/user-list.vala
index dee3850..3936768 100644
--- a/src/user-list.vala
+++ b/src/user-list.vala
@@ -1128,6 +1128,20 @@ public class UserList : GreeterList
return;
}
+ var user_filter = AGSettings.get_strv (AGSettings.KEY_USER_FILTER);
+ bool user_filter_always = AGSettings.get_boolean (AGSettings.KEY_USER_FILTER_ALWAYS);
+
+ if ((user_filter_always) || (user_filter.length != 0))
+ {
+ var match_found = false;
+ foreach (var username in user_filter)
+ if (username == user.name)
+ match_found = true;
+ // bail-out if user.name is not in user_filter
+ if (match_found == false)
+ return;
+ }
+
if (!filter_group (user.name))
return;