.xinitrc: Refactor

This commit is contained in:
Salt 2018-10-20 17:07:28 -05:00
parent a3135b9db0
commit d6f6479f88

View File

@ -6,17 +6,33 @@
# Distributed under terms of the MIT license.
#
# 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/conspiracy" ] && export STARTUP="$HOME/.concession/conspiracy"
step_get_target() {
# 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/conspiracy" ] && export STARTUP="$HOME/.concession/conspiracy"
}
# Execute Xsession stuff
[ -r /etc/X11/Xsession ] && . /etc/X11/Xsession
step_start_xsession() {
# Execute Xsession stuff
[ -r /etc/X11/Xsession ] && . /etc/X11/Xsession
}
# Do the do
[ -z "${STARTUP+x}" ] || exec "$STARTUP"
step_start_manual() {
# Execute our target directly
[ -z "${STARTUP+x}" ] || exec "$STARTUP"
}
main() {
# Set up the environment
step_get_target
# Execute our target
step_start_xsession # Through Xsession scripts, or...
step_start_manual # ...manually, if need be
# Or maybe just die, I guess
echo "Failed to start session" >&2
exit 1
}
main $@
# Or maybe just die, I guess
echo "Failed to start Concession!" >&2
exit 1