aboutsummaryrefslogtreecommitdiffstats
path: root/sbin/chksession
diff options
context:
space:
mode:
Diffstat (limited to 'sbin/chksession')
-rw-r--r--sbin/chksession77
1 files changed, 2 insertions, 75 deletions
diff --git a/sbin/chksession b/sbin/chksession
index fb2e099..d6ed385 100644
--- a/sbin/chksession
+++ b/sbin/chksession
@@ -4,6 +4,7 @@
## For info, see "chksession --help" or "man chksession"
# Modified by Bernard Lang on August 21, 2003.
+# Modified by ns80 on February 12, 2016.
my (@lf, $dir, $first, $list, $list_order, %order, $test);
@@ -22,14 +23,6 @@ Usage: $0 [OPTION]...
-d=DIR, --dir=DIR: Specifies a directory of w-m configuration files.
Default is /etc/X11/wmsession.d/
- -x=ENTRY, --xsession=ENTRY: Produce window-managers script of ENTRY.
-
- --generate=DIR: Produce window-manager .desktop files into DIR.
- --wrap-sessions: Wrap window-managers with /usr/share/X11/xdm/Xsession.
-
- -K, --kdm4: Shortcut for --generate=/usr/share/apps/kdm/sessions
- -g, --gdm: Shortcut for --generate=/etc/X11/dm/Sessions --wrap-sessions
-
-h, --help: Produce this help.
EOF
@@ -57,53 +50,17 @@ sub parse_file { # parse a session descriptor file
# if (-x $e) { $script{$n} = $s; $exec{$n} = $e; $desc{$n} = $d; $icon{$n} = $i; push @lf, $n; }
}
-sub gen_desktops {
- my ($d, $usesession) = @_;
- -d $d or system("mkdir -p $d");
- system("rm -f $d/*");
-
- for my $file (@lf) {
- open FH, ">$d/$order{$file}$file.desktop" or die "Can't write to $d/$order{$file}.desktop\n";
- print FH "[Desktop Entry]\n";
- print FH "Encoding=UTF-8\n";
- print FH "Name=$file\n";
- print FH "Comment=$file\n";
- print FH "TryExec=$exe{$file}\n" if $exe{$file};
- print FH "DesktopNames=$desktopnames{$file}\n" if $desktopnames{$file};
- if ($usesession) {
- print FH "Exec=/usr/share/X11/xdm/Xsession $file\n";
- } else {
- print FH "Exec=$file\n";
- }
- print FH "Icon=\n";
- print FH "Type=Application\n";
- close FH;
- chmod 0755, $file;
- }
-}
-
usage(1)
if @ARGV < 1;
while ($ARGV[0] =~ /^--/ || $ARGV[0] =~ /^-/) {
$_ = shift;
- if (/^--xsession=([^ ]+)/ || /^-x=([^ ]+)/) {
- $xsession = $1;
- } elsif (/^--first/ || /^-F/) {
+ if (/^--first/ || /^-F/) {
$first++;
- } elsif (/^--generate=([^ ]+)/) {
- $generate = $1;
- } elsif (/^--wrap-sessions/) {
- $wrap_sessions++;
- } elsif (/^--gdm/ || /^-g/) {
- die "You should be root to build gdm session\n" if $< != 0;
- $gdm++;
} elsif (/^--list/ || /^-l/) {
$list++;
} elsif (/^-L/) {
$list_order++;
- } elsif (/^--kdm4/ || /^-K/) {
- $kdm4++;
} elsif (/^--test/ || /^-t/) {
$test++;
} elsif (/^--dir=([^ ]+)/ || /^-d=([^ ]+)/) {
@@ -132,36 +89,6 @@ my ($e) = eval { cat("/etc/sysconfig/desktop") } =~ /DESKTOP=(\S+)/;
# Order of names in @lf is otherwise unchanged.
@lf = sort { $b =~ /^$e$/i <=> $a =~ /^$e$/i } @lf;
-
-if ($generate) {
- gen_desktops($generate, $wrap_sessions);
-}
-
-if ($kdm4) {
- gen_desktops('/usr/share/apps/kdm/sessions', 0);
-}
-
-if ($gdm) {
- gen_desktops('/etc/X11/dm/Sessions', 1);
-}
-
-if ($xsession) {
- if ($script{$xsession}) {
- print "#!/bin/sh\n";
- print $script{$xsession}
- } else {
- print "xterm -geometry 100x25+0+0 &\n";
- if ( -x '/usr/bin/icewm' ) {
- print "icewm\n";
- } elsif ( -x '/usr/bin/twm' ) {
- print "twm\n";
- } else {
- print "xterm -geometry 67x14+384+446\n";
- }
- }
- exit (0);
-}
-
@lf ? print shift @lf, "\n" : print "default\n"
if $first;