first commit
This commit is contained in:
70
etc_org/X11/Xsession.d/20x11-common_process-args
Normal file
70
etc_org/X11/Xsession.d/20x11-common_process-args
Normal file
@ -0,0 +1,70 @@
|
||||
# $Id: 20x11-common_process-args 305 2005-07-03 18:51:43Z dnusinow $
|
||||
|
||||
# This file is sourced by Xsession(5), not executed.
|
||||
|
||||
# read OPTIONFILE
|
||||
OPTIONS=$(cat "$OPTIONFILE") || true
|
||||
|
||||
has_option() {
|
||||
if [ "${OPTIONS#*
|
||||
$1}" != "$OPTIONS" ]; then
|
||||
return 0
|
||||
else
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
# Determine how many arguments were provided.
|
||||
case $# in
|
||||
0)
|
||||
# No arguments given; use default behavior.
|
||||
;;
|
||||
1)
|
||||
# One argument given; see what it was.
|
||||
case "$1" in
|
||||
failsafe)
|
||||
# Failsafe session was requested.
|
||||
if has_option allow-failsafe; then
|
||||
if [ -e /usr/bin/x-terminal-emulator ]; then
|
||||
if [ -x /usr/bin/x-terminal-emulator ]; then
|
||||
exec x-terminal-emulator -geometry +1+1
|
||||
else
|
||||
# fatal error
|
||||
errormsg "unable to launch failsafe X session ---" \
|
||||
"x-terminal-emulator not executable; aborting."
|
||||
fi
|
||||
else
|
||||
# fatal error
|
||||
errormsg "unable to launch failsafe X session ---" \
|
||||
"x-terminal-emulator not found; aborting."
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
default)
|
||||
# Default behavior was requested.
|
||||
;;
|
||||
*)
|
||||
# Specific program was requested.
|
||||
STARTUP_FULL_PATH=$(/usr/bin/which "${1%% *}" || true)
|
||||
if [ -n "$STARTUP_FULL_PATH" ] && [ -e "$STARTUP_FULL_PATH" ]; then
|
||||
if [ -x "$STARTUP_FULL_PATH" ]; then
|
||||
STARTUP="$1"
|
||||
else
|
||||
message "unable to launch \"$1\" X session ---" \
|
||||
"\"$1\" not executable; falling back to default session."
|
||||
fi
|
||||
else
|
||||
message "unable to launch \"$1\" X session ---" \
|
||||
"\"$1\" not found; falling back to default session."
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
*)
|
||||
# More than one argument given; we don't know what to do.
|
||||
message "unsupported number of arguments ($#); falling back to default" \
|
||||
"session."
|
||||
;;
|
||||
esac
|
||||
|
||||
# vim:set ai et sts=2 sw=2 tw=80:
|
Reference in New Issue
Block a user