plan9port/bin/web
2006-06-25 23:49:10 +00:00

112 lines
1.5 KiB
Bash
Executable file

#!/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('"$@"',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