summary refs log tree commit diff
path: root/bin/man1
diff options
context:
space:
mode:
Diffstat (limited to 'bin/man1')
-rw-r--r--bin/man1/bibsort.140
-rw-r--r--bin/man1/bit.112
-rw-r--r--bin/man1/bri.144
-rw-r--r--bin/man1/c.17
-rw-r--r--bin/man1/dehtml.138
-rw-r--r--bin/man1/downgrade.1122
-rw-r--r--bin/man1/edit.134
-rw-r--r--bin/man1/enc.155
-rw-r--r--bin/man1/ever.16
-rw-r--r--bin/man1/fbatt.134
-rw-r--r--bin/man1/fbclock.136
-rw-r--r--bin/man1/git-comment.1117
-rw-r--r--bin/man1/hi.1173
-rw-r--r--bin/man1/hilex.1218
-rw-r--r--bin/man1/hnel.136
-rw-r--r--bin/man1/htagml.175
-rw-r--r--bin/man1/modem.114
-rw-r--r--bin/man1/mtags.176
-rw-r--r--bin/man1/nudge.144
-rw-r--r--bin/man1/order.19
-rw-r--r--bin/man1/pbd.141
-rw-r--r--bin/man1/pngo.156
-rw-r--r--bin/man1/psfed.1166
-rw-r--r--bin/man1/ptee.121
-rw-r--r--bin/man1/qf.171
-rw-r--r--bin/man1/quick.166
-rw-r--r--bin/man1/scheme.17
-rw-r--r--bin/man1/shotty.187
-rw-r--r--bin/man1/sup.151
-rw-r--r--bin/man1/ttpre.132
-rw-r--r--bin/man1/up.131
-rw-r--r--bin/man1/when.134
32 files changed, 1189 insertions, 664 deletions
diff --git a/bin/man1/bibsort.1 b/bin/man1/bibsort.1
new file mode 100644
index 00000000..07ed91ef
--- /dev/null
+++ b/bin/man1/bibsort.1
@@ -0,0 +1,40 @@
+.Dd February 16, 2021
+.Dt BIBSORT 1
+.Os
+.
+.Sh NAME
+.Nm bibsort
+.Nd reformat bibliography
+.
+.Sh SYNOPSIS
+.Nm
+.Op Ar file
+.
+.Sh DESCRIPTION
+.Nm
+reformats on standard output
+the
+.Em STANDARDS
+section of the
+.Xr mdoc 7
+manual page
+.Ar file
+or standard input.
+Bibliographic references
+are sorted by author last names,
+and formatted in an item list
+with macro lines appearing
+in the order they are formatted by
+.Xr mandoc 1 .
+Additionally,
+.Ic \&%N
+macros referencing RFC numbers
+are rewritten to
+.Ic \&%R
+macros
+and missing
+.Ic \&%U
+macros are added for RFCs.
+.
+.Sh EXAMPLES
+.Dl :%!bibsort
diff --git a/bin/man1/bit.1 b/bin/man1/bit.1
index b61bc704..b91a10e1 100644
--- a/bin/man1/bit.1
+++ b/bin/man1/bit.1
@@ -1,4 +1,4 @@
-.Dd June 7, 2019
+.Dd December 30, 2020
 .Dt BIT 1
 .Os
 .
@@ -27,6 +27,11 @@ The
 .Sy ->
 operator is used for arithmetic shift.
 .It
+The unary
+.Sy &
+operator is equivalent to
+.Sy (1 << x) - 1 .
+.It
 The postfix operators
 .Sy K ,
 .Sy M ,
@@ -34,6 +39,11 @@ The postfix operators
 .Sy T
 are used as constant multipliers.
 .It
+The postfix operator
+.Sy $
+is of lowest precedence and is equivalent to
+wrapping the preceding expression in parentheses.
+.It
 Single-letter (lower case) variables
 can be assigned.
 The variable
diff --git a/bin/man1/bri.1 b/bin/man1/bri.1
deleted file mode 100644
index 54a02322..00000000
--- a/bin/man1/bri.1
+++ /dev/null
@@ -1,44 +0,0 @@
-.Dd September 7, 2018
-.Dt BRI 1
-.Os
-.
-.Sh NAME
-.Nm bri
-.Nd backlight brightness control
-.
-.Sh SYNOPSIS
-.Nm
-.Op Ar brightness
-.Nm
-.Cm +
-.Nm
-.Cm -
-.
-.Sh DESCRIPTION
-.Nm
-controls the backlight brightness on Linux.
-.
-.Pp
-With no argument,
-the current brightness is printed.
-With a numerical
-.Ar brightness
-argument,
-the brightness is set.
-.
-.Pp
-The
-.Cm +
-and
-.Cm -
-arguments
-may be repeated any number of times
-and adjust the brightness
-in increments of 16.
-.
-.Sh FILES
-.Bl -tag
-.It Pa /sys/class/backlight
-Files under the first subdirectory found
-are used to control the backlight brightness.
-.El
diff --git a/bin/man1/c.1 b/bin/man1/c.1
index 3ae10945..97384ebe 100644
--- a/bin/man1/c.1
+++ b/bin/man1/c.1
@@ -1,4 +1,4 @@
-.Dd May 31, 2020
+.Dd January  9, 2021
 .Dt C 1
 .Os
 .
@@ -8,6 +8,7 @@
 .
 .Sh SYNOPSIS
 .Nm
+.Op Fl t
 .Op Fl e Ar expr
 .Op Fl i Ar include
 .Op Ar stmts ...
@@ -37,4 +38,8 @@ after executing
 .It Fl i Ar include
 Add the include file
 .Ar include .
+.It Fl t
+With
+.Fl e ,
+print the type of the expression.
 .El
