about summary refs log tree commit diff
path: root/catgirl.1
diff options
context:
space:
mode:
Diffstat (limited to 'catgirl.1')
-rw-r--r--catgirl.1279
1 files changed, 196 insertions, 83 deletions
diff --git a/catgirl.1 b/catgirl.1
index bb425cc..815eade 100644
--- a/catgirl.1
+++ b/catgirl.1
@@ -1,4 +1,4 @@
-.Dd July 20, 2021
+.Dd October 11, 2023
 .Dt CATGIRL 1
 .Os
 .
@@ -8,7 +8,7 @@
 .
 .Sh SYNOPSIS
 .Nm
-.Op Fl KRelqv
+.Op Fl Relqv
 .Op Fl C Ar copy
 .Op Fl H Ar hash
 .Op Fl I Ar highlight
@@ -135,7 +135,7 @@ The format of the pattern is as follows:
 .Ar nick Ns Op Ar !user@host Op Ar command Op Ar channel Op Ar message
 .Ed
 .Pp
-The commands which can be filtered are:
+The commands which can be matched are:
 .Sy INVITE ,
 .Sy JOIN ,
 .Sy NICK ,
@@ -145,22 +145,6 @@ The commands which can be filtered are:
 .Sy QUIT ,
 .Sy SETNAME .
 .
-.It Fl K | Cm kiosk
-Disable the
-.Ic /copy ,
-.Ic /debug ,
-.Ic /exec ,
-.Ic /join ,
-.Ic /list ,
-.Ic /msg ,
-.Ic /open ,
-.Ic /part ,
-.Ic /query ,
-.Ic /quote
-commands.
-Replace the username
-with a hash of its original value.
-.
 .It Fl N Ar util | Cm notify No = Ar util
 Send notifications using a utility.
 Subsequent
@@ -196,7 +180,7 @@ and
 .Ic /open
 commands,
 the
-.Fl N
+.Cm notify
 option,
 and viewing this manual with
 .Ic /help .
@@ -205,12 +189,20 @@ and viewing this manual with
 Bind to source address
 .Ar host
 when connecting to the server.
+To connect from any address
+over IPv4 only,
+use 0.0.0.0.
+To connect from any address
+over IPv6 only,
+use ::.
 .
 .It Fl T Ns Oo Ar format Oc | Cm timestamp Op = Ar format
 Show timestamps by default,
 in the specified
 .Xr strftime 3
 .Ar format .
+The format string may contain
+raw IRC formatting codes.
 The default format is
 .Qq \&%X .
 .
@@ -220,11 +212,9 @@ Authenticate as
 with
 .Ar pass
 using SASL PLAIN.
-Since this requires the account password
-in plain text,
-it is recommended to use CertFP instead.
-See
-.Sx Configuring CertFP .
+Leave
+.Ar pass
+blank to prompt for the password.
 .
 .It Fl c Ar path | Cm cert No = Ar path
 Load the TLS client certificate from
@@ -235,9 +225,9 @@ is searched for in the same manner
 as configuration files.
 If the private key is in a separate file,
 it is loaded with
-.Fl k .
+.Cm priv .
 With
-.Fl e ,
+.Cm sasl-external ,
 authenticate using SASL EXTERNAL.
 Certificates can be generated with
 .Fl g .
@@ -246,7 +236,7 @@ Certificates can be generated with
 Authenticate using SASL EXTERNAL,
 also known as CertFP.
 The TLS client certificate is loaded with
-.Fl c .
+.Cm cert .
 See
 .Sx Configuring CertFP .
 .
@@ -274,7 +264,7 @@ The format of the pattern is as follows:
 .Ar nick Ns Op Ar !user@host Op Ar command Op Ar channel Op Ar message
 .Ed
 .Pp
-The commands which can be filtered are:
+The commands which can be matched are:
 .Sy INVITE ,
 .Sy JOIN ,
 .Sy NICK ,
@@ -306,12 +296,17 @@ Log chat events to files in paths
 Set the user
 .Ar mode .
 .
-.It Fl n Ar nick | Cm nick No = Ar nick
+.It Fl n Ar nick Oo Ar ... Oc | Cm nick No = Ar nick Oo Ar ... Oc
 Set nickname to
 .Ar nick .
 The default nickname is
 the value of the environment variable
 .Ev USER .
