Provided by: catgirl_2.2a-1_amd64
NAME
catgirl — IRC client
DESCRIPTION
catgirl(7) is a terminal IRC client. Screenshot: imagine, if you will, text on a screen, next to names in a selection of colours. Notable Features • Tab complete: most recently seen or mentioned nicks are completed first. Commas are inserted between multiple nicks. • Prompt: the prompt clearly shows whether input will be interpreted as a command or sent as a message. • Split scroll: keeps the latest messages in view while scrolling. • URL detection: recent URLs from a particular user or matching a substring can be opened or copied. • Nick coloring: color generation based on usernames remains stable across nick changes. Mentions of users in messages are colored. • Topic diffing: the modified portion of a channel topic change is highlighted. • Ignore: visibility of filtered messages can be toggled. • Security: on FreeBSD and OpenBSD, the restrict option enables tight sandboxing. Sandboxing is always used on OpenBSD. Non-features • Dynamic configuration: all configuration happens in a simple text file or on the command line. • 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. • Reconnection: when the connection to the server is lost, catgirl exits. It can be run in a loop or connected to a bouncer, such as pounce: https://git.causal.agency/pounce. • CTCP: apart from ACTION, this protocol is useless at best and enables abuse at worst. • Protocol coverage: IRCv3 extensions are implemented only where they contribute to the intended user experience. • 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 it, 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/notify-send.scpt notify-send(1) in AppleScript scripts/build-chroot.sh chroot builder for OpenBSD and FreeBSD scripts/chroot-prompt.sh name prompt wrapper for chroot scripts/chroot-man.sh man(1) implementation for chroot scripts/sshd_config sshd(8) configuration for public chroot
CONTRIBUTING
The upstream URL of this project is ⟨https://git.causal.agency/catgirl⟩. Contributions in any form can be sent to ⟨list+catgirl@causal.agency⟩. For sending patches by email, see ⟨https://git-send-email.io⟩. Mailing list archives are available at ⟨https://causal.agency/list/catgirl.html⟩. Monetary contributions can be donated via Liberapay: https://liberapay.com/june/donate.
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.