#!/bin/sh
# modified pwin, pwin written by cory@car.washington.edu
case $# in
    0)	set x -; shift;;		
esac
(
echo '
    /Border 5 def			% window width
    /SaveGS gstate def			
    /MYWIdth 1120 def			% window width
    /MYHEight 833 def			% window height
       /showpage {				% showpage waits for mouse then clears
	gsave
	SaveGS setgstate		% restore initial state for clear
	%
	0 Box				% darken border
	20 MYHEight Border  sub moveto
	%
	1 setgray			% use white paint ...
	0 0 MYWIdth MYHEight rectfill	% ... and clear the screen
	1 3 div Box			% lighten border
	grestore
	} def
    /erasepage {showpage} def		% some docs use copypage+showpage
    /Box {				% draw window border box
	gsave
	setgray
	Border 2 mul setlinewidth
	0 0 moveto
	0 MYHEight rlineto
	MYWIdth 0 rlineto
	MYWIdth 0 lineto
	0 0 lineto
	stroke
	grestore
	} def
    /MYWIn 0 0 MYWIdth MYHEight Nonretained window def
    Above frontwindow MYWIn orderwindow
    MYWIn windowdeviceround
    1 3 div Box
    SaveGS currentgstate pop
    '
# now, for each file (or just once for stdin)
for FILE in ${1+"$@"}; do
    echo '
	SaveGS setgstate		% setup initial state
	'
    cat $FILE || kill -9 0
    done
# now display the interrupt to quit message
echo '
    SaveGS setgstate			% restore initial state for clear
    0 Box
    20 MYHEight Border sub moveto
    '
sleep 10000
) | pft
