aboutsummaryrefslogtreecommitdiffstats
path: root/README
blob: fefd7d00b44400003400efdacde3c4bb62bfa9d4 (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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
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')


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