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: //'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 *PostScript*)56 psv $157 ;;58 *)59 qiv "$@"60 ;;61 esac62 ;;63 esac64 }66 case $# in67 0)68 tmp=/var/tmp/page.$$.tmp69 cat >$tmp70 type=`xfile $tmp`71 case "$type" in72 *troff*)73 mv $tmp $tmp.tr74 tmp=$tmp.tr75 ;;76 *PDF*)77 mv $tmp $tmp.pdf78 tmp=$tmp.pdf79 ;;80 *PS*)81 mv $tmp $tmp.ps82 tmp=$tmp.ps83 ;;84 *PostScript*)85 mv $tmp $tmp.ps86 tmp=$tmp.ps87 ;;88 *postscript*)89 mv $tmp $tmp.ps90 tmp=$tmp.ps91 ;;92 *GIF*)93 mv $tmp $tmp.gif94 tmp=$tmp.gif95 ;;96 *JPG*)97 mv $tmp $tmp.jpg98 tmp=$tmp.jpg99 ;;100 *JPEG*)101 mv $tmp $tmp.jpg102 tmp=$tmp.jpg103 ;;104 *PNG*)105 mv $tmp $tmp.png106 tmp=$tmp.png107 ;;108 *)109 echo 1>&2 page: unrecognized file type on standard input: $type110 rm -f $tmp111 exit 1112 esac113 main $tmp114 if [ `uname` != Darwin ]115 then116 rm -f $tmp117 fi118 ;;119 *)120 main "$@"121 ;;122 esac