catboy/catgirl.1

461 lines
6.4 KiB
Groff

.Dd December 2, 2018
.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
.Ql 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 by target
and files by date under
.Ar path .
.
.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
.Ql -raw-
view.
.
.It Fl w Ar pass
Log in with
.Ar pass .
.El
.
.Pp
If
.Fl h
or
.Fl n
are not provided,
they will be prompted for.
.
.Sh COMMANDS
Any unique prefix
may be used to abbreviate a command.
A slash followed immediately by a number
is equivalent to
.Ic /view .
.
.Bl -tag -width Ds
.It Ic /close
Close the current view.
Later views are renumbered.
.
.It Ic /help
Equivalent to
.Ic /man .
.
.It Ic /join Ar chan
Join a channel.
.
.It Ic /man
View this manual.
.
.It Ic /me Ar action
Send a CTCP
.Ql ACTION
to the current target.
.
.It Ic /names
List users in the current channel.
Equivalent to
.Ic /who .
.
.It Ic /nick Ar nick
Change nicknames.
.
.It Ic /open Op Ar range
.Xr open 1
.Ar range
most recent URLs
appearing in the current view.
.Ar range
may be a hypen- or comma-separated range
from the most recent URL,
starting at 1.
The default
.Ar range
is 1.
.
.It Ic /open Ar substring
.Xr open 1
the most recent URL
appearing in the current view
matching
.Ar substring .
.
.It Ic /part
Leave the current channel.
.
.It Ic /query Ar nick
Open a private message view with
.Ar nick .
.
.It Ic /quit Op Ar message
Quit IRC.
The default
.Ar message
is
.Dq Goodbye .
.
.It Ic /raw Op Ar command
Toggle the
.Ql -raw-
view
and send the raw IRC
.Ar command .
.
.It Ic /topic Op Ar topic
Show the topic of the current channel
or set it to
.Ar topic .
.
.It Ic /url
Hide the UI and
list the most recent URLs
which appeared in the current view.
Press
.Aq Enter
to resume the UI.
.
.It Ic /view Ar num
Switch to view number
.Ar num .
.
.It Ic /view Ar name
Switch to view for
.Ar name .
.
.It Ic /who
List users in the current channel.
.
.It Ic /whois Ar nick
Query information about a user.
.El
.
.Pp
Additionally,
messages entered in the
.Ql -raw-
view
will be sent as raw IRC commands.
.
.Sh KEY BINDINGS
.Nm
provides Emacs-like
line editing keys,
as well as keys for entering
IRC formatting codes.
The prefixes
.Sy C- ,
.Sy M-
and
.Sy S-
represent the control, meta and shift modifiers,
respectively.
Special keys are enclosed in
.Aq angle brackets .
.
.Ss View Keys
.Bl -tag -width <PageDown>
.It Sy C-l
Redraw the UI.
.
.It Sy M-m
Insert a blank line in the view.
.
.It Sy M-0 .. Sy M-9
Switch to view by number.
See
.Ic /view .
.
.It Sy S- Ns Aq Sy Left
Scroll view up by one line.
.
.It Sy S- Ns Aq Sy Right
Scroll view down by one line.
.
.It Aq Sy PageUp
Scroll view up by half a page.
.
.It Aq Sy PageDown
Scroll view down by half a page.
.El
.
.Ss Line Editing
.Bl -tag -width "C-f, <Right>"
.It Sy C-b , Aq Sy Left
Move cursor left.
.
.It Sy C-f , Aq Sy Right
Move cursor right.
.
.It Sy C-a , Aq Sy Home
Move cursor to beginning of line.
.
.It Sy C-e , Aq Sy End
Move cursor to end of line.
.
.It Sy M-b
Move cursor to beginning of word.
.
.It Sy M-f
Move cursor to end of word.
.
.It Aq Sy Backspace
Delete character before cursor.
.
.It Sy C-d , Aq Sy Delete
Delete character under cursor.
.
.It Sy C-w , Sy M- Ns Aq Sy Backspace
Delete word before cursor.
.
.It Sy M-d
Delete word after cursor.
.
.It Sy C-k
Delete line after cursor.
.
.It Aq Sy Tab
Cycle through completions
for commands, nicks and channels.
.
.It Sy M-?
ROT13-encode line.
.El
.
.Ss IRC Formatting
.Bl -tag -width Ds
.It Sy C-n
Reset formatting.
.
.It Sy C-o
Toggle bold.
Note: this may need to be typed as
.Sy C-v C-o .
.
.It Sy C-t
Toggle italic.
.
.It Sy C-u
Toggle underline.
.
.It Sy C-v
Toggle reverse video.
Note: this must usually be typed as
.Sy C-v C-v .
.
.It Sy C-r
Set or reset color.
.El
.
.Pp
To reset color,
follow
.Sy C-r
by a non-digit.
To set the foreground color,
follow
.Sy C-r
by one or two digits.
To set the foreground and background colors,
follow
.Sy C-r
by one or two digits,
a comma,
and one or two digits.
.
.Pp
The colors are as follows:
.Pp
.Bl -tag -width Ds -compact
.It 0
white
.It 1
black
.It 2
blue
.It 3
green
.It 4
red
.It 5
brown (dark red)
.It 6
magenta
.It 7
orange (dark yellow)
.It 8
yellow
.It 9
light green
.It 10
cyan
.It 11
light cyan
.It 12
light blue
.It 13
pink (light magenta)
.It 14
gray
.It 15
light gray
.El
.
.Sh ENVIRONMENT
.Bl -tag -width SSH_CLIENT
.It Ev SSH_CLIENT
If
.Fl W
is passed and
.Ev SSH_CLIENT
is set,
the
.Ql 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.