diff --git a/.xinitrc b/.xinitrc index eb2510fc..e29ad83c 100755 --- a/.xinitrc +++ b/.xinitrc @@ -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"