Blob


1 #!/bin/sh
3 # 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 do
11 if [ -n "$list" ]
12 then
13 list="$list, "
14 fi
15 n=`cleanname -d $pwd $i | sed 's!/!:!g'`
16 list="$list\"$n\""
17 done
18 # echo run $list
19 echo 'tell application "Preview"
20 activate
21 open {'"$list"'}
22 end tell' | osascript
23 }
25 main()
26 {
27 case `uname` in
28 Darwin)
29 preview "$@"
30 ;;
31 *)
32 case "`file $1`" in
33 *PDF*)
34 psv $1
35 ;;
36 *PS*)
37 psv $1
38 ;;
39 *PostScript*)
40 psv $1
41 ;;
42 *)
43 qiv "$@"
44 ;;
45 esac
46 ;;
47 esac
48 }
50 case $# in
51 0)
52 tmp=/var/tmp/page.$$.tmp
53 cat >$tmp
54 case "`file $tmp`" in
55 *PDF*)
56 mv $tmp $tmp.pdf
57 tmp=$tmp.pdf
58 ;;
59 *PS*)
60 mv $tmp $tmp.ps
61 tmp=$tmp.ps
62 ;;
63 *PostScript*)
64 mv $tmp $tmp.ps
65 tmp=$tmp.ps
66 ;;
67 *GIF*)
68 mv $tmp $tmp.gif
69 tmp=$tmp.gif
70 ;;
71 *JPG*)
72 mv $tmp $tmp.jpg
73 tmp=$tmp.jpg
74 ;;
75 *JPEG*)
76 mv $tmp $tmp.jpg
77 tmp=$tmp.jpg
78 ;;
79 *PNG*)
80 mv $tmp $tmp.png
81 tmp=$tmp.png
82 ;;
83 *)
84 echo 1>&2 unrecognized file format
85 rm -f $tmp
86 exit 1
87 esac
88 main $tmp
89 if [ `uname` != Darwin ]
90 then
91 rm -f $tmp
92 fi
93 ;;
94 *)
95 main "$@"
96 ;;
97 esac