aboutsummaryrefslogtreecommitdiffstats
path: root/www/netscape-wrapper
diff options
context:
space:
mode:
authorknu <knu@FreeBSD.org>2000-05-09 03:02:55 +0800
committerknu <knu@FreeBSD.org>2000-05-09 03:02:55 +0800
commit251ba3936497784ff97a346a7c76535351ea537b (patch)
treedb9287c9c29947bfa4daaaf3c53c9194695603db /www/netscape-wrapper
parent9bee617a1010aa8b7af9cf513e8d1b8cdcb3e24b (diff)
downloadfreebsd-ports-gnome-251ba3936497784ff97a346a7c76535351ea537b.tar.gz
freebsd-ports-gnome-251ba3936497784ff97a346a7c76535351ea537b.tar.zst
freebsd-ports-gnome-251ba3936497784ff97a346a7c76535351ea537b.zip
This is a new wrapper for netscape 4.x, which utilizes netscape's
remote control method on demand. That means, invoking netscape when it's already running will just open a new window without a 'lock file exists' alert. :) Do not install this port if you already have a netscape installed, or you will get ${PREFIX}/bin/netscape overwritten! Try reinstalling the netscape port after the following commit of mine. Obtained from: RedHat Linux
Diffstat (limited to 'www/netscape-wrapper')
-rw-r--r--www/netscape-wrapper/Makefile24
-rw-r--r--www/netscape-wrapper/files/netscape.sh168
-rw-r--r--www/netscape-wrapper/pkg-comment1
-rw-r--r--www/netscape-wrapper/pkg-descr13
-rw-r--r--www/netscape-wrapper/pkg-plist1
5 files changed, 207 insertions, 0 deletions
diff --git a/www/netscape-wrapper/Makefile b/www/netscape-wrapper/Makefile
new file mode 100644
index 000000000000..a023ec9ec946
--- /dev/null
+++ b/www/netscape-wrapper/Makefile
@@ -0,0 +1,24 @@
+# New ports collection makefile for: netscape-wrapper
+# Date created: 3 May 2000
+# Whom: Akinori MUSHA aka knu <knu@idaemons.org>
+#
+# $FreeBSD$
+#
+
+PORTNAME= netscape-wrapper
+PORTVERSION= 2000.05.07
+CATEGORIES= www
+MASTER_SITES= # none
+DISTFILES= # none
+
+MAINTAINER= knu@FreeBSD.org
+
+RUN_DEPENDS= netscape-remote:${PORTSDIR}/www/netscape-remote
+
+NO_WRKSUBDIR= yes
+NO_BUILD= yes
+
+do-install:
+ ${INSTALL_SCRIPT} ${FILESDIR}/netscape.sh ${PREFIX}/bin/netscape
+
+.include <bsd.port.mk>
diff --git a/www/netscape-wrapper/files/netscape.sh b/www/netscape-wrapper/files/netscape.sh
new file mode 100644
index 000000000000..db9d3e38dac3
--- /dev/null
+++ b/www/netscape-wrapper/files/netscape.sh
@@ -0,0 +1,168 @@
+#!/bin/sh
+#
+# Netscape Wrapper
+# (c) 1998,1999 Dave Cinege, H. Peter Anvin, and Red Hat, Inc.
+# 2000 Akinori MUSHA <knu@FreeBSD.org>, modified for FreeBSD.
+#
+# $FreeBSD$
+#
+
+prefix=$(dirname $(dirname $0))
+
+lockfile=$HOME/.netscape/lock
+defs="-irix-session-management"
+defsrem="-irix-session-management -noraise -remote"
+b_opt="openBrowser"
+
+netscape=$prefix/bin/netscape.run
+
+if [ -x $prefix/bin/netscape-remote ]; then
+ netscape_remote=$prefix/bin/netscape-remote
+else
+ netscape_remote=$netscape
+fi
+
+netscape_bin=""
+
+for f in $prefix/lib/netscape*/*.bin
+do
+ if [ -x $f ]; then
+ netscape_bin=$f
+ break
+ fi
+done
+
+if [ "$netscape_bin" = "" ]; then
+ echo "You don't seem to have netscape installed."
+ exit 1
+fi
+
+export TZ=:/etc/localtime
+
+# Exterminate zombie netscapes, and wipe stale lock file.
+killstale () {
+ whoami=`whoami`
+
+ ps uw | while read user pid pcpu pmem vsz rss tt stat started time command args
+ do
+ [ "$user" != "$whoami" -o "$command" != "$netscape_bin" ] && continue
+
+ { kill -INT $pid && kill -QUIT $pid && kill -TERM $pid && \
+ sleep 2 && kill -KILL $pid ; } >/dev/null 2>&1
+ done
+
+ [ -L $lockfile ] && rm $lockfile
+
+ return 0
+}
+
+# Try calling existing netscape process with functions, else start one.
+newbrowser () {
+ [ $# -gt 0 ] && url=`echo $@ | sed 's/\ -[^ ]*//g; s/\( | \)*//'`
+ if [ -L $lockfile ]; then
+ if [ "$url" = "" ]; then
+ $netscape_remote $defsrem "xfeDoCommand($b_opt)" "$@" 2>/dev/null || \
+ { killstale && exec $netscape $defs $cl_opt "$@" ; }
+ else
+ $netscape_remote $defsrem "openURL($url, new-window)" 2>/dev/null || \
+ { killstale && exec $netscape $defs "$@" ; }
+ fi
+ else
+ if [ "$url" = "" ]; then
+ [ ${rerun:=0} -eq 1 ] && { sleep 3; $netscape_remote $defsrem "xfeDoCommand($b_opt)" '$@' 2>/dev/null ; } &
+ exec $netscape $defs $cl_opt "$@"
+ else
+ exec $netscape $defs "$@"
+ fi
+ fi
+}
+
+newopt () {
+ opt="$1"
+ shift
+
+ case "$opt" in
+ "+news"|"+discussions") b_opt="openNewsgroups" ; cl_opt="-discussions" ;;
+ "+mail"|"+messenger") b_opt="openInbox" ; cl_opt="-messenger" ;;
+ "+edit"|"+composer") b_opt="openEditor" ; cl_opt="-composer" ;;
+ "+addr"|"+addresses") b_opt="openAddrBook" ; cl_opt="-messenger -iconic" ; rerun=1 ;;
+ "+hist"|"+history") b_opt="openHistory" ; cl_opt="-iconic" ; rerun=1 ;;
+ "+book"|"+bookmarks") b_opt="openBookmarks" ; cl_opt="-iconic" ; rerun=1 ;;
+ "+mailto") b_opt="composeMessage" ; cl_opt="-messenger -iconic" ; rerun=1 ;;
+ "+component-bar") b_opt="toggleTaskbar" ; cl_opt="-component-bar";;
+ esac
+
+ newbrowser "$@"
+}
+
+oldopt () {
+ exec $netscape $defs "$@"
+}
+
+usage () {
+ echo ""
+ echo "Netscape Wrapper"
+ echo " (c) 1998,1999 Dave Cinege, H. Peter Anvin, and Red Hat, Inc."
+ echo " 2000 Akinori MUSHA <knu@FreeBSD.org>, modified for FreeBSD."
+ echo ""
+ echo "usage: netscape [ option ]"
+ echo " options:"
+ echo ""
+ echo " [none] Open new browser"
+ echo " [URL] Open new browser with URL"
+ echo " +news | +discussions Show Collabra Discussions"
+ echo " +mail | +messenger Show Messenger Mailbox (INBOX)"
+ echo " +edit | +composer Open Composer"
+ echo " +addr | +addresses Show Address Book"
+ echo " +hist | +history Open History window"
+ echo " +book | +bookmarks Open Bookmarks windowsBook"
+ echo " +mailto Open New Message window"
+ echo " +component-bar Show (detach) Component Lauch Bar"
+ echo " -[option] Passed directly to Netscape binary"
+ echo ""
+ echo "The wrapper first attempts to open the option in a running"
+ echo "netscape. If no netscape is running, one is executed with"
+ echo "the option as the starting window."
+ echo ""
+ echo "Edit the top of this file to set default paths."
+ echo ""
+ echo ""
+ echo "Netscape binary help:"
+ echo ""
+ exec $netscape "-help"
+}
+
+#
+# Fix "locale" problems when printing to postscript
+#
+# If the locale uses a decimal separator other than a point printf
+# will return something other than 1.0
+#
+
+pnt=`printf "%1.1f" 1 2>/dev/null`
+if [ "$pnt" != "1.0" ]; then
+ export LC_NUMERIC=C # Try a "safe" value for LC_NUMERIC.
+
+ pnt=`printf "%1.1f" 1 2>/dev/null`
+ if [ "$pnt" != "1.0" ]; then # LC_ALL is bad.
+ LC_COLLATE=$LC_ALL # Set $LC_ALL for every category except
+ LC_CTYPE=$LC_ALL # LC_NUMERIC, and then unset LC_ALL.
+ LC_MESSAGES=$LC_ALL
+ LC_MONETARY=$LC_ALL
+ LC_TIME=$LC_ALL
+ unset LC_ALL
+ export LC_ALL LC_COLLATE LC_CTYPE LC_MESSAGES LC_MONETARY LC_CTIME
+ fi
+fi
+
+
+# main
+
+case "$1" in
+ -h|-help|--help) usage; exit ;;
+ +*) newopt "$@"; exit ;;
+ -*) oldopt "$@"; exit ;;
+ *) newbrowser "$@"; exit ;;
+esac
+
+echo "An error occurred running $netscape."
diff --git a/www/netscape-wrapper/pkg-comment b/www/netscape-wrapper/pkg-comment
new file mode 100644
index 000000000000..f279514425b1
--- /dev/null
+++ b/www/netscape-wrapper/pkg-comment
@@ -0,0 +1 @@
+Netscape wrapper to avoid multiple invocation and more
diff --git a/www/netscape-wrapper/pkg-descr b/www/netscape-wrapper/pkg-descr
new file mode 100644
index 000000000000..284a082e5fbf
--- /dev/null
+++ b/www/netscape-wrapper/pkg-descr
@@ -0,0 +1,13 @@
+Netscape Wrapper
+ (c) 1998,1999 Dave Cinege, H. Peter Anvin, and Red Hat, Inc.
+ 2000 Akinori MUSHA <knu@FreeBSD.org>, modified for FreeBSD.
+
+This wrapper first attempts to open the option in a running
+netscape. If no netscape is running, one is executed with the option
+as the starting window.
+
+The command line options are extended to allow opening New Messages
+window, Messenger Mailbox, Collabra Disscussions, Composer, and so on.
+
+--
+Akinori MUSHA <knu@FreeBSD.org>
diff --git a/www/netscape-wrapper/pkg-plist b/www/netscape-wrapper/pkg-plist
new file mode 100644
index 000000000000..c5bc755e5588
--- /dev/null
+++ b/www/netscape-wrapper/pkg-plist
@@ -0,0 +1 @@
+bin/netscape