From 57bb9c16f4a8e14367917d0feda8d13c6e8412ed Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 23 Sep 2019 10:55:59 +0200 Subject: [PATCH] [displaymanager] Also look for Wayland sessions - Sessions can be X11-sessions (living in xsessions) or Wayland- (living in wayland-sessions). Look in both places. - Refactor code a little to make it nicer to read. --- src/modules/displaymanager/main.py | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/modules/displaymanager/main.py b/src/modules/displaymanager/main.py index 8c0b1a46f..b46dc3d43 100644 --- a/src/modules/displaymanager/main.py +++ b/src/modules/displaymanager/main.py @@ -51,15 +51,20 @@ class DesktopEnvironment: self.executable = exec self.desktop_file = desktop + def find_de_executable(self, root_mount_point): + return os.path.exists("{!s}{!s}".format(root_mount_point, self.executable)) + + def find_de_session(self, root_mount_point): + x11_sessions = "{!s}/usr/share/xsessions/{!s}.desktop".format(root_mount_point, self.desktop_file) + wayland_sessions = "{!s}/usr/share/wayland-sessions/{!s}.desktop".format(root_mount_point, self.desktop_file) + return os.path.exists(x11_sessions) or os.path.exists(wayland_sessions) + def find_desktop_environment(self, root_mount_point): """ Check if this environment is installed in the target system at @p root_mount_point. """ - return ( - os.path.exists("{!s}{!s}".format(root_mount_point, self.executable)) and - os.path.exists("{!s}/usr/share/xsessions/{!s}.desktop".format(root_mount_point, self.desktop_file)) - ) + return find_de_executable(root_mount_point) and find_de_session(root_mount_point) desktop_environments = [