#!/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

# Set default profile dir
if test -z "$SUGAR_PROFILE"; then
    export SUGAR_PROFILE=default
fi

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

if gconftool-2 --dir-exists=/desktop/sugar/interface ; 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/local/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}}"

# Set Sugar's telepathy accounts directory
export MC_ACCOUNT_DIR=$HOME/.sugar/$SUGAR_PROFILE/accounts

# Workaround until gnome-keyring-daemon lets dbus activate it
# https://bugzilla.gnome.org/show_bug.cgi?id=628302
if test "$SUGAR_EMULATOR" = "yes" -a "$(type gnome-keyring-daemon)"; then
    gnome-keyring-daemon --components=secrets &
fi

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


if gconftool-2 --dir-exists=/desktop/sugar/peripherals/mouse ; 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
