aboutsummaryrefslogtreecommitdiffstats
path: root/README
blob: ee7f5f58a1907e33c3a4d22a461cd4c15d7dab09 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
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 <message>                send a message to the current channel
  :M <nick|channel> <message> send a message to a specified nick or channel
  :n <message>                send a message to NickServ
  :j <channel>                join a specified channel
  :p <channel>                leave a specified channel
  :Q <message>                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')


REFERENCES
----------

[0] https://tools.ietf.org/html/rfc2812
[1] https://en.wikipedia.org/wiki/ANSI_escape_code
[2] https://github.com/kisslinux/community