+Additional space-separated nicks
+will be tried in order
+if the first is not available,
+and all nicks
+are treated as highlight words.
 .
 .It Fl o
 Print the server certificate chain
@@ -326,7 +321,8 @@ The default port is 6697.
 .It Fl q | Cm quiet
 Raise the default message visibility threshold
 for new windows,
-hiding general events.
+hiding general events
+(joins, quits, etc.).
 .
 .It Fl r Ar real | Cm real No = Ar real
 Set realname to
@@ -373,6 +369,9 @@ if it is not a terminal.
 .It Fl w Ar pass | Cm pass No = Ar pass
 Log in with the server password
 .Ar pass .
+Leave
+.Ar pass
+blank to prompt for the password.
 .El
 .
 .Ss Configuring CertFP
@@ -380,13 +379,13 @@ Log in with the server password
 .It
 Generate a new TLS client certificate:
 .Bd -literal -offset indent
-catgirl -g ~/.config/catgirl/example.pem
+$ catgirl -g ~/.config/catgirl/example.pem
 .Ed
 .It
 Connect to the server using the certificate:
 .Bd -literal -offset indent
 cert = example.pem
-# or: catgirl -c example.pem
+# or: $ catgirl -c example.pem
 .Ed
 .It
 Identify with services or use
@@ -404,7 +403,7 @@ when connecting
 .Bd -literal -offset indent
 cert = example.pem
 sasl-external
-# or: catgirl -e -c example.pem
+# or: $ catgirl -e -c example.pem
 .Ed
 .El
 .
@@ -414,7 +413,7 @@ sasl-external
 Connect to the server
 and write its certificate to a file:
 .Bd -literal -offset indent
-catgirl -o -h irc.example.org > ~/.config/catgirl/example.pem
+$ catgirl -o -h irc.example.org > ~/.config/catgirl/example.pem
 .Ed
 .It
 Configure
@@ -422,10 +421,108 @@ Configure
 to trust the certificate:
 .Bd -literal -offset indent
 trust = example.pem
-# or: catgirl -t example.pem
+# or: $ catgirl -t example.pem
 .Ed
 .El
 .
+.Sh INTERFACE
+The
+.Nm
+interface is split
+into three areas.
+.
+.Ss Status Line
+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:
+.Bd -literal -offset indent
+1+ #ascii.town +3 ~7 @
+.Ed
+.Pp
+The number on the left
+is the window number.
+Following it may be one of
+.Ql - ,
+.Ql + ,
+.Ql ++ ,
+as well as
+.Ql = .
+These indicate
+the message visibility threshold
+and mute status
+of the window.
+.Pp
+On the right side,
+the number following
+.Ql +
+indicates the number of unread messages.
+The number following
+.Ql ~
+indicates how many lines
+are below the scroll position.
+An
+.Ql @
+indicates that there is unsent input
+in the window's
+.Sx Input Line .
+.Pp
+.Nm
+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.
+.
+.Ss Chat Area
+The chat area shows
+messages and events.
+Regular messages are shown
+with the nick between
+.Ql <>
+angle brackets.
+Actions are shown
+with the nick preceded by
+.Ql * .
+Notices are shown
+with the nick between
+.Ql -
+hyphens.
+.Pp
+Blank lines are inserted into the chat
+as unread markers.
+.Pp
+While scrolling,
+the most recent 5 lines of chat
+are kept visible below a marker line.
+.
+.Ss Input 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
+.Sx Chat Area .
+When entering a command,
+no nick is shown.
+.Pp
+Formatting codes are shown
+in the input line
+as reverse-video uppercase letters.
+These will not appear in the sent message.
+.Pp
+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.
+.
 .Sh COMMANDS
 Any unique prefix can be used to abbreviate a command.
 For example,
@@ -469,10 +566,9 @@ Start a private conversation.
 Quit IRC.
 .It Ic /quote Ar command
 Send a raw IRC command.
-The
-.Ic /debug
-command is likely needed
-for command output.
+Use
+.Ic M--
+to show unknown replies.
 .It Ic /say Ar message
 Send a regular message.
 .It Ic /setname Ar name
