aboutsummaryrefslogtreecommitdiff
path: root/bin/page
diff options
context:
space:
mode:
Diffstat (limited to 'bin/page')
-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