2020-02-08 06:25:07 +00:00
|
|
|
.Dd February 8, 2020
|
2020-01-31 23:11:30 +00:00
|
|
|
.Dt CATGIRL 1
|
|
|
|
.Os
|
|
|
|
.
|
|
|
|
.Sh NAME
|
|
|
|
.Nm catgirl
|
|
|
|
.Nd IRC client
|
|
|
|
.
|
|
|
|
.Sh SYNOPSIS
|
|
|
|
.Nm
|
2020-02-01 07:26:35 +00:00
|
|
|
.Op Fl ev
|
2020-02-01 06:17:15 +00:00
|
|
|
.Op Fl a Ar auth
|
|
|
|
.Op Fl c Ar cert
|
2020-01-31 23:11:30 +00:00
|
|
|
.Op Fl h Ar host
|
|
|
|
.Op Fl j Ar join
|
2020-02-01 06:17:15 +00:00
|
|
|
.Op Fl k Ar priv
|
2020-01-31 23:11:30 +00:00
|
|
|
.Op Fl n Ar nick
|
|
|
|
.Op Fl p Ar port
|
|
|
|
.Op Fl r Ar real
|
|
|
|
.Op Fl u Ar user
|
|
|
|
.Op Fl w Ar pass
|
2020-02-06 03:49:56 +00:00
|
|
|
.Op Ar config ...
|
2020-01-31 23:11:30 +00:00
|
|
|
.
|
|
|
|
.Sh DESCRIPTION
|
|
|
|
The
|
|
|
|
.Nm
|
2020-02-06 07:56:55 +00:00
|
|
|
program is a TLS-only
|
|
|
|
curses IRC client.
|
2020-01-31 23:11:30 +00:00
|
|
|
.
|
|
|
|
.Pp
|
2020-02-06 03:49:56 +00:00
|
|
|
Options can be loaded from files
|
|
|
|
listed on the command line.
|
|
|
|
Files are searched for in
|
|
|
|
.Pa $XDG_CONFIG_DIRS/catgirl
|
|
|
|
unless the path starts with
|
|
|
|
.Ql /
|
|
|
|
or
|
|
|
|
.Ql \&. .
|
|
|
|
Each option is placed on a line,
|
|
|
|
and lines beginning with
|
|
|
|
.Ql #
|
|
|
|
are ignored.
|
|
|
|
The options are listed below
|
|
|
|
following their corresponding flags.
|
|
|
|
.
|
|
|
|
.Pp
|
2020-01-31 23:11:30 +00:00
|
|
|
The arguments are as follows:
|
|
|
|
.Bl -tag -width Ds
|
2020-02-06 03:49:56 +00:00
|
|
|
.It Fl a Ar user Ns : Ns Ar pass , Cm sasl-plain = Ar user Ns : Ns Ar pass
|
2020-02-01 06:17:15 +00:00
|
|
|
Authenticate as
|
|
|
|
.Ar user
|
|
|
|
with
|
|
|
|
.Ar pass
|
|
|
|
using SASL PLAIN.
|
|
|
|
Since this requires the account password
|
|
|
|
in plain text,
|
|
|
|
it is recommended to use SASL EXTERNAL instead with
|
|
|
|
.Fl e .
|
|
|
|
.
|
2020-02-06 03:49:56 +00:00
|
|
|
.It Fl c Ar path , Cm cert = Ar path
|
2020-02-01 06:17:15 +00:00
|
|
|
Load the TLS client certificate from
|
|
|
|
.Ar path .
|
|
|
|
If the private key is in a separate file,
|
|
|
|
it is loaded with
|
|
|
|
.Fl k .
|
|
|
|
With
|
|
|
|
.Fl e ,
|
|
|
|
authenticate using SASL EXTERNAL.
|
|
|
|
.
|
2020-02-06 03:49:56 +00:00
|
|
|
.It Fl e , Cm sasl-external
|
2020-02-01 06:17:15 +00:00
|
|
|
Authenticate using SASL EXTERNAL,
|
|
|
|
also known as CertFP.
|
|
|
|
The TLS client certificate is loaded with
|
|
|
|
.Fl c .
|
|
|
|
.
|
2020-02-06 03:49:56 +00:00
|
|
|
.It Fl h Ar host , Cm host = Ar host
|
2020-01-31 23:11:30 +00:00
|
|
|
Connect to
|
|
|
|
.Ar host .
|
|
|
|
.
|
2020-02-06 03:49:56 +00:00
|
|
|
.It Fl j Ar join , Cm join = Ar join
|
2020-01-31 23:11:30 +00:00
|
|
|
Join the comma-separated list of channels
|
|
|
|
.Ar join .
|
|
|
|
.
|
2020-02-06 03:49:56 +00:00
|
|
|
.It Fl k Ar path , Cm priv = Ar priv
|
2020-02-01 06:17:15 +00:00
|
|
|
Load the TLS client private key from
|
|
|
|
.Ar path .
|
|
|
|
.
|
2020-02-06 03:49:56 +00:00
|
|
|
.It Fl n Ar nick , Cm nick = Ar nick
|
2020-01-31 23:11:30 +00:00
|
|
|
Set nickname to
|
|
|
|
.Ar nick .
|
|
|
|
The default nickname is the user's name.
|
|
|
|
.
|
2020-02-06 03:49:56 +00:00
|
|
|
.It Fl p Ar port , Cm port = Ar port
|
2020-01-31 23:11:30 +00:00
|
|
|
Connect to
|
|
|
|
.Ar port .
|
|
|
|
The default port is 6697.
|
|
|
|
.
|
2020-02-06 03:49:56 +00:00
|
|
|
.It Fl r Ar real , Cm real = Ar real
|
2020-01-31 23:11:30 +00:00
|
|
|
Set realname to
|
|
|
|
.Ar real .
|
|
|
|
The default realname is the same as the nickname.
|
|
|
|
.
|
2020-02-06 03:49:56 +00:00
|
|
|
.It Fl u Ar user , Cm user = Ar user
|
2020-01-31 23:11:30 +00:00
|
|
|
Set username to
|
|
|
|
.Ar user .
|
|
|
|
The default username is the same as the nickname.
|
|
|
|
.
|
2020-02-06 03:49:56 +00:00
|
|
|
.It Fl v , Cm debug
|
2020-02-01 07:26:35 +00:00
|
|
|
Log raw IRC messages to the
|
|
|
|
.Sy <debug>
|
|
|
|
window
|
|
|
|
as well as standard error
|
|
|
|
if it is not a terminal.
|
|
|
|
.
|
2020-02-06 03:49:56 +00:00
|
|
|
.It Fl w Ar pass , Cm pass = Ar pass
|
2020-01-31 23:11:30 +00:00
|
|
|
Log in with the server password
|
|
|
|
.Ar pass .
|
|
|
|
.El
|
2020-02-06 03:22:52 +00:00
|
|
|
.
|
|
|
|
.Sh COMMANDS
|
2020-02-08 02:53:50 +00:00
|
|
|
Any unique prefix can be used to abbreviate a command.
|
|
|
|
For example,
|
|
|
|
.Ic /join
|
|
|
|
can be typed
|
|
|
|
.Ic /j .
|
|
|
|
.
|
2020-02-06 03:22:52 +00:00
|
|
|
.Ss Chat Commands
|
|
|
|
.Bl -tag -width Ds
|
2020-02-06 06:05:09 +00:00
|
|
|
.It Ic /join Ar channel
|
|
|
|
Join a channel.
|
2020-02-06 03:22:52 +00:00
|
|
|
.It Ic /me Op Ar action
|
|
|
|
Send an action message.
|
2020-02-08 05:02:10 +00:00
|
|
|
.It Ic /nick Ar nick
|
|
|
|
Change nicknames.
|
2020-02-06 03:22:52 +00:00
|
|
|
.It Ic /notice Ar message
|
|
|
|
Send a notice.
|
2020-02-08 06:25:07 +00:00
|
|
|
.It Ic /part Op Ar message
|
|
|
|
Leave the channel.
|
2020-02-08 06:34:55 +00:00
|
|
|
.It Ic /query Ar nick
|
|
|
|
Start a private conversation.
|
2020-02-06 03:22:52 +00:00
|
|
|
.It Ic /quit Op Ar message
|
|
|
|
Quit IRC.
|
|
|
|
.It Ic /quote Ar command
|
|
|
|
Send a raw IRC command.
|
|
|
|
.El
|
|
|
|
.
|
|
|
|
.Ss UI Commands
|
|
|
|
.Bl -tag -width Ds
|
2020-02-08 07:26:00 +00:00
|
|
|
.It Ic /close Op Ar name | num
|
|
|
|
Close the named, numbered or current window.
|
2020-02-06 03:25:34 +00:00
|
|
|
.It Ic /window Ar name
|
|
|
|
Switch to window by name.
|
2020-02-06 03:22:52 +00:00
|
|
|
.It Ic /window Ar num , Ic / Ns Ar num
|
|
|
|
Switch to window by number.
|
|
|
|
.El
|
2020-02-06 07:56:55 +00:00
|
|
|
.
|
2020-02-07 07:05:18 +00:00
|
|
|
.Sh KEY BINDINGS
|
|
|
|
.Ss Line Editing
|
|
|
|
.Bl -tag -width Ds -compact
|
|
|
|
.It Ic C-a
|
|
|
|
Move to beginning of line.
|
|
|
|
.It Ic C-e
|
|
|
|
Move to end of line.
|
|
|
|
.It Ic C-u
|
|
|
|
Delete line.
|
|
|
|
.El
|
|
|
|
.
|
|
|
|
.Ss Window Keys
|
|
|
|
.Bl -tag -width Ds -compact
|
|
|
|
.It Ic C-l
|
|
|
|
Redraw the UI.
|
|
|
|
.It Ic M-m
|
|
|
|
Insert a blank line in the window.
|
|
|
|
.It Ic M- Ns Ar n
|
|
|
|
Switch to window by number 0\(en9.
|
|
|
|
.El
|
|
|
|
.
|
2020-02-07 07:46:40 +00:00
|
|
|
.Ss IRC Formatting
|
|
|
|
.Bl -tag -width Ds -compact
|
|
|
|
.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 r
|
|
|
|
Toggle reverse color.
|
|
|
|
.It Ic C-z u
|
|
|
|
Toggle underline.
|
|
|
|
.El
|
|
|
|
.
|
|
|
|
.Pp
|
|
|
|
To set 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:
|
|
|
|
.Pp
|
|
|
|
.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
|
|
|
|
.El
|
|
|
|
.
|
2020-02-06 07:56:55 +00:00
|
|
|
.Sh FILES
|
|
|
|
.Bl -tag -width Ds
|
|
|
|
.It Pa $XDG_CONFIG_DIRS/catgirl
|
|
|
|
Configuration files are search 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.
|
|
|
|
.El
|
|
|
|
.
|
|
|
|
.Sh EXAMPLES
|
|
|
|
Command line:
|
|
|
|
.Bd -literal -offset indent
|
|
|
|
catgirl -h chat.freenode.net -j '#ascii.town'
|
|
|
|
.Ed
|
|
|
|
.Pp
|
|
|
|
Configuration file:
|
|
|
|
.Bd -literal -offset indent
|
|
|
|
host = chat.freenode.net
|
|
|
|
join = #ascii.town
|
|
|
|
.Ed
|
|
|
|
.
|
|
|
|
.Sh STANDARDS
|
|
|
|
.Bl -item
|
|
|
|
.It
|
|
|
|
.Rs
|
|
|
|
.%A Waldo Bastian
|
|
|
|
.%A Ryan Lortie
|
|
|
|
.%A Lennart Poettering
|
|
|
|
.%T XDG Base Directory Specification
|
|
|
|
.%D November 24, 2010
|
|
|
|
.%U https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html
|
|
|
|
.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
|
|
|
|
.%N RFC 4648
|
|
|
|
.%D October 2006
|
|
|
|
.%U https://tools.ietf.org/html/rfc4648
|
|
|
|
.Re
|
|
|
|
.
|
|
|
|
.It
|
|
|
|
.Rs
|
|
|
|
.%A C. Kalt
|
|
|
|
.%T Internet Relay Chat: Client Protocol
|
|
|
|
.%I IETF
|
|
|
|
.%N RFC 2812
|
|
|
|
.%D April 2000
|
|
|
|
.%U https://tools.ietf.org/html/rfc2812
|
|
|
|
.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 IRC Formatting
|
|
|
|
.%I ircdocs
|
|
|
|
.%U https://modern.ircdocs.horse/formatting.html
|
|
|
|
.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 Alexey Sokolov
|
|
|
|
.%A St\('ephan Kochen
|
|
|
|
.%A Kyle Fuller
|
|
|
|
.%A Kiyoshi Aman
|
|
|
|
.%A James Wheare
|
|
|
|
.%T IRCv3 Message Tags
|
|
|
|
.%I IRCv3 Working Group
|
|
|
|
.%U https://ircv3.net/specs/extensions/message-tags
|
|
|
|
.Re
|
|
|
|
.
|
|
|
|
.It
|
|
|
|
.Rs
|
|
|
|
.%A K. Zeilenga, Ed.
|
|
|
|
.%T The PLAIN Simple Authentication and Security Layer (SASL) Mechanism
|
|
|
|
.%I IETF
|
|
|
|
.%N RFC 4616
|
|
|
|
.%D August 2006
|
|
|
|
.%U https://tools.ietf.org/html/rfc4616
|
|
|
|
.Re
|
|
|
|
.El
|
|
|
|
.
|
|
|
|
.Sh AUTHORS
|
|
|
|
.An June Bug Aq Mt june@causal.agency
|
|
|
|
.
|
|
|
|
.Sh BUGS
|
|
|
|
Send mail to
|
|
|
|
.Aq Mt june@causal.agency
|
|
|
|
or join
|
|
|
|
.Li #ascii.town
|
|
|
|
on
|
|
|
|
.Li chat.freenode.net .
|