2 \def\line{\hbox to\hsize}
3 \def\centerline#1{\line{\hss#1\hss}}
6 \input texinfo @c -*-texinfo-*-
7 @c ----------------------------------------------------------------------
8 @c Time-stamp: <Fri Oct 11 1996 23:10:26 Stardate: [-31]8254.61 hwloidl>
10 @c Hacked TeXInfo file (based on the zenirc.ascii file in version 2.107)
11 @c ----------------------------------------------------------------------
14 @setfilename zenirc.info
15 @settitle ZenIRC Info Pages
17 * ZenIRC: (zenirc). Internet Relay Chat in the Emacs World.
19 @c footnotestyle separate
23 @comment New index for options
25 @c @syncodeindex op cp
29 @comment The title is printed in a large font.
30 @center @titlefont{ZenIRC Info Pages}
35 @c @center Hans-Wolfgang Loidl
36 @c @center @t{hwloidl@@dcs.gla.ac.uk}
37 @c The following two commands start the copyright page.
41 @c ----------------------------------------------------------------------
44 @node Top, Introduction, (dir), (dir)
45 @comment node-name, next, previous, up
46 @top ZenIRC Info Pages
49 Waste time on IRC using ZenIRC
51 With ZenIRC you can connect to IRC servers and waste time.
52 ZenIRC runs under Emacs-18, Emacs-19, Epoch and XEmacs.
53 This manual describes ZenIRC version 3.0.
57 * Using ZenIRC to waste time.::
61 --- The Detailed Node Listing ---
65 * Finding an IRC server and connecting to it.::
67 Finding an IRC server and connecting to it.
69 * Changing default server (and attributes).::
70 * Those servers are all down.::
71 * The server doesn't let me on?!::
73 Changing default server (and attributes).
75 * The $IRCSERVER way.::
76 * The zenirc-server-alist way.::
77 * Using ordinary variables.::
79 Using ZenIRC to waste time.
81 * What goes on in the background? ::
82 * Commands in ZenIRC major-mode.::
83 * Keybindings in ZenIRC major-mode.::
85 What goes on in the background?
87 * Communicating with the server.::
88 * Server communicating with you.::
90 Commands in ZenIRC major-mode.
92 * Non ZenIRC specific commands.::
93 * ZenIRC specific commands.::
96 @node Introduction, Using ZenIRC to waste time., Top, Top
97 @comment node-name, next, previous, up
102 If ZenIRC is installed properly, starting ZenIRC without any
103 extensions is fairly easy--you just type `M-x zenirc' in your Emacs.
105 If ZenIRC isn't installed at all, you probably won't be able to read
106 this manual. Turn to the "INSTALL" file which comes with the
107 distribution of ZenIRC-3.0.
109 If ZenIRC is installed but you still can't start it, there's a big
110 chance that you can't connect to the default server.
114 * Finding an IRC server and connecting to it.::
117 @node Finding an IRC server and connecting to it., , Introduction, Introduction
118 @comment node-name, next, previous, up
119 @section Finding an IRC server and connecting to it.
123 There's only one default server for ZenIRC, irc.stealth.net. This
124 server might, of course, be down or unreachable. If this is so, you
125 need to connect to another server for ZenIRC to work.
127 ZenIRC comes with a list of servers maintained by Doug McLaren. The
128 list is from 1996-04-15 so it might not be correct. This list is
129 posted to the Usenet group alt.irc and alt.irc.questions twice a
130 month and a copy of it can be found via anonymous FTP at
131 ftp.comco.com:/pub/irc/server-list-current
135 * Changing default server (and attributes).::
136 * Those servers are all down.::
137 * The server doesn't let me on?!::
140 @node Changing default server (and attributes)., Those servers are all down., Finding an IRC server and connecting to it., Finding an IRC server and connecting to it.
141 @comment node-name, next, previous, up
142 @subsection Changing default server (and attributes).
146 There's three different ways to change your default server. They're
147 listed below in the prefered order. If you use example 1.1.1.1 or
148 1.1.1.2 you'll get some redundancy example 1.1.1.3 can't give you.
149 1.1.1.3 is good if you want to start right away and set things up
154 * The $IRCSERVER way.::
155 * The zenirc-server-alist way.::
156 * Using ordinary variables.::
159 @node The $IRCSERVER way., The zenirc-server-alist way., Changing default server (and attributes)., Changing default server (and attributes).
160 @comment node-name, next, previous, up
161 @subsubsection The $IRCSERVER way.
165 By setting your environment variable $IRCSERVER you also change the
166 default servers for most other IRC clients around. How to set this
167 variable is different in different shells.
169 sh, bash, zsh; IRCSERVER="some.server";export IRCSERVER
170 csh, tcsh; setenv IRCSERVER "some.server"
172 ZenIRC uses this variable just like ircII. The correct syntax is;
174 server1[:port1[:password1[:nickname1[:username1]]]] server2[:port2...
176 To set your default server to irc.stealth.net with the nickname `ben'
177 and your secondary server to irc.funet.fi on port 6666 with the
178 nickname Vesa you would set $IRCSERVER to;
180 irc.stealth.net:::ben: irc.funet.fi:6666::Vesa:
183 @node The zenirc-server-alist way., Using ordinary variables., The $IRCSERVER way., Changing default server (and attributes).
184 @comment node-name, next, previous, up
185 @subsubsection The zenirc-server-alist way.
189 By setting the ZenIRC variable zenirc-server-alist you can do the same
190 thing as with $IRCSERVER, this way you won't have the same defaults
191 for other clients though.
193 To do exactly as the example in 1.1.1.1, you should set
194 zenirc-server-alist as follows;
197 (setq zenirc-server-alist
198 '(("irc.stealth.net" nil nil "ben" nil)
199 ("irc.funet.fi" 6666 nil "Vesa" nil)))
203 @node Using ordinary variables., , The zenirc-server-alist way., Changing default server (and attributes).
204 @comment node-name, next, previous, up
205 @subsubsection Using ordinary variables.
209 The only thing you actually _need_ to set is zenirc-server-default.
211 To set your default server, use zenirc-server-default;
214 (setq zenirc-server-default "irc.stealth.net")
217 To set your default nickname, use zenric-nick-default;
220 (setq zenirc-nick-default "ben")
223 To set your default password, use zenric-password-default;
226 (setq zenirc-password-default "mostly not used")
229 To set your default port, use zenirc-port-default;
232 (setq zenirc-port-default 6667)
235 To set your default username, use zenirc-user-login-name-default;
238 (setq zenirc-user-login-name-default "oedipus rpc.rexd")
242 @node Those servers are all down., The server doesn't let me on?!, Changing default server (and attributes)., Finding an IRC server and connecting to it.
243 @comment node-name, next, previous, up
244 @subsection Those servers are all down.
248 If you don't want to restart Emacs and ZenIRC to try a new server,
249 type `M-x zenirc-select' and you will be asked a few questions.
252 @node The server doesn't let me on?!, , Those servers are all down., Finding an IRC server and connecting to it.
253 @comment node-name, next, previous, up
254 @subsection The server doesn't let me on?!
258 The IRC administrators might not want people from everywhere to
259 connect to his server. I'd recomend you to use an as closeby server as
260 possible. The list of servers lists the server by country, the best
261 shot would be to use one as close to you as possible.
263 There's also a possiblity that the admin has banned your domain. If
264 this is true, talk to your system administrator about it.
266 Some servers won't let you connect if your system isn't running an
267 IDENT service. This breaks the RFC for IDENT so be sure to tell the
268 administrator of the server about this idiocy, then go on and pick a
272 @node Using ZenIRC to waste time., It's working, Introduction, Top
273 @comment node-name, next, previous, up
274 @chapter Using ZenIRC to waste time.
278 Once you've conected to a server, Emacs will enter ZenIRC
279 major-mode. This mode parses information from the server and shows it
280 to you in different ways, it also give you a nice interface to send
281 things to the server. ZenIRCs major-mode also understands CTCP and
282 parts of the DCC protocol.
286 * What goes on in the background? ::
287 * Commands in ZenIRC major-mode.::
288 * Keybindings in ZenIRC major-mode.::
291 @node What goes on in the background? , Commands in ZenIRC major-mode., Using ZenIRC to waste time., Using ZenIRC to waste time.
292 @comment node-name, next, previous, up
293 @section What goes on in the background?
297 Lots of things. If you don't know much elisp and just want to use the
298 client you couldn't be less bothered actually. If you really are
299 interested in the internals of ZenIRC you should join one or more of
300 the ZenIRC mailinglists, read the source and play around a little.
301 Changing small things and adding some small nifty hooks are pretty
302 trivial though, read more about that in SECTION and SECTION.
306 * Communicating with the server.::
307 * Server communicating with you.::
310 @node Communicating with the server., Server communicating with you., What goes on in the background? , What goes on in the background?
311 @comment node-name, next, previous, up
312 @subsection Communicating with the server.
316 Sending stuff to the server is done by hitting return (^M). ZenIRC
317 parses the things you send to the server in two different ways,
318 depending on the first character you type. With a leading "/" (you can
319 change this by setting zenirc-commandchar) ZenIRC parses your line as
320 a command. Without the leading "/" ZenIRC sends your line as a message
321 to your current victim, this is done with PRIVMSG as described in
324 Example, if the channel #se-opers is your zenric-current-victim and
331 the clients on channel #se-opers will see your message. Use the /query
332 command to change zenirc-current-victim. :LINK:
334 On the other hand, if you type;
340 you will part the channel. Look in 2.2 for an extensive list of all
341 commands and how to use them.
344 @node Server communicating with you., , Communicating with the server., What goes on in the background?
345 @comment node-name, next, previous, up
346 @subsection Server communicating with you.
349 ZenIRC parses all the information the servers sends to you in one way
350 or the other. On a few occasions ZenIRC might lack the information on
351 how to parse a certain thing, this is almost considered a bug (use M-x
352 zenirc-bug to report this behaviour).
354 To display the information, ZenIRC uses language catalogs. The default
355 catalog is English, but this can be changed easily. Writing your own
356 catalog is trivial and we'd love you if you wrote your own catalog and
357 mailed it in to the developers.
359 There's a lot of different variables you can change, and hooks to play
360 with if you feel adventureous. You can, for example, ignore people,
361 make ZenIRC beep when something special happens, have timestamps on
362 special messages and so forth. The variables are described in SECTION
363 and the hooks are described in SECTION.
365 `zenirc.el' only contains the most important features, some very nice
366 features are placed in their own files. `zenirc-fill.el', for example,
367 fills certain messages for you so Emacs doesn't have to wrap long
368 lines in an ugly way. Read more about scripts in SECTION.
371 @node Commands in ZenIRC major-mode., Keybindings in ZenIRC major-mode., What goes on in the background? , Using ZenIRC to waste time.
372 @comment node-name, next, previous, up
373 @section Commands in ZenIRC major-mode.
377 As already described, ZenIRC pareses lines with a leading "/" as a
378 command. Most of the commands are sent right off to the server, some
379 commands are ZenIRC specific though.
383 * Non ZenIRC specific commands.::
384 * ZenIRC specific commands.::
387 @node Non ZenIRC specific commands., ZenIRC specific commands., Commands in ZenIRC major-mode., Commands in ZenIRC major-mode.
388 @comment node-name, next, previous, up
389 @subsection Non ZenIRC specific commands.
393 A list of these commands can be found in RFC1459, this list is just a
394 brief description on how to use different commands. Go read RFC1459 if
395 you want to learn really nifty stuff.
397 Things inside []'s are optional. If the optional argument is a server,
398 using a nickname will list information about the server that nickname
401 @deffn Command /nick nickname
405 @deffn Command /quit comment
406 Stop wasting time, with optional comment.
409 @deffn Command /join channel[,channel] [key[,key]]
410 Join one or more comma separated channels with given optional keys.
411 zenirc-current-victim is set to the last joined channel.
414 @deffn Command /part channel[,channel] [comment]
415 Part one or more comma separated channels, with optional comment.
416 If you part your zenirc-current-victim, it is set to 'nil'.
419 @deffn Command /mode nickname [mode]
420 Check or change modes for a given nickname. See RFC1459 for an
421 extensive list of modes.
424 @deffn Command /mode channel [mode [person]]
425 Check or change modes for a channel, or the mode of a nickname
426 on a channel. See RFC1459 for an extensive list of modes.
429 @deffn Command /topic channel [topic]
430 Check or change topic of a certain channel.
433 @deffn Command /names channel[,channel]
434 See who's on one or more comma separated channels.
437 @deffn Command /list [channel[,channel] [server]]
438 Lists all, one or a comma separated list of channels. With
439 given server it lists channels from that servers view.
442 @deffn Command /invite nickname channel
443 Invite person to given channel name.
446 @deffn Command /kick channel nickname [comment]
447 Kick person on given channel with an optional comment.
450 @deffn Command /version [server]
451 Returns version of current or given server.
454 @deffn Command /stats query [server]
455 Returns information about that server (go read RFC1459).
456 Read SECTION for an extensive list of query types.
459 @deffn Command /links [[<remote server>] <server mask>]
460 Lists all links or links matching a given mask, with optional
461 <remote server> it lists links seen from that server.
464 @deffn Command /time [server]
465 Returns time from current or given server.
468 @deffn Command /trace nickname
469 Returns the server route to given nickname.
472 @deffn Command /trace [server]
473 Returns information on what's connected to the current server,
474 or a route to given server as well as things connected to it.
477 @deffn Command /admin [server]
478 List administrative information for current or given server.
481 @deffn Command /info [server]
482 List version, compile date, patchlevel, starttime and other
483 various information about current or given server.
486 @deffn Command /privmsg nickname/channel text
487 Send text as a PRIVMSG to nickname/channel.
490 @deffn Command /notice nickname/channel text
491 Send text as a NOTICE to nickname/channel.
494 @deffn Command /who [<nick/user/server>mask [o]]
495 List short information about everyone on IRC or given
496 nickname, username or servername. With optional [o] argument
497 it lists person with their IRC operator flag set.
498 This command takes UNIX like masks ("?" and "*").
501 @deffn Command /whois [server] nickmask[,nickmask]
502 List long information about given nickname, with optional
503 server argument it lists information as seen from that server.
506 @deffn Command /whowas nickname [count [server]]
507 List long information about nickname not currently on the
508 connected servers but still in the WHOWAS database. With given
509 argument count, list that many old entries from the database.
510 With given server argument, list information as seen from that
514 @deffn Command /away [message]
515 Remove away message, with optional argument it sets a new
516 away message instead.
519 @deffn Command /users [server]
520 List users logged in to current server or another server.
523 @deffn Command /summon user [server]
524 Invite a user logged in to current server or another server.
527 @deffn Command /userhost nickname [nickname [nickname]]
528 Returns short information about a whitespace separated list of
532 @deffn Command /ison nickname [nickname [nickname]]
533 Returns wheter given, whitespace separated, nicknames are
538 @node ZenIRC specific commands., , Non ZenIRC specific commands., Commands in ZenIRC major-mode.
539 @comment node-name, next, previous, up
540 @subsection ZenIRC specific commands.
544 @deffn Command /action nickname/channel text
545 Send text as a CTCP ACTION to given nickname/channel. To send
546 text to more then one nickname/channel, use a comma separated
550 @deffn Command /commandchar char
551 Change your commandchar to char, for example;
557 A good example is then;
564 @deffn Command /ctcp nickname/channel <CTCP QUERY>
566 Send @code{<CTCP QUERY>} to a comma separated list of nicknames and
570 @deffn Command /language language
572 Change your language catalog to given language. Read SECTION
573 for more information about existing catalogs.
579 A shortcut for "/privmsg"
582 @deffn Command /me text
584 Send text as a CTCP ACTION to zenirc-current-victim.
587 @deffn Command /ping nickname/channel
589 Send CTCP PING to a comma separated list of nicknames and
593 @deffn Command /query [nickname/channel]
595 Show or change zenirc-current-victim to a comma separated list
596 of nicknames and channels.
599 @deffn Command /quote text
601 Sends text directly to the server. You might need this as
602 ZenIRC uses the same name as the server on some commands,
606 /quote ping server [<remote server>]
608 Ping current server, with given <remote server>
609 argument it pings the remote server instead.
612 @deffn Command /server [server [port [nickname]]]
613 Connect to a server in a new ZenIRC-buffer.
614 This is bound to zenirc-select. If no options are used, ZenIRC
615 will ask you some questions.
619 @node Keybindings in ZenIRC major-mode., , Commands in ZenIRC major-mode., Using ZenIRC to waste time.
620 @comment node-name, next, previous, up
621 @section Keybindings in ZenIRC major-mode.
625 Hitting certain key combinations in ZenIRC will result in ZenIRC doing
626 stuff you didn't think it would. This is really nifty, when you
627 realize what actually happens HELLO PER
632 Hitting return ("\n" or "^M") will send the current line to the
633 server. If you're looking through the backlog and hit return, ZenIRC
634 will throw you to the end of the buffer.
636 Hitting ; or : at the beginning of the line will help you while
637 communicating to others then your zenirc-current-victim. For example;
645 Hitting ";" now will result in ZenIRC adding "/msg ace95 " at the
646 beginning of the line.
647 Hitting ":" will result in ZenIRC adding "/msg omnion " at the
648 beginning of the line.
650 By using a few of the scripts which comes with ZenIRC you can get
651 tab-completion and a shell like history feature, more about that in
655 @node It's working, Function Index, Using ZenIRC to waste time., Top
656 @comment node-name, next, previous, up
657 @chapter It's working, now I want it to Look Good and Feel Good.
661 The default look of ZenIRC is pretty sparse.
663 @c ----------------------------------------------------------------------
665 @node Function Index, , It's working, Top
666 @comment node-name, next, previous, up
667 @unnumbered Function Index