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 9 file < "$1" | sed 's/stdin: //' | tr A-Z a-z32 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 type=`xfile $tmp`68 case "$type" in69 *troff*)70 mv $tmp $tmp.tr71 tmp=$tmp.tr72 ;;73 *pdf*)74 mv $tmp $tmp.pdf75 tmp=$tmp.pdf76 ;;77 *gif*)78 mv $tmp $tmp.gif79 tmp=$tmp.gif80 ;;81 *jpg*)82 mv $tmp $tmp.jpg83 tmp=$tmp.jpg84 ;;85 *jpeg*)86 mv $tmp $tmp.jpg87 tmp=$tmp.jpg88 ;;89 *png*)90 mv $tmp $tmp.png91 tmp=$tmp.png92 ;;93 *postscript*)94 mv $tmp $tmp.ps95 tmp=$tmp.ps96 ;;97 *postscript*)98 mv $tmp $tmp.ps99 tmp=$tmp.ps100 ;;101 *ps*)102 mv $tmp $tmp.ps103 tmp=$tmp.ps104 ;;105 *)106 echo 1>&2 page: unrecognized file type on standard input: $type107 rm -f $tmp108 exit 1109 esac110 main $tmp111 if [ `uname` != Darwin ]112 then113 rm -f $tmp114 fi115 ;;116 *)117 main "$@"118 ;;119 esac