@@ -524,15 +620,22 @@ for a list of topics.
 .It Ic /highlight Op Ar pattern
 List message highlight patterns
 or temporarily add a pattern.
-To permanently add a pattern, use
-.Fl I .
+To permanently add a pattern,
+use the
+.Cm highlight
+option.
 .It Ic /ignore Op Ar pattern
 List message ignore patterns
 or temporarily add a pattern.
-To permanently add a pattern, use
-.Fl i .
+To permanently add a pattern,
+use the
+.Cm ignore
+option.
 .It Ic /move Oo Ar name Oc Ar num
 Move the named or current window to number.
+.It Ic /o ...
+Alias of
+.Ic /open .
 .It Ic /open Op Ar count
 Open each of
 .Ar count
@@ -660,11 +763,13 @@ Scroll down a page.
 .It Ic M-+
 Raise message visibility threshold,
 hiding ignored messages,
-general events,
+general events
+(joins, quits, etc.),
 or non-highlighted messages.
 .It Ic M--
 Lower message visibility threshold,
-showing ignored messages.
+showing ignored messages
+and unknown replies.
 .It Ic M-=
 Toggle mute.
 Muted windows do not appear in the status line
@@ -693,6 +798,8 @@ Insert a blank line in the window.
 Scroll to next highlight.
 .It Ic M-p
 Scroll to previous highlight.
+.It Ic M-s
+Reveal spoiler text.
 .It Ic M-t
 Toggle timestamps.
 .It Ic M-u
@@ -717,6 +824,8 @@ Reset formatting.
 Manually toggle paste mode.
 .It Ic C-z r
 Toggle reverse color.
+.It Ic C-z s
+Set spoiler text (black on black).
 .It Ic C-z u
 Toggle underline.
 .El
@@ -760,13 +869,10 @@ The color numbers are as follows:
 .Sh ENVIRONMENT
 .Bl -tag -width Ds
 .It Ev SHELL
-The path executed by
-.Ic /exec
-with
-.Fl c Ar command .
-If unset,
-.Pa /bin/sh
-is used.
+The shell used by
+.Ic /exec .
+The default is
+.Pa /bin/sh .
 .It Ev USER
 The default nickname.
 .El
@@ -813,7 +919,7 @@ Join
 .Li #ascii.town
 from the command line:
 .Bd -literal -offset indent
-catgirl -h irc.tilde.chat -j '#ascii.town'
+$ catgirl -h irc.tilde.chat -j '#ascii.town'
 .Ed
 .Pp
 Create a configuration file in
@@ -825,7 +931,7 @@ join = #ascii.town
 .Pp
 Load the configuration file:
 .Bd -literal -offset indent
-catgirl tilde
+$ catgirl tilde
 .Ed
 .
 .Sh STANDARDS
@@ -834,13 +940,15 @@ catgirl tilde
 .Rs
 .%A Adam
 .%A Attila Molnar
-.%T IRCv3.2 invite-notify Extension
+.%T invite-notify Extension
 .%I IRCv3 Working Group
-.%U https://ircv3.net/specs/extensions/invite-notify-3.2
+.%U https://ircv3.net/specs/extensions/invite-notify
 .Re
 .It
 .Rs
 .%A Jack Allnutt
+.%A Val Lorentz
+.%A Daniel Oaks
 .%T Modern IRC Client Protocol
 .%I ircdocs
 .%U https://modern.ircdocs.horse/index.html
