catgirl.1 (21972B)
- .Dd February 22, 2022
- .Dt CATGIRL 1
- .Os
- .
- .Sh NAME
- .Nm catgirl
- .Nd IRC client
- .
- .Sh SYNOPSIS
- .Nm
- .Op Fl KRelqv
- .Op Fl C Ar copy
- .Op Fl H Ar hash
- .Op Fl I Ar highlight
- .Op Fl N Ar notify
- .Op Fl O Ar open
- .Op Fl S Ar bind
- .Op Fl T Ns Op Ar timestamp
- .Op Fl a Ar plain
- .Op Fl c Ar cert
- .Op Fl h Ar host
- .Op Fl i Ar ignore
- .Op Fl j Ar join
- .Op Fl k Ar priv
- .Op Fl m Ar mode
- .Op Fl n Ar nick
- .Op Fl p Ar port
- .Op Fl r Ar real
- .Op Fl s Ar save
- .Op Fl t Ar trust
- .Op Fl u Ar user
- .Op Fl w Ar pass
- .Op Ar config ...
- .
- .Nm
- .Fl o
- .Op Fl S Ar bind
- .Op Fl h Ar host
- .Op Fl p Ar port
- .Op Ar config ...
- .
- .Nm
- .Fl g Ar cert
- .
- .Sh DESCRIPTION
- The
- .Nm
- IRC client
- provides a curses interface
- for TLS-only
- Internet Relay Chat.
- The only required option is
- .Fl h ,
- the host name to connect to.
- See
- .Sx EXAMPLES
- for managing further configuration.
- Type
- .Ic /help
- in
- .Nm
- to view the list of
- .Sx COMMANDS
- and
- .Sx KEY BINDINGS .
- .
- .Pp
- Options can be loaded from files
- listed on the command line.
- Files are searched for in
- .Pa $XDG_CONFIG_DIRS/catgirl
- .Po
- usually
- .Pa ~/.config/catgirl
- .Pc
- unless the path starts with
- .Ql / ,
- .Ql \&./
- or
- .Ql \&../ .
- Files and flags listed later
- on the command line
- take precedence over
- those listed earlier.
- .
- .Pp
- Each option is placed on a line,
- and lines beginning with
- .Ql #
- are ignored.
- The options are listed below
- following their corresponding flags.
- .
- .Bl -tag -width Ds
- .It Fl C Ar util | Cm copy No = Ar util
- Set the utility used by
- .Ic /copy .
- Subsequent
- .Cm copy
- options append arguments to
- .Ar util .
- The URL to copy is provided to
- .Ar util
- on standard input.
- The default is the first available of
- .Xr pbcopy 1 ,
- .Xr wl-copy 1 ,
- .Xr xclip 1 ,
- .Xr xsel 1 .
- .
- .It Fl H Ar seed,bound | Cm hash No = Ar seed,bound
- Set the initial seed
- of the nick and channel
- color hash function
- and the maximum IRC color value
- produced by the function.
- The default is 0,75.
- To use only colors from
- the 16-color terminal set,
- use 0,15.
- To disable nick and channel colors,
- use 0,0.
- .
- .It Fl I Ar pattern | Cm highlight No = Ar pattern
- Add a case-insensitive message highlight pattern,
- which may contain
- .Ql * ,
- .Ql \&?
- and
- .Ql []
- wildcards as in
- .Xr glob 7 .
- The format of the pattern is as follows:
- .Bd -ragged -offset indent
- .Ar nick Ns Op Ar !user@host Op Ar command Op Ar channel Op Ar message
- .Ed
- .Pp
- The commands which can be matched are:
- .Sy INVITE ,
- .Sy JOIN ,
- .Sy NICK ,
- .Sy NOTICE ,
- .Sy PART ,
- .Sy PRIVMSG ,
- .Sy QUIT ,
- .Sy SETNAME .
- .
- .It Fl K | Cm kiosk
- Disable the
- .Ic /copy ,
- .Ic /debug ,
- .Ic /exec ,
- .Ic /join ,
- .Ic /list ,
- .Ic /msg ,
- .Ic /open ,
- .Ic /part ,
- .Ic /query ,
- .Ic /quote
- commands.
- Replace the username
- with a hash of its original value.
- .
- .It Fl N Ar util | Cm notify No = Ar util
- Send notifications using a utility.
- Subsequent
- .Cm notify
- options append arguments to
- .Ar util .
- The window name and message
- are provided to
- .Ar util
- as two additional arguments,
- appropriate for
- .Xr notify-send 1 .
- .
- .It Fl O Ar util | Cm open No = Ar util
- Set the utility used by
- .Ic /open .
- Subsequent
- .Cm open
- options append arguments to
- .Ar util .
- The URL to open is provided to
- .Ar util
- as an argument.
- The default is the first available of
- .Xr open 1 ,
- .Xr xdg-open 1 .
- .
- .It Fl R | Cm restrict
- Disable the
- .Ic /copy ,
- .Ic /exec
- and
- .Ic /open
- commands,
- the
- .Cm notify
- option,
- and viewing this manual with
- .Ic /help .
- .
- .It Fl S Ar host | Cm bind No = Ar host
- Bind to source address
- .Ar host
- when connecting to the server.
- .
- .It Fl T Ns Oo Ar format Oc | Cm timestamp Op = Ar format
- Show timestamps by default,
- in the specified
- .Xr strftime 3
- .Ar format .
- The format string may contain
- raw IRC formatting codes.
- The default format is
- .Qq \&%X .
- .
- .It Fl a Ar user : Ns Ar pass | Cm sasl-plain No = Ar user : Ns Ar pass
- Authenticate as
- .Ar user
- with
- .Ar pass
- using SASL PLAIN.
- Leave
- .Ar pass
- blank to prompt for the password.
- .
- .It Fl c Ar path | Cm cert No = Ar path
- Load the TLS client certificate from
- .Ar path .
- The
- .Ar path
- is searched for in the same manner
- as configuration files.
- If the private key is in a separate file,
- it is loaded with
- .Cm priv .
- With
- .Cm sasl-external ,
- authenticate using SASL EXTERNAL.
- Certificates can be generated with
- .Fl g .
- .
- .It Fl e | Cm sasl-external
- Authenticate using SASL EXTERNAL,
- also known as CertFP.
- The TLS client certificate is loaded with
- .Cm cert .
- See
- .Sx Configuring CertFP .
- .
- .It Fl g Ar path
- Generate a TLS client certificate using
- .Xr openssl 1
- and write it to
- .Ar path .
- .
- .It Fl h Ar host | Cm host No = Ar host
- Connect to
- .Ar host .
- .
- .It Fl i Ar pattern | Cm ignore No = Ar pattern
- Add a case-insensitive message ignore pattern,
- which may contain
- .Ql * ,
- .Ql \&?
- and
- .Ql []
- wildcards as in
- .Xr glob 7 .
- The format of the pattern is as follows:
- .Bd -ragged -offset indent
- .Ar nick Ns Op Ar !user@host Op Ar command Op Ar channel Op Ar message
- .Ed
- .Pp
- The commands which can be matched are:
- .Sy INVITE ,
- .Sy JOIN ,
- .Sy NICK ,
- .Sy NOTICE ,
- .Sy PART ,
- .Sy PRIVMSG ,
- .Sy QUIT ,
- .Sy SETNAME .
- .
- .It Fl j Ar channels Oo Ar keys Oc | Cm join No = Ar channels Oo Ar keys Oc
- Join the comma-separated list of
- .Ar channels
- with the optional comma-separated list of channel
- .Ar keys .
- .
- .It Fl k Ar path | Cm priv No = Ar priv
- Load the TLS client private key from
- .Ar path .
- The
- .Ar path
- is searched for in the same manner
- as configuration files.
- .
- .It Fl l | Cm log
- Log chat events to files in paths
- .Pa $XDG_DATA_HOME/catgirl/log/network/channel/YYYY-MM-DD.log .
- .
- .It Fl m Ar mode | Cm mode No = Ar mode
- Set the user
- .Ar mode .
- .
- .It Fl n Ar nick | Cm nick No = Ar nick
- Set nickname to
- .Ar nick .
- The default nickname is
- the value of the environment variable
- .Ev USER .
- .
- .It Fl o
- Print the server certificate chain
- to standard output in PEM format
- and exit.
- .
- .It Fl p Ar port | Cm port No = Ar port
- Connect to
- .Ar port .
- The default port is 6697.
- .
- .It Fl q | Cm quiet
- Raise the default message visibility threshold
- for new windows,
- hiding general events
- (joins, quits, etc.).
- .
- .It Fl r Ar real | Cm real No = Ar real
- Set realname to
- .Ar real .
- The default realname is the same as the nickname.
- .
- .It Fl s Ar name | Cm save No = Ar name
- Save and load the contents of windows from
- .Ar name
- in
- .Pa $XDG_DATA_DIRS/catgirl ,
- or an absolute or relative path if
- .Ar name
- starts with
- .Ql / ,
- .Ql \&./ ,
- or
- .Ql \&../ .
- .
- .It Fl t Ar path | Cm trust No = Ar path
- Trust the self-signed certificate
- loaded from
- .Ar path
- and disable server name verification.
- The
- .Ar path
- is searched for in the same manner
- as configuration files.
- See
- .Sx Connecting to Servers with Self-signed Certificates .
- .
- .It Fl u Ar user | Cm user No = Ar user
- Set username to
- .Ar user .
- The default username is the same as the nickname.
- .
- .It Fl v | Cm debug
- Log raw IRC messages to the
- .Sy <debug>
- window
- as well as standard error
- if it is not a terminal.
- .
- .It Fl w Ar pass | Cm pass No = Ar pass
- Log in with the server password
- .Ar pass .
- Leave
- .Ar pass
- blank to prompt for the password.
- .El
- .
- .Ss Configuring CertFP
- .Bl -enum
- .It
- Generate a new TLS client certificate:
- .Bd -literal -offset indent
- $ catgirl -g ~/.config/catgirl/example.pem
- .Ed
- .It
- Connect to the server using the certificate:
- .Bd -literal -offset indent
- cert = example.pem
- # or: $ catgirl -c example.pem
- .Ed
- .It
- Identify with services or use
- .Cm sasl-plain ,
- then add the certificate fingerprint
- to your account:
- .Bd -literal -offset indent
- /ns CERT ADD
- .Ed
- .It
- Enable SASL EXTERNAL
- to require successful authentication
- when connecting
- (not possible on all networks):
- .Bd -literal -offset indent
- cert = example.pem
- sasl-external
- # or: $ catgirl -e -c example.pem
- .Ed
- .El
- .
- .Ss Connecting to Servers with Self-signed Certificates
- .Bl -enum
- .It
- Connect to the server
- and write its certificate to a file:
- .Bd -literal -offset indent
- $ catgirl -o -h irc.example.org > ~/.config/catgirl/example.pem
- .Ed
- .It
- Configure
- .Nm
- to trust the certificate:
- .Bd -literal -offset indent
- trust = example.pem
- # or: $ catgirl -t example.pem
- .Ed
- .El
- .
- .Sh INTERFACE
- The
- .Nm
- interface is split
- into three areas.
- .
- .Ss Status Line
- The top line of the terminal
- shows window statuses.
- Only the currently active window
- and windows with activity are listed.
- The status line for a window
- might look like this:
- .Bd -literal -offset indent
- 1+ #ascii.town +3 ~7 @
- .Ed
- .Pp
- The number on the left
- is the window number.
- Following it may be one of
- .Ql - ,
- .Ql + ,
- .Ql ++ ,
- as well as
- .Ql = .
- These indicate
- the message visibility threshold
- and mute status
- of the window.
- .Pp
- On the right side,
- the number following
- .Ql +
- indicates the number of unread messages.
- The number following
- .Ql ~
- indicates how many lines
- are below the scroll position.
- An
- .Ql @
- indicates that there is unsent input
- in the window's
- .Sx Input Line .
- .Pp
- .Nm
- will also set the terminal title,
- if possible,
- to the name of the network
- and active window,
- followed by the unread count
- for that window,
- and the unread count
- for all other windows
- in parentheses.
- .
- .Ss Chat Area
- The chat area shows
- messages and events.
- Regular messages are shown
- with the nick between
- .Ql <>
- angle brackets.
- Actions are shown
- with the nick preceded by
- .Ql * .
- Notices are shown
- with the nick between
- .Ql -
- hyphens.
- .Pp
- Blank lines are inserted into the chat
- as unread markers.
- .Pp
- While scrolling,
- the most recent 5 lines of chat
- are kept visible below a marker line.
- .
- .Ss Input Line
- The bottom line of the terminal
- is where messages and commands are entered.
- When entering a message, action or notice,
- your nick appears on the left,
- as it would in the
- .Sx Chat Area .
- When entering a command,
- no nick is shown.
- .Pp
- Formatting codes are shown
- in the input line
- as reverse-video uppercase letters.
- These will not appear in the sent message.
- .Pp
- Input that is too long
- to send as a single message
- will have a red background
- starting at the point where it will be split
- into a second message.
- .
- .Sh COMMANDS
- Any unique prefix can be used to abbreviate a command.
- For example,
- .Ic /join
- can be typed
- .Ic /j .
- .
- .Ss Chat Commands
- .Bl -tag -width Ds
- .It Ic /away Op Ar message
- Set or clear your away status.
- .It Ic /cs Ar command
- Send a command to ChanServ.
- .It Ic /invite Ar nick
- Invite a user to the channel.
- .It Ic /join Op Ar channel Op Ar key
- Join the named channel,
- the current channel,
- or the channel you've been invited to.
- .It Ic /list Op Ar channel
- List channels.
- .It Ic /me Op Ar action
- Send an action message.
- .It Ic /msg Ar nick message
- Send a private message.
- .It Ic /names
- List users in the channel.
- .It Ic /nick Ar nick
- Change nicknames.
- .It Ic /notice Ar message
- Send a notice.
- .It Ic /ns Ar command
- Send a command to NickServ.
- .It Ic /ops
- List channel operators.
- .It Ic /part Op Ar message
- Leave the channel.
- .It Ic /query Ar nick
- Start a private conversation.
- .It Ic /quit Op Ar message
- Quit IRC.
- .It Ic /quote Ar command
- Send a raw IRC command.
- The
- .Ic /debug
- command is likely needed
- for command output.
- .It Ic /say Ar message
- Send a regular message.
- .It Ic /setname Ar name
- Update realname
- if supported by the server.
- .It Ic /topic Op Ar topic
- Show or set the topic of the channel.
- Press
- .Ic Tab
- twice to copy the current topic.
- .It Ic /whois Op Ar nick
- Query information about a user or yourself.
- .It Ic /whowas Ar nick
- Query past information about a user.
- .El
- .
- .Ss UI Commands
- .Bl -tag -width Ds
- .It Ic /close Op Ar name | num
- Close the named, numbered or current window.
- .It Ic /copy Op Ar nick | substring
- Copy the most recent URL from
- .Ar nick
- or matching
- .Ar substring .
- .It Ic /debug
- Toggle logging in the
- .Sy <debug>
- window.
- .It Ic /exec Ar command
- Run
- .Ar command
- with
- .Ev SHELL
- and interpret its output
- as input to the current window,
- including as commands.
- .It Ic /help
- View this manual.
- Type
- .Ic q
- to return to
- .Nm .
- .It Ic /help Ar topic
- List the server help for a topic.
- Try
- .Ic /help index
- for a list of topics.
- .It Ic /highlight Op Ar pattern
- List message highlight patterns
- or temporarily add a pattern.
- To permanently add a pattern,
- use the
- .Cm highlight
- option.
- .It Ic /ignore Op Ar pattern
- List message ignore patterns
- or temporarily add a pattern.
- To permanently add a pattern,
- use the
- .Cm ignore
- option.
- .It Ic /move Oo Ar name Oc Ar num
- Move the named or current window to number.
- .It Ic /open Op Ar count
- Open each of
- .Ar count
- most recent URLs.
- .It Ic /open Ar nick | substring
- Open the most recent URL from
- .Ar nick
- or matching
- .Ar substring .
- .It Ic /unhighlight Ar pattern
- Temporarily remove a message highlight pattern.
- .It Ic /unignore Ar pattern
- Temporarily remove a message ignore pattern.
- .It Ic /window
- List all windows.
- .It Ic /window Ar name | substring
- Switch to window by name
- or matching substring.
- .It Ic /window Ar num | Ic / Ns Ar num
- Switch to window by number.
- .El
- .
- .Ss Operator Commands
- .Bl -tag -width Ds
- .It Ic /ban Op Ar mask ...
- List or ban masks from the channel.
- .It Ic /deop Op Ar nick ...
- Revoke channel operator status from users or yourself.
- .It Ic /devoice Op Ar nick ...
- Revoke voice from users or yourself in the channel.
- .It Ic /except Op Ar mask ...
- List or add masks to the channel ban exception list.
- .It Ic /invex Op Ar mask ...
- List or add masks to the channel invite list.
- .It Ic /kick Ar nick Op Ar message
- Kick a user from the channel.
- .It Ic /mode Oo Ar modes Oc Op Ar param ...
- Show or set channel modes.
- In the
- .Sy <network>
- window,
- show or set user modes.
- .It Ic /op Op Ar nick ...
- Grant users or yourself channel operator status.
- .It Ic /unban Ar mask ...
- Unban masks from the channel.
- .It Ic /unexcept Ar mask ...
- Remove masks from the channel ban exception list.
- .It Ic /uninvex Ar mask ...
- Remove masks from the channel invite list.
- .It Ic /voice Op Ar nick ...
- Grant users or yourself voice in the channel.
- .El
- .
- .Sh KEY BINDINGS
- The
- .Nm
- interface provides
- .Xr emacs 1 Ns -like
- line editing
- as well as keys for IRC formatting.
- The prefixes
- .Ic C-
- and
- .Ic M-
- represent the control and meta (alt)
- modifiers, respectively.
- .
- .Ss Line Editing
- .Bl -tag -width Ds -compact
- .It Ic C-a
- Move to beginning of line.
- .It Ic C-b
- Move left.
- .It Ic C-d
- Delete next character.
- .It Ic C-e
- Move to end of line.
- .It Ic C-f
- Move right.
- .It Ic C-k
- Delete to end of line.
- .It Ic C-t
- Transpose characters.
- .It Ic C-u
- Delete to beginning of line.
- .It Ic C-w
- Delete previous word.
- .It Ic C-x
- Expand a text macro beginning with
- .Ql \e .
- .It Ic C-y
- Paste previously deleted text.
- .It Ic M-Enter
- Insert a newline without sending a command.
- .It Ic M-b
- Move to previous word.
- .It Ic M-d
- Delete next word.
- .It Ic M-f
- Move to next word.
- .It Ic M-q
- Collapse all whitespace.
- .It Ic Tab
- Complete nick, channel, command or macro.
- .El
- .Pp
- Arrow and navigation keys
- also work as expected.
- .
- .Ss Window Keys
- .Bl -tag -width Ds -compact
- .It Ic C-l
- Redraw the UI.
- .It Ic C-n
- Switch to next window.
- .It Ic C-p
- Switch to previous window.
- .It Ic C-r
- Scroll to previous line matching input.
- .It Ic C-s
- Scroll to next line matching input.
- .It Ic C-v
- Scroll down a page.
- .It Ic M-+
- Raise message visibility threshold,
- hiding ignored messages,
- general events
- (joins, quits, etc.),
- or non-highlighted messages.
- .It Ic M--
- Lower message visibility threshold,
- showing ignored messages.
- .It Ic M-=
- Toggle mute.
- Muted windows do not appear in the status line
- unless you are mentioned.
- .It Ic M-/
- Switch to previously selected window.
- .It Ic M-<
- Scroll to top.
- .It Ic M->
- Scroll to bottom.
- .It Ic M- Ns Ar n
- Switch to window by number 0\(en9.
- .It Ic M-a
- Cycle through unread windows.
- .It Ic M-l
- List the contents of the window
- without word-wrapping
- and with timestamps.
- Press
- .Ic Enter
- to return to
- .Nm .
- .It Ic M-m
- Insert a blank line in the window.
- .It Ic M-n
- Scroll to next highlight.
- .It Ic M-p
- Scroll to previous highlight.
- .It Ic M-s
- Reveal spoiler text.
- .It Ic M-t
- Toggle timestamps.
- .It Ic M-u
- Scroll to first unread line.
- .It Ic M-v
- Scroll up a page.
- .El
- .
- .Ss IRC Formatting
- .Bl -tag -width "C-z C-v" -compact
- .It Ic C-z C-v
- Insert the next input character literally.
- .It Ic C-z b
- Toggle bold.
- .It Ic C-z c
- Set or reset color.
- .It Ic C-z i
- Toggle italics.
- .It Ic C-z o
- Reset formatting.
- .It Ic C-z p
- Manually toggle paste mode.
- .It Ic C-z r
- Toggle reverse color.
- .It Ic C-z s
- Set spoiler text (black on black).
- .It Ic C-z u
- Toggle underline.
- .El
- .
- .Pp
- Some color codes can be inserted
- with the following:
- .Bl -column "C-z A" "magenta" "C-z N" "orange (dark yellow)"
- .It Ic C-z A Ta gray Ta Ic C-z N Ta brown (dark red)
- .It Ic C-z B Ta blue Ta Ic C-z O Ta orange (dark yellow)
- .It Ic C-z C Ta cyan Ta Ic C-z P Ta pink (light magenta)
- .It Ic C-z G Ta green Ta Ic C-z R Ta red
- .It Ic C-z K Ta black Ta Ic C-z W Ta white
- .It Ic C-z M Ta magenta Ta Ic C-z Y Ta yellow
- .El
- .
- .Pp
- To set other colors, follow
- .Ic C-z c
- by one or two digits for the foreground color,
- optionally followed by a comma
- and one or two digits for the background color.
- To reset color, follow
- .Ic C-z c
- by a non-digit.
- .
- .Pp
- The color numbers are as follows:
- .Bl -column "99" "orange (dark yellow)" "15" "pink (light magenta)"
- .It \ 0 Ta white Ta \ 8 Ta yellow
- .It \ 1 Ta black Ta \ 9 Ta light green
- .It \ 2 Ta blue Ta 10 Ta cyan
- .It \ 3 Ta green Ta 11 Ta light cyan
- .It \ 4 Ta red Ta 12 Ta light blue
- .It \ 5 Ta brown (dark red) Ta 13 Ta pink (light magenta)
- .It \ 6 Ta magenta Ta 14 Ta gray
- .It \ 7 Ta orange (dark yellow) Ta 15 Ta light gray
- .It 99 Ta default Ta Ta
- .El
- .
- .Sh ENVIRONMENT
- .Bl -tag -width Ds
- .It Ev SHELL
- The shell used by
- .Ic /exec .
- The default is
- .Pa /bin/sh .
- .It Ev USER
- The default nickname.
- .El
- .
- .Sh FILES
- .Bl -tag -width Ds
- .It Pa $XDG_CONFIG_DIRS/catgirl
- Configuration files are searched for first in
- .Ev $XDG_CONFIG_HOME ,
- usually
- .Pa ~/.config ,
- followed by the colon-separated list of paths
- .Ev $XDG_CONFIG_DIRS ,
- usually
- .Pa /etc/xdg .
- .It Pa ~/.config/catgirl
- The most likely location of configuration files.
- .
- .It Pa $XDG_DATA_DIRS/catgirl
- Save files are searched for first in
- .Ev $XDG_DATA_HOME ,
- usually
- .Pa ~/.local/share ,
- followed by the colon-separated list of paths
- .Ev $XDG_DATA_DIRS ,
- usually
- .Pa /usr/local/share:/usr/share .
- .It Pa ~/.local/share/catgirl
- The most likely location of save files.
- .El
- .
- .Sh EXIT STATUS
- The
- .Nm
- client exits 0
- if requested by the user,
- .Dv EX_UNAVAILABLE
- (69)
- if the connection is lost,
- and >0 if any other error occurs.
- .
- .Sh EXAMPLES
- Join
- .Li #ascii.town
- from the command line:
- .Bd -literal -offset indent
- $ catgirl -h irc.tilde.chat -j '#ascii.town'
- .Ed
- .Pp
- Create a configuration file in
- .Pa ~/.config/catgirl/tilde :
- .Bd -literal -offset indent
- host = irc.tilde.chat
- join = #ascii.town
- .Ed
- .Pp
- Load the configuration file:
- .Bd -literal -offset indent
- $ catgirl tilde
- .Ed
- .
- .Sh STANDARDS
- .Bl -item
- .It
- .Rs
- .%A Adam
- .%A Attila Molnar
- .%T IRCv3.2 invite-notify Extension
- .%I IRCv3 Working Group
- .%U https://ircv3.net/specs/extensions/invite-notify-3.2
- .Re
- .It
- .Rs
- .%A Jack Allnutt
- .%T Modern IRC Client Protocol
- .%I ircdocs
- .%U https://modern.ircdocs.horse/index.html
- .Re
- .It
- .Rs
- .%A Kiyoshi Aman
- .%A Kyle Fuller
- .%A St\('ephan Kochen
- .%A Alexey Sokolov
- .%A James Wheare
- .%T IRCv3 Message Tags
- .%I IRCv3 Working Group
- .%U https://ircv3.net/specs/extensions/message-tags
- .Re
- .It
- .Rs
- .%A Kiyoshi Aman
- .%T IRCv3.1 extended-join Extension
- .%I IRCv3 Working Group
- .%U https://ircv3.net/specs/extensions/extended-join-3.1
- .Re
- .It
- .Rs
- .%A Waldo Bastian
- .%A Ryan Lortie
- .%A Lennart Poettering
- .%T XDG Base Directory Specification
- .%U https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html
- .%D November 24, 2010
- .Re
- .It
- .Rs
- .%A Christine Dodrill
- .%T IRCv3.2 chghost Extension
- .%I IRCv3 Working Group
- .%U https://ircv3.net/specs/extensions/chghost-3.2
- .Re
- .It
- .Rs
- .%A Kyle Fuller
- .%A St\('ephan Kochen
- .%A Alexey Sokolov
- .%A James Wheare
- .%T IRCv3.2 server-time Extension
- .%I IRCv3 Working Group
- .%U https://ircv3.net/specs/extensions/server-time-3.2
- .Re
- .It
- .Rs
- .%A Lee Hardy
- .%A Perry Lorier
- .%A Kevin L. Mitchell
- .%A William Pitcock
- .%T IRCv3.1 Client Capability Negotiation
- .%I IRCv3 Working Group
- .%U https://ircv3.net/specs/core/capability-negotiation-3.1.html
- .Re
- .It
- .Rs
- .%A S. Josefsson
- .%T The Base16, Base32, and Base64 Data Encodings
- .%I IETF
- .%R RFC 4648
- .%U https://tools.ietf.org/html/rfc4648
- .%D October 2006
- .Re
- .It
- .Rs
- .%A C. Kalt
- .%T Internet Relay Chat: Client Protocol
- .%I IETF
- .%R RFC 2812
- .%U https://tools.ietf.org/html/rfc2812
- .%D April 2000
- .Re
- .It
- .Rs
- .%A Janne Mareike Koschinski
- .%T IRCv3 setname Extension
- .%I IRCv3 Working Group
- .%U https://ircv3.net/specs/extensions/setname
- .Re
- .It
- .Rs
- .%A Mantas Mikul\[u0117]nas
- .%T IRCv3.2 userhost-in-names Extension
- .%I IRCv3 Working Group
- .%U https://ircv3.net/specs/extensions/userhost-in-names-3.2
- .Re
- .It
- .Rs
- .%A Daniel Oaks
- .%T Standard Replies Extension
- .%I IRCv3 Working Group
- .%U https://ircv3.net/specs/extensions/standard-replies
- .Re
- .It
- .Rs
- .%A Daniel Oaks
- .%T IRC Formatting
- .%I ircdocs
- .%U https://modern.ircdocs.horse/formatting.html
- .Re
- .It
- .Rs
- .%A J. Oikarinen
- .%A D. Reed
- .%T Internet Relay Chat Protocol
- .%I IETF
- .%R RFC 1459
- .%U https://tools.ietf.org/html/rfc1459
- .%D May 1993
- .Re
- .It
- .Rs
- .%A William Pitcock
- .%A Jilles Tjoelker
- .%T IRCv3.1 SASL Authentication
- .%I IRCv3 Working Group
- .%U https://ircv3.net/specs/extensions/sasl-3.1.html
- .Re
- .It
- .Rs
- .%A William Pitcock
- .%T IRCv3.1 multi-prefix Extension
- .%I IRCv3 Working Group
- .%U https://ircv3.net/specs/extensions/multi-prefix-3.1
- .Re
- .It
- .Rs
- .%A James Wheare
- .%T Reply Client Tag
- .%I IRCv3 Working Group
- .%U https://ircv3.net/specs/client-tags/reply
- .Re
- .It
- .Rs
- .%A James Wheare
- .%T Message IDs
- .%I IRCv3 Working Group
- .%U https://ircv3.net/specs/extensions/message-ids
- .Re
- .It
- .Rs
- .%A K. Zeilenga, Ed.
- .%T The PLAIN Simple Authentication and Security Layer (SASL) Mechanism
- .%I IETF
- .%R RFC 4616
- .%U https://tools.ietf.org/html/rfc4616
- .%D August 2006
- .Re
- .El
- .
- .Ss Extensions
- The
- .Nm
- client implements the
- .Sy causal.agency/consumer
- vendor-specific IRCv3 capability
- offered by
- .Xr pounce 1 .
- The consumer position is stored in the
- .Cm save
- file.
- .
- .Sh AUTHORS
- .An June Bug Aq Mt june@causal.agency
- .
- .Sh BUGS
- Send mail to
- .Aq Mt list+catgirl@causal.agency
- or join
- .Li #ascii.town
- on
- .Li irc.tilde.chat .