|README(7)||FreeBSD Miscellaneous Information Manual||README(7)|
- Tab complete: most recently seen or mentioned nicks are completed first. Commas are inserted between multple nicks.
- Indicators: the prompt clearly shows whether input will be interpreted as a command or sent as a message. An indicator appears when scrolled up in the chat history.
- Nick coloring: color generation based on usernames remains stable across nick changes. Mentions of users in messages are colored.
- URL detection: recent URLs from a particular user or matching a substring can be opened or copied.
- History: window contents can be saved and restored on startup.
- Dynamic configuration: all configuration happens in a simple text file or on the command line.
- Multi-network: a terminal multiplexer such as
tmux(1) (or just your regular terminal
emulator tabs) can be used to connect
catgirlto multiple networks.
- Reconnection: when the connection to the server is lost,
catgirlexits. It can be run in a loop or connected to a bouncer, such as pounce.
- Cleartext IRC: TLS is now ubiquitous and certificates are easy to obtain.
catgirlrequires LibreSSL (
-ltls) and ncurses (
-lncursesw). It primarily targets FreeBSD and macOS, as well as Linux.
./configure make all sudo make install PREFIX=/usr/local
If your system installs LibreSSL in a non-standard path, set
./configure. For example,
sandman wrapper is provided for macOS
to stop and start
catgirl on system sleep and wake.
Install it as follows:
make scripts/sandman sudo make install-sandman
- global state and declarations
- startup and event loop
- IRC connection and parsing
- curses interface
- IRC message handling
- input command handling
- line editing
- tab complete
- URL detection
- configuration parsing
- XDG base directories
|February 12, 2020||Causal Agency|