#!/bin/sh
# Xsession - run as user

# redirect errors to a file in user's home directory if we can
for errfile in "$HOME/.xsession-errors" "${TMPDIR-/tmp}/xses-$USER" "/tmp/xses-$USER"
do
	if ( cp /dev/null "$errfile" 2> /dev/null )
	then
		chmod 600 "$errfile"
		exec > "$errfile" 2>&1
		break
	fi
done

test -f $HOME/.xprofile && . $HOME/.xprofile

sess="$1"
shift

case "$sess" in
    failsafe)
	exec xterm -geometry 80x24-0-0 $*
	;;
    ""|default)
	exec $HOME/.xsession $*
	;;
esac

# start windowmanager
type "$sess" >/dev/null 2>&1 && exec "$sess" $*
type "start$sess" >/dev/null 2>&1 && exec "start$sess" $*
type "$sess-session" >/dev/null 2>&1 && exec "$sess-session" $*
sess=`echo "$sess" | tr A-Z a-z`
type "$sess" >/dev/null 2>&1 && exec "$sess" $*
type "start$sess" >/dev/null 2>&1 && exec "start$sess" $*
type "$sess-session" >/dev/null 2>&1 && exec "$sess-session" $*

# windowmanager not found, tell user
exec xmessage -center -buttons OK:0 -default OK "Sorry, $sess not found."
