#!/bin/sh

# This is the helper script for configuring the fake KDE session used by ALICE to launch the owned session.

userresources=$HOME/.Xresources
usermodmap=$HOME/.Xmodmap
sysresources=/usr/lib/X11/xinit/.Xresources
sysmodmap=/usr/lib/X11/xinit/.Xmodmap

# If is needed to shutdown the fake KDE...
if [ "$1" = "-stop" ]; then
    dcopquit kwin
    dcopserver_shutdown --wait

#    unset KDE_FULL_SESSION
#    xprop -root -remove KDE_FULL_SESSION

    exit 0
fi

# Configure the X session and start the DCOP server and KWin

# merge in defaults and keymaps

if [ -f $sysresources ]; then
    /usr/bin/xrdb -merge $sysresources
fi

if [ -f $sysmodmap ]; then
    /usr/bin/xmodmap $sysmodmap
fi

if [ -f $userresources ]; then
    /usr/bin/xrdb -merge $userresources
fi

if [ -f $usermodmap ]; then
    /usr/bin/xmodmap $usermodmap
fi

kdehome=$HOME/.kde

test -n "$KDEHOME" && kdehome=`echo "$KDEHOME"|sed "s,^~/,$HOME/,"`

mkdir -m 700 -p $kdehome
mkdir -m 700 -p $kdehome/share
mkdir -m 700 -p $kdehome/share/config

# Link "tmp" resource to directory in /tmp
# Creates a directory /tmp/kde-$USER and links $KDEHOME/tmp-$HOSTNAME to it.
lnusertemp tmp >/dev/null

# Link "socket" resource to directory in /tmp
# Creates a directory /tmp/ksocket-$USER and links $KDEHOME/socket-$HOSTNAME to it.
lnusertemp socket >/dev/null

# Link "cache" resource to directory in /var/tmp
# Creates a directory /var/tmp/kdecache-$USER and links $KDEHOME/cache-$HOSTNAME to it.
lnusertemp cache >/dev/null

# Configure the X desktop
/usr/bin/xsetroot -solid "#5971A5" -cursor_name left_ptr

# Start the DCOP server
/usr/bin/dcopserver

# Start the KWin
/usr/bin/kwin --lock &

# Export the KDE_FULL_SESSION
#KDE_FULL_SESSION=true

#export KDE_FULL_SESSION
#xprop -root -f KDE_FULL_SESSION 8t -set KDE_FULL_SESSION true

# A little sleep
sleep 1

exit 0
