From c99e78a2de7c1be629fb0c343e43d0c98ab1ebe0 Mon Sep 17 00:00:00 2001 From: Mike Gabriel Date: Fri, 24 Feb 2023 22:16:01 +0100 Subject: Use ArcticaGreeter's way of detecting the default session, only fallback to LightDMs default if absolutely necessary. --- src/arctica-greeter.vala | 2 ++ src/user-list.vala | 10 +++++++--- 2 files changed, 9 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/arctica-greeter.vala b/src/arctica-greeter.vala index 3de7b29..68c8887 100644 --- a/src/arctica-greeter.vala +++ b/src/arctica-greeter.vala @@ -220,6 +220,7 @@ public class ArcticaGreeter : Object foreach (string session in sessions) { var path = Path.build_filename ("/usr/share/wayland-sessions/", session.concat(".desktop"), null); if (FileUtils.test (path, FileTest.EXISTS)) { + debug ("Using %s as default (Wayland) session.", session); return session; } } @@ -227,6 +228,7 @@ public class ArcticaGreeter : Object foreach (string session in sessions) { var path = Path.build_filename ("/usr/share/xsessions/", session.concat(".desktop"), null); if (FileUtils.test (path, FileTest.EXISTS)) { + debug ("Using %s as default (X11) session.", session); return session; } } diff --git a/src/user-list.vala b/src/user-list.vala index abbf576..2f16924 100644 --- a/src/user-list.vala +++ b/src/user-list.vala @@ -111,11 +111,16 @@ public class UserList : GreeterList } } - private string _default_session = "lightdm-xsession"; + private string _default_session = ""; public string default_session { get { + if (_default_session == "") { + var greeter = new ArcticaGreeter (); + _default_session = ArcticaGreeter.get_default_session(); + debug ("Setting UserList._default_session to '%s'.", _default_session); + } return _default_session; } set @@ -911,7 +916,7 @@ public class UserList : GreeterList var text = manual_name; if (text == null) text = _("Login"); - add_user ("*other", text); + add_user ("*other", text, null, false, false, default_session); } protected void prompt_box_respond_cb (string[] responses) @@ -1046,7 +1051,6 @@ public class UserList : GreeterList test_fill_list (); else { - default_session = greeter.default_session_hint (); always_show_manual = greeter.show_manual_login_hint (); if (!greeter.hide_users_hint ()) { -- cgit v1.2.3