#!/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 | |