aboutsummaryrefslogtreecommitdiff
path: root/bin/web
blob: cfc0ab9e2be2d1c0108b6af9c764275afd6ad9bc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
#!/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
}

plumbapple()
{
	case ${BROWSER:-none} in
	firefox)
		plumbfirefox "$@"
		;;
	safari)
		plumbsafari "$@"
		;;
	none)
		if [ -d /Applications/Firefox.app ]
		then
			plumbfirefox "$@"
		else
			plumbsafari "$@"
		fi
		;;
	esac
}

plumbunix()
{
	case "${BROWSER:=firefox}" in
	# Other browsers here
	# ...
	*opera*)
		$BROWSER -remote 'openURL('"$i"',new-page)'
		;;
	*firebird*)
		$BROWSER -remote 'openURL('"$i"',new-window)'
		;;
	*firefox*)
		$BROWSER -remote 'openURL('"$i"',new-tab)' ||
		$BROWSER "$i"
		;;
	*mozilla*)
		$BROWSER -remote 'openURL('"$i"',new-tab)' ||
		$BROWSER "$i"
		;;
	esac
}

plumb1()
{
	case `uname` in
	Darwin)
		plumbapple "$@"
		;;
	*)
		plumbunix "$@"
		;;
	esac
}


if [ $# = 0 ]
then
	plumb1 about:blank
else
	for i
	do
		if [ -f "$i" ]
		then
			p=`pwd`
			i=`echo $i | sed 's/ /%20/g'`
			i=`cleanname -d $p $i`
			i=file://$i
		else
			i=`echo $i | tr -d ' '`
		fi
		plumb1 $i
	done
fi

case $BROWSER in
*opera*)
	$BROWSER -remote 'raise()'
esac