#!/bin/sh

if [ "$(id -u)" -eq 0 -o "$(id -ru)" -eq 0 ] ; then
	echo Refusing to run as root.
	exit 3
fi

usage() {
    cat <<EOF
Usage: sugar [OPTION]..

Start Sugar window manager.

Optional arguments.
  -d, --display DISPLAY     Display to start sugar
  -s, --scaling SCALING     Scale Sugar theme
                            Supported values: 72, 100
EOF
    exit 0
}

while [ $# -ne 0 ] ; do
    case "$1" in
      	-d | --display)
            shift
            export DISPLAY="$1"
            ;;
      	-s | --scaling)
            shift
            export SUGAR_SCALING="$1"
            ;;
      	-h | --help)
            usage
            ;;
    esac
    shift
done

if test -z "$SUGAR_SCALING"; then
    export SUGAR_SCALING=100
fi

# Set theme
gconftool-2 --dir-exists=/desktop/sugar/interface
EXIST_GCONF_SUGAR_CONFIG=$(echo $?)
if [[ $EXIST_GCONF_SUGAR_CONFIG == 0 ]]; then
    THEME=$(gconftool-2 --get /desktop/sugar/interface/gtk_theme);
    if [[ $THEME == 'sugar-contrast' ]]; then
        GTK2_THEME="sugar-$SUGAR_SCALING-contrast"
    else
        GTK2_THEME="sugar-$SUGAR_SCALING"
    fi
else
    GTK2_THEME="sugar-$SUGAR_SCALING"
fi

export GTK2_RC_FILES="/usr/share/sugar/data/$GTK2_THEME.gtkrc"

# Needed for executing wpa_passphrase
export PATH="$PATH":/sbin:/usr/sbin

if ! test -f "$GTK2_RC_FILES"; then
    echo "sugar: ERROR: Gtk theme for scaling $SUGAR_SCALING not available in path $GTK2_RC_FILES"
    exit 1
fi

# Set default language
export LANG="${LANG:-en_US.utf8}"
export LANGUAGE="${LANGUAGE:-${LANG}}"

# Source language settings and debug definitions
if [ -f ~/.i18n ]; then
        . ~/.i18n
fi
if [ -f ~/.sugar/debug ]; then
        . ~/.sugar/debug
fi


# Set cursor theme
gconftool-2 --dir-exists=/desktop/sugar/peripherals/mouse
EXIST_SUGAR_CURSOR_THEME=$(echo $?)
if [[ $EXIST_SUGAR_CURSOR_THEME == 0 ]]; then
    CURSOR_THEME=$(gconftool-2 --get /desktop/sugar/peripherals/mouse/cursor_theme);
else
    CURSOR_THEME="sugar"
fi


echo Xcursor.theme: $CURSOR_THEME | xrdb -merge
metacity --no-force-fullscreen -d $DISPLAY &

[ -x /usr/bin/pulseaudio ] && /usr/bin/pulseaudio &

exec sugar-session