diff --git a/bin/man1/dehtml.1 b/bin/man1/dehtml.1
new file mode 100644
index 00000000..c55c35d4
--- /dev/null
+++ b/bin/man1/dehtml.1
@@ -0,0 +1,38 @@
+.Dd September  7, 2021
+.Dt DEHTML 1
+.Os
+.
+.Sh NAME
+.Nm dehtml
+.Nd extract text from HTML
+.
+.Sh SYNOPSIS
+.Nm
+.Op Fl s
+.Op Ar
+.
+.Sh DESCRIPTION
+The
+.Nm
+utility extracts text
+from HTML documents.
+Text inside
+.Sy <title> ,
+.Sy <style>
+and
+.Sy <script>
+tags is discarded.
+Numeric and common named HTML entities
+are converted.
+.
+.Pp
+The arguments are as follows:
+.Bl -tag -width Ds
+.It Fl s
+Collapse whitespace outside of
+.Sy <pre>
+tags.
+.El
+.
+.Sh BUGS
+There is no way to extract image alt text.
diff --git a/bin/man1/downgrade.1 b/bin/man1/downgrade.1
new file mode 100644
index 00000000..e1a594b7
--- /dev/null
+++ b/bin/man1/downgrade.1
@@ -0,0 +1,122 @@
+.Dd September 14, 2021
+.Dt DOWNGRADE 1
+.Os
+.
+.Sh NAME
+.Nm downgrade
+.Nd IRC features for all
+.
+.Sh SYNOPSIS
+.Nm
+.Op Fl iv
+.Op Fl c Ar cert
+.Op Fl j Ar join
+.Op Fl k Ar priv
+.Op Fl n Ar nick
+.Op Fl p Ar port
+.Ar host
+.
+.Sh DESCRIPTION
+The
+.Nm
+IRC bot downgrades new IRC
+.Dq features
+so
+.Em everyone
+can see them.
+It supports typing notifications,
+message reactions
+and message replies.
+.
+.Pp
+The arguments are as follows:
+.Bl -tag -width Ds
+.It Fl c Ar cert
+Load the TLS client certificate from
+.Ar cert
+and authenticate using SASL EXTERNAL.
+.It Fl i
+Accept invites to channels.
+.It Fl j Ar join
+Join the channel list
+.Ar join .
+.It Fl k Ar priv
+Load the TLS client private key from
+.Ar priv .
+The default is the same path as
+.Ar cert .
+.It Fl n Ar nick
+Set the nickname and username to
+.Ar nick .
+The default is
+.Nm .
+.It Fl p Ar port
+Connect to
+.Ar port .
+The default is 6697.
+.It Fl v
+Log IRC protocol.
+.It Ar host
+Connect to
+.Ar host .
+.El
+.
+.Sh EXAMPLES
+.Bd -literal
+-downgrade- * guest-n4 is typing...
+<guest-n4> wtf
+-downgrade- * june reacted to guest-n4's message ("wtf") with "\[u1F44D]"
+-downgrade- * guest-n4 is typing...
+-downgrade- * guest-n4 has given up :(
+.Ed
+.Bd -literal
+<june> ,bef
+-downgrade- * tildebot is typing...
+<tildebot> [Ducks] june: There was no duck!
+-downgrade- * tildebot was replying to june's message (",bef")
+.Ed
+.
+.Sh STANDARDS
+.Bl -item
+.It
+.Rs
+.%A Kiyoshi Aman
+.%A Kyle Fuller
+.%A St\('ephan Kochen
+.%A Alexey Sokolov
+.%A James Wheare
+.%T Message Tags
+.%U https://ircv3.net/specs/extensions/message-tags
+.Re
+.It
+.Rs
+.%A MuffinMedic
+.%A James Wheare
+.%T typing client tag
+.%U https://ircv3.net/specs/client-tags/typing
+.Re
+.It
+.Rs
+.%A Daniel Oaks
+.%T Bot Mode
+.%U https://ircv3.net/specs/extensions/bot-mode
+.Re
+.It
+.Rs
+.%A James Wheare
+.%T Message IDs
+.%U https://ircv3.net/specs/extensions/message-ids
+.Re
+.It
+.Rs
+.%A James Wheare
+.%T react client tag
+.%U https://ircv3.net/specs/client-tags/react
+.Re
+.It
+.Rs
+.%A James Wheare
+.%T reply client tag
+.%U https://ircv3.net/specs/client-tags/reply
+.Re
+.El
diff --git a/bin/man1/edit.1 b/bin/man1/edit.1
deleted file mode 100644
index 8c94939a..00000000
--- a/bin/man1/edit.1
+++ /dev/null
@@ -1,34 +0,0 @@
-.Dd August 29, 2019
-.Dt EDIT 1
-.Os
-.
-.Sh NAME
-.Nm edit
-.Nd interactive script
-.
-.Sh SYNOPSIS
-.Nm
-.Op Ar replacement
-.
-.Sh DESCRIPTION
-.Nm
-creates a temporary
-.Xr sh 1
-script
-from standard input
-and invokes
-.Ev EDITOR
-before it executes.
-The
-.Ar replacement
-argument is used in a
-.Xr sed 1
-substitute expression
-to generate the script.
-The default
-.Ar replacement
-is
-.Ql : & .
-.
-.Sh EXAMPLES
-.Dl ls | edit 'mv & &'
diff --git a/bin/man1/enc.1 b/bin/man1/enc.1
new file mode 100644
index 00000000..32845847
--- /dev/null
+++ b/bin/man1/enc.1
@@ -0,0 +1,55 @@
+.Dd January 30, 2022
+.Dt ENC 1
+.Os
+.
+.Sh NAME
+.Nm enc
+.Nd encrypt and decrypt files
+.
+.Sh SYNOPSIS
+.Nm
+.Op Fl acdef
+.Op Ar
+.
+.Sh DESCRIPTION
+.Nm
+encrypts and decrypts files
+using ChaCha20 via
+.Xr openssl 1 .
+When encrypting files,
+the
+.Pa .enc
+extension is added.
+When decrypting files,
+the
+.Pa .enc
+extension is removed,
+if possible.
+Otherwise output is written
+to standard output.
+Input files are not removed.
+If no files are provided,
+standard input is encrypted or decrypted.
+.
+.Pp
+The arguments are as follows:
+.Bl -tag -width Ds
+.It Fl a
+Encrypted data is Base64-encoded.
+.It Fl c
+Always write to standard output.
+.It Fl d
+Decrypt.
+.It Fl e
+Encrypt.
+This is the default.
+.It Fl f
+Do not ask to confirm overwriting files.
+.El
+.
+.Sh EXAMPLES
+.Bd -literal -offset indent
+$ enc secret.txt
+$ rm secret.txt
+$ enc -d secret.txt.enc
+.Ed
diff --git a/bin/man1/ever.1 b/bin/man1/ever.1
index 7689c5fb..8cdab99b 100644
--- a/bin/man1/ever.1
+++ b/bin/man1/ever.1
@@ -1,4 +1,4 @@
-.Dd June  1, 2020
+.Dd February 24, 2021
 .Dt EVER 1
 .Os
 .
@@ -8,7 +8,7 @@
 .
 .Sh SYNOPSIS
 .Nm
-.Op Fl i
+.Op Fl iq
 .Ar
 .Ar command
 .Nm
@@ -35,6 +35,8 @@ Attach the
 which was modified
 to the standard input of
 .Ar command .
+.It Fl q
+Suppress exit status output.
 .El
 .
 .Sh EXAMPLES
diff --git a/bin/man1/fbatt.1 b/bin/man1/fbatt.1
deleted file mode 100644
index 2d30cba7..00000000
--- a/bin/man1/fbatt.1
+++ /dev/null
@@ -1,34 +0,0 @@
-.Dd September 7, 2018
-.Dt FBATT 1
-.Os
-.
-.Sh NAME
-.Nm fbatt
-.Nd framebuffer battery indicator
-.
-.Sh SYNOPSIS
-.Nm
-.
-.Sh DESCRIPTION
-.Nm
-displays a battery charge indicator
-in the top-right corner
-of the Linux framebuffer.
-.
-.Sh ENVIRONMENT
-.Bl -tag
-.It Ev FRAMEBUFFER
-The framebuffer device path.
-.El
-.
-.Sh FILES
-.Bl -tag
-.It Pa /dev/fb0
-The default framebuffer device path.
-.It Pa /sys/class/power_supply
-The first subdirectory containing
-.Pa charge_full
-and
-.Pa charge_now
-is used to read the battery charge.
-.El
diff --git a/bin/man1/fbclock.1 b/bin/man1/fbclock.1
deleted file mode 100644
index 3195eb42..00000000
--- a/bin/man1/fbclock.1
+++ /dev/null
@@ -1,36 +0,0 @@
-.Dd September 7, 2018
-.Dt FBCLOCK 1
-.Os
-.
-.Sh NAME
-.Nm fbclock
-.Nd framebuffer clock
-.
-.Sh SYNOPSIS
-.Nm
-.
-.Sh DESCRIPTION
-.Nm
-displays a clock
-in the top-right corner
-of the Linux framebuffer.
-.
-.Sh ENVIRONMENT
-.Bl -tag
-.It Ev FONT
-Path to gzipped PSF file.
-.
-.It Ev FRAMEBUFFER
-The framebuffer device path.
-.El
-.
-.Sh FILES
-.Bl -tag
-.It Pa /dev/fb0
-The default framebuffer device path.
-.It Pa /usr/share/kbd/consolefonts/Lat2-Terminus16.psfu.gz
-The default font path.
-.El
-.
-.Sh SEE ALSO
-.Xr setfont 8
diff --git a/bin/man1/git-comment.1 b/bin/man1/git-comment.1
new file mode 100644
index 00000000..8e958f30
--- /dev/null
+++ b/bin/man1/git-comment.1
@@ -0,0 +1,117 @@
+.Dd September 10, 2021
+.Dt GIT-COMMENT 1
+.Os
+.
+.Sh NAME
+.Nm git-comment
+.Nd add comments from commit messages
+.
+.Sh SYNOPSIS
+.Nm git comment
+.Op Fl \-all
+.Op Fl \-comment-start Ar string
+.Op Fl \-comment-lead Ar string
+.Op Fl \-comment-end Ar string
+.Op Fl \-min-group Ar lines
+.Op Fl \-min-repeat Ar lines
+.Op Fl \-no-repeat
+.Op Fl \-pretty Ar format
+.Op Ar options ...
+.Op Fl \-
+.Ar file
+.
+.Sh DESCRIPTION
+The
+.Nm
+command
+adds comments to a file
+showing the commit messages
+which last modified
+each group of lines.
+By default only commit messages with bodies
+and which modified groups of at least 2 lines
+are added.
+Each comment contains
+the abbreviated commit hash
+and the commit summary,
+followed by the commit body.
+.
+.Pp
+.Nm
+accepts all the options of
+.Xr git-blame 1
+in addition to the following:
+.Bl -tag -width Ds
+.It Fl \-all
+Include all commit messages.
+The default is to include
+only commit messages with bodies
+(lines after the summary).
+.
+.It Fl \-comment-start Ar string
+Start comments with
+.Ar string .
+The default is the value of
+.Cm comment.start
+or
+.Ql /* .
+.
+.It Fl \-comment-lead Ar string
+Continue comments with the leading
+.Ar string .
+The default is the value of
+.Cm comment.lead
+or
+.Ql " *" .
+.
+.It Fl \-comment-end Ar string
+End comments with
+.Ar string .
+The default is the value of
+.Cm comment.end
+or
+.Ql " */" .
+.
+.It Fl \-min-group Ar lines
+Add comments only for groups of at least
+.Ar lines .
+The default is 2 lines.
+.
+.It Fl \-min-repeat Ar lines
+Avoid repeating a comment
+if it occurred in the last
+.Ar lines .
+The default is 30 lines.
+.
+.It Fl \-no-repeat
+Avoid repeating comments entirely.
+.
+.It Fl \-pretty Ar format
+Set the pretty-print format
+to use for commit messages.
+The default is the value of
+.Cm comment.pretty
+or
+.Ql format:%h\ %s%n%n%-b .
+See
+.Xr git-show 1 .
+.El
+.
+.Sh EXAMPLES
+For files with
+.Ql #
+comments:
+.Bd -literal -offset indent
+git config comment.start '#'
+git config comment.lead '#'
+git config comment.end ''
+.Ed
+.
+.Pp
+Add as many comments as possible:
+.Bd -literal -offset indent
+git comment --all --min-group 1 --min-repeat 1
+.Ed
+.
+.Sh SEE ALSO
+.Xr git-blame 1
diff --git a/bin/man1/hi.1 b/bin/man1/hi.1
deleted file mode 100644
index 517fbab9..00000000
--- a/bin/man1/hi.1
+++ /dev/null
@@ -1,173 +0,0 @@
-.Dd December 15, 2019
-.Dt HI 1
-.Os
-.
-.Sh NAME
-.Nm hi
-.Nd syntax highlighter
-.
-.Sh SYNOPSIS
-.Nm
-.Op Fl t
-.Op Fl f Ar format
-.Op Fl l Ar lang
-.Op Fl n Ar name
-.Op Fl o Ar opts
-.Op Ar file
-.Nm
-.Fl c
-.
-.Sh DESCRIPTION
-.Nm
-highlights the contents of a
-.Ar file
-or standard input
-and formats it
-on standard output.
-.
-.Pp
-The arguments are as follows:
-.Bl -tag -width "-f format"
-.It Fl c
-Compile all regular expressions and exit.
-.It Fl f Ar format
-Set the output format.
-.It Fl l Ar lang
-Set the input language.
-.It Fl n Ar name
-Override the name used
-to infer the input language.
-.It Fl o Ar opts
-Set output format options.
-.Ar opts
-is a comma-separated list of options.
-.It Fl t
-Default to
-.Cm text
-if the input language cannot be inferred.
-.El
-.
-.Ss Output Formats
-The default output format is
-.Cm ansi .
-.
-.Bl -tag -width Ds
-.It Cm ansi
-Output ANSI terminal escape codes.
-.
-.It Cm irc
-Output IRC formatting codes.
-.Pp
-The options are as follows:
-.Bl -tag -width "monospace"
-.It Cm monospace
-Use the monospace formatting code
-introduced by IRCCloud.
-.El
-.
-.It Cm html
-Output HTML
-.Sy <pre>
-with
-.Sy <span>
-classes.
-.
-.Pp
-The options are as follows:
-.Bl -tag -width "title=..."
-.It Cm anchor
-Output tags
-(top-level definition names)
-as anchor links.
-.
-.It Cm css Ns = Ns Ar url
-With
-.Cm document ,
-output a
-.Sy <link>
-element for the external stylesheet
-.Ar url .
-If unset,
-output default styles in a
-.Sy <style>
-element.
-.
-.It Cm document
-Output an HTML document.
-.
-.It Cm inline
-Output inline
-.Sy style
-attributes rather than classes.
-.
-.It Cm tab Ns = Ns Ar n
-With
-.Cm document
-or
-.Cm inline ,
-set the
-.Sy tab-size
-property to
-.Ar n .
-.
-.It Cm title Ns = Ns Ar ...
-With
-.Cm document ,
-set the
-.Sy <title>
-element text.
-The default title is the
-.Ar file
-name.
-.El
-.El
-.
-.Ss Input Languages
-If no input language is set with
-.Fl l ,
-it may be inferred from the name set by
-.Fl m
-or from the provided
-.Ar file
-name.
-.
-.Bl -tag -width Ds
-.It Cm c
-The C11 language.
-.
-.It Cm diff
-The output of
-.Xr diff 1
-with the
-.Fl u
-flag.
-.
-.It Cm make
-The portable subset of
-.Xr make 1 .
-Variable substitution supports
-one level of nesting with the same delimiter.
-.
-.It Cm mdoc
-The
-.Xr mdoc 7
-language.
-.
-.It Cm rust
-The Rust 2018 language.
-Nested raw strings and block comments
-are not highlighted correctly.
-.
-.It Cm sh
-The POSIX
-.Xr sh 1
-language.
-Here-documents are correctly highlighted
-only with a delimiter of
-.Ql EOF .
-Arbitrarily nested strings and command substitutions
-are not highlighted correctly.
-.
-.It Cm text
-Plain text.
-.El
diff --git a/bin/man1/hilex.1 b/bin/man1/hilex.1
new file mode 100644
index 00000000..80b3155b
--- /dev/null
+++ b/bin/man1/hilex.1
@@ -0,0 +1,218 @@
+.Dd January 20, 2021
+.Dt HILEX 1
+.Os
+.
+.Sh NAME
+.Nm hilex
+.Nd syntax highlighter
+.
+.Sh SYNOPSIS
+.Nm
+.Op Fl t
+.Op Fl f Ar format
+.Op Fl l Ar lexer
+.Op Fl n Ar name
+.Op Fl o Ar opts
+.Op Ar file
+.
+.Sh DESCRIPTION
+The
+.Nm
+utility
+syntax highlights
+the contents of
+.Ar file
+or standard input
+and formats it on standard output.
+.
+.Pp
+The arguments are as follows:
+.Bl -tag -width "-f format"
+.It Fl f Ar format
+Set the output format.
+See
+.Sx Output Formats .
+The default format is
+.Cm ansi .
+.
+.It Fl l Ar lexer
+Set the input lexer.
+See
+.Sx Input Lexers .
+The default input lexer is inferred from
+.Ar name
+or the first line of input.
+.
+.It Fl n Ar name
+Set the name used to infer the input lexer.
+The default is the final component of
+.Ar file .
+.
+.It Fl o Ar opts
+Set output format options.
+.Ar opts
+is a comma-separated list of options.
+Options for each output format are documented in
+.Sx Output Formats .
+.
+.It Fl t
+Default to the
+.Cm text
+input lexer if one cannot be inferred.
+.El
+.
+.Ss Output Formats
+.Bl -tag -width Ds
+.It Cm ansi
+Output ANSI terminal control sequences.
+If standard output is a terminal
+and standard input is not being read,
+output is piped to
+.Ev PAGER
+with
+.Ev LESS=FRX
+if it is not already set.
+.
+.It Cm html
+Output HTML
+.Sy span
+elements
+with the following classes:
+.Pp
+.Bl -hang -width "\&Op" -compact
+.It Sy \&Op
+operators
+.It Sy \&Nu
+numbers
+.It Sy \&Ke
+keywords
+.It Sy \&Id
+identifiers
+.It Sy \&Ma
+macros
+.It Sy \&Co
+comments
+.It Sy \&St
+strings
+.It Sy \&Es
+character escapes
+.It Sy \&Fo
+format strings
+.It Sy \&Su
+variable substitutions
+.El
+.Pp
+The options are as follows:
+.Bl -tag -width "title=..."
+.It Cm document
+Output an HTML document containing a
+.Sy pre
+element.
+.It Cm inline
+Output inline style attributes
+rather than classes.
+.It Cm pre
+Wrap the output in a
+.Sy pre
+element with the class
+.Sy hilex .
+.It Cm style Ns = Ns Ar url
+With
+.Cm document ,
+use the external stylesheet
+.Ar url .
+If unset,
+default styles are included in a
+.Sy style
+element.
+.It Cm tab Ns = Ns Ar n
+With
+.Cm document ,
+.Cm inline
+or
+.Cm pre ,
+set the
+.Sy tab-size
+property to
+.Ar n .
+.It Cm title Ns = Ns Ar ...
+With
+.Cm document ,
+set the
+.Sy title
+element text.
+The default title is the same as
+.Ar name .
+.El
+.
+.It Cm irc
+Output IRC formatting codes.
+The options are as follows:
+.Bl -tag -width "monospace"
+.It Cm monospace
+Use the IRCCloud monospace formatting code.
+.El
+.El
+.
+.Ss Input Lexers
+.Bl -tag -width Ds
+.It Cm c
+The C11 language,
+with minimal support for
+.Xr lex 1 ,
+.Xr yacc 1
+and Objective-C input.
+Inferred for
+.Pa *.[chlmy]
+files.
+.
+.It Cm make
+BSD
+.Xr make 1 .
+Inferred for
+.Pa Makefile ,
+.Pa *.mk
+and
+.Pa *.am
+files.
+.
+.It Cm mdoc
+The
+.Xr mdoc 7
+language.
+Inferred for
+.Pa *.[1-9]
+files
+and files starting with
+.Dq .Dd .
+.
+.It Cm sh
+POSIX
+.Xr sh 1 .
+Since lexical analysis of
+the shell command language
+is effectively impossible,
+this is best-effort only.
+Inferred for
+.Pa *.sh ,
+.Pa .profile ,
+.Pa .shrc
+files
+and files starting with
+.Dq #!/bin/sh .
+.
+.It Cm text
+Plain text.
+Inferred for
+.Pa *.txt
+files.
+.El
+.
+.Sh ENVIRONMENT
+.Bl -tag -width "PAGER"
+.It Ev PAGER
+The command to pipe ANSI output to
+if standard output is a terminal.
+The default is
+.Ev PAGER=less .
+.El
diff --git a/bin/man1/hnel.1 b/bin/man1/hnel.1
deleted file mode 100644
index 82305be8..00000000
--- a/bin/man1/hnel.1
+++ /dev/null
@@ -1,36 +0,0 @@
-.Dd July 8, 2019
-.Dt HNEL 1
-.Os
-.
-.Sh NAME
-.Nm hnel
-.Nd PTY input remapper
-.
-.Sh SYNOPSIS
-.Nm
-.Ar string1
-.Ar string2
-.Ar command ...
-.
-.Sh DESCRIPTION
-.Nm
-runs the
-.Ar command
-in a new PTY,
-remapping input characters in
-.Ar string1
-to the corresponding characters in
-.Ar string2 .
-Type
-.Ic ^S
-to toggle remapping.
-.
-.Sh EXAMPLES
-.Dl hnel '[]{}' '{}[]' vim
-.
-.Sh SEE ALSO
-.Xr tr 1
-.
-.Sh BUGS
-Window size changes are not propagated
-to the child PTY.
diff --git a/bin/man1/htagml.1 b/bin/man1/htagml.1
new file mode 100644
index 00000000..d8cf6441
--- /dev/null
+++ b/bin/man1/htagml.1
@@ -0,0 +1,75 @@
+.Dd October  1, 2021
+.Dt HTAGML 1
+.Os
+.
+.Sh NAME
+.Nm htagml
+.Nd format tagged file as HTML
+.
+.Sh SYNOPSIS
+.Nm
+.Op Fl imp | x
+.Op Fl f Ar tagsfile
+.Ar file
+.
+.Sh DESCRIPTION
+The
+.Nm
+utility formats a file tagged with
+.Xr ctags 1
+as HTML.
+Tags are output as fragment hyperlinks
+with the class
+.Qq tag .
+.
+.Pp
+The arguments are as follows:
+.Bl -tag -width Ds
+.It Fl f Ar tagsfile
+Read the tag descriptions from a file called
+.Ar tagsfile .
+The default behavior is
+to read them from a file called
+.Pa tags .
+.It Fl i
+Assume
+.Ar file
+has been pre-formatted
+on standard input,
+such as by a syntax highlighter.
+Only tag hyperlinks are added.
+.It Fl m
+Rename the
+.Xr ctags 1
+.Sq M
+tag to
+.Sy main .
+.It Fl p
+Wrap the output in a
+.Sy pre
+element.
+.It Fl x
+Instead produce an index of tags
+ordered by their occurrence in
+.Ar file .
+The index is formatted as a
+.Sy ul
+element with the class
+.Qq index .
+.El
+.
+.Sh FILES
+.Bl -tag -width Ds
+.It Pa tags
+default input tags file
+.El
+.
+.Sh EXAMPLES
+.Bd -literal -offset indent
+ctags htagml.c && htagml htagml.c
+hilex -f html htagml.c | htagml -i htagml.c
+.Ed
+.
+.Sh SEE ALSO
+.Xr ctags 1 ,
+.Xr hilex 1
diff --git a/bin/man1/modem.1 b/bin/man1/modem.1
index 522242b3..a4bbc3f1 100644
--- a/bin/man1/modem.1
+++ b/bin/man1/modem.1
@@ -1,4 +1,4 @@
-.Dd July 8, 2019
+.Dd December  8, 2020
 .Dt MODEM 1
 .Os
 .
@@ -8,6 +8,7 @@
 .
 .Sh SYNOPSIS
 .Nm
+.Op Fl r Ar rate
 .Ar command ...
 .
 .Sh DESCRIPTION
@@ -15,8 +16,15 @@
 runs the
 .Ar command
 in a new PTY
-with a fixed baud rate
-of 19.2 kbps.
+with a fixed baud rate.
+.
+.Pp
+The arguments are as follows:
+.Bl -tag -width Ds
+.It Fl r Ar rate
+Set the baud rate.
+The default is 19200.
+.El
 .
 .Sh BUGS
 Window size changes are not propagated
diff --git a/bin/man1/mtags.1 b/bin/man1/mtags.1
new file mode 100644
index 00000000..57856ba0
--- /dev/null
+++ b/bin/man1/mtags.1
@@ -0,0 +1,76 @@
+.Dd January 20, 2021
+.Dt MTAGS 1
+.Os
+.
+.Sh NAME
+.Nm mtags
+.Nd miscellaneous tags
+.
+.Sh SYNOPSIS
+.Nm
+.Op Fl a
+.Op Fl f Ar tagsfile
+.Ar
+.
+.Sh DESCRIPTION
+The
+.Nm
+utility
+makes a
+.Pa tags
+file for
+.Xr ex 1
+from the specified
+.Xr make 1 ,
+.Xr mdoc 7
+.Xr sh 1
+sources.
+.
+.Pp
+The arguments are as follows:
+.Bl -tag -width Ds
+.It Fl a
+Append to
+.Pa tags
+file.
+.It Fl f Ar tagsfile
+Place the tag descriptions
+in a file called
+.Ar tagsfile .
+The default behaviour is
+to place them in a file called
+.Pa tags .
+.El
+.
+.Pp
+Files whose names are
+.Pa Makefile
+or end in
+.Pa .mk
+are assumed to be
+.Xr make 1
+files.
+Files whose names end in
+.Pa .[1-9]
+are assumed to be
+.Xr mdoc 7
+files.
+Files whose names are
+.Pa .profile ,
+.Pa .shrc
+or end in
+.Pa .sh
+are assumed to be
+.Xr sh 1
+files.
+.
+.Sh FILES
+.Bl -tag -width Ds
+.It Pa tags
+default output tags file
+.El
+.
+.Sh SEE ALSO
+.Xr ctags 1 ,
+.Xr ex 1 ,
+.Xr vi 1
diff --git a/bin/man1/nudge.1 b/bin/man1/nudge.1
new file mode 100644
index 00000000..3ca4294a
--- /dev/null
+++ b/bin/man1/nudge.1
@@ -0,0 +1,44 @@
+.Dd September  4, 2020
+.Dt NUDGE 1
+.Os
+.
+.Sh NAME
+.Nm nudge
+.Nd terminal vibrator
+.
+.Sh SYNOPSIS
+.Nm
+.Op Fl f Ar file
+.Op Fl n Ar count
+.Op Fl s Ar shake
+.Op Fl t Ar delay
+.
+.Sh DESCRIPTION
+The
+.Nm
+utility
+nudges the terminal.
+An
+.Xr xterm 1
+compatible terminal is required.
+.
+.Pp
+The arguments are as follows:
+.Bl -tag -width Ds
+.It Fl f Ar file
+Open the terminal named by
+.Ar file .
+The default is
+.Pa /dev/tty .
+.It Fl n Ar count
+Set the number of times
+to nudge the terminal.
+The default is 2.
+.It Fl s Ar shake
+Set the shake intensity in pixels.
+The default is 10.
+.It Fl t Ar delay
+Set the interval between shakes
+in milliseconds.
+The default is 20.
+.El
diff --git a/bin/man1/order.1 b/bin/man1/order.1
index f042102f..89fcbda5 100644
--- a/bin/man1/order.1
+++ b/bin/man1/order.1
@@ -1,4 +1,4 @@
-.Dd May 18, 2019
+.Dd July 18, 2020
 .Dt ORDER 1
 .Os
 .
@@ -8,7 +8,7 @@
 .
 .Sh SYNOPSIS
 .Nm
-.Ar expr ...
+.Op Ar expr ...
 .
 .Sh DESCRIPTION
 .Nm
@@ -16,6 +16,11 @@ parses C expressions
 and prints them with parentheses
 according to the precedence rules in
 .Xr operator 7 .
+If no
+.Ar expr
+are given,
+an expression is read
+from standard input.
 .
 .Sh EXAMPLES
 .Bd -literal
diff --git a/bin/man1/pbd.1 b/bin/man1/pbd.1
index bbc7b785..f0665891 100644
--- a/bin/man1/pbd.1
+++ b/bin/man1/pbd.1
@@ -1,20 +1,13 @@
-.Dd September 7, 2018
+.Dd February  9, 2021
 .Dt PBD 1
 .Os
 .
 .Sh NAME
-.Nm pbd ,
-.Nm pbcopy ,
-.Nm pbpaste ,
-.Nm open
+.Nm pbd
 .Nd macOS pasteboard daemon
 .
 .Sh SYNOPSIS
-.Nm
-.Nm pbcopy
-.Nm pbpaste
-.Nm open
-.Ar
+.Nm Op Fl s | c | p | o Ar url
 .
 .Sh DESCRIPTION
 .Nm
@@ -30,12 +23,7 @@ sent over TCP port 7062.
 .Pp
 The socket can be forwarded through
 .Xr ssh 1
-and the stub implementations of
-.Nm pbcopy ,
-.Nm pbpaste
-and
-.Nm open
-can be used remotely
+and the flags can be used remotely
 to access the local pasteboard
 and open URLs.
 .
@@ -44,11 +32,30 @@ Forwarding can be configured with:
 .Pp
 .Dl RemoteForward 7062 127.0.0.1:7062
 .
+.Pp
+The arguments are as follows:
+.Bl -tag -width Ds
+.It Fl c
+Behave as
+.Xr pbcopy 1 .
+.It Fl o Ar url
+Behave as
+.Xr open 1 .
+.It Fl p
+Behave as
+.Xr pbpaste 1 .
+.It Fl s
+Run the server.
+This is the default.
+.El
+.Pp
+ACAB.
+.
 .Sh EXAMPLES
 .Bd -literal -offset indent
 pbd &
 ssh -R 7062:127.0.0.1:7062 tux.local
-pbpaste
+pbd -p
 .Ed
 .
 .Sh SEE ALSO
diff --git a/bin/man1/pngo.1 b/bin/man1/pngo.1
index cec13160..a235355b 100644
--- a/bin/man1/pngo.1
+++ b/bin/man1/pngo.1
@@ -1,4 +1,4 @@
-.Dd September 17, 2018
+.Dd September 21, 2021
 .Dt PNGO 1
 .Os
 .
@@ -8,30 +8,17 @@
 .
 .Sh SYNOPSIS
 .Nm
-.Op Fl cv
+.Op Fl acgv
+.Op Fl b Ar depth
 .Op Fl o Ar file
 .Op Ar
 .
 .Sh DESCRIPTION
 .Nm
-optimizes PNG files for size.
-.
-.Pp
-The arguments are as follows:
-.Bl -tag -width Ds
-.It Fl c
-Write to standard output.
-.It Fl o Ar file
-Write to
-.Ar file .
-.It Fl v
-Output PNG header information.
-.El
-.
+optimizes PNG files for size
+by performing the following:
 .Pp
-.Nm
-performs the following optimizations:
-.Bl -bullet
+.Bl -enum -compact
 .It
 Discard ancillary chunks.
 .It
@@ -39,18 +26,39 @@ Discard unnecessary alpha channel.
 .It
 Convert unnecessary truecolor to grayscale.
 .It
-Palletize color and alpha if possible.
+Palletize color if possible.
 .It
-Reduce bit depth if possible.
+Reduce unnecessary bit depth.
 .It
-Apply a simple filter heuristic.
+Apply a simple filter type heuristic.
 .It
-Apply zlib's best compresion.
+Apply zlib's best compression.
+.El
+.
+.Pp
+The arguments are as follows:
+.Bl -tag -width Ds
+.It Fl a
+Always discard the alpha channel.
+.It Fl b Ar depth
+Reduce bit depth to
+.Ar depth
+or lower.
+.It Fl c
+Write to standard output.
+.It Fl g
+Convert to grayscale.
+.It Fl o Ar file
+Write to
+.Ar file .
+.It Fl v
+Print header information and sizes
+to standard error.
 .El
 .
 .Sh SEE ALSO
 .Xr glitch 1
 .
-.Sh CAVEATS
+.Sh BUGS
 .Nm
 does not support interlaced PNGs.
diff --git a/bin/man1/psfed.1 b/bin/man1/psfed.1
deleted file mode 100644
index 3fbc4710..00000000
--- a/bin/man1/psfed.1
+++ /dev/null
@@ -1,166 +0,0 @@
-.Dd January 14, 2019
-.Dt PSFED 1
-.Os
-.
-.Sh NAME
-.Nm psfed
-.Nd PSF2 font editor
-.
-.Sh SYNOPSIS
-.Nm
-.Op Fl H Ar height
-.Op Fl g Ar glyphs
-.Op Fl h Ar height
-.Op Fl w Ar width
-.Ar file
-.
-.Sh DESCRIPTION
-.Nm
-is a PSF2 font editor
-for the Linux framebuffer.
-.
-.Pp
-The arguments are as follows:
-.
-.Bl -tag -width Ds
-.It Fl H Ar height
-Modify the height of an existing font.
-Only increasing the height is allowed.
-.
-.It Fl g Ar glyphs
-Set the number of glyphs in a new font.
-The default number of glyphs is 256.
-.
-.It Fl h Ar height
-Set the height of a new font.
-The default height is 16.
-.
-.It Fl w Ar width
-Set the width of a new font.
-The default width is 8.
-.El
-.
-.Ss Normal Mode
-In normal mode,
-each glyph is displayed in a grid.
-.
-.Pp
-.Bl -tag -width Ds -compact
-.It Ic q
-Quit.
-.Nm
-will ask for confirmation
-if the font has been modified
-since the last write.
-.
-.It Ic w
-Write font to
-.Ar file .
-.
-.It Ic - Ic +
-Adjust display scale.
-.
-.It Ic h Ic l
-Select previous/next glyph.
-.
-.It Ic k Ic j
-Select glyph in previous/next row.
-.
-.It Ic f
-Select glyph of next input character.
-.
-.It Ic '
-Return to previously selected glyph.
-.
-.It Ic y
-Copy selected glyph.
-.
-.It Ic e
-Edit selected glyph in
-.Sx Edit Mode .
-.
-.It Ic i
-Enter
-.Sx Preview Mode .
-.El
-.
-.Ss Edit Mode
-In edit mode,
-the selected glyph is displayed for editing
-surrounded by a checked border.
-The glyph is also displayed unscaled
-in the bottom-right corner.
-.
-.Pp
-.Bl -tag -width Ds -compact
-.It Ic ESC
-Return to
-.Sx Normal Mode .
-.
-.It Ic - Ic +
-Adjust display scale.
-.
-.It Ic g Ic G
-Toggle guide on selected column/row.
-.
-.It Ic h Ic l
-Select previous/next bit in row.
-.
-.It Ic k Ic j
-Select previous/next bit in column.
-.
-.It Ic SPACE
-Flip selected bit.
-.
-.It Ic r
-Invert glyph.
-.
-.It Ic H Ic L
-Move glyph left/right.
-.
-.It Ic K Ic J
-Move glyph up/down.
-.
-.It Ic p
-Paste the copied glyph.
-.
-.It Ic u
-Revert glyph to initial state.
-.El
-.
-.Ss Preview Mode
-In preview mode,
-arbitrary text may be entered
-for preview.
-Press
-.Ic ESC
-to return to
-.Sx Normal Mode .
-.
-.Sh ENVIRONMENT
-.Bl -tag -width FRAMEBUFFER
-.It Ev FRAMEBUFFER
-The framebuffer device path.
-The default path is
-.Pa /dev/fb0 .
-.El
-.
-.Sh SEE ALSO
-.Xr psfaddtable 1 ,
-.Xr psfgettable 1 ,
-.Xr psfstriptable 1 ,
-.Xr setfont 8
-.
-.Sh CAVEATS
-.Nm
-does not support Unicode tables.
-Use
-.Xr psfaddtable 1
-to add Unicode tables
-to fonts created by
-.Nm .
-.
-.Sh BUGS
-.Nm
-makes no attempt to convert header fields
-to and from little-endian format.
diff --git a/bin/man1/ptee.1 b/bin/man1/ptee.1
index 04f9cdac..bb381ecb 100644
--- a/bin/man1/ptee.1
+++ b/bin/man1/ptee.1
@@ -1,4 +1,4 @@
-.Dd July 17, 2019
+.Dd October 18, 2021
 .Dt PTEE 1
 .Os
 .
@@ -8,6 +8,7 @@
 .
 .Sh SYNOPSIS
 .Nm
+.Op Fl t Ar ms
 .Ar command ...
 .Cm >
 .Ar file
@@ -26,14 +27,24 @@ to a file or pipe.
 .Pp
 Type
 .Ic ^S
-to toggle writing to standard output.
+to write a media copy sequence
+to standard output.
 Type
 .Ic ^Q
-to write the media copy sequence for
-.Xr shotty 1 .
+to toggle writing to standard output.
+.
+.Pp
+The arguments are as follows:
+.Bl -tag -width Ds
+.It Fl t Ar ms
+Write a media copy sequence
+to standard output every
+.Ar ms
+milliseconds.
+.El
 .
 .Sh SEE ALSO
-.Xr tee 1
+.Xr script 1
 .
 .Sh BUGS
 Window size changes are not propagated
diff --git a/bin/man1/qf.1 b/bin/man1/qf.1
new file mode 100644
index 00000000..8828d723
--- /dev/null
+++ b/bin/man1/qf.1
@@ -0,0 +1,71 @@
+.Dd June  2, 2022
+.Dt QF 1
+.Os
+.
+.Sh NAME
+.Nm qf
+.Nd grep pager
+.
+.Sh SYNOPSIS
+.Nm Op Ar pattern
+.
+.Sh DESCRIPTION
+.Nm
+is a pager for
+.Xr grep 1 ,
+.Xr ag 1 ,
+.Xr rg 1 ,
+etc.\&
+which allows
+jumping to matches in
+.Ev $EDITOR .
+It parses any input
+prefixed by path
+and line number
+separated by a colon
+.Ql ":"
+followed by either a colon
+or a hyphen
+.Ql "-" .
+It otherwise operates similar to
+.Xr less 1 .
+.
+.Pp
+If
+.Ar pattern
+is given,
+the first match on each line
+will be highlighted.
+The
+.Ar pattern
+is interpreted as
+an extended regular expression
+and is matched case-insensitively
+unless it contains an uppercase letter.
+.
+.Pp
+The keys are as follows:
+.Bl -tag -width Ds
+.It Ic Enter
+Open the currently selected line in
+.Ev $EDITOR .
+When the editor exits,
+.Nm
+resumes.
+.It Ic {}
+Jump between files.
+.It Ic gG
+Jump to first or last line.
+.It Ic jk
+Move to next or previous line.
+.It Ic nN
+Jump to next or previous match line.
+.It Ic q
+Exit.
+.It Ic r
+Refresh the display.
+.El
+.
+.Sh EXAMPLES
+.Dl $ ag -C open | qf
+.Dl $ git grep -n open | qf
diff --git a/bin/man1/quick.1 b/bin/man1/quick.1
new file mode 100644
index 00000000..96f1766a
--- /dev/null
+++ b/bin/man1/quick.1
@@ -0,0 +1,66 @@
+.Dd September 23, 2021
+.Dt QUICK 1
+.Os
+.
+.Sh NAME
+.Nm quick
+.Nd (and dirty) HTTP/CGI server
+.
+.Sh SYNOPSIS
+.Nm
+.Op Fl p Ar port
+.Ar script
+.Op Ar args ...
+.
+.Sh DESCRIPTION
+.Nm
+is a barely functional HTTP server
+for running CGI scripts.
+It listens only on localhost,
+on a randomly assigned port,
+unless
+.Fl p
+is used.
+The URL of the server
+is printed to standard output.
+.
+.Sh EXAMPLES
+.Dl quick cgit | xargs -n1 open
+.
+.Sh STANDARDS
+.Nm
+does
+.Em not
+implement the following:
+.Bl -item
+.It
+.Rs
+.%A T. Berners-Lee
+.%A R. Fielding
+.%A H. Frystyk
+.%A J. Gettys
+.%A J. Mogul
+.%T Hypertext Transfer Protocol -- HTTP/1.1
+.%R RFC 2068
+.%U https://tools.ietf.org/html/rfc2068
+.%D January 1997
+.Re
+.It
+.Rs
+.%A K. Coar
+.%A D. Robinson
+.%T The Common Gateway Interface (CGI) Version 1.1
+.%R RFC 3875
+.%U https://tools.ietf.org/html/rfc3875
+.%D October 2004
+.Re
+.El
+.
+.Sh CAVEATS
+Oh, so many.
+No error handling,
+no validation,
+no security.
+This is a local testing tool only.
+.Pp
+Every response is served as a 200 OK.
diff --git a/bin/man1/scheme.1 b/bin/man1/scheme.1
index 9aa4f054..9f72d945 100644
--- a/bin/man1/scheme.1
+++ b/bin/man1/scheme.1
@@ -1,4 +1,4 @@
-.Dd July 6, 2019
+.Dd February  6, 2021
 .Dt SCHEME 1
 .Os
 .
@@ -8,7 +8,7 @@
 .
 .Sh SYNOPSIS
 .Nm
-.Op Fl acghilmstx
+.Op Fl Xacghilmstx
 .Op Fl p Ar n
 .
 .Sh DESCRIPTION
@@ -19,6 +19,9 @@ and outputs it in a number of formats.
 .Pp
 The arguments are as follows:
 .Bl -tag -width Ds
+.It Fl X
+Output Xresources for
+.Xr xterm 1 .
 .It Fl a
 Generate the 16 ANSI colors.
 This is the default.
diff --git a/bin/man1/shotty.1 b/bin/man1/shotty.1
index d5eaa780..0a3bd127 100644
--- a/bin/man1/shotty.1
+++ b/bin/man1/shotty.1
@@ -1,14 +1,14 @@
-.Dd November 25, 2019
+.Dd October 18, 2021
 .Dt SHOTTY 1
 .Os
 .
 .Sh NAME
 .Nm shotty
-.Nd terminal capture
+.Nd HTML terminal renderer
 .
 .Sh SYNOPSIS
 .Nm
-.Op Fl Bdns
+.Op Fl Bdins
 .Op Fl b Ar bg
 .Op Fl f Ar fg
 .Op Fl h Ar rows
@@ -17,37 +17,37 @@
 .
 .Sh DESCRIPTION
 .Nm
-interprets terminal output from
+renders a terminal session
+captured with
+.Xr ptee 1
+or
+.Xr script 1
+from
 .Ar file
 or standard input
-and produces HTML
-.Sy <pre>
-on standard output.
-.
-.Pp
-Terminal output
-can be captured with
-.Xr ptee 1 .
+and renders one or more HTML snapshots.
+One snapshot is rendered
+for each media copy sequence,
+or a single snapshot is rendered
+at the end of the session.
 .Nm
 targets compatibility with
-.Ev TERM Ns = Ns Cm xterm
+.Ev TERM=xterm
 and
-.Ev TERM Ns = Ns Cm xterm-256color
+.Ev TERM=xterm-256color
 as used by
 .Xr ncurses 3 .
-A snapshot of the terminal
-is output each time
-a media copy sequence occurs,
-or once at the end of the capture.
 .
 .Pp
-HTML output uses the classes
+HTML output uses
 .Sy bg Ns Va n
 and
-.Sy fg Ns Va n ,
+.Sy fg Ns Va n
+classes for colors,
 and inline styles for
 bold, italic and underline.
-CSS for colors can be generated with
+CSS for colors
+can be generated by
 .Xr scheme 1 .
 .
 .Pp
@@ -58,35 +58,58 @@ Replace bold with bright colors.
 .
 .It Fl b Ar bg
 Set the default background color.
-The default value is 0 (black).
+The default is 0 (black).
 .
 .It Fl d
-Output the terminal state
-following each control sequence.
+Render a snapshot
+after each control sequence.
 .
 .It Fl f Ar fg
 Set the default foreground color.
-The default value is 7 (white).
+The default is 7 (white).
 .
 .It Fl h Ar rows
 Set the terminal height.
-The default value is 24.
+The default is 24.
+.
+.It Fl i
+Output inline color attributes.
 .
 .It Fl n
-Do not show the cursor.
+Hide the cursor.
 .
 .It Fl s
-Set the terminal size
-from the current terminal size.
+Copy the terminal size
+from the current terminal.
 .
 .It Fl w Ar cols
 Set the terminal width.
-The default value is 80.
+The default is 80.
 .El
 .
 .Sh EXAMPLES
-.Dl ptee htop | shotty -s > htop.html
+.Dl $ ptee htop | shotty -Bis >htop.html
 .
 .Sh SEE ALSO
 .Xr ptee 1 ,
-.Xr scheme 1
+.Xr script 1
+.
+.Sh STANDARDS
+.Bl -item
+.It
+.Rs
+.%A Thomas Dickey
+.%A Stephen Gildea
+.%A Edward Moy
+.%T XTerm Control Sequences
+.%U https://invisible-island.net/xterm/ctlseqs/ctlseqs.html
+.Re
+.It
+.Rs
+.%A F. Yergeau
+.%T UTF-8
+.%R RFC 2044
+.%U https://tools.ietf.org/html/rfc2044
+.%D October 1996
+.Re
+.El
diff --git a/bin/man1/sup.1 b/bin/man1/sup.1
new file mode 100644
index 00000000..bd88ad47
--- /dev/null
+++ b/bin/man1/sup.1
@@ -0,0 +1,51 @@
+.Dd January 12, 2022
+.Dt SUP 1
+.Os
+.
+.Sh NAME
+.Nm sup
+.Nd single-use password
+.
+.Sh SYNOPSIS
+.Nm
+.Ar service
+.Op Ar email
+.
+.Sh DESCRIPTION
+The
+.Nm
+utility
+sets a random single-use password
+for a service using the
+.Dq forgot password
+or
+.Dq password reset
+flow.
+The password is copied to the clipboard
+and the service login page is opened.
+For passwordless services
+with email-based authentication,
+the emailed login link is opened.
+.
+.Pp
+The following services are supported:
+.Cm asciinema ,
+.Cm discogs ,
+.Cm freebsdbugzilla ,
+.Cm liberapay ,
+.Cm lobsters ,
+.Cm lwn ,
+.Cm patreon ,
+.Cm tildegit ,
+.Cm tildenews .
+.
+.Pp
+The
+.Nm
+utility requires
+.Xr curl 1 ,
+.Xr git-fetch-email 1 ,
+.Xr openssl 1 ,
+.Xr pbcopy 1
+and
+.Xr open 1 .
diff --git a/bin/man1/ttpre.1 b/bin/man1/ttpre.1
deleted file mode 100644
index bd178525..00000000
--- a/bin/man1/ttpre.1
+++ /dev/null
@@ -1,32 +0,0 @@
-.Dd October 8, 2018
-.Dt TTPRE 1
-.Os
-.
-.Sh NAME
-.Nm ttpre
-.Nd man output to HTML
-.
-.Sh SYNOPSIS
-.Nm
-.
-.Sh DESCRIPTION
-.Nm
-formats
-.Xr man 1
-output on standard input
-as an HTML
-.Sy <pre>
-fragment on standard output.
-Ampersands and angle brackets
-are replaced with corresponding HTML entities,
-and backspace formatting sequences
-are replaced with
-.Sy <i>
-and
-.Sy <b>
-tags.
-.
-.Sh SEE ALSO
-.Xr less 1 ,
-.Xr man 1 ,
-.Xr mandoc 1
diff --git a/bin/man1/up.1 b/bin/man1/up.1
index 58b5359f..aece79bd 100644
--- a/bin/man1/up.1
+++ b/bin/man1/up.1
@@ -1,4 +1,4 @@
-.Dd July 15, 2019
+.Dd July 26, 2022
 .Dt UP 1
 .Os
 .
@@ -8,15 +8,9 @@
 .
 .Sh SYNOPSIS
 .Nm
-.Op Fl h
-.Op Ar file
-.
-.Nm
-.Fl c | t
-.Ar command ...
-.
-.Nm
-.Fl s
+.Op Fl c | h | s | t
+.Op Fl w Ar warn
+.Op Ar file | command
 .
 .Sh DESCRIPTION
 .Nm
@@ -49,28 +43,35 @@ Run a command
 to produce a text file for upload.
 .It Fl h
 Use
-.Xr hi 1
+.Xr hilex 1
 to produce an HTML file for upload.
 .It Fl s
 Use
 .Xr screencapture 1
+or
+.Xr scrot 1
 to produce a PNG file for upload.
 The file is optimized by
-.Xr pngo 1
-if available.
+.Xr pngo 1 .
 .It Fl t
 Run a command with
 .Xr ptee 1
 and
 .Xr shotty 1
 to produce an HTML file for upload.
+.It Fl w Ar warn
+Create an HTML redirect with
+.Ar warn
+in its title.
 .El
 .
 .Pp
 Any arguments after
 .Ql \-\-
 are passed to
-.Xr hi 1
+.Xr hilex 1
 and
-.Xr screencapture 1 ,
+.Xr screencapture 1
+or
+.Xr scrot 1 ,
 respectively.
diff --git a/bin/man1/when.1 b/bin/man1/when.1
index 0b473573..3f2735f7 100644
--- a/bin/man1/when.1
+++ b/bin/man1/when.1
@@ -1,4 +1,4 @@
-.Dd July 24, 2019
+.Dd September 19, 2022
 .Dt WHEN 1
 .Os
 .
@@ -9,6 +9,8 @@
 .Sh SYNOPSIS
 .Nm
 .Op Ar expr
+.Nm
+.Cm -
 .
 .Sh DESCRIPTION
 .Nm
@@ -18,24 +20,32 @@ If no
 is given,
 expressions are read
 from standard input.
+If
+.Cm -
+is given,
+the intervals between each named date
+and today are printed.
 .
 .Pp
 The grammar is as follows:
 .Bl -tag -width Ds
 .It Sy \&.
 Today's date.
+The empty expression is equivalent.
+.
+.It Ar name Op Sy = Ar date
+A named date.
+Names are alphanumeric including underscores.
 .
 .It Ar month Ar date Op Ar year
 A full date,
 or a date in the current year.
-.Ar month
-must be at least three letters.
+Months can be abbreviated to three letters.
 .
 .It Ar day
 A day of the week
 in the current week.
-.Ar day
-must be at least three letters.
+Days can be abbreviated to three letters.
 .
 .It Sy < Ar date
 The date one week before.
@@ -65,6 +75,14 @@ A number of months.
 A number of years.
 .El
 .
+.Sh FILES
+The file
+.Pa $XDG_CONFIG_HOME/when/dates
+or
+.Pa ~/.config/when/dates
+is read before any other expressions,
+if it exists.
+.
 .Sh EXAMPLES
 .Bl -tag -width "Dec 25 - ."
 .It Ic Dec 25 - \&.
@@ -74,3 +92,9 @@ The date next Friday.
 .It Ic \&. + 2w
 Your last day at work.
 .El
+.Pp
+Checking a milestone:
+.Bd -literal -offset indent
+$ echo 'hrt = oct 15 2021' >> ~/.config/when/dates
+$ when -hrt
+.Ed