|
|
DataMuseum.dkPresents historical artifacts from the history of: DKUUG/EUUG Conference tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about DKUUG/EUUG Conference tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: T g
Length: 2305 (0x901)
Types: TextFile
Names: »glpr«
└─⟦060c9c824⟧ Bits:30007080 DKUUG TeX 2/12/89
└─⟦this⟧ »./DVIware/laser-setters/quicspool/src/glpr«
└─⟦52210d11f⟧ Bits:30007239 EUUGD2: TeX 3 1992-12
└─⟦af5ba6c8e⟧ »unix3.0/DVIWARE.tar.Z«
└─⟦ca79c7339⟧
└─⟦this⟧ »DVIware/laser-setters/quicspool/src/glpr«
#! /bin/csh
# $Header: glpr,v 1.1 88/01/15 13:04:11 simpson Rel $
# $Log: glpr,v $
#Revision 1.1 88/01/15 13:04:11 simpson
#initial release
#
#Revision 0.2 87/12/21 12:29:52 simpson
#changed spelling of queuing
#
#Revision 0.1 87/12/11 18:30:58 simpson
#beta test
#
# The algorithm is as follows:
# If given -P flag, use that printer
# Decide which printer to use by (minutes after hr modulo # of printers)
# Assign states to printer
# If printer is idle, use it
# Look for idle printer
# If found
# use it
# Look for busy printer
# If found
# use it
# Look for stopped printer
# If found
# use it
# Else all printers are disabled
# Printers can be in 4 states: 1==disabled, 2==stopped, 3==busy, 4==idle
set printers=(sneezy dopey grumpy)
set landscape
set lprflags
while ($#argv > 0)
switch ($1)
case -P*:
lpr $lprflags $*
exit
case -L:
set landscape=l
shift
breaksw
default:
set lprflags=($lprflags $1)
shift
breaksw
endsw
end
@ index = `date|sed 's/.* [0-9][0-9]:\([0-9][0-9]\).*/\1/'` % $#printers + 1
set i = 1
set states=($printers)
while ($i <= $#printers)
/etc/lpc status $printers[$i]$landscape|fgrep 'queuing is disabled'>\
/dev/null
if ($status == 0) then
set states[$i] = 1
@ i++
continue
endif
/etc/lpc status $printers[$i]$landscape|fgrep 'printing is disabled'>\
/dev/null
if ($status == 0) then
set states[$i] = 2
@ i++
continue
endif
lpq -P$printers[$i]|fgrep 'no entries'>/dev/null
set portraitstatus=$status
lpq -P$printers[$i]l|fgrep 'no entries'>/dev/null
if ($portraitstatus == 0 & $status == 0) then
set states[$i] = 4
else
set states[$i] = 3
endif
@ i++
end
if ($states[$index] == 4) then
lpr -P$printers[$index]$landscape $lprflags
exit
endif
set i = 1
while ($i <= $#printers)
if ($states[$i] == 4) then
lpr -P$printers[$i]$landscape $lprflags
exit
endif
@ i++
end
set i = 1
while ($i <= $#printers)
if ($states[$i] == 3) then
lpr -P$printers[$i]$landscape $lprflags
exit
endif
@ i++
end
set i = 1
while ($i <= $#printers)
if ($states[$i] == 2) then
lpr -P$printers[$i]$landscape $lprflags
exit
endif
@ i++
end
# If we get here, all printers are disabled! Try anything!
lpr -P$printers[$index]$landscape $lprflags