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 xfile()
26 {
27 if sed 1q "$1" | 9 grep '^x T '
28 then
29 echo 'troff intermediate output'
30 else
31 file - < "$1"
32 fi
33 }
35 main()
36 {
37 case `uname` in
38 Darwin)
39 preview "$@"
40 ;;
41 *)
42 case "`xfile $1`" in
43 *troff*)
44 tr2post "$1" | psfonts | page
45 ;;
46 *PDF*)
47 psv $1
48 ;;
49 *PS*)
50 psv $1
51 ;;
52 *PostScript*)
53 psv $1
54 ;;
55 *)
56 qiv "$@"
57 ;;
58 esac
59 ;;
60 esac
61 }
63 case $# in
64 0)
65 tmp=/var/tmp/page.$$.tmp
66 cat >$tmp
67 case "`xfile $tmp`" in
68 *troff*)
69 mv $tmp $tmp.tr
70 tmp=$tmp.tr
71 ;;
72 *PDF*)
73 mv $tmp $tmp.pdf
74 tmp=$tmp.pdf
75 ;;
76 *PS*)
77 mv $tmp $tmp.ps
78 tmp=$tmp.ps
79 ;;
80 *PostScript*)
81 mv $tmp $tmp.ps
82 tmp=$tmp.ps
83 ;;
84 *GIF*)
85 mv $tmp $tmp.gif
86 tmp=$tmp.gif
87 ;;
88 *JPG*)
89 mv $tmp $tmp.jpg
90 tmp=$tmp.jpg
91 ;;
92 *JPEG*)
93 mv $tmp $tmp.jpg
94 tmp=$tmp.jpg
95 ;;
96 *PNG*)
97 mv $tmp $tmp.png
98 tmp=$tmp.png
99 ;;
100 *)
101 echo 1>&2 page: unrecognized file type on standard input
102 rm -f $tmp
103 exit 1
104 esac
105 main $tmp
106 if [ `uname` != Darwin ]
107 then
108 rm -f $tmp
109 fi
110 ;;
111 *)
112 main "$@"
113 ;;
114 esac