Circe for Emacs
Circe is an IRC client for Emacs by Jorgen Schaefer. Its official website is on nongnu.org. If you value beautiful code and hackability over glossy exterior, simplicity over feature-creep, it is the best IRC client around.
This is the project page for the version of Circe found in my git repository. It is the same as the official version, plus a few features of my own, which I hope to have merged into the official version at some date. Having it in a git repository instead of CVS makes it easier for me to hack and share my code.
New Features
Features found in my copy of Circe, which are not yet in the official distribution. I have also now begun merging patches from Joshua Elsasser’s version of Circe, and those are also explained in the list below.
tracking-most-recent-first
New variable. When true, reverses the order of the tracking notification, so new buffers are added to the front of the list, instead of the end.
circe-format-strings: new target, ‘server
Where appropriate, messages that have to do with the server are now shown in the server buffer instead of whatever buffer happens to be active at the moment.
Support channel url messages (message type 328)
Show channel url messages in the buffers of the channels they are for.
circe-ignore-auto-joins
When true the value of circe-new-buffer-behavior will be ignored for auto-joined buffers. This means that circe-new-buffer-behavior will only be used for channels that are interactively joined.
fixed bug with /topic
Previously, the /topic command would cause an IRC error when called with no arguments. Now it correctly displays the topic for the current channel.
circe-bot-list
A user-maintained list of irc bots. Channel text (not query text) from any of the nicks in this list will be formatted with ‘circe-format-bot-say’. The default format makes the text gray. You can make tracking ignore channel bot text by adding the symbol ‘circe-format-bot-say’ to circe-format-not-tracked.
fixed bugs in tracking-ignored-p
There were two bugs in tracking-ignored-p, one that made it not work as described, and one that made it not work at all with string entries in tracking-ignored-buffers.
fixed bug in /gquit
The variable circe-server-quitting-p was not formerly a buffer-local variable, which broke /gquit.
support irc message type 329
This message gives the time that the topic was set. Seems to be a rare message.
/kick tweaks
/bans, new command
Show bans list for current channel.
enhanced interactive form for
circecommandConnection details for networks can be configured in the variable
circe-networks, and a network name can be entered into Circe’s host prompt. For non-interactive calling, the helper functioncirce-lookup-networkis provided, the value of which can be applied tocirce.asynchronous connecting
Prevents emacs from hanging when circe is (re)connecting and the internet connection quality is less than snappy.
circe-server-mode-map
A keymap for server mode buffers.
lag monitor
A new lag monitor,
circe-lagmon-mode, in the file circe-lagmon.el. Monitors your lag in the mode-line, and able to detect timeouts and automatically attempt to reconnect.shorter JOIN and QUIT messages
circe-originator-face given higher priority than circe-my-message-face
This allows your own nick to be colorized, even when circe-my-message-face has a foreground color.
tracking-ignored-p now returns the record used to ignore the channel.
Resources
IRC Channel
If you have questions about circe, whether the offical version or my branch, join #emacs-circe on irc.freenode.net.