Standard preamble:
========================================================================
\\$1
.. ..
.... Set up some character translations and predefined strings. \*(-- will
give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
double quote, and \*(R" will give a right double quote. | will give a
real vertical bar. \*(C+ will give a nicer C++. Capital omega is used to
do unbreakable dashes and therefore won't be available. \*(C` and \*(C'
expand to `' in nroff, nothing in troff, for use with C<>.
.tr \(*W-|\(bv\*(Tr . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' 'br\}
If the F register is turned on, we'll generate index entries on stderr for
titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
entries marked with X<> in POD. Of course, you'll have to process the
output yourself in some meaningful fashion.
. de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . nr % 0 . rr F .\}
For nroff, turn off justification. Always turn off hyphenation; it makes
way too many mistakes in technical documents.
Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
Fear. Run. Save yourself. No user-serviceable parts.
. \" fudge factors for nroff and troff . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] .\} . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents . \" corrections for vroff . \" for low resolution devices (crt and lpr) \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} ========================================================================
Title "DELAY 1"
Delay attempts to compensate for the time it spends printing the updates. There should be no error that is a multiple of the time spent delaying. (There is a bit of error on the startup and termination of the program, but that's unavoidable.)
There are several ways that the time to delay can be specified. The first is that it can be specified as an absolute length of time to delay. This can be in several formats. All of the following formats are allowable. (And equivalent.)
.Vb 3 delay 1d 2:03:04.5 delay 1d 2h 3m 4.5s delay 93785.5 .Ve Please note that the fractional seconds code will only work for actual fractional seconds. So, doing things like '0.5h' will delay for half a second, and not for half an hour as one may expect. (But don't rely on this behavior, as it may change in future versions.)
The second format is for a time to delay until be specified. The time parsing code is derived from that used it at, and as a result the time specifications should be described on at\|(1). For example:
.Vb 4 delay until 4 pm delay until noon tomorrow delay until midnight 13 september 2000 delay until now + 5 minutes .Ve Please note that the parsing code has a resolution of a minute. So, the last specification would calculate the 5 minutes from the beginning of the current minute, and delay to that absolute point in time. If you need more precision, you can use the first time format, which allows an the delay length to be specified precisely.
If delay sees \*(L"--\*(R" while parsing it's command line, it stops argument processing. Instead, the argument after the \*(L"--\*(R" is interpreted as a command to be run when delay completes, and any further arguments are used as arguments to that command. For example:
.Vb 1 delay until 9:30 -- cdplay .Ve
Improper use of the -c option can lead to various problems, and may even have some security implications.
\fIexecvp\|(2) is used to run the command, and this may run programs in the current directory rather than fully respecting your path. Please see execvp\|(2) for more details.
.Vb 1 http://onegeek.org/~tom/software/delay/ .Ve