xref: /plan9/sys/lib/lp/process/testpost (revision 7dd7cddf99dd7472612f1413b4da293630e6b1bc)
1#!/bin/rc
2if (! ~ $DEBUG '') flag x +
3PATCH='%%Patch from lp'
4switch ($LPCLASS) {
5case *hp4simx*;
6	PATCH=$PATCH'
7%% set the default papertray to be the lower tray for HP4siMX printers
8	statusdict begin defaultpapertray end 1 ne {
9		statusdict begin
10			1 setdefaultpapertray
11		end
12	} if'
13}
14for (i in `{echo $IBIN|awk -F, '{ n=split($0, a, ","); for (i=1;i<=n;i++) print a[i]; }'}) {
15	switch ($i) {
16	case -P*;
17	case man manual manualfeed;
18		PATCH=$PATCH'
19%%BeginFeature: *Select InputSlot
20[{
21 systemdict /languagelevel known {languagelevel 1 gt product (HP LaserJet 4Si) ne and} if {
22   (<<) cvx exec
23     /ManualFeed true
24   (>>) cvx exec setpagedevice
25 } {statusdict begin /manualfeed true def end} ifelse
26} stopped cleartomark
27%%EndFeature'
28	case simplex;
29		DUPLEX=0
30	case [0-9];
31		PATCH=$PATCH'
32%%BeginFeature: *Select InputSlot
33[{
34 systemdict /languagelevel known {languagelevel 1 gt product (HP LaserJet 4Si) ne and} if {
35	<< '$i' << /MediaType (tray'$i') >> >>
36    << /MediaType (tray'$i') >> setpagedevice
37 } {statusdict begin '$i' setpapertray end} ifelse
38} stopped cleartomark
39%%EndFeature'
40	case 11x17 ledger;
41		PATCH=$PATCH'
42%%BeginFeature: *Select InputMedia
43[{
44 systemdict /languagelevel known {languagelevel 1 gt product (HP LaserJet 4Si) ne and} if {
45   (<<) cvx exec
46     /MediaType '$i'
47   (>>) cvx exec setpagedevice
48 } {statusdict begin '$i'tray end} ifelse
49} stopped cleartomark
50%%EndFeature'
51	case *;
52		echo illegal option ''''-i $i'''' ignored >[1=2]
53	}
54}
55if (! ~ $#DUPLEX 0) {
56	switch ($DUPLEX) {
57	case 0;
58		DUPLEX=false
59	case 1;
60		DUPLEX=true
61	}
62	PATCH=$PATCH'
63%%BeginFeature: *Set DuplexMode
64[{ systemdict /languagelevel known {languagelevel 1 gt product (HP LaserJet 4Si) ne and} if {
65    << /Duplex '$DUPLEX'  >> setpagedevice
66  } {statusdict /setduplexmode known {statusdict begin '$DUPLEX' setduplexmode end} if} ifelse
67 } stopped cleartomark
68%%EndFeature'
69}
70PATCH=$PATCH'
71%%EndPatch from lp
72'
73
74echo $PATCH; cat
75