@@ -852,16 +960,16 @@ catgirl tilde
 .%A St\('ephan Kochen
 .%A Alexey Sokolov
 .%A James Wheare
-.%T IRCv3 Message Tags
+.%T Message Tags
 .%I IRCv3 Working Group
 .%U https://ircv3.net/specs/extensions/message-tags
 .Re
 .It
 .Rs
 .%A Kiyoshi Aman
-.%T IRCv3.1 extended-join Extension
+.%T extended-join Extension
 .%I IRCv3 Working Group
-.%U https://ircv3.net/specs/extensions/extended-join-3.1
+.%U https://ircv3.net/specs/extensions/extended-join
 .Re
 .It
 .Rs
@@ -875,9 +983,11 @@ catgirl tilde
 .It
 .Rs
 .%A Christine Dodrill
-.%T IRCv3.2 chghost Extension
+.%A Ryan
+.%A James Wheare
+.%T chghost Extension
 .%I IRCv3 Working Group
-.%U https://ircv3.net/specs/extensions/chghost-3.2
+.%U https://ircv3.net/specs/extensions/chghost
 .Re
 .It
 .Rs
@@ -885,19 +995,22 @@ catgirl tilde
 .%A St\('ephan Kochen
 .%A Alexey Sokolov
 .%A James Wheare
-.%T IRCv3.2 server-time Extension
+.%T server-time Extension
 .%I IRCv3 Working Group
-.%U https://ircv3.net/specs/extensions/server-time-3.2
+.%U https://ircv3.net/specs/extensions/server-time
 .Re
 .It
 .Rs
 .%A Lee Hardy
 .%A Perry Lorier
 .%A Kevin L. Mitchell
+.%A Attila Molnar
+.%A Daniel Oakley
 .%A William Pitcock
-.%T IRCv3.1 Client Capability Negotiation
+.%A James Wheare
+.%T Client Capability Negotiation
 .%I IRCv3 Working Group
-.%U https://ircv3.net/specs/core/capability-negotiation-3.1.html
+.%U https://ircv3.net/specs/core/capability-negotiation
 .Re
 .It
 .Rs
@@ -920,30 +1033,30 @@ catgirl tilde
 .It
 .Rs
 .%A Janne Mareike Koschinski
-.%T IRCv3 setname Extension
+.%T setname Extension
 .%I IRCv3 Working Group
 .%U https://ircv3.net/specs/extensions/setname
 .Re
 .It
 .Rs
 .%A Mantas Mikul\[u0117]nas
-.%T IRCv3.2 userhost-in-names Extension
+.%T userhost-in-names Extension
 .%I IRCv3 Working Group
-.%U https://ircv3.net/specs/extensions/userhost-in-names-3.2
+.%U https://ircv3.net/specs/extensions/userhost-in-names
 .Re
 .It
 .Rs
 .%A Daniel Oaks
-.%T Standard Replies Extension
-.%I IRCv3 Working Group
-.%U https://ircv3.net/specs/extensions/standard-replies
+.%T IRC Formatting
+.%I ircdocs
+.%U https://modern.ircdocs.horse/formatting.html
 .Re
 .It
 .Rs
 .%A Daniel Oaks
-.%T IRC Formatting
-.%I ircdocs
-.%U https://modern.ircdocs.horse/formatting.html
+.%T Standard Replies Extension
+.%I IRCv3 Working Group
+.%U https://ircv3.net/specs/extensions/standard-replies
 .Re
 .It
 .Rs
@@ -961,28 +1074,28 @@ catgirl tilde
 .%A Jilles Tjoelker
 .%T IRCv3.1 SASL Authentication
 .%I IRCv3 Working Group
-.%U https://ircv3.net/specs/extensions/sasl-3.1.html
+.%U https://ircv3.net/specs/extensions/sasl-3.1
 .Re
 .It
 .Rs
 .%A William Pitcock
-.%T IRCv3.1 multi-prefix Extension
+.%T multi-prefix Extension
 .%I IRCv3 Working Group
-.%U https://ircv3.net/specs/extensions/multi-prefix-3.1
+.%U https://ircv3.net/specs/extensions/multi-prefix
 .Re
 .It
 .Rs
 .%A James Wheare
-.%T Reply Client Tag
+.%T Message IDs
 .%I IRCv3 Working Group
-.%U https://ircv3.net/specs/client-tags/reply
+.%U https://ircv3.net/specs/extensions/message-ids
 .Re
 .It
 .Rs
 .%A James Wheare
-.%T Message IDs
+.%T reply Client Tag
 .%I IRCv3 Working Group
-.%U https://ircv3.net/specs/extensions/message-ids
+.%U https://ircv3.net/specs/client-tags/reply
 .Re
 .It
 .Rs
@@ -1008,7 +1121,7 @@ The consumer position is stored in the
 file.
 .
 .Sh AUTHORS
-.An June Bug Aq Mt june@causal.agency
+.An June McEnroe Aq Mt june@causal.agency
 .
 .Sh BUGS
 Send mail to