#!/bin/sh

prefix="/usr/X11R6"
exec_prefix="${prefix}"
xrdb="/usr/X11R6/bin/xrdb"
xinitdir="/etc/X11/xinit"
xclock="/usr/X11R6/bin/xclock"
xterm="/usr/X11R6/bin/xterm"
twm="/usr/X11R6/bin/fvwm"
xmodmap="/usr/X11R6/bin/xmodmap"
xconsole="/usr/X11R6/bin/xconsole"

userresources="$HOME/.Xresources"
usermodmap="$HOME/.Xmodmap"
sysresources="$xinitdir/.Xresources"
sysmodmap="$xinitdir/.Xmodmap"

# merge in defaults and keymaps

if [ -f "$sysresources" ]; then
    if [ -x /usr/bin/cpp ] ; then
        "$xrdb" -merge "$sysresources"
    else
        "$xrdb" -nocpp -merge "$sysresources"
    fi
fi

if [ -f "$sysmodmap" ]; then
    "$xmodmap" "$sysmodmap"
fi

if [ -f "$userresources" ]; then
    if [ -x /usr/bin/cpp ] ; then
        "$xrdb" -merge "$userresources"
    else
        "$xrdb" -nocpp -merge "$userresources"
    fi
fi

if [ -f "$usermodmap" ]; then
    "$xmodmap" "$usermodmap"
fi

# if we have private ssh key(s), start ssh-agent and add the key(s)
if [ -z "$SSH_AGENT_PID" ] && [ -x /usr/bin/ssh-agent ]; then
    for k in id_rsa id_ecdsa id_ecdsa_sk id_ed25519 id_ed25519_sk id_dsa; do
        if [ -f "$HOME/.ssh/$k" ]; then
            eval `ssh-agent -s`
            ssh-add < /dev/null
            break
        fi
    done
fi

# start some nice programs

if [ -d "$xinitdir"/xinitrc.d ] ; then
	for f in "$xinitdir/xinitrc.d"/?*.sh ; do
		[ -x "$f" ] && . "$f"
	done
	unset f
fi
"$xclock" -geometry 50x50-1+1 &
"$xconsole" -iconic &
"$xterm" -geometry 80x24 &

"$twm" || "$xterm" 
if [ "$SSH_AGENT_PID" ]; then
        ssh-add -D < /dev/null
        eval `ssh-agent -s -k`
fi

