kirc KISS for IRC, an IRC client written in POSIX C99. BACKGROUND ---------- After having tried multiple IRC clients, I decided to develope my own. The result is a portable <300 sloc application that has no dependencies other than a C99 compiler. FEATURES -------- - automatic host PING response. - vi-like shortcuts: :m send a message to the current channel :M send a message to a specified nick or channel :n send a message to NickServ :j join a specified channel :p leave a specified channel :Q send a message and close the host connection :q close the host connection - automatic word wrapping using the greedy algorithm. - color scheme definition via ANSI 8-bit colors [1]. Therefore, one could theoretically achieve uniform color definition across all shell applications and tools. INSTALLATION ------------ Building and installing from source: git clone https://github.com/mcpcpc/kirc.git cd kirc make make install Building and installing using KISS Linux Community repository [2]: kiss b kirc kiss i kirc USAGE ----- usage: kirc [-s hostname] [-p port] [-c channel] [-n nick] [-r real name] [-u username] [-k password] [-w columns] [-W columns] [-o path] [-v|V] -s server address (default: 'irc.freenode.org') -p server port (default: '6667') -c channel name (default: '#kisslinux') -n nickname (required) -u server username (optional) -k server password (optional) -r real name (optional) -v version information -V verbose output (e.g. raw stream) -o output path to log irc stream -w maximum width of the printed left column (default: '10') -W maximum width of the entire printed stream (default '80') CUSTOMIZATION ------------- - Regarding the behavior of the '-W' and '-w' arguments, these are intended to allow the user to customize the "look abd feel" of the IRC stream. By fault, kirc will only print the first 10 characters (as defined by the '-w' argument) of any given nick. this also sets the maximum character and word wrapping width of the printed message. For example, any printed character or word exceeding the defined '-W' argument will automatically be printed to a new line, offset by '-w' plus 2 characters (which are the ":" and " " printed after the nick in the left column). Therefore, assuming that the default values are being used, an IRC message could never exceed 80 printed characters before word wrapping. - In order to connect to an IRC server, a nickname must be specified. Server username (-u), password (-k) and real name (-r) are optional. REFERENCES ---------- [0] https://tools.ietf.org/html/rfc2812 [1] https://en.wikipedia.org/wiki/ANSI_escape_code [2] https://github.com/kisslinux/community