| #!/bin/sh | 
 |  | 
 | plumbfirefox() | 
 | { | 
 | 	echo ' | 
 | 		tell application "Firefox" | 
 | 		activate | 
 | 		tell application "System Events" | 
 | 		tell process "firefox" | 
 | 		keystroke "t" using {command down} | 
 | 		end tell | 
 | 		end tell | 
 | 		Get URL "'$1'" | 
 | 		end tell | 
 | 	' | osascript | 
 | } | 
 |  | 
 | plumbsafari() | 
 | { | 
 | 	echo ' | 
 | 		tell application "Safari" | 
 | 		activate | 
 | 		tell application "System Events" | 
 | 		tell process "safari" | 
 | 		keystroke "t" using {command down} | 
 | 		end tell | 
 | 		end tell | 
 | 		open location "'$1'" | 
 | 		end tell | 
 | 	' | osascript | 
 | } | 
 |  | 
 | plumbcamino() | 
 | { | 
 | 	echo ' | 
 | 		tell application "Camino" | 
 | 		activate | 
 | 		tell application "System Events" | 
 | 		tell process "camino" | 
 | 		keystroke "t" using {command down} | 
 | 		end tell | 
 | 		end tell | 
 | 		Get URL "'$1'" | 
 | 		end tell | 
 | 	' | osascript | 
 | } | 
 |  | 
 | plumbapple() | 
 | { | 
 | 	case ${BROWSER:-none} in | 
 | 	firefox) | 
 | 		plumbfirefox "$@" | 
 | 		;; | 
 | 	safari) | 
 | 		plumbsafari "$@" | 
 | 		;; | 
 | 	camino) | 
 | 		plumbcamino "$@" | 
 | 		;; | 
 | 	none) | 
 | 		if [ -d /Applications/Camino.app ] | 
 | 		then | 
 | 			plumbcamino "$@" | 
 | 		elif [ -d /Applications/Firefox.app ] | 
 | 		then | 
 | 			plumbfirefox "$@" | 
 | 		else | 
 | 			plumbsafari "$@" | 
 | 		fi | 
 | 		;; | 
 | 	esac | 
 | } | 
 |  | 
 | plumbunix() | 
 | { | 
 | 	case "${BROWSER:=firefox}" in | 
 | 	# Other browsers here | 
 | 	# ... | 
 | 	*opera*) | 
 | 		$BROWSER -remote 'openURL('"$@"',new-page)' | 
 | 		;; | 
 | 	*firebird*) | 
 | 		$BROWSER -remote 'openURL('"$@"',new-window)' | 
 | 		;; | 
 | 	*firefox*) | 
 | 		$BROWSER -remote 'openURL('"$@"',new-tab)' || | 
 | 		$BROWSER "$@" | 
 | 		;; | 
 | 	*mozilla*) | 
 | 		$BROWSER -remote 'openURL('"$@"',new-tab)' || | 
 | 		$BROWSER "$@" | 
 | 		;; | 
 | 	esac | 
 | } | 
 |  | 
 | plumb1() | 
 | { | 
 | 	case `uname` in | 
 | 	Darwin) | 
 | 		plumbapple "$@" | 
 | 		;; | 
 | 	*) | 
 | 		plumbunix "$@" | 
 | 		;; | 
 | 	esac | 
 | } | 
 |  | 
 |  | 
 | if [ $# = 0 ] | 
 | then | 
 | 	plumb1 about:blank | 
 | else | 
 | 	for i in "$@" | 
 | 	do | 
 | 		if [ -f "$i" ] | 
 | 		then | 
 | 			p=`pwd | sed 's/ /%20/g'` | 
 | 			i=`echo $i | sed 's/ /%20/g'` | 
 | 			i=`cleanname -d "$p" "$i"` | 
 | 			i=file://$i | 
 | 		else | 
 | 			i=`echo $i | tr -d ' '` | 
 | 		fi | 
 | 		echo p "$i" | 
 | 		plumb1 $i | 
 | 	done | 
 | fi | 
 |  | 
 | case $BROWSER in | 
 | *opera*) | 
 | 	$BROWSER -remote 'raise()' | 
 | esac | 
 |  |