aboutsummaryrefslogtreecommitdiff
path: root/bin
diff options
context:
space:
mode:
authorrsc <devnull@localhost>2005-01-11 19:35:27 +0000
committerrsc <devnull@localhost>2005-01-11 19:35:27 +0000
commitacb19305872582d8faeb178962ed940f511ca0ae (patch)
treebe6d5737d04476687288927499133833b188b204 /bin
parent5645c4afff3bfd3f1a92d01a4d31b25c6e5b9d89 (diff)
downloadplan9port-acb19305872582d8faeb178962ed940f511ca0ae.tar.gz
plan9port-acb19305872582d8faeb178962ed940f511ca0ae.tar.bz2
plan9port-acb19305872582d8faeb178962ed940f511ca0ae.zip
more fun with macs
Diffstat (limited to 'bin')
-rwxr-xr-xbin/page81
1 files changed, 63 insertions, 18 deletions
diff --git a/bin/page b/bin/page
index 28997607..d654a7e8 100755
--- a/bin/page
+++ b/bin/page
@@ -1,5 +1,7 @@
#!/bin/sh
+# BUG - Should clean up $tmp but how to know when viewer is done?
+
preview()
{
list=""
@@ -20,34 +22,77 @@ preview()
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)
- cat >/var/tmp/page.$$.tmp
- *="/var/tmp/page.$$.tmp"
- ;;
-*)
- ;;
-esac
-
-case `uname` in
-Darwin)
- preview "$@"
- ;;
-*)
- case "`file $1`" in
+ tmp=/var/tmp/page.$$.tmp
+ cat >$tmp
+ case "`file $tmp`" in
*PDF*)
- psv $1
+ mv $tmp $tmp.pdf
+ tmp=$tmp.pdf
;;
*PS*)
- psv $1
+ mv $tmp $tmp.ps
+ tmp=$tmp.ps
;;
*PostScript*)
- psv $1
+ mv $tmp $tmp.ps
+ tmp=$tmp.ps
;;
- *)
- qiv "$@"
+ *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 unrecognized file format
+ rm -f $tmp
+ exit 1
esac
+ main $tmp
+ if [ `uname` != Darwin ]
+ then
+ rm -f $tmp
+ fi
+ ;;
+*)
+ main "$@"
;;
esac