Blob
1 #!/bin/sh3 # BUG - Should clean up $tmp but how to know when viewer is done?5 preview()6 {7 list=""8 pwd=`pwd`9 for i in "$@"10 do11 if [ -n "$list" ]12 then13 list="$list, "14 fi15 n=`cleanname -d $pwd $i | sed 's!/!:!g'`16 list="$list\"$n\""17 done18 # echo run $list19 echo 'tell application "Preview"20 activate21 open {'"$list"'}22 end tell' | osascript23 }25 xfile()26 {27 if sed 1q "$1" | 9 grep '^x T '28 then29 echo 'troff intermediate output'30 else31 file - < "$1"32 fi33 }35 main()36 {37 case `uname` in38 Darwin)39 preview "$@"40 ;;41 *)42 case "`xfile $1`" in43 *troff*)44 tr2post "$1" | psfonts | page45 ;;46 *PDF*)47 psv $148 ;;49 *PS*)50 psv $151 ;;52 *PostScript*)53 psv $154 ;;55 *)56 qiv "$@"57 ;;58 esac59 ;;60 esac61 }63 case $# in64 0)65 tmp=/var/tmp/page.$$.tmp66 cat >$tmp67 case "`xfile $tmp`" in68 *troff*)69 mv $tmp $tmp.tr70 tmp=$tmp.tr71 ;;72 *PDF*)73 mv $tmp $tmp.pdf74 tmp=$tmp.pdf75 ;;76 *PS*)77 mv $tmp $tmp.ps78 tmp=$tmp.ps79 ;;80 *PostScript*)81 mv $tmp $tmp.ps82 tmp=$tmp.ps83 ;;84 *GIF*)85 mv $tmp $tmp.gif86 tmp=$tmp.gif87 ;;88 *JPG*)89 mv $tmp $tmp.jpg90 tmp=$tmp.jpg91 ;;92 *JPEG*)93 mv $tmp $tmp.jpg94 tmp=$tmp.jpg95 ;;96 *PNG*)97 mv $tmp $tmp.png98 tmp=$tmp.png99 ;;100 *)101 echo 1>&2 page: unrecognized file type on standard input102 rm -f $tmp103 exit 1104 esac105 main $tmp106 if [ `uname` != Darwin ]107 then108 rm -f $tmp109 fi110 ;;111 *)112 main "$@"113 ;;114 esac