#!/bin/sh

if [ -z "$XDG_CONFIG_HOME" ]; then
    export XDG_CONFIG_HOME="$HOME/.config"
fi

# Ensure the existance of pcmanfm config file
PCMANFM_CONF_DIR="$XDG_CONFIG_HOME/pcmanfm"
if [ ! -f "$PCMANFM_CONF_DIR/default/pcmanfm.conf" ]; then
    mkdir -p "$PCMANFM_CONF_DIR/default"
    cp /usr/share/lxde/pcmanfm/pcmanfm.conf "$PCMANFM_CONF_DIR/default/pcmanfm.conf"
fi

# Ensure the existance of openbox config file
OPENBOX_CONF_DIR="$XDG_CONFIG_HOME/openbox"
if [ ! -f "$OPENBOX_CONF_DIR/lxde-rc.xml" ]; then
    mkdir -p "$OPENBOX_CONF_DIR"
    cp /usr/share/lxde/openbox/rc.xml "$OPENBOX_CONF_DIR/lxde-rc.xml"
fi

# Clean up after GDM (GDM sets the number of desktops to one)
xprop -root -remove _NET_NUMBER_OF_DESKTOPS -remove _NET_DESKTOP_NAMES -remove _NET_CURRENT_DESKTOP 2> /dev/null

# Ensure that LXDE default settings are loaded
LXDE_CONF_DIR="$XDG_CONFIG_HOME/lxde"
if [ ! -f "$LXDE_CONF_DIR/desktop.conf" ]; then
    mkdir -p "$LXDE_CONF_DIR"
    cp /etc/xdg/lxsession/LXDE/desktop.conf "$LXDE_CONF_DIR/desktop.conf"
fi

# Ensure the Desktop folder exist
if [ -e .config/user-dirs.dirs ]; then
   . .config/user-dirs.dirs
else
   XDG_DESKTOP_DIR="$HOME/Desktop"
fi
mkdir -p $XDG_DESKTOP_DIR

# Enable GTK+2 integration for OpenOffice.org, if available.
export SAL_USE_VCLPLUGIN=gtk

# Launch DBus if needed
if which dbus-launch >/dev/null && test -z "$DBUS_SESSION_BUS_ADDRESS"; then
    eval "$(dbus-launch --sh-syntax --exit-with-session)"
fi

# fixed bug bnc#591407
export XDG_MENU_PREFIX="lxde-"

# Start the LXDE session
exec /usr/bin/lxsession -s LXDE -e LXDE
