rcirc is a next generation IRC client. It blends seamlessly with the rest of emacs, it’s tight, fast, and doesn’t light up like a christmas tree. rcirc also has sane defaults. There is little or no reason to customize it because it does what you want by default (except that many people still do. :))
rcirc is part of GNU Emacs since release 22.0.
If you want to chat about rcirc, the place is #rcirc on freenode.
If you are running Emacs 22, you already have it. Skip this section.
New versions of rcirc do not work in Emacs 21. You can get the last version of rcirc working in Emacs 21 here: Lisp:rcirc.el.
In Emacs 22, just type
On Emacs 21 and/or very old rcirc version, you will have to add this to your .emacs:
(eval-after-load "rcirc" ; for emacs 21 '(if (not (functionp 'irc)) (defun irc (x) (interactive "P") (if x (call-interactively 'rcirc) (rcirc rcirc-server rcirc-port rcirc-nick (rcirc-startup-channels rcirc-server))))))
then just do as usual.
rcirc comes set up with default values for IRC server and port (irc.freenode.net 6667), nickname (your login name), and channel (#rcirc). You can override these settings in your .emacs file or use C-u M-x rcirc to set these values. You also can define a key to start it for you:
(global-set-key (kbd "C-c I") 'irc)
Please also consider visiting these pages in order to getting started:
The trunk (emacs 24) has SSL support out of the box.
For emacs 23 you need a fork of rcirc:
https://github.com/nealey/rcirc/wiki which makes possible to use an arbitrary connection method (ssl/proxy/whatever)
or this (SSL with an optional :use-tls for
‘rcirc-server-alist’ and :custom-connect-function for arbitrary connection method (ssl/proxy/whatever) similar to the neale’s patch) https://github.com/melmothx/rcirc/tree/to-emacs
/color– color each nick using a separate color
/retake– send RECOVER and RELEASE messages to NickServ
/reconnect– quit and reconnect immediately for users waking their laptop from sleep after the server has closed the connection
/unpounce– store messages for people and send them when they join one of the channels you’re on
/all– run a command such as
/awayfor all connections
/sv– show rcirc version
/help– list rcirc commands and show their documentation
/occur– find stuff in all your rcirc buffers
rcirc-activities/switch-to-bufferto see and switch to buffers with activities, using ido.
(setq rcirc-switch-to-buffer-function 'elscreen-find-and-goto-by-buffer). This has a problem though: automatic switching after some actions (joining a channel, for example) will stop working. One possible solution is:
(defun rcirc-switch-buffer-or-screen (buffer) (if (elscreen-find-screen-by-buffer buffer) (elscreen-find-and-goto-by-buffer buffer) (switch-to-buffer buffer))) (setq rcirc-switch-to-buffer-function 'rcirc-switch-buffer-or-screen)
VincentFoley asks: could anyone describe the differences between rcirc and ERC from an end-user point of view?
AlexSchroeder replies: For beginners, there should be no significant differences. After all, both claim to be easy-to-use IRC clients. The differences begin when customizing or hacking it. Neither of the two has introduced radical changes to the user interface.
I used ERC for a while, but I was not very fond of the 20 odd files required in my elisp directory, so I switched to rcirc and haven’t looked back since. It does everything I need, the (very clean) code is contained in a single file, I’m very happy! – VincentFoley
Hope it helps.