(0) If you don't already have an emacs 'hacks' directory for your own add-ons, make one. In this example I'll use ~/lib/emacs. (1) copy mud.el into the 'hacks' directory. (2) Edit your .emacs file. If you don't have one, edit it anyway. (3) add the following line to append the 'hacks' directory to emacs's path: (setq load-path (append (mapcar 'expand-file-name '("~/lib/emacs")) load-path)) (5) Tell emacs to load mud.el on demand by adding this to your .emacs (autoload 'mud "mud" "MUD mode." t) (6) If you need firewall support (see the top of mud.el for the type of firewall support I've implemented - it's fairly crude): (setq gw-host "gateway.host.name") (setq gw-port gateway-port-number) (7) Set up default account/password for mud.el - you could hide this in, say, ~/.mud and get emacs to (load "~/.mud") if you're worried that someone might hijack it from your .emacs: (setq mud-default-user "username") (setq mud-default-pass "password") (8) By default, mud-list contains entries for Nerdsholm and NewtMUD using the default login info. If you want to set up your own list of muds, do (setq mud '((MudToken ("hostname" port "username" "password")) (MudToken2 ("hostname" port t)))) - MudToken is a name for the mud that you'll recognise, one word only - the first line gives you login via the specified username and password; the second via the defaults. If you just specify hostname and port, you don't get auto-login on connection. (9) FEATURES. (setq mud-default 'MudToken) - which mud to prompt as default (setq mud-logging t) - switch on logfiling (logs to ~/MudToken.log) (setq mud-page-beep-default nil) - don't ping me when I get paged (setq mud-max-buffer
) - set max buffer size to bytes (setq mud-pong t) - enable "PONG" support a la rocco's client COMING SOON: How to customise the faces used, and how to set up new hooks. As soon as I feel up to writing documentation for them ;)
So I spend more time working on this darned mud than I should. The new version hasn't been heavily tested, after all that's what you guys are for, right? New features: ;;; * added arbitrary regexp matching ;;; * added mud-delete-lines, essentially a gag function. ;;; * Added hook functionality to the output processor. ;;; * PING/PONG is switched off by default. ;;; * whispering "version" to someone returns their mud.el version. Additionally, if there's a problem in mud.el, you'll get something like the following in your ECHO OUT buffer: mud.el says, "One of your hook functions is broken." which I think is incredibly cute. You can use this feature in your own mud hooks by calling mud-whine; see existing code for usage. The arbitrary regexp matching is disabled by default. You'll need to go poke in the code to (a) switch it on and (b) set up gags or whatever. I may redo the existing hook functions - hilighting, paging stuff, all that - to use the arbitrary regexp stuff. The use of hooks is documented in the code, and you can have a look at the existing hook functions to get an idea of how to write your own. There's a chunk of text at the head of the hook functions section giving you a list of pointers.
Back to the hacks | Take it from the top