catgirl/catgirl.1

425 lines
6.8 KiB
Groff
Raw Normal View History

2019-07-02 22:33:45 +00:00
.Dd July 2, 2019
.Dt CATGIRL 1
2018-12-02 23:12:45 +00:00
.Os
2018-09-10 18:52:59 +00:00
.
.Sh NAME
.Nm catgirl
.Nd IRC client
2018-09-10 18:52:59 +00:00
.
.Sh SYNOPSIS
.Nm
2018-10-28 06:44:09 +00:00
.Op Fl Nv
.Op Fl W Ar pass
.Op Fl a Ar auth
.Op Fl h Ar host
.Op Fl j Ar chan
2019-07-02 22:40:06 +00:00
.Op Fl k Ar keys
.Op Fl l Ar path
.Op Fl n Ar nick
.Op Fl p Ar port
2018-12-03 04:08:49 +00:00
.Op Fl r Ar real
.Op Fl u Ar user
.Op Fl w Ar pass
2018-09-10 18:52:59 +00:00
.
.Sh DESCRIPTION
.Nm
2018-12-02 23:12:45 +00:00
is a curses, TLS-only IRC client.
2018-09-10 18:52:59 +00:00
.
.Pp
The arguments are as follows:
2018-09-10 18:52:59 +00:00
.
2018-12-02 23:12:45 +00:00
.Bl -tag -width "-w pass"
2018-10-28 06:44:09 +00:00
.It Fl N
Send notifications with
.Xr notify-send 1 .
.
.It Fl W Ar pass
Send
2019-02-22 03:26:25 +00:00
.Cm WEBIRC
command with
.Ar pass .
See
.Sx ENVIRONMENT
for details.
2018-09-10 18:52:59 +00:00
.
.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.
2018-09-10 18:52:59 +00:00
.
2019-07-02 22:40:06 +00:00
.It Fl k Ar keys
Set keys for channels in
.Fl j .
.Ar keys
may be a comma-separated list.
.
.It Fl l Ar path
2019-02-22 03:26:25 +00:00
Log messages to
subdirectories of
.Ar path
named by channel or nick
in files named by date.
2018-09-10 18:52:59 +00:00
.
.It Fl n Ar nick
Set nickname to
.Ar nick .
2018-09-10 18:52:59 +00:00
.
.It Fl p Ar port
Connect to
.Ar port .
The default port is 6697.
2018-09-10 18:52:59 +00:00
.
2018-12-03 04:08:49 +00:00
.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.
2018-09-10 18:52:59 +00:00
.
.It Fl v
Show raw IRC protocol in the
2019-02-22 19:32:00 +00:00
.Sy <raw>
2019-02-22 03:26:25 +00:00
window.
If standard error is not a terminal,
output raw IRC protocol
to standard error.
2018-09-10 18:52:59 +00:00
.
.It Fl w Ar pass
Log in with
.Ar pass .
.El
2018-09-10 18:52:59 +00:00
.
.Pp
If
2019-02-22 03:26:25 +00:00
.Fl h Ar host
or
2019-02-22 03:26:25 +00:00
.Fl n Ar nick
are not provided,
they will be prompted for.
2018-09-10 18:52:59 +00:00
.
2018-09-10 06:01:30 +00:00
.Sh COMMANDS
2018-12-02 23:12:45 +00:00
Any unique prefix
may be used to abbreviate a command.
2018-09-10 18:52:59 +00:00
.
2019-02-22 03:26:25 +00:00
.Ss Chat Commands
2018-12-02 23:12:45 +00:00
.Bl -tag -width Ds
2019-07-02 22:33:45 +00:00
.It Ic /join Ar chan Op Ar key
2018-09-09 03:26:44 +00:00
Join a channel.
2018-09-10 18:52:59 +00:00
.
2019-02-22 03:26:25 +00:00
.It Ic /me Op Ar action
Send an action message.
2018-09-10 18:52:59 +00:00
.
2019-02-22 03:26:25 +00:00
.It Ic /names , /who
2018-09-09 03:26:44 +00:00
List users in the current channel.
2018-09-10 18:52:59 +00:00
.
2018-09-09 03:26:44 +00:00
.It Ic /nick Ar nick
Change nicknames.
2018-09-10 18:52:59 +00:00
.
2019-02-22 03:26:25 +00:00
.It Ic /part Op Ar message
2018-09-09 03:26:44 +00:00
Leave the current channel.
2018-09-10 18:52:59 +00:00
.
2018-09-09 03:26:44 +00:00
.It Ic /query Ar nick
2019-02-22 03:26:25 +00:00
Open a private message view.
2018-09-10 18:52:59 +00:00
.
2018-09-09 03:26:44 +00:00
.It Ic /quit Op Ar message
Quit IRC.
2018-09-10 18:52:59 +00:00
.
.It Ic /quote Ar command
2019-02-22 03:26:25 +00:00
Send a raw IRC command.
2018-12-05 20:04:34 +00:00
.
2018-09-09 03:26:44 +00:00
.It Ic /topic Op Ar topic
2019-02-22 03:26:25 +00:00
Show or set the topic of the current channel.
2018-11-29 10:37:10 +00:00
.
.It Ic /whois Ar nick
Query information about a user.
.
.It Ic /znc Ar command
Send
.Xr znc 1
command.
2018-09-09 03:26:44 +00:00
.El
2018-09-10 18:52:59 +00:00
.
2018-09-09 03:26:44 +00:00
.Pp
2019-02-22 03:26:25 +00:00
Any messages entered in the
2019-02-22 20:13:58 +00:00
.Sy <raw>
2019-02-22 03:26:25 +00:00
window will be sent as raw IRC commands.
2018-09-10 18:52:59 +00:00
.
2019-02-22 03:26:25 +00:00
.Ss UI Commands
.Bl -tag -width Ds
.It Ic /close
Close the current window.
2018-09-10 18:52:59 +00:00
.
2019-02-22 03:26:25 +00:00
.It Ic /help , /man
View this manual.
.
2019-02-27 05:17:59 +00:00
.It Ic /move Ar num
Move window to number.
If
.Ar num
starts with
.Cm +
or
.Cm - ,
the number is relative to the current window.
.
2019-02-22 03:26:25 +00:00
.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.
2018-09-10 18:52:59 +00:00
.
2019-02-22 03:26:25 +00:00
.It Ic /open Ar substring
Open the most recent URL
in the current window
matching the
.Ar substring .
2018-09-10 18:52:59 +00:00
.
2019-02-22 03:26:25 +00:00
.It Ic /raw
Toggle the
2019-02-22 19:32:00 +00:00
.Sy <raw>
2019-02-22 03:26:25 +00:00
window.
2018-09-10 18:52:59 +00:00
.
2019-02-22 03:26:25 +00:00
.It Ic /url
Hide the UI
and list the most recent URLs
in the current window.
Press
2019-02-26 02:48:05 +00:00
.Ic Enter
2019-02-22 03:26:25 +00:00
to resume the UI.
2018-09-10 18:52:59 +00:00
.
2019-02-23 18:27:28 +00:00
.It Ic /window Ar name
Switch to window by name.
.
.It Ic /window Ar num , Ic / Ns Ar num
Switch to window by number.
If
.Ar num
starts with
.Cm +
or
.Cm - ,
the number is relative to the current window.
.El
2018-09-10 18:52:59 +00:00
.
2019-02-22 03:26:25 +00:00
.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 .
2018-09-10 18:52:59 +00:00
.
2019-02-22 03:26:25 +00:00
.Ss Line Editing
.Bl -tag -width Ds -compact
.It Ic C-a
2018-09-10 06:01:30 +00:00
Move cursor to beginning of line.
2019-02-22 03:26:25 +00:00
.It Ic C-b
Move cursor left.
.It Ic C-d
2018-09-10 06:01:30 +00:00
Delete character under cursor.
2019-02-22 03:26:25 +00:00
.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
2018-09-10 06:01:30 +00:00
Delete word before cursor.
2019-02-22 03:26:25 +00:00
.It Ic M-b
Move cursor to beginning of word.
.It Ic M-d
2018-09-10 06:01:30 +00:00
Delete word after cursor.
2019-02-22 03:26:25 +00:00
.It Ic M-f
Move cursor to end of word.
.It Ic Tab
Cycle through completions for
commands, nicks and channels.
.El
2018-09-10 18:52:59 +00:00
.
.Ss IRC Formatting
2019-02-22 03:26:25 +00:00
.Bl -tag -width Ds -compact
.It Ic C-o
Toggle bold.
2019-02-22 03:26:25 +00:00
.It Ic C-r
Set or reset color.
.It Ic C-s
Reset formatting.
2019-02-22 03:26:25 +00:00
.It Ic C-t
Toggle italics.
.It Ic C-u
Toggle underline.
2019-02-22 03:26:25 +00:00
.It Ic C-v
Toggle reverse video.
2019-02-22 03:26:25 +00:00
This must usually be typed as
.Ic C-v C-v .
.El
.
.Pp
2019-02-22 03:26:25 +00:00
To reset color, follow
.Ic C-r
by a non-digit.
2019-02-22 03:26:25 +00:00
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
2019-02-22 03:26:25 +00:00
The color numbers are as follows:
2018-12-02 23:12:45 +00:00
.Pp
2019-02-22 03:26:25 +00:00
.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 C-n
Switch to the next window.
.It Ic C-p
Switch to the previous window.
.It Ic M-/
Switch to the previously active window.
.It Ic M-a
Switch to next hot or unread window.
2019-02-26 02:48:05 +00:00
.It Ic M-l
Hide the UI and list the log for the current window.
2019-02-22 03:26:25 +00:00
.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.
2019-02-22 03:26:25 +00:00
.It Ic PageDown
Scroll window down by one page.
2019-02-22 03:26:25 +00:00
.It Ic PageUp
Scroll window up by one page.
.It Ic Up
2019-02-22 03:26:25 +00:00
Scroll window up by one line.
2018-09-10 06:01:30 +00:00
.El
2018-09-10 18:52:59 +00:00
.
.Sh ENVIRONMENT
2018-12-02 23:12:45 +00:00
.Bl -tag -width SSH_CLIENT
.It Ev SSH_CLIENT
If
.Fl W
is passed and
.Ev SSH_CLIENT
is set,
the
2019-02-22 03:26:25 +00:00
.Cm WEBIRC
command is used
to set the hostname
to the first word of
.Ev SSH_CLIENT ,
usually the client IP address.
.El
2018-09-10 18:52:59 +00:00
.
.Sh EXAMPLES
.Dl catgirl -h chat.freenode.net -j '#ascii.town'
2018-09-10 18:52:59 +00:00
.
.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
2018-09-10 18:52:59 +00:00
.
.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.