#!/bin/bash
# File:        etoys
# Author:      Bert Freudenberg
# Description: Script to start the Squeak VM binary 
#              with the etoys.image

# Part copied from /usr/bin/squeak in package squeak-vm. ~lfaraone 2010-04-14
VM_VERSION=`find /usr/lib/squeak/ -name "squeakvm" -type f|cut -f5 -d"/"`
SQ_DIR=/usr/lib/squeak/$VM_VERSION
if [ ! -n "$SQUEAK" ]
then
    VM="$SQ_DIR/squeakvm"
else
    VM="$SQUEAK"
fi

# End part.
VMOPTIONS="-encoding UTF-8 -vm-display-x11 -xshm"
IMAGE="/usr/share/etoys/etoys.image"
IMOPTIONS=""
ALTIMG=`echo /media/*/olpc-dev/etoys.image`
DOCUMENT=""

[ -z "$SQUEAK_SECUREDIR" ] && export SQUEAK_SECUREDIR="$HOME/.etoys/private"
[ -z "$SQUEAK_USERDIR" ] && export SQUEAK_USERDIR="$HOME/.etoys/sandbox"

[ ! -d "$SQUEAK_SECUREDIR" ] && mkdir -p "$SQUEAK_SECUREDIR" && chmod 700 "$SQUEAK_SECUREDIR"
[ ! -d "$SQUEAK_USERDIR" ] && mkdir -p "$SQUEAK_USERDIR"

if [ -r "$ALTIMG" ] ; then
  echo Using alternate image "$ALTIMG"
  IMAGE="$ALTIMG"
  export SQUEAK_USERDIR=`dirname $ALTIMG`
fi

while [ -n "$1" ] ; do
	if [ -z "$2" ] ; then
		echo Usage: $0 [-opt value] [arg value]
		exit -1
	fi
	case "$1" in
	        --document)
			case "$2" in
			    /*) DOCUMENT="$2"
				;;
			    *) DOCUMENT="$PWD/$2"
				;;
			esac
 			shift
			;;
		-*) VMOPTIONS="$VMOPTIONS $1 $2"
			shift
			;;
		*)  IMOPTIONS="$IMOPTIONS $1 $2"
			shift
			;;
	esac
	shift
done

# VM, Image, and Document are non-optional
# Document has to be present even if empty
export DBUS_FATAL_WARNINGS=0
echo "$VM" $VMOPTIONS "$IMAGE" "$DOCUMENT" $IMOPTIONS
exec "$VM" $VMOPTIONS "$IMAGE" "$DOCUMENT" $IMOPTIONS
