Репозиторий ALT Linux backports/2.4
Последнее обновление: 9 июля 2008 | Пакетов: 497 | Посещений: 1578195
 поиск   регистрация   авторизация 
 
Группа :: Сети/WWW
Пакет: mozilla

 Главная   Изменения   Спек   Патчи   Загрузить   Bugs and FR 

Патч: mozilla-1.7-alt-run-mozilla.patch


--- mozilla/build/unix/run-mozilla.sh.run-mozilla	2003-12-15 20:27:28 +0300
+++ mozilla/build/unix/run-mozilla.sh	2004-07-08 02:14:22 +0400
@@ -69,6 +69,10 @@ MOZ_DEFAULT_NAME="./${cmdname}-bin"
 MOZ_APPRUNNER_NAME="./mozilla-bin"
 MOZ_VIEWER_NAME="./viewer"
 MOZ_PROGRAM=""
+MOZ_CLIENT_PROGRAM="${MOZ_DIST_BIN}/mozilla-xremote-client"
+
+ALREADY_RUNNING=""
+RUNS=""
 
 exitcode=0
 #
@@ -155,6 +159,68 @@ moz_get_debugger()
 	return 0
 }
 ##########################################################################
+check_running() {
+    #$MOZ_CLIENT_PROGRAM 'ping()' 2>/dev/null >/dev/null
+    RETURN_VAL=$(pidof $MOZ_PROGRAM)
+    if [ -z "$RETURN_VAL" ]; then
+      echo 0
+      return 0
+    else
+      echo 1
+      return 1
+    fi
+}
+##########################################################################
+open_mail() {
+  if [ "${ALREADY_RUNNING}" -eq "1" ]; then
+	RUNS="$MOZ_CLIENT_PROGRAM xfeDoCommand(openInbox)"
+  else 
+	RUNS="$MOZ_PROGRAM $*"
+  fi
+}
+##########################################################################
+open_compose() {
+  if [ "${ALREADY_RUNNING}" -eq "1" ]; then
+	RUNS="$MOZ_CLIENT_PROGRAM xfeDoCommand(composeMessage)"
+  else
+	RUNS="$MOZ_PROGRAM $*"
+  fi
+}
+##########################################################################
+open_browser() {
+  # 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
+	RUNS="$MOZ_CLIENT_PROGRAM xfeDoCommand(openBrowser)"
+  fi
+
+  if [ "${ALREADY_RUNNING}" -eq "1" ] && [ -z "$RUNS" ]; then
+	echo $1 | grep -e '^-' 2>/dev/null > /dev/null
+	RETURN_VAL=$?
+	[ "${RETURN_VAL}" -eq "0" ] && RUNS="$prog ${1+"$@"}"
+
+	# check to make sure that the command contains at least a :/ in it.
+	if [ -z "$RUNS" ]; then
+	  echo $1 | 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
+		opt=$1
+		echo $opt | grep -e '^/' 2>/dev/null > /dev/null
+		RETURN_VAL=$?
+		if [ "${RETURN_VAL}" -ne "0" ] && [ -e "$(pwd)/$opt" ]; then
+		  opt="$(pwd)/$opt"
+		fi
+		RUNS="$MOZ_CLIENT_PROGRAM openurl($opt)"
+	  else
+		# just pass it off if it looks like a url
+		RUNS="$MOZ_CLIENT_PROGRAM openurl($1,new-tab)"
+	  fi
+	fi
+  fi
+}
+##########################################################################
 moz_run_program()
 {
 	prog=$MOZ_PROGRAM
@@ -191,7 +257,20 @@ moz_run_program()
 	##
 	## Run the program
 	##
-	"$prog" ${1+"$@"}
+	ALREADY_RUNNING=$(check_running)
+	RUNS=
+
+	if   [ "$1" = "-mail" ]; then
+	    open_mail ${1+"$@"}
+	elif [ "$1" = "-compose" ]; then
+	    open_compose ${1+"$@"}
+	else
+	    open_browser $*
+	fi
+
+	[ -n "$RUNS" ] || RUNS="$prog ${1+"$@"}"
+
+	$RUNS
 	exitcode=$?
 	if [ "$DEBUG_CORE_FILES" ]
 	then
 
design & coding: Vladimir Lettiev aka crux © 2004-2005