#!/bin/sh

SourceIfNotEmpty()
{
    local f="$1"
    shift
    [ -s "$f" ] && . "$f" "$@"
}

OLD_PATH=$PATH
PATH=`echo "$PATH" | sed "s|$HOME/bin|$HOME/bin:/usr/lib/kde4/bin|"`
[ "$PATH" != "$OLD_PATH" ] || PATH="/usr/lib/kde4/bin:$PATH"
export PATH

[ -n "$XDG_CONFIG_DIRS" ] || export XDG_CONFIG_DIRS=/etc/kde4/xdg:/etc/xdg
[ -n "$XDG_DATA_DIRS" ] || export XDG_DATA_DIRS=/usr/share/kde4:/usr/share

# Make sure that D-Bus is running
# D-Bus autolaunch is broken
if test -z "$DBUS_SESSION_BUS_ADDRESS" ; then
    eval `dbus-launch --sh-syntax --exit-with-session`
fi
if qdbus-qt4 >/dev/null 2>/dev/null; then
    : # ok
else
    echo 'startkde: Could not start D-Bus. Can you call qdbus?'  1>&2
    exit 1
fi

SourceIfNotEmpty /etc/kde4/current/startkde

USER_DIR_DOCUMENTS=`xdg-user-dir DOCUMENTS 2>/dev/null`
[ -n "$USER_DIR_DOCUMENTS" ] || USER_DIR_DOCUMENTS="$HOME/Documents"
if ! [ -e "$USER_DIR_DOCUMENTS"/.directory ] ; then
    mkdir -p "$USER_DIR_DOCUMENTS"
    echo -e "[Desktop Entry]\nIcon=folder-green"  > "$USER_DIR_DOCUMENTS"/.directory
fi

# Set the path for Qt plugins provided by KDE
QT_PLUGIN_PATH=${QT_PLUGIN_PATH+$QT_PLUGIN_PATH:}`kde4-config --path qtplugins`
export QT_PLUGIN_PATH

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

KDE_SESSION_VERSION=4
export KDE_SESSION_VERSION
xprop -root -f KDE_SESSION_VERSION 32c -set KDE_SESSION_VERSION 4

KDE_SESSION_UID=`id -ru`
export KDE_SESSION_UID

if [ -n "$STARTACTIVE_MODULES_LIST" ] ; then
    startactive.bin --modules "$STARTACTIVE_MODULES_LIST"
else
    startactive.bin
fi
