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/aes.118
-rw-r--r--bin/man1/beef.197
-rw-r--r--bin/man1/bit.145
-rw-r--r--bin/man1/bri.144
-rw-r--r--bin/man1/brot.163
-rw-r--r--bin/man1/dtch.164
-rw-r--r--bin/man1/fbatt.134
-rw-r--r--bin/man1/fbclock.136
-rw-r--r--bin/man1/gfxx.1138
-rw-r--r--bin/man1/glitch.177
-rw-r--r--bin/man1/hi.1161
-rw-r--r--bin/man1/hnel.136
-rw-r--r--bin/man1/modem.123
-rw-r--r--bin/man1/order.133
-rw-r--r--bin/man1/pbd.159
-rw-r--r--bin/man1/pngo.156
-rw-r--r--bin/man1/psf2png.153
-rw-r--r--bin/man1/psfed.1166
-rw-r--r--bin/man1/ptee.136
-rw-r--r--bin/man1/relay.148
-rw-r--r--bin/man1/scheme.156
-rw-r--r--bin/man1/setopt.148
-rw-r--r--bin/man1/shotty.157
-rw-r--r--bin/man1/ttpre.132
-rw-r--r--bin/man1/up.163
-rw-r--r--bin/man1/wake.116
-rw-r--r--bin/man1/wat.135
-rw-r--r--bin/man1/xx.168
28 files changed, 1662 insertions, 0 deletions
diff --git a/bin/man1/aes.1 b/bin/man1/aes.1
new file mode 100644
index 00000000..3e8df20b
--- /dev/null
+++ b/bin/man1/aes.1
@@ -0,0 +1,18 @@
+.Dd February 5, 2019
+.Dt AES 1
+.Os
+.
+.Sh NAME
+.Nm aes
+.Nd fullwidth output
+.
+.Sh SYNOPSIS
+.Nm
+.Op Ar text ...
+.
+.Sh DESCRIPTION
+.Nm
+converts ASCII characters
+to their fullwidth counterparts.
+If no arguments are given,
+standard input is converted.
diff --git a/bin/man1/beef.1 b/bin/man1/beef.1
new file mode 100644
index 00000000..c42152d8
--- /dev/null
+++ b/bin/man1/beef.1
@@ -0,0 +1,97 @@
+.Dd January 26, 2019
+.Dt BEEF 1
+.Os
+.
+.Sh NAME
+.Nm beef
+.Nd Befunge-93 interpreter
+.
+.Sh SYNOPSIS
+.Nm
+.Op Ar file
+.
+.Sh DESCRIPTION
+.Nm
+is a Befunge-93 interpreter.
+If no
+.Ar file
+is provided,
+the program is read from standard input.
+.
+.Ss Befunge-93 Command Summary
+.Bl -tag -width "0-9" -compact
+.It \(dq
+toggle string mode
+.It 0-9
+push value
+.It +
+add
+.It -
+subtract
+.It *
+multiply
+.It /
+divide
+.It %
+modulo
+.It !
+not
+.It `
+greater than
+.It >
+right
+.It <
+left
+.It ^
+up
+.It v
+down
+.It ?
+random
+.It _
+horizontal (left) if
+.It |
+vertical (up) if
+.It :
+duplicate
+.It \e
+swap
+.It $
+drop
+.It .
+output integer
+.It ,
+output ASCII
+.It #
+bridge
+.It g
+get (y, x)
+.It p
+put (y, x) = v
+.It &
+input integer
+.It ~
+input ASCII
+.It @
+exit
+.El
+.
+.Sh EXIT STATUS
+.Nm
+exits with the top value left on the stack,
+or 0 if the stack is left empty.
+.
+.Sh STANDARDS
+.Rs
+.%A Chris Pressey
+.%Q Cat's Eye Technologies
+.%T Befunge-93
+.%D September, 1993
+.%U https://github.com/catseye/Befunge-93/blob/master/doc/Befunge-93.markdown
+.Re
+.
+.Sh CAVEATS
+.Nm
+does not support Linux
+since it uses
+.Xr arc4random_uniform 3 .
diff --git a/bin/man1/bit.1 b/bin/man1/bit.1
new file mode 100644
index 00000000..b61bc704
--- /dev/null
+++ b/bin/man1/bit.1
@@ -0,0 +1,45 @@
+.Dd June 7, 2019
+.Dt BIT 1
+.Os
+.
+.Sh NAME
+.Nm bit
+.Nd a calculator
+.
+.Sh SYNOPSIS
+.Nm
+.
+.Sh DESCRIPTION
+.Nm
+is an integer calculator.
+Its syntax resembles that of C expressions,
+with the following changes:
+.
+.Bl -bullet
+.It
+Underscores are allowed in integer literals.
+.It
+The
+.Sy 0b
+prefix is used for binary literals.
+.It
+The
+.Sy ->
+operator is used for arithmetic shift.
+.It
+The postfix operators
+.Sy K ,
+.Sy M ,
+.Sy G ,
+.Sy T
+are used as constant multipliers.
+.It
+Single-letter (lower case) variables
+can be assigned.
+The variable
+.Sy _
+stores the previous result.
+.El
+.
+.Sh SEE ALSO
+.Xr operator 7
diff --git a/bin/man1/bri.1 b/bin/man1/bri.1
new file mode 100644
index 00000000..54a02322
--- /dev/null
+++ b/bin/man1/bri.1
@@ -0,0 +1,44 @@
+.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/brot.1 b/bin/man1/brot.1
new file mode 100644
index 00000000..7c1a4087
--- /dev/null
+++ b/bin/man1/brot.1
@@ -0,0 +1,63 @@
+.Dd September 8, 2018
+.Dt BROT 1
+.Os
+.
+.Sh NAME
+.Nm brot
+.Nd Mandelbrot renderer
+.
+.Sh SYNOPSIS
+.Nm
+.Op Fl i Ar depth
+.Op Fl s Ar samples
+.Op Fl t Ar a+bi
+.Op Fl f Ar a+bi
+.
+.Sh DESCRIPTION
+.Nm
+renders the Mandelbrot set
+in grayscale.
+.
+.Pp
+The arguments are as follows:
+.Bl -tag -width Ds
+.It Fl f Ar a+bi
+Set complex transform factor.
+.
+.It Fl i Ar depth
+Set number of iterations.
+.
+.It Fl s Ar samples
+Set number of samples per pixel.
+.
+.It Fl t Ar a+bi
+Set complex translation term.
+.El
+.
+.Pp
+The interactive keys are as follows:
+.Bl -tag -width Ds
+.It Ic q
+Quit.
+.
+.It Ic ,.
+Adjust depth.
+.
+.It Ic []
+Adjust samples.
+.
+.It Ic hl
+Adjust real component of translation.
+.
+.It Ic kj
+Adjust imaginary componenent of translation.
+.
+.It Ic ui
+Adjust rotation.
+.
+.It Ic -+
+Adjust scale.
+.
+.It Ic 0
+Reset translation and transform.
+.El
diff --git a/bin/man1/dtch.1 b/bin/man1/dtch.1
new file mode 100644
index 00000000..f8ec9296
--- /dev/null
+++ b/bin/man1/dtch.1
@@ -0,0 +1,64 @@
+.Dd September 7, 2018
+.Dt DTCH 1
+.Os
+.
+.Sh NAME
+.Nm dtch ,
+.Nm atch
+.Nd detached sessions
+.
+.Sh SYNOPSIS
+.Nm
+.Op Ar name Op Ar command ...
+.Nm atch
+.Op Ar name
+.
+.Sh DESCRIPTION
+.Nm
+spawns the
+.Ar command
+.Po
+by default,
+the value of
+.Ev SHELL
+.Pc
+inside a new PTY.
+It then lends control of the detached PTY to
+.Nm atch
+over a UNIX-domain socket.
+.Nm
+should be run as a background job or with
+.Xr nohup 1 .
+.
+.Pp
+.Nm atch
+attaches to the
+.Nm
+session with the corresponding
+.Ar name .
+To detach from a session, type
+.Ic ^Q .
+.
+.Sh ENVIRONMENT
+.Bl -tag -width "SHELL"
+.It Ev HOME
+Location of
+.Pa .dtch
+directory for UNIX-domain sockets.
+.It Ev SHELL
+The default command to run,
+or
+.Pa /bin/sh
+if unset.
+.El
+.
+.Sh EXAMPLES
+.Bd -literal -offset indent
+dtch foo vim &
+atch foo
+.Ed
+.
+.Sh SEE ALSO
+.Xr nohup 1 ,
+.Xr screen 1 ,
+.Xr forkpty 3
diff --git a/bin/man1/fbatt.1 b/bin/man1/fbatt.1
new file mode 100644
index 00000000..2d30cba7
--- /dev/null
+++ b/bin/man1/fbatt.1
@@ -0,0 +1,34 @@
+.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
new file mode 100644
index 00000000..3195eb42
--- /dev/null
+++ b/bin/man1/fbclock.1
@@ -0,0 +1,36 @@
+.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/gfxx.1 b/bin/man1/gfxx.1
new file mode 100644
index 00000000..d3d1edbd
--- /dev/null
+++ b/bin/man1/gfxx.1
@@ -0,0 +1,138 @@
+.Dd September 8, 2018
+.Dt GFXX 1
+.Os
+.
+.Sh NAME
+.Nm gfxx
+.Nd graphics data explorer
+.
+.Sh SYNOPSIS
+.Nm
+.Op Fl fm
+.Op Fl c Ar space
+.Op Fl p Ar file
+.Op Fl e Ar lb
+.Op Fl E Ar lb
+.Op Fl b Ar bits
+.Op Fl n Ar offset
+.Op Fl w Ar width
+.Op Fl z Ar scale
+.Op Fl o Ar prefix
+.
+.Sh DESCRIPTION
+.Nm
+is an interactive graphics data explorer
+capable of dumping PNGs.
+.
+.Pp
+The arguments are as follows:
+.Bl -tag -width Ds
+.It Fl E Ar lb
+Set bit order to little or big endian.
+.
+.It Fl b Ar bits
+Set number of bits of padding,
+red,
+green
+and blue
+components.
+Four digits are required.
+.
+.It Fl c Ar space
+Set color space to one of
+.Cm indexed ,
+.Cm grayscale ,
+.Cm rgb .
+.
+.It Fl e Ar lb
+Set byte order to little or big endian.
+.
+.It Fl f
+Flip display vertically.
+.
+.It Fl m
+Mirror display horizontally.
+.
+.It Fl n Ar offset
+Set byte offset into data.
+.
+.It Fl o Ar prefix
+Set PNG output filename prefix.
+.
+.It Fl p Ar file
+Load indexed color palette from
+.Ar file .
+.
+.It Fl w Ar width
+Set display column width.
+.
+.It Fl z Ar scale
+Set display scale.
+.El
+.
+.Pp
+The interactive keys are as follows:
+.Bl -tag -width Ds
+.It Ic q
+Quit.
+.
+.It Ic x
+Export one frame as PNG.
+.
+.It Ic X
+Export each frame as PNG.
+.
+.It Ic o
+Print interactive options.
+.
+.It Ic []
+Select color space.
+.
+.It Ic p
+Sample indexed palette from top-left corner.
+.
+.It Ic P
+Export indexed palette as RGB data.
+.
+.It Ic {}
+Select bits preset.
+.
+.It Ic e
+Toggle byte order.
+.
+.It Ic E
+Toggle bit order.
+.
+.It Ic hl
+Adjust offset by byte.
+.
+.It Ic jk
+Adjust offset by pixel.
+.
+.It Ic HL
+Adjust offset by pixel row.
+.
+.It Ic JK
+Adjust offset by pixel row square.
+.
+.It Ic ,.
+Adjust display column width.
+.
+.It Ic <>
+Adjust display column width by half or double.
+.
+.It Ic f
+Toggle vertically flipped display.
+.
+.It Ic m
+Toggle horizontally mirrored display.
+.
+.It Ic -+
+Adjust display scale.
+.
+.It Ic 0-9
+Set bits.
+.El
+.
+.Sh SEE ALSO
+.Xr pngo 1
diff --git a/bin/man1/glitch.1 b/bin/man1/glitch.1
new file mode 100644
index 00000000..6562c4dc
--- /dev/null
+++ b/bin/man1/glitch.1
@@ -0,0 +1,77 @@
+.Dd September 7, 2018
+.Dt GLITCH 1
+.Os
+.
+.Sh NAME
+.Nm glitch
+.Nd PNG glitcher
+.
+.Sh SYNOPSIS
+.Nm
+.Op Fl cfimprxy
+.Op Fl a Ar filters
+.Op Fl d Ar filters
+.Op Fl o Ar file
+.Op Ar
+.
+.Sh DESCRIPTION
+.Nm
+misinterprets PNG files
+according to the options given
+to create natural glitch effects.
+.
+.Pp
+The arguments are as follows:
+.Bl -tag -width Ds
+.It Fl a Ar filters
+Apply a pattern of comma-separated filters.
+Filters are
+.Cm none ,
+.Cm sub ,
+.Cm up ,
+.Cm average ,
+.Cm paeth .
+.
+.It Fl c
+Write to standard output.
+.
+.It Fl d Ar filters
+Declare a pattern of comma-separated filters.
+See
+.Fl a
+for list of filters.
+.
+.It Fl f
+Apply filtering in place of reconstruction.
+.
+.It Fl i
+Invert image data after filtering.
+.
+.It Fl m
+Mirror scanlines after filtering.
+.
+.It Fl o Ar file
+Write to
+.Ar file .
+.
+.It Fl p
+Use a broken Paeth predictor function.
+.
+.It Fl r
+Apply reconstruction in place of filtering.
+.
+.It Fl x
+Zero first pixel of each scanline after filtering.
+.
+.It Fl y
+Zero first scanline after filtering.
+.El
+.
+.Sh EXAMPLES
+.Dl glitch -m -a sub -d sub
+.
+.Sh SEE ALSO
+.Xr pngo 1
+.
+.Sh BUGS
+More wanted.
diff --git a/bin/man1/hi.1 b/bin/man1/hi.1
new file mode 100644
index 00000000..b852bf50
--- /dev/null
+++ b/bin/man1/hi.1
@@ -0,0 +1,161 @@
+.Dd February 18, 2019
+.Dt HI 1
+.Os
+.
+.Sh NAME
+.Nm hi
+.Nd syntax highlighter
+.
+.Sh SYNOPSIS
+.Nm
+.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.
+.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 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/hnel.1 b/bin/man1/hnel.1
new file mode 100644
index 00000000..82305be8
--- /dev/null
+++ b/bin/man1/hnel.1
@@ -0,0 +1,36 @@
+.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/modem.1 b/bin/man1/modem.1
new file mode 100644
index 00000000..522242b3
--- /dev/null
+++ b/bin/man1/modem.1
@@ -0,0 +1,23 @@
+.Dd July 8, 2019
+.Dt MODEM 1
+.Os
+.
+.Sh NAME
+.Nm modem
+.Nd fixed baud rate wrapper
+.
+.Sh SYNOPSIS
+.Nm
+.Ar command ...
+.
+.Sh DESCRIPTION
+.Nm
+runs the
+.Ar command
+in a new PTY
+with a fixed baud rate
+of 19.2 kbps.
+.
+.Sh BUGS
+Window size changes are not propagated
+to the child PTY.
diff --git a/bin/man1/order.1 b/bin/man1/order.1
new file mode 100644
index 00000000..f042102f
--- /dev/null
+++ b/bin/man1/order.1
@@ -0,0 +1,33 @@
+.Dd May 18, 2019
+.Dt ORDER 1
+.Os
+.
+.Sh NAME
+.Nm order
+.Nd operator precedence
+.
+.Sh SYNOPSIS
+.Nm
+.Ar expr ...
+.
+.Sh DESCRIPTION
+.Nm
+parses C expressions
+and prints them with parentheses
+according to the precedence rules in
+.Xr operator 7 .
+.
+.Sh EXAMPLES
+.Bd -literal
+$ order 'a & b << 1'
+(a & (b << 1))
+.Ed
+.
+.Sh SEE ALSO
+.Xr operator 7
+.
+.Sh CAVEATS
+.Nm
+does not support the
+.Sy (type)
+operator.
diff --git a/bin/man1/pbd.1 b/bin/man1/pbd.1
new file mode 100644
index 00000000..bbc7b785
--- /dev/null
+++ b/bin/man1/pbd.1
@@ -0,0 +1,59 @@
+.Dd September 7, 2018
+.Dt PBD 1
+.Os
+.
+.Sh NAME
+.Nm pbd ,
+.Nm pbcopy ,
+.Nm pbpaste ,
+.Nm open
+.Nd macOS pasteboard daemon
+.
+.Sh SYNOPSIS
+.Nm
+.Nm pbcopy
+.Nm pbpaste
+.Nm open
+.Ar
+.
+.Sh DESCRIPTION
+.Nm
+is a daemon which pipes into macOS
+.Xr pbcopy 1 ,
+from
+.Xr pbpaste 1
+and invokes
+.Xr open 1
+in response to messages
+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
+to access the local pasteboard
+and open URLs.
+.
+.Pp
+Forwarding can be configured with:
+.Pp
+.Dl RemoteForward 7062 127.0.0.1:7062
+.
+.Sh EXAMPLES
+.Bd -literal -offset indent
+pbd &
+ssh -R 7062:127.0.0.1:7062 tux.local
+pbpaste
+.Ed
+.
+.Sh SEE ALSO
+.Xr open 1 ,
+.Xr pbcopy 1 ,
+.Xr pbpaste 1 ,
+.Xr ssh 1 ,
+.Xr ssh_config 5
diff --git a/bin/man1/pngo.1 b/bin/man1/pngo.1
new file mode 100644
index 00000000..cec13160
--- /dev/null
+++ b/bin/man1/pngo.1
@@ -0,0 +1,56 @@
+.Dd September 17, 2018
+.Dt PNGO 1
+.Os
+.
+.Sh NAME
+.Nm pngo
+.Nd PNG optimizer
+.
+.Sh SYNOPSIS
+.Nm
+.Op Fl cv
+.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
+.
+.Pp
+.Nm
+performs the following optimizations:
+.Bl -bullet
+.It
+Discard ancillary chunks.
+.It
+Discard unnecessary alpha channel.
+.It
+Convert unnecessary truecolor to grayscale.
+.It
+Palletize color and alpha if possible.
+.It
+Reduce bit depth if possible.
+.It
+Apply a simple filter heuristic.
+.It
+Apply zlib's best compresion.
+.El
+.
+.Sh SEE ALSO
+.Xr glitch 1
+.
+.Sh CAVEATS
+.Nm
+does not support interlaced PNGs.
diff --git a/bin/man1/psf2png.1 b/bin/man1/psf2png.1
new file mode 100644
index 00000000..db74c6e2
--- /dev/null
+++ b/bin/man1/psf2png.1
@@ -0,0 +1,53 @@
+.Dd September 28, 2018
+.Dt PSF2PNG 1
+.Os
+.
+.Sh NAME
+.Nm psf2png
+.Nd PSF2 to PNG renderer
+.
+.Sh SYNOPSIS
+.Nm
+.Op Fl b Ar bg
+.Op Fl c Ar cols
+.Op Fl f Ar fg
+.Op Fl s Ar str
+.Op Ar file
+.
+.Sh DESCRIPTION
+.Nm
+renders the PSF2 font
+.Ar file
+or standard input
+to PNG
+on standard output.
+.
+.Pp
+The arguments are as follows:
+.Bl -tag -width Ds
+.It Fl b Ar bg
+Use
+.Ar bg
+(hexadecimal RGB)
+as background color.
+The default background color is black.
+.It Fl c Ar cols
+Arrange glyphs in
+.Ar cols
+columns.
+The default number of columns is 32.
+.It Fl f Ar fg
+Use
+.Ar fg
+(hexadecimal RGB)
+as foreground color.
+The default foreground color is white.
+.It Fl s Ar str
+Render glyphs for string
+.Ar str
+rather than all glyphs.
+.El
+.
+.Sh SEE ALSO
+.Xr pngo 1 ,
+.Xr psfed 1
diff --git a/bin/man1/psfed.1 b/bin/man1/psfed.1
new file mode 100644
index 00000000..3fbc4710
--- /dev/null
+++ b/bin/man1/psfed.1
@@ -0,0 +1,166 @@
+.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
new file mode 100644
index 00000000..a38d61c7
--- /dev/null
+++ b/bin/man1/ptee.1
@@ -0,0 +1,36 @@
+.Dd July 8, 2019
+.Dt PTEE 1
+.Os
+.
+.Sh NAME
+.Nm ptee
+.Nd tee for PTYs
+.
+.Sh SYNOPSIS
+.Nm
+.Ar command ...
+.Cm >
+.Ar file
+.
+.Sh DESCRIPTION
+.Nm
+runs
+.Ar command
+in a new PTY
+which is mirrored to
+the current PTY
+and standard output.
+Standard output must be redirected
+to a file or pipe.
+.
+.Pp
+Type
+.Ic ^S
+to toggle writing to standard output.
+.
+.Sh SEE ALSO
+.Xr tee 1
+.
+.Sh BUGS
+Window size changes are not propagated
+to the child PTY.
diff --git a/bin/man1/relay.1 b/bin/man1/relay.1
new file mode 100644
index 00000000..402c4726
--- /dev/null
+++ b/bin/man1/relay.1
@@ -0,0 +1,48 @@
+.Dd April 28, 2019
+.Dt RELAY 1
+.Os
+.
+.Sh NAME
+.Nm relay
+.Nd IRC relay bot
+.
+.Sh SYNOPSIS
+.Nm
+.Ar host
+.Ar port
+.Ar nick
+.Ar chan
+.
+.Sh DESCRIPTION
+.Nm
+is one half of an IRC relay pair.
+It connects to
+.Ar host Ns : Ns Ar port
+over TLS
+as
+.Ar nick
+and joins
+.Ar chan .
+.
+.Pp
+.Nm
+outputs messages from
+.Ar chan
+to standard output
+and sends messages to
+.Ar chan
+from standard input.
+Two
+.Nm
+processes can be connected with
+.Xr mkfifo 1 .
+.
+.Sh EXAMPLES
+.Bd -literal -offset indent
+mkfifo a b
+relay a.example.com 6697 relay '#example' <>a >b
+relay b.example.com 6697 relay '#example' <>b >a
+.Ed
+.
+.Sh SEE ALSO
+.Xr mkfifo 1
diff --git a/bin/man1/scheme.1 b/bin/man1/scheme.1
new file mode 100644
index 00000000..9aa4f054
--- /dev/null
+++ b/bin/man1/scheme.1
@@ -0,0 +1,56 @@
+.Dd July 6, 2019
+.Dt SCHEME 1
+.Os
+.
+.Sh NAME
+.Nm scheme
+.Nd color scheme
+.
+.Sh SYNOPSIS
+.Nm
+.Op Fl acghilmstx
+.Op Fl p Ar n
+.
+.Sh DESCRIPTION
+.Nm
+generates a color scheme
+and outputs it in a number of formats.
+.
+.Pp
+The arguments are as follows:
+.Bl -tag -width Ds
+.It Fl a
+Generate the 16 ANSI colors.
+This is the default.
+.It Fl c
+Output a C enum.
+.It Fl g
+Output a swatch PNG.
+.It Fl h
+Output floating point HSV.
+.It Fl i
+Swap black and white.
+.It Fl l
+Output Linux console OSC sequences.
+.It Fl m
+Output a
+.Xr mintty 1
+theme.
+Use with
+.Fl t .
+.It Fl p Ar n
+Generate only the color
+.Ar n .
+.It Fl s
+Output CSS
+for classes named
+.Sy fg Ns Ar n
+and
+.Sy bg Ns Ar n .
+.It Fl t
+Generate the 16 ANSI colors as well as
+background, foreground, bold, selection and cursor colors.
+.It Fl x
+Output hexadecimal RGB.
+This is the default.
+.El
diff --git a/bin/man1/setopt.1 b/bin/man1/setopt.1
new file mode 100644
index 00000000..a148b28f
--- /dev/null
+++ b/bin/man1/setopt.1
@@ -0,0 +1,48 @@
+.Dd February 24, 2019
+.Dt SETOPT 1
+.Os
+.
+.Sh NAME
+.Nm setopt
+.Nd parse command options
+.
+.Sh SYNOPSIS
+.Nm
+.Ar optstring
+.Op Ar args ...
+.
+.Sh DESCRIPTION
+.Nm
+behaves similarly to
+.Xr getopt 1 ,
+except that it produces quoted output
+appropriate for use with the
+.Nm eval
+shell builtin.
+This allows arguments containing whitespace
+to survive parsing.
+.
+.Sh EXAMPLES
+.Bd -literal -offset indent
+args=$(setopt abo: "$@")
+eval set -- "$args"
+.Ed
+.
+.Sh SEE ALSO
+.Xr getopt 1 ,
+.Xr sh 1 ,
+.Xr getopt 3
+.
+.Sh HISTORY
+The
+.Xr getopt 1
+manual page of
+.Fx
+reads,
+.Do
+Arguments containing white space
+or embedded shell metacharacters
+generally will not survive intact;
+this looks easy to fix but isn't.
+.Dc
+Yet here we are.
diff --git a/bin/man1/shotty.1 b/bin/man1/shotty.1
new file mode 100644
index 00000000..029bb036
--- /dev/null
+++ b/bin/man1/shotty.1
@@ -0,0 +1,57 @@
+.Dd July 12, 2019
+.Dt SHOTTY 1
+.Os
+.
+.Sh NAME
+.Nm shotty
+.Nd terminal capture
+.
+.Sh SYNOPSIS
+.Nm
+.Op Fl Bs
+.Op Fl b Ar bg
+.Op Fl f Ar fg
+.Op Fl h Ar rows
+.Op Fl w Ar cols
+.Op Ar file
+.
+.Sh DESCRIPTION
+.Nm
+interprets terminal output from
+.Ar file
+or standard input
+and produces HTML
+.Sy <pre>
+on standard output.
+Terminal output can be captured with
+.Xr ptee 1 .
+.
+.Pp
+The arguments are as follows:
+.Bl -tag -width "-w cols"
+.It Fl B
+Replace bold with bright colors.
+.
+.It Fl b Ar bg
+Set the default background color.
+The default value is 0 (black).
+.
+.It Fl f Ar fg
+Set the default foreground color.
+The default value is 7 (white).
+.
+.It Fl h Ar rows
+Set the terminal height.
+The default value is 24.
+.
+.It Fl s
+Set the terminal size
+from the current terminal size.
+.
+.It Fl w Ar cols
+Set the terminal width.
+The default value is 80.
+.El
+.
+.Sh SEE ALSO
+.Xr ptee 1
diff --git a/bin/man1/ttpre.1 b/bin/man1/ttpre.1
new file mode 100644
index 00000000..bd178525
--- /dev/null
+++ b/bin/man1/ttpre.1
@@ -0,0 +1,32 @@
+.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
new file mode 100644
index 00000000..07f25e33
--- /dev/null
+++ b/bin/man1/up.1
@@ -0,0 +1,63 @@
+.Dd July 9, 2019
+.Dt UP 1
+.Os
+.
+.Sh NAME
+.Nm up
+.Nd upload file
+.
+.Sh SYNOPSIS
+.Nm
+.Op Fl chs
+.Op Ar file
+.
+.Sh DESCRIPTION
+.Nm
+uploads a file
+to temp.causal.agency with
+.Xr scp 1 .
+If no
+.Ar file
+is provided,
+standard input is read
+and uploaded as text.
+.
+.Pp
+The destination file name
+is chosen using
+.Xr date 1
+and
+.Xr openssl 1
+.Cm rand .
+The URL of the uploaded file is printed
+and copied to the pasteboard with
+.Xr pbcopy 1
+if available.
+.
+.Pp
+The arguments are as follows:
+.Bl -tag -width Ds
+.It Fl c
+Run a command
+to produce a text file for upload.
+.It Fl h
+Use
+.Xr hi 1
+to produce an HTML file for upload.
+.It Fl s
+Use
+.Xr screencapture 1
+to produce a PNG file for upload.
+The file is optimized by
+.Xr pngo 1
+if available.
+.El
+.
+.Pp
+Any arguments after
+.Ql \-\-
+are passed to
+.Xr hi 1
+and
+.Xr screencapture 1 ,
+respectively.
diff --git a/bin/man1/wake.1 b/bin/man1/wake.1
new file mode 100644
index 00000000..8457b254
--- /dev/null
+++ b/bin/man1/wake.1
@@ -0,0 +1,16 @@
+.Dd September 7, 2018
+.Dt WAKE 1
+.Os
+.
+.Sh NAME
+.Nm wake
+.Nd wake-on-LAN
+.
+.Sh SYNOPSIS
+.Nm
+.
+.Sh DESCRIPTION
+.Nm
+broadcasts a wake-on-LAN packet
+for
+.Ql 04:7D:7B:D5:6A:53 .
diff --git a/bin/man1/wat.1 b/bin/man1/wat.1
new file mode 100644
index 00000000..f4ef4ed6
--- /dev/null
+++ b/bin/man1/wat.1
@@ -0,0 +1,35 @@
+.Dd January 1, 2018
+.Dt WAT 1
+.Os
+.
+.Sh NAME
+.Nm wat
+.Nd watch files
+.
+.Sh SYNOPSIS
+.Nm
+.Ar
+.Ar command
+.Nm
+.Ar
+.Fl -
+.Ar command
+.Op Ar argument ...
+.
+.Sh DESCRIPTION
+.Nm
+executes the
+.Ar command
+each time a
+.Ar file
+is modified.
+.
+.Sh EXAMPLES
+.Dl wat wat.c make
+.Dl wat wat.c wake.c -- make wat wake
+.
+.Sh CAVEATS
+.Nm
+does not support Linux
+since it uses
+.Xr kqueue 2 .
diff --git a/bin/man1/xx.1 b/bin/man1/xx.1
new file mode 100644
index 00000000..d38789a7
--- /dev/null
+++ b/bin/man1/xx.1
@@ -0,0 +1,68 @@
+.Dd September 7, 2018
+.Dt XX 1
+.Os
+.
+.Sh NAME
+.Nm xx
+.Nd hexdump
+.
+.Sh SYNOPSIS
+.Nm
+.Op Fl arsz
+.Op Fl c Ar cols
+.Op Fl g Ar group
+.Op Fl p Ar count
+.Op Ar file
+.
+.Sh DESCRIPTION
+.Nm
+dumps the contents of a
+.Ar file
+or standard input
+in hexadecimal format.
+.
+.Pp
+The arguments are as follows:
+.Bl -tag -width Ds
+.It Fl a
+Toggle ASCII output.
+.
+.It Fl c Ar cols
+Output
+.Ar cols
+bytes per line.
+The default
+.Ar cols
+is 16.
+.
+.It Fl g Ar group
+Output extra space after every
+.Ar group
+bytes.
+The default
+.Ar group
+is 8.
+.
+.It Fl p Ar count
+Output a blank line after every
+.Ar count
+bytes.
+.Ar count
+must be a multiple of
+.Ar cols .
+.
+.It Fl r
+Reverse hexdump.
+Read hexadecimal input
+and write byte output.
+.
+.It Fl s
+Toggle offset output.
+.
+.It Fl z
+Skip output of lines containing only zeros.
+.El
+.
+.Sh SEE ALSO
+.Xr hexdump 1 ,
+.Xr xxd 1