#!/bin/sh # BUG - Should clean up $tmp but how to know when viewer is done? 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 } main() { case `uname` in Darwin) preview "$@" ;; *) case "`file $1`" in *PDF*) psv $1 ;; *PS*) psv $1 ;; *PostScript*) psv $1 ;; *) qiv "$@" ;; esac ;; esac } case $# in 0) tmp=/var/tmp/page.$$.tmp cat >$tmp case "`file $tmp`" in *PDF*) mv $tmp $tmp.pdf tmp=$tmp.pdf ;; *PS*) mv $tmp $tmp.ps tmp=$tmp.ps ;; *PostScript*) mv $tmp $tmp.ps tmp=$tmp.ps ;; *GIF*) mv $tmp $tmp.gif tmp=$tmp.gif ;; *JPG*) mv $tmp $tmp.jpg tmp=$tmp.jpg ;; *JPEG*) mv $tmp $tmp.jpg tmp=$tmp.jpg ;; *PNG*) mv $tmp $tmp.png tmp=$tmp.png ;; *) echo 1>&2 page: unrecognized file type on standard input rm -f $tmp exit 1 esac main $tmp if [ `uname` != Darwin ] then rm -f $tmp fi ;; *) main "$@" ;; esac