File browser of Package xfig

#!/bin/bash
#
#  browser script
#
#  Copyright (c) 2004 SuSE Linux AG, Nuernberg, Germany.
#  Copyright (c) 2007 SuSE LINUX Products GmbH, Nuernberg, Germany
#  Copyright (c) 2004, 2007 Werner Fink
#
#  Author: Werner Fink

prog=""
for p in	\
    firefox	\
    Mozilla	\
    mozilla	\
    konqueror	\
    opera	\
    amaya	\
    Netscape	\
    netscape	\
    Mosaic	\
    mosaic
do
    prog=$(type -p $p) && break
done

test -n "$prog" || { echo "${0##*/}: no web browser found" 1>&2; exit 1; }

cmd="openBrowser"
open="openURL"
for opt in $@ ; do
    case "$opt" in
    http://*|https://*|www.*)
	url=$opt
	;;
    file:/*|*/*.htm|*/*.html)
	url=$opt
	open="openFile"
	;;
    ftp://*|*/*.htmls)
	url=$opt
	;;
    *.htm|*.html|*.htmls)
	url=$PWD/$opt
	;;
    -discussions|-news)
	cmd=openNewsgroups
	;;
    -messenger|-mail)
	cmd=openInbox
	;;
    -composer|-edit)
	cmd=composeMessage
	;;
    -component-bar)
	cmd=toggleTaskbar
	;;
    -remote|-help)
	cmd=""; url="";
	break
	;;
    esac
done

case "${prog##*/}" in
[nN]etscape|[Mm]ozilla)
    ret=0
    if   test -n "$url" ; then
	$prog -noraise -remote "xfeDoCommand(openBrowser)" &> /dev/null && \
	$prog -remote "$open($url)"
	ret=$?
    elif test -n "$cmd" ; then
	$p -noraise -remote "xfeDoCommand($cmd)" &> /dev/null
	ret=$?
    fi
    test $ret -eq 0 && exit 0
    ;;
firefox)
    ret=0
    if   test -n "$url" ; then
	$prog -remote "$open($url,new-window)"
	ret=$?
    elif test -n "$cmd" ; then
	echo "${prog##*/} does not support $cmd"
	exit 1
    fi
    test $ret -eq 0 && exit 0
esac

# You are at your own
exec -a $prog $prog ${1+"$@"}