#!/bin/sh
#
# Salt's .xinitrc
# Copyright (C) 2018 salt <salt@lap-th-e560-0>
#
# Distributed under terms of the MIT license.
#

die() {
	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
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 "No session target available"

# Execute Xsession stuff
[ -r /etc/X11/Xsession ] && . /etc/X11/Xsession

# Execute our target directly, if necessary
[ -z "${STARTUP+x}" ] || exec "$STARTUP"

# If we get here, we haven't exec'd a target and must die
die "Miscellaneous error"