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 main()26 {27 case `uname` in28 Darwin)29 preview "$@"30 ;;31 *)32 case "`file $1`" in33 *PDF*)34 psv $135 ;;36 *PS*)37 psv $138 ;;39 *PostScript*)40 psv $141 ;;42 *)43 qiv "$@"44 ;;45 esac46 ;;47 esac48 }50 case $# in51 0)52 tmp=/var/tmp/page.$$.tmp53 cat >$tmp54 case "`file $tmp`" in55 *PDF*)56 mv $tmp $tmp.pdf57 tmp=$tmp.pdf58 ;;59 *PS*)60 mv $tmp $tmp.ps61 tmp=$tmp.ps62 ;;63 *PostScript*)64 mv $tmp $tmp.ps65 tmp=$tmp.ps66 ;;67 *GIF*)68 mv $tmp $tmp.gif69 tmp=$tmp.gif70 ;;71 *JPG*)72 mv $tmp $tmp.jpg73 tmp=$tmp.jpg74 ;;75 *JPEG*)76 mv $tmp $tmp.jpg77 tmp=$tmp.jpg78 ;;79 *PNG*)80 mv $tmp $tmp.png81 tmp=$tmp.png82 ;;83 *)84 echo 1>&2 page: unrecognized file type on standard input85 rm -f $tmp86 exit 187 esac88 main $tmp89 if [ `uname` != Darwin ]90 then91 rm -f $tmp92 fi93 ;;94 *)95 main "$@"96 ;;97 esac