#!/bin/sh
#
# Script de lancement d'un navigateur suivant son mode.
#

DEFAULT_URL="http://cixi:8080"
DEFAULT_OPT="-geometry +0+0"

GRAPHIC_BROWSERS="mozilla netscape konqueror"
TEXT_BROWSERS="w3m links lynx"
BROWSERS_LIST=""
BROWSER=""
URL=""
OPTS=""
WAIT=18

DEBUG=0


# Mode texte ou graphique ?
#
if [ "$DISPLAY" = "" ]; then
  BROWSERS_LIST=$TEXT_BROWSERS
else
  BROWSERS_LIST=$GRAPHIC_BROWSERS
fi


# Détermination du navigateur lancé ou d'un navigateur dispo
#
for nav in $BROWSERS_LIST; do
  exist=`which $nav | grep "/"`
  if [ "$exist" != "" ]; then
    running=`ps aux | grep $USER | grep $nav | grep -v grep | head -n 1`
    if [ "$BROWSER" = "" -o "$running" != "" ]; then
      BROWSER=$nav
    fi
  fi
done
running=`ps aux | grep $USER | grep $BROWSER | grep -v grep | head -n 1`


# Détermination de l'URL utilisée
#
if [ "$1" != "" ]; then
  URL="$1"
else
  URL="$DEFAULT_URL"
fi


if [ $DEBUG = 1 ]; then
  echo "Navigateur : $BROWSER"
  echo "Lancé      : $running"
  echo "URL        : $URL"
fi


# Création de la ligne de commande en fonction de l'URL et de l'état &
# lancement du navigateur
#
if [ "$URL" != "" ]; then
  if [ "$BROWSERS_LIST" = "$GRAPHIC_BROWSERS" ]; then
    if [ "$running" != "" ]; then
      $BROWSER -geometry +0+0 -noraise -remote "openURL($URL, new-window)" &
    else
      $BROWSER -geometry +0+0 -no-about-splash $URL &
      sleep $WAIT
    fi
  else
    $BROWSER $URL
  fi
else
  if [ "$BROWSERS_LIST" = "$GRAPHIC_BROWSERS" ]; then
    if [ "$running" != "" ]; then
      $BROWSER -geometry +0+0 -noraise -remote "openURL()" &
    else
      $BROWSER -geometry +0+0 &
      sleep $WAIT
    fi
  else
    $BROWSER
  fi
fi
