#!/bin/sh

URL="$1"

if test -n "$BROWSER"; then
    OLDIFS="$IFS"
    IFS=:
    for i in $BROWSER; do
	case "$i" in
	    (*sensible-browser*)
	    printf 'Using sensible-browser in $BROWSER makes no sense.\n' >&2
	    exit 1
	    ;;
	    (*%s*)
	    :
	    ;;
	    (*)
	    i="$i %s"
	    ;;
	esac
        IFS="$OLDIFS"
        cmd=$(printf "$i\n" "$URL")
        $cmd && exit 0
    done
    printf 'None of the browsers in $BROWSER worked!\n' >&2
    exit 1
fi

if test -n "$DISPLAY"; then
    if test -n "$GNOME_DESKTOP_SESSION_ID"; then
        if test -x /usr/bin/gnome-www-browser; then
            exec /usr/bin/gnome-www-browser ${URL:+"$URL"}
        elif test -x /usr/bin/x-www-browser; then
            exec /usr/bin/x-www-browser ${URL:+"$URL"}
        elif test -x /usr/bin/gnome-terminal && test -x /usr/bin/www-browser; then
            exec /usr/bin/gnome-terminal -e "/usr/bin/www-browser ${URL:+\"$URL\"}"
        fi
    fi
    if test -x /usr/bin/x-www-browser; then
        exec /usr/bin/x-www-browser ${URL:+"$URL"}
    elif test -x /usr/bin/x-terminal-emulator && test -x /usr/bin/www-browser; then
        exec /usr/bin/x-terminal-emulator -e /usr/bin/www-browser ${URL:+"$URL"}
    fi
elif test -x /usr/bin/www-browser; then
    exec /usr/bin/www-browser ${URL:+"$URL"}
fi

printf "Couldn't find a suitable web browser!\n" >&2
printf "Set the BROWSER environment variable to your desired browser.\n" >&2
exit 1;
