commit 5645c4afff3bfd3f1a92d01a4d31b25c6e5b9d89 from: rsc date: Tue Jan 11 19:23:52 2005 UTC fun with applescript commit - 8bead1099899437fd522244e9ba1c7a287a0cf7a commit + 5645c4afff3bfd3f1a92d01a4d31b25c6e5b9d89 blob - ff1a928dbd1c5db2710c7937f6dece615c6b26f2 blob + f2c4f42e6ee421a3fd0e7528b5684f4cae8d90ef --- bin/9 +++ bin/9 @@ -1,6 +1,6 @@ #!/bin/sh -export PLAN9=/usr/local/plan9 +export PLAN9=/Users/rsc/plan9 export PATH=$PLAN9/bin:$PATH case $# in blob - 3d720b8d5fb219520486690888e71a715ceed6a1 blob + aaad88502027c6a6765d776e5c7d47e4910dac53 --- bin/doctype +++ bin/doctype @@ -1,4 +1,4 @@ -#!/usr/bin/env $PLAN9/bin/rc +#!/usr/bin/env rc # doctype: synthesize proper command line for troff troff=troff blob - /dev/null blob + 6a5f4db6dea520260fae96ccdc69ab98ee2e3bb2 (mode 755) --- /dev/null +++ bin/man @@ -0,0 +1,120 @@ +#!/usr/bin/env rc + +. $PLAN9/man/fonts + +cmd=n +sec=() +S=$PLAN9/man +d=0 + +fn roff { + preproc=() + x=`{doctype $2} + if (~ $1 t) { + if(~ $x *grap*) + preproc=($preproc grap) + if(~ $x *pic*) + preproc=($preproc pic) + Nflag=-Tutf + } + if not { + Nflag=-N + } + if(~ $x *eqn*) + preproc=($preproc eqn) + if(~ $x *tbl*) + preproc=($preproc tbl) + switch($#preproc) { + case 0 + {echo -n $FONTS; cat $2< /dev/null} | troff $Nflag -$MAN + case 1 + {echo -n $FONTS; cat $2< /dev/null} | $preproc | troff $Nflag -$MAN + case 2 + {echo -n $FONTS; cat $2< /dev/null} | $preproc(1) | $preproc(2) | troff $Nflag -$MAN + case 3 + {echo -n $FONTS; cat $2< /dev/null} | $preproc(1) | $preproc(2) | $preproc(3) | | troff $Nflag -$MAN + case * + {echo -n $FONTS; cat $2< /dev/null} | $preproc(1) | $preproc(2) | $preproc(3) | | $preproc(4) | troff $Nflag -$MAN + } +} + +fn page { + if(test -d /mnt/wsys/acme) + /bin/page -w + if not + /bin/page +} + + +while(~ $d 0) { + if(~ $#* 0) { + echo 'Usage: man [-ntp] [-s sec] [0-9] [0-9] ... name1 name2 ...' >[1=2] + exit + } + if(test -d $S/man$1){ + sec=($sec $1) + shift + } + if not switch($1) { + case -t ; cmd=t ; shift + case -n ; cmd=n ; shift + case -p ; cmd=p ; shift + case -P ; cmd=P ; shift + case * ; d=1 + } +} +if(~ $#sec 0) { + sec=`{ls -pd $S/man[0-9]* | sed 's/man//'} +} +ix=$S/man$sec/INDEX +if(~ $#* 1) pat='^'^$1^' ' +if not pat='^('^`{echo $* | 9sed 's/ /|/g'}^') ' +fils=() +for(i in $S/man$sec){ + if(/bin/test -f $i/INDEX){ + try=`{grep $pat $i/INDEX | 9sed 's/^[^ ]* //'} + if(! ~ $#try 0) + fils=($fils $i/$try) + } +} +# bug: should also do following loop if not all pages found +if(~ $#fils 0) { + # nothing in INDEX. try for file of given name + for(i) { + for(n in $sec) { + try=$S/man$n/$i.$n* + if (/bin/test -f $try) + fils=($fils $try) + } + } + if(~ $#fils 0) { + echo 'man: no manual page' >[1=2] + exit 'no man' + } +} +for(i in $fils) { + if(! /bin/test -f $i) + echo need $i >[1=2] + if not { + switch($cmd) { + case t + roff t $i + + case p + roff t $i | proof + + case P + roff t $i |tr2post |psfonts >/tmp/man.$pid.ps + psv /tmp/man.$pid.ps + rm -f /tmp/man.$pid.ps + + case n + roff n $i | 9sed ' + ${ + /^$/p + } + //N + /^\n$/D' + } + } +} blob - /dev/null blob + 28997607aa26af220fcdabc1ed19cabd36d5fcec (mode 755) --- /dev/null +++ bin/page @@ -0,0 +1,53 @@ +#!/bin/sh + +preview() +{ + list="" + pwd=`pwd` + for i in "$@" + do + if [ -n "$list" ] + then + list="$list, " + fi + n=`cleanname -d $pwd $i | sed 's!/!:!g'` + list="$list\"$n\"" + done + # echo run $list + echo 'tell application "Preview" + activate + open {'"$list"'} + end tell' | osascript +} + +case $# in +0) + cat >/var/tmp/page.$$.tmp + *="/var/tmp/page.$$.tmp" + ;; +*) + ;; +esac + +case `uname` in +Darwin) + preview "$@" + ;; +*) + case "`file $1`" in + *PDF*) + psv $1 + ;; + *PS*) + psv $1 + ;; + *PostScript*) + psv $1 + ;; + *) + qiv "$@" + ;; + esac + ;; +esac + blob - 1745df50d7bed56022ba4363935518bfa50c0fea blob + 0aafb76a652e28aa1f3bf13cc63e46279ce22be4 --- bin/web +++ bin/web @@ -1,8 +1,58 @@ #!/bin/sh -plumb1() +plumbfirefox() { - case x-$BROWSER in + 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*) @@ -15,8 +65,8 @@ plumb1() $BROWSER -remote 'openURL('$i',new-tab)' ;; x-) - # run firefox as default! - firefox -remote 'openURL('$i',new-tab)' + BROWSER=firefox + $BROWSER -remote 'openURL('$i',new-tab)' ;; *mozilla*) $BROWSER -remote 'openURL('$i',new-tab)' @@ -27,6 +77,19 @@ plumb1() esac } +plumb1() +{ + case `uname` in + Darwin) + plumbapple "$@" + ;; + *) + plumbunix "$@" + ;; + esac +} + + if [ $# = 0 ] then plumb1 about:blank