186d7f5d3SJohn Marino#!/bin/sh 286d7f5d3SJohn Marino# 386d7f5d3SJohn Marino# make-ps-header - make a PostScript header page on stdout 486d7f5d3SJohn Marino# Installed in /usr/local/libexec/make-ps-header 586d7f5d3SJohn Marino# 686d7f5d3SJohn Marino 786d7f5d3SJohn Marino# 886d7f5d3SJohn Marino# These are PostScript units (72 to the inch). Modify for A4 or 986d7f5d3SJohn Marino# whatever size paper you are using: 1086d7f5d3SJohn Marino# 1186d7f5d3SJohn Marinopage_width=612 1286d7f5d3SJohn Marinopage_height=792 1386d7f5d3SJohn Marinoborder=72 1486d7f5d3SJohn Marino 1586d7f5d3SJohn Marino# 1686d7f5d3SJohn Marino# Check arguments 1786d7f5d3SJohn Marino# 1886d7f5d3SJohn Marinoif [ $# -ne 3 ]; then 1986d7f5d3SJohn Marino echo "Usage: `basename $0` <user> <host> <job>" 1>&2 2086d7f5d3SJohn Marino exit 1 2186d7f5d3SJohn Marinofi 2286d7f5d3SJohn Marino 2386d7f5d3SJohn Marino# 2486d7f5d3SJohn Marino# Save these, mostly for readability in the PostScript, below. 2586d7f5d3SJohn Marino# 2686d7f5d3SJohn Marinouser=$1 2786d7f5d3SJohn Marinohost=$2 2886d7f5d3SJohn Marinojob=$3 2986d7f5d3SJohn Marinodate=`date` 3086d7f5d3SJohn Marino 3186d7f5d3SJohn Marino# 3286d7f5d3SJohn Marino# Send the PostScript code to stdout. 3386d7f5d3SJohn Marino# 3486d7f5d3SJohn Marinoexec cat <<EOF 3586d7f5d3SJohn Marino%!PS 3686d7f5d3SJohn Marino 3786d7f5d3SJohn Marino% 3886d7f5d3SJohn Marino% Make sure we do not interfere with user's job that will follow 3986d7f5d3SJohn Marino% 4086d7f5d3SJohn Marinosave 4186d7f5d3SJohn Marino 4286d7f5d3SJohn Marino% 4386d7f5d3SJohn Marino% Make a thick, unpleasant border around the edge of the paper. 4486d7f5d3SJohn Marino% 4586d7f5d3SJohn Marino$border $border moveto 4686d7f5d3SJohn Marino$page_width $border 2 mul sub 0 rlineto 4786d7f5d3SJohn Marino0 $page_height $border 2 mul sub rlineto 4886d7f5d3SJohn Marinocurrentscreen 3 -1 roll pop 100 3 1 roll setscreen 4986d7f5d3SJohn Marino$border 2 mul $page_width sub 0 rlineto closepath 5086d7f5d3SJohn Marino0.8 setgray 10 setlinewidth stroke 0 setgray 5186d7f5d3SJohn Marino 5286d7f5d3SJohn Marino% 5386d7f5d3SJohn Marino% Display user's login name, nice and large and prominent 5486d7f5d3SJohn Marino% 5586d7f5d3SJohn Marino/Helvetica-Bold findfont 64 scalefont setfont 5686d7f5d3SJohn Marino$page_width ($user) stringwidth pop sub 2 div $page_height 200 sub moveto 5786d7f5d3SJohn Marino($user) show 5886d7f5d3SJohn Marino 5986d7f5d3SJohn Marino% 6086d7f5d3SJohn Marino% Now show the boring particulars 6186d7f5d3SJohn Marino% 6286d7f5d3SJohn Marino/Helvetica findfont 14 scalefont setfont 6386d7f5d3SJohn Marino/y 200 def 6486d7f5d3SJohn Marino[ (Job:) (Host:) (Date:) ] { 6586d7f5d3SJohn Marino 200 y moveto show /y y 18 sub def 6686d7f5d3SJohn Marino} forall 6786d7f5d3SJohn Marino 6886d7f5d3SJohn Marino/Helvetica-Bold findfont 14 scalefont setfont 6986d7f5d3SJohn Marino/y 200 def 7086d7f5d3SJohn Marino[ ($job) ($host) ($date) ] { 7186d7f5d3SJohn Marino 270 y moveto show /y y 18 sub def 7286d7f5d3SJohn Marino} forall 7386d7f5d3SJohn Marino 7486d7f5d3SJohn Marino% 7586d7f5d3SJohn Marino% That is it 7686d7f5d3SJohn Marino% 7786d7f5d3SJohn Marinorestore 7886d7f5d3SJohn Marinoshowpage 7986d7f5d3SJohn MarinoEOF 80