An open API service indexing awesome lists of open source software.

https://github.com/nakidai/catgirl

my fork of catgirl
https://github.com/nakidai/catgirl

Last synced: 2 months ago
JSON representation

my fork of catgirl

Awesome Lists containing this project

README

        

README(7) Miscellaneous Information Manual README(7)

NAME
catgirl - IRC client

DESCRIPTION
That tree contains modified version of catgirl(1). This fork adds some
commands that I sometime use, and it's not intended to be run on other
user's systems than mine. To see original tree you may check
CONTRIBUTING section.

catgirl(1) is a terminal IRC client.

Screenshot: imagine, if you will, text on a screen, next to names in a
selection of colours.

Notable Features
o Tab complete: most recently seen or mentioned nicks are completed
first. Commas are inserted between multiple nicks.

o Prompt: the prompt clearly shows whether input will be interpreted as
a command or sent as a message.

o Split scroll: keeps the latest messages in view while scrolling.

o URL detection: recent URLs from a particular user or matching a
substring can be opened or copied.

o Nick coloring: color generation based on usernames remains stable
across nick changes. Mentions of users in messages are colored.

o Topic diffing: the modified portion of a channel topic change is
highlighted.

o Ignore: visibility of filtered messages can be toggled.

o Security: on FreeBSD and OpenBSD, the restrict option enables tight
sandboxing. Sandboxing is always used on OpenBSD.

Non-features
o Dynamic configuration: all configuration happens in a simple text
file or on the command line.

o Multi-network: a terminal multiplexer such as screen(1) or tmux(1)
(or just your regular terminal emulator tabs) can be used to connect
catgirl to multiple networks.

o Reconnection: when the connection to the server is lost, catgirl
exits. She can be run in a loop or connected to a bouncer, such as
pounce: https://git.causal.agency/pounce.

o CTCP: apart from ACTION, this protocol is useless at best and enables
abuse at worst.

o Protocol coverage: IRCv3 extensions are implemented only where they
contribute to the intended user experience.

o Cleartext IRC: TLS is now ubiquitous and certificates are easy to
obtain.

INSTALLING
catgirl requires ncurses and libtls, provided by either LibreTLS:
https://git.causal.agency/libretls/about (for OpenSSL) or by LibreSSL.
It targets FreeBSD, OpenBSD, macOS and Linux. catgirl and libtls may be
packaged for your system. Check the Repology pages for catgirl:
https://repology.org/project/catgirl/versions and libretls:
https://repology.org/project/libretls/versions.

$ ./configure
$ make all
# make install

Packagers are encouraged to patch in their own text macros in input.c.

If installing libtls manually to /usr/local, for example, make sure
/usr/local/lib appears in /etc/ld.so.conf or /etc/ld.so.conf.d/* and be
sure to run ldconfig(8) once the library is installed. Set
PKG_CONFIG_PATH for ./configure to find it.

$ PKG_CONFIG_PATH=/usr/local/lib/pkgconfig ./configure

The sandman wrapper is provided for macOS to stop and start catgirl on
system sleep and wake. To enable him, configure with:

$ ./configure --enable-sandman

FILES
chat.h global state and declarations
chat.c startup and event loop
irc.c IRC connection and parsing
ui.c curses interface
window.c window management
input.c input handling
handle.c IRC message handling
command.c command handling
buffer.c line wrapping
edit.c line editing
complete.c tab complete
url.c URL detection
filter.c message filtering
log.c chat logging
config.c configuration parsing
xdg.c XDG base directories
sandman.m sleep/wake wrapper for macOS

scripts/chat.tmux.conf example tmux(1) configuration for multiple
networks and automatic reconnects
scripts/reconnect.sh example script to restart catgirl(1) when she
gets disconnected
scripts/notify-send.scpt notify-send(1) in AppleScript

CONTRIBUTING
The upstream URL of this project is .
Contributions in any form can be sent to .
For sending patches by email, see . Mailing
list archives are available at .

SEE ALSO
catgirl(1), sandman(1)

IRC bouncer: pounce: https://git.causal.agency/pounce

June McEnroe, IRC Suite, https://text.causal.agency/010-irc-suite.txt,
June 19, 2020.

Causal Agency January 2, 2025 Causal Agency