xref: /plan9/sys/lib/lp/process/post (revision 0cbf10f5d18a93e2940d4a689d731d8150e9847e)
13e12c5d1SDavid du Colombier#!/bin/rc
2219b2ee8SDavid du Colombierif (! ~ $DEBUG '') flag x +
37dd7cddfSDavid du ColombierPATCH='%!PS
47dd7cddfSDavid du Colombier%%Patch from lp'
57dd7cddfSDavid du Colombierswitch ($LPCLASS) {
67dd7cddfSDavid du Colombiercase *hp4simx*;
77dd7cddfSDavid du Colombier	PATCH=$PATCH'
87dd7cddfSDavid du Colombier%% set the default papertray to be the lower tray for HP4siMX printers
97dd7cddfSDavid du Colombier	statusdict begin defaultpapertray end 1 ne {
107dd7cddfSDavid du Colombier		statusdict begin
117dd7cddfSDavid du Colombier			1 setdefaultpapertray
127dd7cddfSDavid du Colombier		end
137dd7cddfSDavid du Colombier	} if'
147dd7cddfSDavid du Colombier}
153e12c5d1SDavid du Colombierfor (i in `{echo $IBIN|awk -F, '{ n=split($0, a, ","); for (i=1;i<=n;i++) print a[i]; }'}) {
163e12c5d1SDavid du Colombier	switch ($i) {
173e12c5d1SDavid du Colombier	case -P*;
183e12c5d1SDavid du Colombier	case man manual manualfeed;
193e12c5d1SDavid du Colombier		PATCH=$PATCH'
207dd7cddfSDavid du Colombier%%BeginFeature: *Select ManualFeed
217dd7cddfSDavid du Colombier[{ systemdict /languagelevel known {languagelevel 1 gt product (HP LaserJet 4Si) ne and} if {
227dd7cddfSDavid du Colombier    << /ManualFeed true >> setpagedevice
237dd7cddfSDavid du Colombier   } {statusdict begin /manualfeed true def end} ifelse
247dd7cddfSDavid du Colombier } stopped cleartomark
257dd7cddfSDavid du Colombier%%EndFeature'
263e12c5d1SDavid du Colombier	case simplex;
273e12c5d1SDavid du Colombier		DUPLEX=0
283e12c5d1SDavid du Colombier	case [0-9];
293e12c5d1SDavid du Colombier		PATCH=$PATCH'
307dd7cddfSDavid du Colombier%%BeginFeature: *Select InputTray
317dd7cddfSDavid du Colombier[{ systemdict /languagelevel known {languagelevel 1 gt product (HP LaserJet 4Si) ne and} if {
327dd7cddfSDavid du Colombier	<< '$i' << /MediaType (tray'$i') >> >>
337dd7cddfSDavid du Colombier    << /MediaType (tray'$i') >> setpagedevice
347dd7cddfSDavid du Colombier   } {statusdict begin '$i' setpapertray end} ifelse
357dd7cddfSDavid du Colombier } stopped cleartomark
367dd7cddfSDavid du Colombier%%EndFeature'
377dd7cddfSDavid du Colombier	case 11x17 [Ll]edger;
383e12c5d1SDavid du Colombier		PATCH=$PATCH'
397dd7cddfSDavid du Colombier%%BeginFeature: *Select Ledger
407dd7cddfSDavid du Colombier[{ systemdict /languagelevel known {languagelevel 1 gt product (HP LaserJet 4Si) ne and} if {
417dd7cddfSDavid du Colombier    << /PageSize [792 1224] >> setpagedevice
427dd7cddfSDavid du Colombier   } {statusdict begin '$i'tray end} ifelse
437dd7cddfSDavid du Colombier } stopped cleartomark
447dd7cddfSDavid du Colombier%%EndFeature'
457dd7cddfSDavid du Colombier	case transparency vg viewgraph;
467dd7cddfSDavid du Colombier		PATCH=$PATCH'
477dd7cddfSDavid du Colombier%%BeginFeature: *Select Transparency
487dd7cddfSDavid du Colombier[{ << /MediaType (Transparency) >> setpagedevice
497dd7cddfSDavid du Colombier } stopped cleartomark
507dd7cddfSDavid du Colombier%%EndFeature'
513e12c5d1SDavid du Colombier	case *;
523e12c5d1SDavid du Colombier		echo illegal option ''''-i $i'''' ignored >[1=2]
533e12c5d1SDavid du Colombier	}
543e12c5d1SDavid du Colombier}
557dd7cddfSDavid du Colombier#if (! ~ $#DUPLEX 0) {
567dd7cddfSDavid du Colombier#	if (~ $DUPLEX 1 )
577dd7cddfSDavid du Colombier#		PATCH=$PATCH'
587dd7cddfSDavid du Colombier#statusdict /setduplexmode known {statusdict begin true setduplexmode end} if';
597dd7cddfSDavid du Colombier#	if (~ $DUPLEX 0 )
607dd7cddfSDavid du Colombier#		PATCH=$PATCH'
617dd7cddfSDavid du Colombier#statusdict /setduplexmode known {statusdict begin false setduplexmode end} if';
627dd7cddfSDavid du Colombier#}
63219b2ee8SDavid du ColombierPATCH=$PATCH'
64219b2ee8SDavid du Colombier%%EndPatch from lp
65219b2ee8SDavid du Colombier'
66219b2ee8SDavid du Colombier
67*0cbf10f5SDavid du Colombier{ echo $PATCH; psextract } | $LPLIB/process/hpost
689a747e4fSDavid du Colombier
69