User:Phase Theory/QuIRC

quIRC is a minimalist open source Internet Relay Chat client for the Linux operating system, portable to most Unix-like systems. It uses a console-based character-cell interface (also known as curses-style, although quIRC does not use curses). It is licensed under the GNU GPL version 3.

Features
quIRC supports multiple servers and channels through a tabbed interface, a backscroll buffer of configurable size (storing both processed and unprocessed text, to allow changes to display settings to act retroactively), CTCP, configuration of many aspects of the display (including themeing with colours), optional handling or stripping of mIRC-style colour codes, and nickname tab-completion. It has no scripting language, instead an application protocol for symbiont programs is under development. It does not have support for the irc:// URI scheme. It also does not support DCC.

Input line editing is supported through bash-style keystrokes, and arbitrary characters can be inserted into the input with octal escapes. quIRC is 8-bit clean and handles UTF-8.

A novel feature is the ability to merge consecutive joins, parts or quits into a single line, typically triggered by netsplits. This is subtly different to other clients eg. irssi which detect netsplits specifically; in quIRC this feature can also be triggered by eg. two consecutive ordinary joins within a short space of time.

quIRC is also capable of performing its DNS lookups asynchronously, using the GNU libc extension getaddrinfo_a. If this extension is not available, quIRC can be compiled to use normal blocking DNS lookups, but this will freeze the interface while connecting to a server.

Distribution
quIRC's source repository is hosted on GitHub. Source tarballs are released on the project's homepage. quIRC has also been packaged for several versions of SUSE.