.xinitrc: Use more shell builtins, add logging error messages

This commit is contained in:
Salt 2018-11-23 19:02:30 -06:00
parent 68f10d0bd3
commit 74751664f6

View File

@ -7,19 +7,22 @@
#
die() {
echo "Failed to start session" >&2
if [ -z "$1" ]; then
echo "Failed to start session" >&2
else
echo "Failed to start session: $1" >&2
fi
exit 1
}
# Set up our session target
which i3 > /dev/null 2>&1 && export STARTUP="i3"
which bspwm > /dev/null 2>&1 && export STARTUP="bspwm"
[ -x "$HOME/.concession/concession" ] && export STARTUP="$HOME/.concession/concession"
command -v i3 > /dev/null 2>&1 && export STARTUP="i3"
command -v bspwm > /dev/null 2>&1 && export STARTUP="bspwm"
if [ -x "$HOME/.dsk/dsk-xinit" ]; then
export DSK_HOME="$HOME/.dsk"
export STARTUP="$DSK_HOME/dsk-xinit"
fi
[ -z ${STARTUP+x} ] && die
[ -z ${STARTUP+x} ] && die "No session target available"
# Execute Xsession stuff
[ -r /etc/X11/Xsession ] && . /etc/X11/Xsession
@ -28,5 +31,5 @@ fi
[ -z "${STARTUP+x}" ] || exec "$STARTUP"
# If we get here, we haven't exec'd a target and must die
die
die "Miscellaneous error"