summaryrefslogtreecommitdiffstats
path: root/perl-install/any.pm
diff options
context:
space:
mode:
Diffstat (limited to 'perl-install/any.pm')
-rw-r--r--perl-install/any.pm23
1 files changed, 15 insertions, 8 deletions
diff --git a/perl-install/any.pm b/perl-install/any.pm
index 9ffe0a86d..ab93036dc 100644
--- a/perl-install/any.pm
+++ b/perl-install/any.pm
@@ -813,11 +813,16 @@ sub setupBootloader__grub2 {
sub get_session_file {
my ($desktop) = @_;
- my $xsession_file = find {
- my %xsession = read_gnomekderc($_, 'Desktop Entry');
- $xsession{Name} =~ s/\s+//g;
- $xsession{Name} eq ${desktop};
- } glob("$::prefix/usr/share/xsessions/*.desktop");
+ my @dir_wm = qw(xsessions wayland-sessions);
+ my $xsession_file;
+ foreach my $dwm (@dir_wm) {
+ my $xs_file = find {
+ my %xsession = read_gnomekderc($_, 'Desktop Entry');
+ $xsession{Name} =~ s/\s+//g;
+ $xsession{Name} eq ${desktop};
+ } glob("$::prefix/usr/share/$dwm/*.desktop");
+ $xsession_file = $xs_file unless $xsession_file;
+ }
$xsession_file =~ s!\.[^.]+$!!;
$xsession_file =~ s!.*/!!;
$xsession_file ||= $desktop;
@@ -1145,9 +1150,11 @@ sub ask_user_and_root {
}
sub sessions() {
- my $old = chdir('$::prefix/usr/share/xsessions/');
- my @l = map { s/.desktop$//; $_ } glob("*.desktop");
- chdir($old);
+ my @l;
+ my @dir_wm = qw(xsessions wayland-sessions);
+ foreach my $dwm (@dir_wm) {
+ push @l, map { s/.desktop$//; basename($_) } glob("$::prefix/usr/share/$dwm/*.desktop");
+ }
@l;
}
sub sessions_with_order() {