#! /bin/sh
display="$DISPLAY"
header=
bsdlprv=
lprv=
out=
svlprv=
trailer=
xprv=
xwdv=
usage="Usage: xdpr [filename] [-out filename ] \
[-display host:display] [[-Pprinter] | [-dprinter]] [-device devtype] \
[{-root | -id <id> | -name <name>}] [-nobdrs] [-xy] \
[-scale scale] [-height inches] [-width inches] [-left inches] \
[-top inches] [-split n] [-header string] [-trailer string] \
[-landscape] [-portrait] [-rv] [-compact] [-noff] [-frame] \
[-plane number] [-gray number] [-psfig] [-density dpi] \
[-cutoff level] [-noposition] [-gamma correction] [-render algorithm] \
[-slide] [-add value] [-help]"
if [ -x /usr/ucb/lpr -o -x /usr/bin/lpr -o -x /bin/lpr -o -x /usr/bsd/lpr ]
then
LP=lpr
BSD=1
elif [ -x /usr/bin/lp -o -x /bin/lp ]
then
LP=lp
BSD=0
else
LP=lpr
BSD=1
fi
while [ $1 ]; do
case "$1" in
-help)
echo $usage;
exit 0;;
-nobdrs|-root|-xy|-frame)
xwdv="$xwdv $1";;
-display)
display=$2
xwdv="$xwdv $1 $2";
shift;;
-id|-name)
xwdv="$xwdv $1 $2";
shift;;
-out|-add)
out=true
xwdv="$xwdv $1 $2";
shift;;
-scale|-height|-width|-left|-top|-split|-device)
xprv="$xprv $1 $2";
shift;;
-plane|-gray|-density|-cutoff|-gamma|-render)
xprv="$xprv $1 $2";
shift;;
-header)
shift;
header="$1";;
-trailer)
shift;
trailer="$1";;
-landscape|-portrait|-rv|-compact|-noff|-psfig|-noposition|-slide)
xprv="$xprv $1";;
-P*|- bsdlprv="$lprv $1";;
-d*|-H*|-q*|-n*|-o*|-w)
svlprv="$svlprv $1";;
-*)
echo "xdpr: Unknown option $1";
echo $usage;
exit 1;;
*)
if [ ! "$infile" ]; then
infile=true
xprv="$xprv $1"
else
echo "xdpr: Invalid argument "$1""
echo $usage
exit 1
fi
esac
shift
done
if [ ! "$display" ]; then
echo "xdpr: DISPLAY variable must be set or a display specified."
exit
fi
if [ $BSD -eq 0 ]
then
lprv=$svlprv
else
lprv=$bsdlprv
fi
if [ "$out" -a "$infile" ]; then
echo "xdpr: -out <filename> cannot be used if an input file is also specified."
exit 0
fi
if [ "$out" ]; then
if [ "$xprv" -o "$lprv" ]; then
echo "xdpr: The following arguments will be ignored:"
echo $xprv $lprv
fi
xwd $xwdv
exit 0
fi
if [ "$infile" ]; then
if [ "$xwdv" ]; then
echo "xdpr: The following arguments will be ignored:"
echo $xwdv
fi
xpr -header "$header" -trailer "$trailer" $xprv | $LP $lprv
exit 0
fi
xwd $xwdv | xpr -header "$header" -trailer "$trailer" $xprv | $LP $lprv
exit 0