.Dd February 22, 2019 .Dt CATGIRL 1 .Os . .Sh NAME .Nm catgirl .Nd IRC client . .Sh SYNOPSIS .Nm .Op Fl Nv .Op Fl W Ar pass .Op Fl a Ar auth .Op Fl h Ar host .Op Fl j Ar chan .Op Fl l Ar path .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 . .Sh DESCRIPTION .Nm is a curses, TLS-only IRC client. . .Pp The arguments are as follows: . .Bl -tag -width "-w pass" .It Fl N Send notifications with .Xr notify-send 1 . . .It Fl W Ar pass Send .Cm WEBIRC command with .Ar pass . See .Sx ENVIRONMENT for details. . .It Fl a Ar auth Authenticate with SASL PLAIN. .Ar auth is a colon-separated username and password pair. . .It Fl h Ar host Connect to .Ar host . . .It Fl j Ar chan Join .Ar chan after connecting. .Ar chan may be a comma-separated list. . .It Fl l Ar path Log messages to subdirectories of .Ar path named by channel or nick in files named by date. . .It Fl n Ar nick Set nickname to .Ar nick . . .It Fl p Ar port Connect to .Ar port . The default port is 6697. . .It Fl r Ar real Set realname to .Ar real . The default realname is the same as the nickname. . .It Fl u Ar user Set username to .Ar user . The default username is the same as the nickname. . .It Fl v Show raw IRC protocol in the .Sy window. . .It Fl w Ar pass Log in with .Ar pass . .El . .Pp If .Fl h Ar host or .Fl n Ar nick are not provided, they will be prompted for. . .Sh COMMANDS Any unique prefix may be used to abbreviate a command. . .Ss Chat Commands .Bl -tag -width Ds .It Ic /join Ar chan Join a channel. . .It Ic /me Op Ar action Send an action message. . .It Ic /names , /who List users in the current channel. . .It Ic /nick Ar nick Change nicknames. . .It Ic /part Op Ar message Leave the current channel. . .It Ic /query Ar nick Open a private message view. . .It Ic /quit Op Ar message Quit IRC. . .It Ic /raw Ar command Send a raw IRC command. . .It Ic /topic Op Ar topic Show or set the topic of the current channel. . .It Ic /whois Ar nick Query information about a user. . .It Ic /znc Ar command Send .Xr znc 1 command. .El . .Pp Any messages entered in the .Sy window will be sent as raw IRC commands. . .Ss UI Commands A slash followed immediately by a number is equivalent to the .Ic /window command. . .Bl -tag -width Ds .It Ic /close Close the current window. . .It Ic /help , /man View this manual. . .It Ic /open Op Ar range Open a .Ar range of recent URLs in the current window with .Xr open 1 . URLs are numbered from the most recent starting at 1. The .Ar range may be a single number, or a hyphen- or comma-separated range. . .It Ic /open Ar substring Open the most recent URL in the current window matching the .Ar substring . . .It Ic /raw Toggle the .Sy window. . .It Ic /url Hide the UI and list the most recent URLs in the current window. Press .Aq Enter to resume the UI. . .It Ic /window Ar number | name Switch to window by number or name. .El . .Sh KEY BINDINGS .Nm provides .Xr emacs 1 Ns -like line editing keys as well as keys for applying IRC formatting. The prefixes .Ic C- , M- , S- represent the control, meta (alt) and shift modifiers, respectively. .Ic M- Ns Ar x sequences can also be typed as .Ic Esc followed by .Ar x . . .Ss Line Editing .Bl -tag -width Ds -compact .It Ic C-a Move cursor to beginning of line. .It Ic C-b Move cursor left. .It Ic C-d Delete character under cursor. .It Ic C-e Move cursor to end of line. .It Ic C-f Move cursor right. .It Ic C-k Delete line after cursor. .It Ic C-w Delete word before cursor. .It Ic M-b Move cursor to beginning of word. .It Ic M-d Delete word after cursor. .It Ic M-f Move cursor to end of word. .It Ic Tab Cycle through completions for commands, nicks and channels. .El . .Ss IRC Formatting .Bl -tag -width Ds -compact .It Ic C-o Toggle bold. .It Ic C-r Set or reset color. .It Ic C-s Reset formatting. .It Ic C-t Toggle italics. .It Ic C-u Toggle underline. .It Ic C-v Toggle reverse video. This must usually be typed as .Ic C-v C-v . .El . .Pp To reset color, follow .Ic C-r by a non-digit. To set colors, follow .Ic C-r by one or two digits to set the foreground color, optionally followed by a comma and one or two digits to set the background color. . .Pp The color numbers are as follows: .Pp .Bl -column "7" "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 .El . .Ss Window Keys .Bl -tag -width "PageDown" -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. .It Ic Down Scroll window down by one line. .It Ic PageDown Scroll window down by half a page. .It Ic PageUp Scroll window up by half a page. .It Ic Up Scroll window up by one line. .El . .Sh ENVIRONMENT .Bl -tag -width SSH_CLIENT .It Ev SSH_CLIENT If .Fl W is passed and .Ev SSH_CLIENT is set, the .Cm WEBIRC command is used to set the hostname to the first word of .Ev SSH_CLIENT , usually the client IP address. .El . .Sh EXAMPLES .Dl catgirl -h ascii.town -j '&town' . .Sh STANDARDS .Nm is a partial implementation of the following: . .Bl -item .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 Kevin L. Mitchell .%A Perry Lorier .%A Lee Hardy .%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 Jilles Tjoelker .%A William Pitcock .%T IRCv3.1 SASL Authentication .%I IRCv3 Working Group .%U https://ircv3.net/specs/extensions/sasl-3.1.html .Re . .It .Rs .%A K. Zeilenga, Ed. .%Q OpenLDAP Foundation .%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 . .It .Rs .%A S. Josefsson .%Q SJD .%T The Base16, Base32, and Base64 Data Encodings .%I IETF .%N RFC 4648 .%D October 2006 .%U https://tools.ietf.org/html/rfc4648 .Re .El . .Sh CAVEATS .Nm does not support unencrypted connections.