DataMuseum.dk

Presents historical artifacts from the history of:

DKUUG/EUUG Conference tapes

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about DKUUG/EUUG Conference tapes

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download
Index: T g

⟦c4c57142c⟧ TextFile

    Length: 2305 (0x901)
    Types: TextFile
    Names: »glpr«

Derivation

└─⟦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« 

TextFile

#! /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