From 2c4ff94ef0d664fa8355db2f7035d5bf0c102690 Mon Sep 17 00:00:00 2001 From: Mike Gabriel Date: Fri, 15 Sep 2023 11:43:03 +0200 Subject: Introduce gsetting (array of strings): preferred-sessions. The preferred-session gsetting shall provide an ordered list of preferred sessions for detecing the default session type. --- src/arctica-greeter.vala | 13 +++++-------- src/settings.vala | 1 + 2 files changed, 6 insertions(+), 8 deletions(-) (limited to 'src') diff --git a/src/arctica-greeter.vala b/src/arctica-greeter.vala index 2ede4c5..cacfdac 100644 --- a/src/arctica-greeter.vala +++ b/src/arctica-greeter.vala @@ -248,14 +248,11 @@ public class ArcticaGreeter : Object var sessions = new List (); sessions.append ("lightdm-xsession"); - // FIXME: this list should be obtained from AGSettings, ideally... - sessions.append ("mate"); - sessions.append ("xfce"); - sessions.append ("kde-plasma"); - sessions.append ("kde"); - sessions.append ("gnome"); - sessions.append ("cinnamon"); - sessions.append ("lomiri"); + var preferred_sessions = AGSettings.get_strv (AGSettings.KEY_PREFERRED_SESSIONS); + + foreach (var preferred_session in preferred_sessions) { + sessions.append (preferred_session); + } if (!AGSettings.get_boolean (AGSettings.KEY_HIDE_WAYLAND_SESSIONS)) { foreach (string session in sessions) { diff --git a/src/settings.vala b/src/settings.vala index 16b5a82..acef828 100644 --- a/src/settings.vala +++ b/src/settings.vala @@ -74,6 +74,7 @@ public class AGSettings : Object public const string KEY_HIDE_X11_SESSIONS = "hide-x11-sessions"; public const string KEY_HIDE_WAYLAND_SESSIONS = "hide-wayland-sessions"; public const string KEY_SHUTDOWN_DIALOG_TIMEOUT = "shutdown-dialog-timeout"; + public const string KEY_PREFERRED_SESSIONS = "preferred-sessions"; public static bool get_boolean (string key) { -- cgit v1.2.3