|
|
| |
CATGIRL(1) |
FreeBSD General Commands Manual |
CATGIRL(1) |
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 ...] |
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
- Set the utility used by
/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
- Set the initial seed of the nick and channel color hash function and the
maximum IRC color value produced by the function. The default is 0,75. To
use only colors from the 16-color terminal set, use 0,15. To disable nick
and channel colors, use 0,0.
-I
pattern |
highlight
= pattern
- Add a case-insensitive message highlight pattern, which may contain
‘
* ’,
‘? ’ and
‘[] ’ wildcards as in
glob(7).
The format of the pattern is as follows:
nick[!user@host
[command [channel
[message]]]]
The commands which can be matched are:
INVITE, JOIN,
NICK, NOTICE,
PART, PRIVMSG,
QUIT, SETNAME.
-K |
kiosk
- Disable the
/copy , /debug ,
/exec , /join ,
/list , /msg ,
/open , /part ,
/query , /quote commands.
Replace the username with a hash of its original value.
-N
util |
notify
= util
- Send notifications using a utility. Subsequent
notify 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
- Set the utility used by
/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
- Disable the
/copy , /exec
and /open commands, the
notify option, and viewing this manual with
/help .
-S
host |
bind
= host
- Bind to source address host when connecting to the
server.
-T [format]
|
timestamp
[= format]
- Show timestamps by default, in the specified
strftime(3)
format. The format string may contain raw IRC
formatting codes. The default format is “%X”.
-a
user:pass |
sasl-plain
=
user:pass
- Authenticate as user with pass
using SASL PLAIN. Leave pass blank to prompt for the
password.
-c
path |
cert
= path
- Load the TLS client certificate from path. The
path is searched for in the same manner as
configuration files. If the private key is in a separate file, it is
loaded with
priv . With
sasl-external , authenticate using SASL EXTERNAL.
Certificates can be generated with -g .
-e |
sasl-external
- Authenticate using SASL EXTERNAL, also known as CertFP. The TLS client
certificate is loaded with
cert . See
Configuring CertFP.
-g
path
- Generate a TLS client certificate using
openssl(1)
and write it to path.
-h
host |
host
= host
- Connect to host.
-i
pattern |
ignore
= pattern
- Add a case-insensitive message ignore pattern, which may contain
‘
* ’,
‘? ’ and
‘[] ’ wildcards as in
glob(7).
The format of the pattern is as follows:
nick[!user@host
[command [channel
[message]]]]
The commands which can be matched are:
INVITE, JOIN,
NICK, NOTICE,
PART, PRIVMSG,
QUIT, SETNAME.
-j
channels [keys] |
join
= channels
[keys]
- Join the comma-separated list of channels with the
optional comma-separated list of channel keys.
-k
path |
priv
= priv
- Load the TLS client private key from path. The
path is searched for in the same manner as
configuration files.
-l |
log
- Log chat events to files in paths
$XDG_DATA_HOME/catgirl/log/network/channel/YYYY-MM-DD.log.
-m
mode |
mode
= mode
- Set the user mode.
-n
nick |
nick
= nick
- Set nickname to nick. The default nickname is the
value of the environment variable
USER .
-o
- Print the server certificate chain to standard output in PEM format and
exit.
-p
port |
port
= port
- Connect to port. The default port is 6697.
-q |
quiet
- Raise the default message visibility threshold for new windows, hiding
general events (joins, quits, etc.).
-r
real |
real
= real
- Set realname to real. The default realname is the
same as the nickname.
-s
name |
save
= name
- Save and load the contents of windows from name in
$XDG_DATA_DIRS/catgirl, or an absolute or relative
path if name starts with
‘
/ ’,
‘./ ’, or
‘../ ’.
-t
path |
trust
= path
- Trust the self-signed certificate loaded from path
and disable server name verification. The path is
searched for in the same manner as configuration files. See
Connecting
to Servers with Self-signed Certificates.
-u
user |
user
= user
- Set username to user. The default username is the
same as the nickname.
-v |
debug
- Log raw IRC messages to the <debug> window as well
as standard error if it is not a terminal.
-w
pass |
pass
= pass
- Log in with the server password pass. Leave
pass blank to prompt for the password.
- Generate a new TLS client certificate:
$ catgirl -g ~/.config/catgirl/example.pem
- Connect to the server using the certificate:
cert = example.pem
# or: $ catgirl -c example.pem
- Identify with services or use
sasl-plain , then add
the certificate fingerprint to your account:
- Enable SASL EXTERNAL to require successful authentication when connecting
(not possible on all networks):
cert = example.pem
sasl-external
# or: $ catgirl -e -c example.pem
- Connect to the server and write its certificate to a file:
$ catgirl -o -h irc.example.org > ~/.config/catgirl/example.pem
- Configure
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:
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]
- Set or clear your away status.
/cs
command
- Send a command to ChanServ.
/invite
nick
- Invite a user to the channel.
/join
[channel [key]]
- Join the named channel, the current channel, or the channel you've been
invited to.
/list
[channel]
- List channels.
/me
[action]
- Send an action message.
/msg
nick message
- Send a private message.
/names
- List users in the channel.
/nick
nick
- Change nicknames.
/notice
message
- Send a notice.
/ns
command
- Send a command to NickServ.
/ops
- List channel operators.
/part
[message]
- Leave the channel.
/query
nick
- Start a private conversation.
/quit
[message]
- Quit IRC.
/quote
command
- Send a raw IRC command. The
/debug command is
likely needed for command output.
/say
message
- Send a regular message.
/setname
name
- Update realname if supported by the server.
/topic
[topic]
- Show or set the topic of the channel. Press
Tab
twice to copy the current topic.
/whois
[nick]
- Query information about a user or yourself.
/whowas
nick
- Query past information about a user.
/close
[name | num]
- Close the named, numbered or current window.
/copy
[nick | substring]
- Copy the most recent URL from nick or matching
substring.
/debug
- Toggle logging in the <debug> window.
/exec
command
- Run command with
SHELL and
interpret its output as input to the current window, including as
commands.
/help
- View this manual. Type
q to return to
catgirl .
/help
topic
- List the server help for a topic. Try
/help index
for a list of topics.
/highlight
[pattern]
- List message highlight patterns or temporarily add a pattern. To
permanently add a pattern, use the
highlight
option.
/ignore
[pattern]
- List message ignore patterns or temporarily add a pattern. To permanently
add a pattern, use the
ignore option.
/move
[name] num
- Move the named or current window to number.
/open
[count]
- Open each of count most recent URLs.
/open
nick | substring
- Open the most recent URL from nick or matching
substring.
/unhighlight
pattern
- Temporarily remove a message highlight pattern.
/unignore
pattern
- Temporarily remove a message ignore pattern.
/window
- List all windows.
/window
name | substring
- Switch to window by name or matching substring.
/window
num |
/ num
- Switch to window by number.
/ban
[mask ...]
- List or ban masks from the channel.
/deop
[nick ...]
- Revoke channel operator status from users or yourself.
/devoice
[nick ...]
- Revoke voice from users or yourself in the channel.
/except
[mask ...]
- List or add masks to the channel ban exception list.
/invex
[mask ...]
- List or add masks to the channel invite list.
/kick
nick [message]
- Kick a user from the channel.
/mode
[modes] [param ...]
- Show or set channel modes. In the <network>
window, show or set user modes.
/op
[nick ...]
- Grant users or yourself channel operator status.
/unban
mask ...
- Unban masks from the channel.
/unexcept
mask ...
- Remove masks from the channel ban exception list.
/uninvex
mask ...
- Remove masks from the channel invite list.
/voice
[nick ...]
- Grant users or yourself voice in the channel.
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
- Move to beginning of line.
C-b
- Move left.
C-d
- Delete next character.
C-e
- Move to end of line.
C-f
- Move right.
C-k
- Delete to end of line.
C-t
- Transpose characters.
C-u
- Delete to beginning of line.
C-w
- Delete previous word.
C-x
- Expand a text macro beginning with
‘
\ ’.
C-y
- Paste previously deleted text.
M-Enter
- Insert a newline without sending a command.
M-b
- Move to previous word.
M-d
- Delete next word.
M-f
- Move to next word.
M-q
- Collapse all whitespace.
Tab
- Complete nick, channel, command or macro.
Arrow and navigation keys also work as expected.
C-l
- Redraw the UI.
C-n
- Switch to next window.
C-p
- Switch to previous window.
C-r
- Scroll to previous line matching input.
C-s
- Scroll to next line matching input.
C-v
- Scroll down a page.
M-+
- Raise message visibility threshold, hiding ignored messages, general
events (joins, quits, etc.), or non-highlighted messages.
M--
- Lower message visibility threshold, showing ignored messages.
M-=
- Toggle mute. Muted windows do not appear in the status line unless you are
mentioned.
M-/
- Switch to previously selected window.
M-<
- Scroll to top.
M->
- Scroll to bottom.
M- n
- Switch to window by number 0–9.
M-a
- Cycle through unread windows.
M-l
- List the contents of the window without word-wrapping and with timestamps.
Press
Enter to return to
catgirl .
M-m
- Insert a blank line in the window.
M-n
- Scroll to next highlight.
M-p
- Scroll to previous highlight.
M-s
- Reveal spoiler text.
M-t
- Toggle timestamps.
M-u
- Scroll to first unread line.
M-v
- Scroll up a page.
C-z
C-v
- Insert the next input character literally.
C-z
b
- Toggle bold.
C-z
c
- Set or reset color.
C-z
i
- Toggle italics.
C-z
o
- Reset formatting.
C-z
p
- Manually toggle paste mode.
C-z
r
- Toggle reverse color.
C-z
s
- Set spoiler text (black on black).
C-z
u
- Toggle underline.
Some color codes can be inserted with the following:
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 |
|
|
SHELL
- The shell used by
/exec . The default is
/bin/sh.
USER
- The default nickname.
- $XDG_CONFIG_DIRS/catgirl
- Configuration files are searched for first in
$XDG_CONFIG_HOME , usually
~/.config, followed by the colon-separated list of
paths $XDG_CONFIG_DIRS , usually
/etc/xdg.
- ~/.config/catgirl
- The most likely location of configuration files.
- $XDG_DATA_DIRS/catgirl
- Save files are searched for first in
$XDG_DATA_HOME , usually
~/.local/share, followed by the colon-separated
list of paths $XDG_DATA_DIRS , usually
/usr/local/share:/usr/share.
- ~/.local/share/catgirl
- The most likely location of save files.
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:
- Adam and
Attila Molnar, IRCv3.2
invite-notify Extension, IRCv3 Working Group,
https://ircv3.net/specs/extensions/invite-notify-3.2.
- Jack Allnutt,
Modern IRC Client Protocol,
ircdocs,
https://modern.ircdocs.horse/index.html.
- Kiyoshi Aman,
Kyle Fuller, Stéphan
Kochen, Alexey Sokolov, and
James Wheare, IRCv3 Message
Tags, IRCv3 Working Group,
https://ircv3.net/specs/extensions/message-tags.
- Kiyoshi Aman,
IRCv3.1 extended-join Extension,
IRCv3 Working Group,
https://ircv3.net/specs/extensions/extended-join-3.1.
- Waldo Bastian,
Ryan Lortie, and Lennart
Poettering, XDG Base Directory
Specification,
https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html,
November 24, 2010.
- Christine Dodrill,
IRCv3.2 chghost Extension, IRCv3
Working Group,
https://ircv3.net/specs/extensions/chghost-3.2.
- Kyle Fuller,
Stéphan Kochen, Alexey
Sokolov, and James Wheare,
IRCv3.2 server-time Extension,
IRCv3 Working Group,
https://ircv3.net/specs/extensions/server-time-3.2.
- Lee Hardy,
Perry Lorier, Kevin L.
Mitchell, and William Pitcock,
IRCv3.1 Client Capability Negotiation,
IRCv3 Working Group,
https://ircv3.net/specs/core/capability-negotiation-3.1.html.
- S. Josefsson,
The Base16, Base32, and Base64 Data Encodings,
IETF, RFC 4648,
https://tools.ietf.org/html/rfc4648,
October 2006.
- C. Kalt,
Internet Relay Chat: Client Protocol,
IETF, RFC 2812,
https://tools.ietf.org/html/rfc2812,
April 2000.
- Janne Mareike Koschinski,
IRCv3 setname Extension, IRCv3
Working Group,
https://ircv3.net/specs/extensions/setname.
- Mantas Mikulėnas,
IRCv3.2 userhost-in-names Extension,
IRCv3 Working Group,
https://ircv3.net/specs/extensions/userhost-in-names-3.2.
- Daniel Oaks,
Standard Replies Extension, IRCv3
Working Group,
https://ircv3.net/specs/extensions/standard-replies.
- Daniel Oaks,
IRC Formatting, ircdocs,
https://modern.ircdocs.horse/formatting.html.
- J. Oikarinen and
D. Reed, Internet Relay Chat
Protocol, IETF, RFC
1459,
https://tools.ietf.org/html/rfc1459,
May 1993.
- William Pitcock and
Jilles Tjoelker, IRCv3.1 SASL
Authentication, IRCv3 Working Group,
https://ircv3.net/specs/extensions/sasl-3.1.html.
- William Pitcock,
IRCv3.1 multi-prefix Extension,
IRCv3 Working Group,
https://ircv3.net/specs/extensions/multi-prefix-3.1.
- James Wheare,
Reply Client Tag, IRCv3 Working
Group,
https://ircv3.net/specs/client-tags/reply.
- James Wheare,
Message IDs, IRCv3 Working
Group,
https://ircv3.net/specs/extensions/message-ids.
- K. Zeilenga, Ed.,
The PLAIN Simple Authentication and Security Layer
(SASL) Mechanism, IETF, RFC
4616,
https://tools.ietf.org/html/rfc4616,
August 2006.
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.
Visit the GSP FreeBSD Man Page Interface. Output converted with ManDoc. |