CATGIRL(1) | General Commands Manual | CATGIRL(1) |
catgirl
— IRC
client
catgirl |
[-KRelqv ] [-C
copy] [-H
hash] [-I
highlight] [-N
notify] [-O
open] [-S
bind]
[-T [timestamp]]
[-a plain]
[-c cert]
[-h host]
[-i ignore]
[-j join]
[-k priv]
[-m mode]
[-n nick]
[-p port]
[-r real]
[-s save]
[-t trust]
[-u user]
[-w pass]
[config ...] |
catgirl |
-o [-S
bind] [-h
host] [-p
port] [config ...] |
catgirl |
-g cert |
The catgirl
IRC client provides a curses
interface for TLS-only Internet Relay Chat. The only required option is
-h
, the host name to connect to. See
EXAMPLES for managing further
configuration. Type /help
in
catgirl
to view the list of
COMMANDS and
KEY BINDINGS.
Options can be loaded from files listed on the command line. Files
are searched for in $XDG_CONFIG_DIRS/catgirl
(usually ~/.config/catgirl) unless the path starts
with ‘/
’,
‘./
’ or
‘../
’. Files and flags listed later on
the command line take precedence over those listed earlier.
Each option is placed on a line, and lines beginning with
‘#
’ are ignored. The options are
listed below following their corresponding flags.
-C
util |
copy
= util/copy
. Subsequent
copy
options append arguments to
util. The URL to copy is provided to
util on standard input. The default is the first
available of pbcopy(1), wl-copy(1),
xclip(1), xsel(1).-H
seed,bound |
hash
= seed,bound-I
pattern |
highlight
= pattern*
’,
‘?
’ and
‘[]
’ wildcards as in
glob(7). The format of the pattern is as follows:
The commands which can be matched are: INVITE, JOIN, NICK, NOTICE, PART, PRIVMSG, QUIT, SETNAME.
-K
|
kiosk
/copy
, /debug
,
/exec
, /join
,
/list
, /msg
,
/open
, /part
,
/query
, /quote
commands.
Replace the username with a hash of its original value.-N
util |
notify
= utilnotify
options append arguments to
util. The window name and message are provided to
util as two additional arguments, appropriate for
notify-send(1).-O
util |
open
= util/open
. Subsequent
open
options append arguments to
util. The URL to open is provided to
util as an argument. The default is the first
available of open(1),
xdg-open(1).-R
|
restrict
/copy
, /exec
and /open
commands, the
notify
option, and viewing this manual with
/help
.-S
host |
bind
= host-T
[format]
|
timestamp
[= format]-a
user:pass |
sasl-plain
=
user:pass-c
path |
cert
= pathpriv
. With
sasl-external
, authenticate using SASL EXTERNAL.
Certificates can be generated with -g
.-e
|
sasl-external
cert
. See
Configuring CertFP.-g
path-h
host |
host
= host-i
pattern |
ignore
= pattern*
’,
‘?
’ and
‘[]
’ wildcards as in
glob(7). The format of the pattern is as follows:
The commands which can be matched are: INVITE, JOIN, NICK, NOTICE, PART, PRIVMSG, QUIT, SETNAME.
-j
channels [keys] |
join
= channels
[keys]-k
path |
priv
= priv-l
|
log
-m
mode |
mode
= mode-n
nick |
nick
= nickUSER
.-o
-p
port |
port
= port-q
|
quiet
-r
real |
real
= real-s
name |
save
= name/
’,
‘./
’, or
‘../
’.-t
path |
trust
= path-u
user |
user
= user-v
|
debug
-w
pass |
pass
= pass$ catgirl -g ~/.config/catgirl/example.pem
cert = example.pem # or: $ catgirl -c example.pem
sasl-plain
, then add
the certificate fingerprint to your account:
/ns CERT ADD
cert = example.pem sasl-external # or: $ catgirl -e -c example.pem
$ catgirl -o -h irc.example.org > ~/.config/catgirl/example.pem
catgirl
to trust the certificate:
trust = example.pem # or: $ catgirl -t example.pem
The catgirl
interface is split into three
areas.
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:
1+ #ascii.town +3 ~7 @
The number on the left is the window number. Following it may be
one of ‘-
’,
‘+
’,
‘++
’, as well as
‘=
’. These indicate the message
visibility threshold and mute status of the window.
On the right side, the number following
‘+
’ indicates the number of unread
messages. The number following ‘~
’
indicates how many lines are below the scroll position. An
‘@
’ indicates that there is unsent
input in the window's Input Line.
catgirl
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.
The chat area shows messages and events. Regular messages are
shown with the nick between ‘<>
’
angle brackets. Actions are shown with the nick preceded by
‘*
’. Notices are shown with the nick
between ‘-
’ hyphens.
Blank lines are inserted into the chat as unread markers.
While scrolling, the most recent 5 lines of chat are kept visible below a marker 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 Chat Area. When entering a command, no nick is shown.
Formatting codes are shown in the input line as reverse-video uppercase letters. These will not appear in the sent message.
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.
Any unique prefix can be used to abbreviate a command. For
example, /join
can be typed
/j
.
/away
[message]/cs
command/invite
nick/join
[channel [key]]/list
[channel]/me
[action]/msg
nick message/names
/nick
nick/notice
message/ns
command/ops
/part
[message]/query
nick/quit
[message]/quote
command/debug
command is
likely needed for command output./say
message/setname
name/topic
[topic]Tab
twice to copy the current topic./whois
[nick]/whowas
nick/close
[name | num]/copy
[nick | substring]/debug
/exec
commandSHELL
and
interpret its output as input to the current window, including as
commands./help
q
to return to
catgirl
./help
topic/help index
for a list of topics./highlight
[pattern]highlight
option./ignore
[pattern]ignore
option./move
[name] num/open
[count]/open
nick | substring/unhighlight
pattern/unignore
pattern/window
/window
name | substring/window
num |
/
num/ban
[mask ...]/deop
[nick ...]/devoice
[nick ...]/except
[mask ...]/invex
[mask ...]/kick
nick [message]/mode
[modes] [param ...]/op
[nick ...]/unban
mask .../unexcept
mask .../uninvex
mask .../voice
[nick ...]The catgirl
interface provides
emacs(1)-like line editing as well as keys for IRC
formatting. The prefixes C-
and
M-
represent the control and meta (alt) modifiers,
respectively.
C-a
C-b
C-d
C-e
C-f
C-k
C-t
C-u
C-w
C-x
\
’.C-y
M-Enter
M-b
M-d
M-f
M-q
Tab
Arrow and navigation keys also work as expected.
C-l
C-n
C-p
C-r
C-s
C-v
M-+
M--
M-=
M-/
M-<
M->
M-
nM-a
M-l
Enter
to return to
catgirl
.M-m
M-n
M-p
M-s
M-t
M-u
M-v
C-z
C-v
C-z
b
C-z
c
C-z
i
C-z
o
C-z
p
C-z
r
C-z
s
C-z
u
Some color codes can be inserted with the following:
C-z
A |
gray | C-z
N |
brown (dark red) |
C-z
B |
blue | C-z
O |
orange (dark yellow) |
C-z
C |
cyan | C-z
P |
pink (light magenta) |
C-z
G |
green | C-z
R |
red |
C-z
K |
black | C-z
W |
white |
C-z
M |
magenta | C-z
Y |
yellow |
To set other colors, follow 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
C-z c
by a non-digit.
The color numbers are as follows:
0 | white | 8 | yellow |
1 | black | 9 | light green |
2 | blue | 10 | cyan |
3 | green | 11 | light cyan |
4 | red | 12 | light blue |
5 | brown (dark red) | 13 | pink (light magenta) |
6 | magenta | 14 | gray |
7 | orange (dark yellow) | 15 | light gray |
99 | default |
$XDG_CONFIG_HOME
, usually
~/.config, followed by the colon-separated list of
paths $XDG_CONFIG_DIRS
, usually
/etc/xdg.$XDG_DATA_HOME
, usually
~/.local/share, followed by the colon-separated
list of paths $XDG_DATA_DIRS
, usually
/usr/local/share:/usr/share.The catgirl
client exits 0 if requested by
the user, EX_UNAVAILABLE
(69) if the connection is
lost, and >0 if any other error occurs.
Join #ascii.town
from the command
line:
$ catgirl -h irc.tilde.chat -j '#ascii.town'
Create a configuration file in ~/.config/catgirl/tilde:
host = irc.tilde.chat join = #ascii.town
Load the configuration file:
$ catgirl tilde
The catgirl
client implements the
causal.agency/consumer
vendor-specific IRCv3 capability offered by pounce(1). The
consumer position is stored in the save
file.
June Bug <june@causal.agency>
Send mail to
<list+catgirl@causal.agency>
or join #ascii.town
on
irc.tilde.chat
.
February 22, 2022 | Debian |