#!/bin/sh # # The contents of this file are subject to the Netscape Public # License Version 1.1 (the "License"); you may not use this file # except in compliance with the License. You may obtain a copy of # the License at http://www.mozilla.org/NPL/ # # Software distributed under the License is distributed on an "AS # IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or # implied. See the License for the specific language governing # rights and limitations under the License. # # The Original Code is mozilla.org code. # # The Initial Developer of the Original Code is Netscape # Communications Corporation. Portions created by Netscape are # Copyright (C) 1998 Netscape Communications Corporation. All # Rights Reserved. # # Contributor(s): # ## ## Usage: ## ## $ mozilla ## ## This script is meant to run a mozilla program from the mozilla ## rpm installation. ## ## The script will setup all the environment voodoo needed to make ## mozilla work. cmdname=`basename $0` ## don't leave any core files around ulimit -c 0 ## ## Variables ## MOZ_DIST_BIN="LIBDIR/seamonkey-MOZILLA_VERSION" MOZ_PROGRAM="LIBDIR/seamonkey-MOZILLA_VERSION/seamonkey" MOZ_CLIENT_PROGRAM="LIBDIR/seamonkey-MOZILLA_VERSION/mozilla-xremote-client -a seamonkey" MOZ_EXTENSIONS_DIR="$MOZ_DIST_BIN/extensions" ## ## Set MOZILLA_FIVE_HOME ## MOZILLA_FIVE_HOME="LIBDIR/seamonkey-MOZILLA_VERSION" export MOZILLA_FIVE_HOME ## ## Select the propper plugin dir ## Wrapped plug-ins are located in /lib/mozilla/plugins-wrapped ## if [ -x "/usr/bin/mozilla-plugin-config" ] then MOZ_PLUGIN_DIR="plugins-wrapped" else MOZ_PLUGIN_DIR="plugins" fi ## ## Set LD_LIBRARY_PATH ## if [ "$LD_LIBRARY_PATH" ] then LD_LIBRARY_PATH=LIBDIR/seamonkey-MOZILLA_VERSION:LIBDIR/seamonkey-MOZILLA_VERSION/plugins:$LD_LIBRARY_PATH else LD_LIBRARY_PATH=LIBDIR/seamonkey-MOZILLA_VERSION:LIBDIR/seamonkey-MOZILLA_VERSION/plugins fi export LD_LIBRARY_PATH ## ## Make sure that we set the plugin path for backwards compatibility ## if [ "$MOZ_PLUGIN_PATH" ] then MOZ_PLUGIN_PATH=$MOZ_PLUGIN_PATH:LIBDIR/mozilla/$MOZ_PLUGIN_DIR:LIBDIR/seamonkey-MOZILLA_VERSION/plugins else MOZ_PLUGIN_PATH=LIBDIR/mozilla/$MOZ_PLUGIN_DIR:LIBDIR/seamonkey-MOZILLA_VERSION/plugins fi export MOZ_PLUGIN_PATH ## ## Set MOZ_APP_LAUNCHER for gnome-session ## export MOZ_APP_LAUNCHER="/usr/bin/seamonkey" ## ## Set MOZ_ENABLE_PANGO is no longer used because Pango is enabled by default ## you may use MOZ_DISABLE_PANGO=1 to force disabling of pango ## #MOZ_DISABLE_PANGO=1 #export MOZ_DISABLE_PANGO ## ## Disable the GNOME crash dialog, Moz has it's own ## GNOME_DISABLE_CRASH_DIALOG=1 export GNOME_DISABLE_CRASH_DIALOG function check_running() { $MOZ_CLIENT_PROGRAM 'ping()' 2>/dev/null >/dev/null RETURN_VAL=$? if [ "$RETURN_VAL" -eq "2" ]; then echo 0 return 0 else echo 1 return 1 fi } function open_mail() { if [ "${ALREADY_RUNNING}" -eq "1" ]; then exec $MOZ_CLIENT_PROGRAM 'xfeDoCommand(openInbox)' \ 2>/dev/null >/dev/null else exec $MOZ_PROGRAM $* fi } function open_compose() { if [ "${ALREADY_RUNNING}" -eq "1" ]; then exec $MOZ_CLIENT_PROGRAM 'xfeDoCommand(composeMessage)' \ 2>/dev/null >/dev/null else exec $MOZ_PROGRAM $* fi } # OK, here's where all the real work gets done # check to see if there's an already running instance or not ALREADY_RUNNING=`check_running` # If there is no command line argument at all then try to open a new # window in an already running instance. if [ "${ALREADY_RUNNING}" -eq "1" ] && [ -z "$1" ]; then exec $MOZ_CLIENT_PROGRAM "xfeDoCommand(openBrowser)" 2>/dev/null >/dev/null fi # check system locale MOZARGS= # Try without a local variant first, then with a local variant # So that pt-BR doesn't try to use pt for example SHORTMOZLOCALE=`echo $LC_MESSAGES | sed "s|_\([^.]*\).*||g"` [ -f $MOZ_EXTENSIONS_DIR/langpack-${SHORTMOZLOCALE}@seamonkey.mozilla.org/chrome/$SHORTMOZLOCALE.jar ] && MOZARGS="-UILocale $SHORTMOZLOCALE" MOZLOCALE=`echo $LC_MESSAGES | sed "s|_\([^.]*\).*|-\1|g"` [ -f $MOZ_EXTENSIONS_DIR/langpack-${MOZLOCALE}@seamonkey.mozilla.org/chrome/$MOZLOCALE.jar ] && MOZARGS="-UILocale $MOZLOCALE" # if there's no command line argument and there's not a running # instance then just fire up a new copy of the browser if [ -z "$1" ]; then exec $MOZ_PROGRAM $MOZARGS 2>/dev/null >/dev/null fi unset RETURN_VAL # If there's a command line argument but it doesn't begin with a - # it's probably a url. Try to send it to a running instance. USE_EXIST=0 opt="$1" case "$opt" in -mail) open_mail ${1+"$@"} ;; -compose) open_compose ${1+"$@"} ;; -*) ;; *) USE_EXIST=1 ;; esac if [ "${USE_EXIST}" -eq "1" ] && [ "${ALREADY_RUNNING}" -eq "1" ]; then # check to make sure that the command contains at least a :/ in it. echo $opt | grep -e ':/' 2>/dev/null > /dev/null RETURN_VAL=$? if [ "$RETURN_VAL" -eq "1" ]; then # if it doesn't begin with a '/' and it exists when the pwd is # prepended to it then append the full path echo $opt | grep -e '^/' 2>/dev/null > /dev/null if [ "${RETURN_VAL}" -ne "0" ] && [ -e "`pwd`/$opt" ]; then opt="`pwd`/$opt" fi exec $MOZ_CLIENT_PROGRAM "openurl($opt)" 2>/dev/null >/dev/null fi # just pass it off if it looks like a url exec $MOZ_CLIENT_PROGRAM "openurl($opt,new-window)" 2>/dev/null >/dev/null fi exec $MOZ_PROGRAM $MOZARGS ${1+"$@"}