#!/bin/sh

### Written by Dag Wieers <dag@wieers.com>
### Please send suggestions and fixes to me.

MOZ_APP_NAME="firefox"
MOZILLA_FIVE_HOME="/usr/lib/firefox"
MOZ_PROGRAM="$MOZILLA_FIVE_HOME/firefox"

LD_LIBRARY_PATH="$MOZILLA_FIVE_HOME:$MOZILLA_FIVE_HOME/plugins${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}"
MOZ_PLUGIN_PATH="$MOZILLA_FIVE_HOME/plugins:/usr/lib/mozilla/plugins${MOZ_PLUGIN_PATH:+:$MOZ_PLUGIN_PATH}"
FONTCONFIG_PATH="/etc/fonts:$MOZILLA_FIVE_HOME/res/Xft"
export FONTCONFIG_PATH LD_LIBRARY_PATH MOZ_PLUGIN_PATH MOZILLA_FIVE_HOME

MOZARGS=""
MOZLOCALE="$(echo $LANG | sed 's|_\([^.]*\).*|-\1|g')"
[ -f "$MOZILLA_FIVE_HOME/chrome/$MOZLOCALE.jar" ] && MOZARGS="-UILocale $MOZLOCALE"

$MOZ_PROGRAM -a firefox -remote 'ping()' &>/dev/null
RUNNING=$?
[ $? -eq 2 ] && RUNNING=0

REMOTE=0
METHOD="new-window"

while [ "$1" ]; do
	case "$1" in
#	  -mail|-email)
#		if [ $RUNNING -eq 0 -a $REMOTE -ne 1 ]; then
#			MOZARGS="-remote xfeDoCommand(openInbox) $MOZARGS"
#			REMOTE=1
#		fi;;
#	  -compose|-editor)
#		if [ $RUNNING -eq 0 -a $REMOTE -ne 1 ]; then
#			MOZARGS="-remote xfeDoCommand(composeMessage) $MOZARGS"
#			REMOTE=1
#		fi;;
#	  -safemode)
#		FONTCONFIG_PATH=""
#		MOZLOCALE="en_US"
#		LD_LIBRARY_PATH="$MOZILLA_FIVE_HOME${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}"
#		MOZ_PLUGIN_PATH=""
#		RUNNING=1
#		MOZARGS="-P safemode"
#		MOZ_PROGRAM="ltrace -o firefox-ltrace -S -f $MOZ_PROGRAM-bin"
#		HOME="/tmp/dag"
#		rm -rf $HOME; mkdir -p $HOME
#		export FONTCONFIG_PATH LD_LIBRARY_PATH MOZ_PLUGIN_PATH HOME
#		;;
	  -remote)
		if [ $REMOTE -ne 1 ]; then
			MOZARGS="-remote $2 $MOZARGS"
			REMOTE=1
		fi
		shift;;
	  -profile|-profile-manager)
		MOZARGS="$MOZARGS -profilemanager"
		REMOTE=1
		;;
	  -t|-tab)
		METHOD="new-tab"
		;;
	  -*)
		MOZARGS="$MOZARGS $1"
		;;
	  *)
		if [ -e "$PWD/$1" ]; then
			URL="file://$PWD/$1"
		elif [ -e "$1" ]; then
			URL="file://$1"
		else
			URL="$1"
		fi;;
	esac
	shift
done

if [ -z "$URL" ]; then URL="about:blank"; fi

if [ $RUNNING -eq 0 -a $REMOTE -ne 1 ]; then
        exec $MOZ_PROGRAM -a $MOZ_APP_NAME $MOZARGS -remote "openURL($URL,$METHOD)"
fi      

exec $MOZ_PROGRAM -a $MOZ_APP_NAME $MOZARGS $URL
