beirc

beirc is a CLIM IRC client Application using the cl-irc library as a backend, initially written by Gilbert Baumann, now maintained by Dave Murray and others.

Source code and screen shots are available at common-lisp.net/project/beirc.

Beirc requires the newest CVS version of cl-irc and McCLIM, as well as Max-Gerd Retzlaff's tab-layout-pane . Note also that beirc currently requires a lisp that supports multiple processes. The developers are using multithreaded SBCL on x86/linux and OpenMCL on ppc/darwin. CMUCL on x86 could work, as well. (More details are available in the table below. If you get beirc running on a system not noted there, please add it.)

Warning: The sound support in beirc is currently very experimental. It works on ACL, probably works on SBCL, and almost certainly only on Unix variants.

Features

Customizable variables

These can be set in the .beirc.lisp file in your home directory (although this too can be changed in variables.lisp):

*hyperspec-base-url*
Set to url (as a string) of your local copy of the Hyperspec and specbot's clhs query answers will be rewritten appropriately.
*default-fill-column*
The maximum width in characters of the message column (as distinct from the name column and the timestamp column). Defaults to 80.
*timestamp-column-orientation*
The position of the timestamp column on the screen. Either :right (the default) or :left.
*default-nick*
Your nick, as a string.
*default-web-browser*
The command (as a string) to run your web browser. Should work out-of-the-box.
*auto-join-alist*
An alist mapping an irc server name (as a string) to a list of channels (each a string) to automatically join on connecting.
*nickserv-password-alist*
An alist mapping an irc server name (as a string) to the password (as a string) to send to the NickServ authentication bot.
*default-sound-player*
A string naming a program (or a program and command-line arguments) that will read sound files from standard input and play them. Used for rudimentary sound support.
*sound-for-my-nick*
A filename (string) that specifies a file to be played (by *default-sound-player*), when your nick is mentioned. Could be NIL instead.

Commands

/Connect server nick
/Identify
Identify yourself to the NickServ service.
/Join channel
/Focus nick
Display messages from nick in bold.
/Unfocus nick
Stop displaying messages from nick in bold.
/Ignore nick
Don't display any messages from nick, past or future.
/Unignore nick
Display messages from nick again.
/Nick string
Change nick to string.
/Me stuff
Do stuff.
/Msg nick message
Send message to nick.
/Reload
Reload the user init file.
/Part message
Leave the channel with message.
/Close window[,window2...]
Close the list of windows. If any of these windows refers to a channel, leave each channel.
/Whois nick
Perform a WHOIS query on nick.
/Topic [:Topic new topic]
If executed without keyword arguments, shows the current channel topic. If passed the :Topic keyword argument, sets the current channel topic to new topic.
/Op nick
Give channel operator status to nick.
/Deop nick
Remove channel operator status from nick..
/Ban Nick nick
Set channel mode +b (ban) to nick!*@*.
/Ban Hostmask hostmask
Set channel mode +b (ban) to hostmask.
/Kick nick
Kick nick from the current channel.
/Names
Display the list of users on the current channel.
/Away message
Set away status to message.
/Quit message
Disconnect from the server with message and terminate beirc.
/Disconnect message
Disconnect from the server with message.
/Switch Timestamp Orientation
Sets orientation of timestamps to the left column if they are in the right column and vice versa.

Mouse Interaction

There's an awful lot of it. Many items are displayed as clickable CLIM presentations, including nicks, URLs, tabs for servers and channels, etc., allowing easy access to basic commands. Documentation for whatever you're about to do by clicking is provided, as in other CLIM apps, in the lowest, black pane; this gives you an idea of what, if anything, will happen when your Left, Middle or Right click occurs.

Working Systems

The following Hardware/OS/Lisp Implementation combinations are known to run beirc (somewhere, at least):

Hardware PlatformOSOS VersionLisp Implementation
Intel x86 Debian GNU/Linux 3.1, kernel 2.6.13 Multithread SBCL 0.9.5
Intel x86 Mandriva GNU/Linux 3.1, kernel 2.6.12 Allegro CL 8.0
PowerPC G4 OS X 10.4.2 OpenMCL 0.14.4-pre-050807a

Wish List

Oddities

Things that should probably be fixed, once we know what causes them.

Old bugs:

This page is linked from: clim-desktop   Steeldump  

CLiki pages can be edited by anyone at any time. Imagine a fearsomely comprehensive disclaimer of liability. Now fear, comprehensively