INTRO

clirc is an IRC client.  It is written in Python to maximise the
ability of people who know to customise it in any way they desire.
Therefore people who don't know may want to use another IRC client.


INSTALLING

Although Python is an interpreted language and there is no need as
such to compile clirc, the cursesmodule coming with the regular Python
distribution only has the interface of the portable subset of curses
implementations, which does not include the resizeterm() function call
needed for post-SIGWINCH terminal resizing under ncurses.  Towards
this end I included a small module (in C) implementing resizeterm()
which must be compiled.  Also your Python needs to be built with
dynamic linking, or you can't use it.  (Actually you can, but if you
really need to, go figure it out.)

There is no configure script because that would be overkill.  Edit the
variables at the beginning of the Makefile to the proper values, and
type

	make

to compile the resizetermmodule and

	make install

to install clirc.


DEFAULT BEHAVIOUR

Commands are ircII-style, as opposed to Irchat-style.  I might make
this configurable as well.

/help		prints some general help or help on a command ($1)

/addkey		adds the key ($2) to known keys associated to regexp ($1)
/ban		bans an address ($1) from the channel (no nick-part needed)
/bans		lists the bans in effect on a channel
/ctcp		sends a CTCP message ($2-) to someone / some channel ($1)
/dv		devoices someone ($1) on the current channel
/exit		sends a signoff message ($1-) to the current server
/join		joins a new channel ($1) and creates a window for it
/kick		kicks someone ($1) off the channel with message ($2-)
/leave		leaves a channel and/or deletes a window
/me		a ctcp action ($1-)
/mode		performs a mode change ($1-) on the current channel
/msg		sends a message ($2-) to someone / some channel ($1)
/ping		pings the current server
/query		opens a window for conversation with a someone ($1)
/quit		sends signoff messages ($1-) to all servers
/quote		pass some literal data ($1-) to the server
/reload		reloads the configuration file and the source
/terminate	exits immediately
/topic		changes topic on the current channel ($1-)
/unban		removes an address ($1) from the current channel bans
/whois		performs a whois query ($1)

When a server is exitted voluntarily, all its windows are deleted.
When all the windows have been deleted, the client exits.

The editing keys are roughly similar as in Emacs by default.


CONFIGURING

This section needs a good explanation, but that will have to follow
when the clirc core is relatively finished.  The main idea is that you
can write code and declarations in your $HOME/.clircrc.py from where
they are read when the program is started, and each time you type
/reload (unless of course you configure /reload to do something else).

Note that /reload also reloads all other clirc modules written in
Python.

An example .clircrc.py file (example.clircrc.py) is included in the
distribution.  It is my own configuration file with perhaps some
modifications for illustrating various points.


RTFS

I am lazy and can't be bothered to write very much documentation when
I don't get anything for it.  If people ask good questions I might
include both the question and the answer here, but otherwise Read The
Fine Source available ;-)

-- 
Teemu Kalvas
<chery@s2.org>
1999-08-31
