9dfa07739923ce56641cee7f8669d3832d543c92
[riece] / doc / riece-en.texi
1 \input texinfo                  @c -*- mode: texinfo -*-
2 @c %**start of header
3 @setfilename riece-en.info
4 @settitle Riece -- An IRC client for Emacsen --
5 @c %**end of header
6 @set VERSION 3.0.0
7 @c @documentlanguage en
8
9 @dircategory GNU Emacs Lisp
10 @direntry
11 * Riece-en: (riece-en).   An IRC client for Emacsen
12 @end direntry
13
14 @ifinfo
15 This file describes Riece.
16
17 Copyright (C) 2003,2004,2005 Daiki Ueno.
18
19 Permission is granted to copy, distribute and/or modify this document
20 under the terms of the GNU Free Documentation License, Version 1.1 or
21 any later version published by the Free Software Foundation; with no
22 Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
23 Texts.  A copy of the license is included in the section entitled "GNU
24 Free Documentation License".
25 @end ifinfo
26
27 @tex
28
29 @titlepage
30 @title Riece
31
32 @author by Daiki Ueno
33 @page
34
35 @vskip 0pt plus 1filll
36 Copyright @copyright{} 2003,2004,2005 Daiki Ueno.
37
38 Permission is granted to copy, distribute and/or modify this document
39 under the terms of the GNU Free Documentation License, Version 1.1 or
40 any later version published by the Free Software Foundation; with no
41 Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
42 Texts.  A copy of the license is included in the section entitled "GNU
43 Free Documentation License".
44 @end titlepage
45 @page
46
47 @end tex
48
49 @node Top, Overview, (dir), (dir)
50 @top Riece user's manual
51
52 This manual documents Riece version @value{VERSION}. In addition to this
53 manual, you may find useful information about Riece from Riece's official
54 home page @uref{http://www.nongnu.org/riece/}.
55
56 @menu
57 * Overview::                    Read me first.
58 * Getting started::             Let's talk with other people.
59 * Basic usage::                 
60 * Index::                       
61 * Function Index::              
62 * Variable Index::              
63 @end menu
64
65 @node Overview, Getting started, Top, Top
66 @chapter Overview
67
68 Riece is a user interface for IRC (Internet Relay Chat).  You should
69 spell it with the first letter capitalized and pronounce it as /ri:s/.
70
71 The features of Riece are as follows:
72
73 @itemize @bullet
74 @item
75 Several IRC servers may be used at the same time.
76
77 @item
78 Many features built upon the extension mechanism called add-on.
79 Currently 30 such add-ons are available.
80
81 @item
82 Installation is easy.  Riece doesn't depend on other packages.
83
84 @item
85 Setup is easy.  Automatically save/restore the configuration.
86
87 @item
88 Step-by-step instructions are included.
89
90 @item
91 Mostly compliant with the latest IRC client protocol (RFC 2812).
92 @end itemize
93
94 @node Getting started, Basic usage, Overview, Top
95 @chapter Getting started
96
97 To start Riece, follow the instruction below:
98
99 @enumerate
100 @item
101 @kbd{M-x load-library riece}
102
103 @item
104 @kbd{M-x riece}
105 @end enumerate
106
107 In case that @samp{Cannot open load file: riece} is signalled in (1),
108 you should probably have an installation problem.  If you installed
109 Riece from source tarball, please read README again.  If you are
110 trying to use a package distribution, check out the documentation.
111
112 Once Riece started successfully, you will be asked the name of the IRC
113 server to connect.  IRC servers publicly available are taken from the
114 Web pages of IRC networks:
115
116 @itemize @bullet
117 @item http://irc.kyoto-u.ac.jp
118 @item http://freenode.net
119 @end itemize
120
121 You may see the following message:
122
123 @example
124 Nickname "ueno" already in use.  Choose a new one: 
125 @end example
126
127 In IRC, users are identified by @emph{nicknames}.  If the nickname you
128 selected has already used by another person, you must select the new one.
129
130 In IRC, users join the @emph{channels} to start multi user
131 conversation.  To join a channel, type @kbd{C-c j}.  On IRCnet, there
132 is a channel named @samp{#Riece} where you can do some tests to get
133 experienced with Riece.
134
135 After you joined a channel, the layout of windows are changed to the
136 following:
137
138 @example
139 +-----+-----------------+
140 |     |                 |
141 |     |                 |
142 | (1) |       (2)       |
143 |     |                 |
144 |     |                 |
145 +-----+-----------------+
146 |     |       (4)       |
147 |     +-----------------+
148 | (3) |                 |
149 |     |       (5)       |
150 |     |                 |
151 +-----+-----------------+
152 @end example
153
154 You can send messages by entering messages in (4).  Messages from
155 other persons are shown in (2).
156
157 @node Basic usage, Index, Getting started, Top
158 @chapter Basic usage
159
160 To start Riece, you just type @kbd{M-x riece}.  Then you will prompted
161 for the name of an IRC server.  A typical IRC network may consist of
162 several IRC servers and you will need to pick up appropriate one.  Most
163 of IRC networks provide a list of available servers on their Web pages:
164
165 @itemize @bullet
166 @item http://irc.kyoto-u.ac.jp
167 @item http://freenode.net
168 @end itemize
169
170 If your nickname is taken, you will be asked to use different one.  The
171 initial nickname can be set via the variable @code{riece-nickname}.  By
172 default, your nickname is generated from your login name.
173 @vindex riece-nickname
174
175 After successfully connecting to an IRC server, you can join a channel
176 and talk with people there.  To join a channel, type @kbd{C-c j}.  By
177 the way there is a channel called @samp{#Riece} on IRCnet, so feel free
178 to use it for testing.
179
180 Now you enter a message and it will be seen by everyone else on the
181 channel.  Messages from other people will appear on the top-left window.
182
183 @menu
184 * Windows::                     
185 * Indicators::                  
186 * Commands::                    
187 * Connecting to multiple servers::  
188 @end menu
189
190 @node Windows, Indicators, Basic usage, Basic usage
191 @section Windows
192
193 By default, Riece uses 5 windows to inform user of his status:
194
195 @example
196 +-----+-----------------+
197 |     |                 |
198 |     |                 |
199 | (1) |       (2)       |
200 |     |                 |
201 |     |                 |
202 +-----+-----------------+
203 |     |       (4)       |
204 |     +-----------------+
205 | (3) |                 |
206 |     |       (5)       |
207 |     |                 |
208 +-----+-----------------+
209 @end example
210
211 Each window is used for different purpose:
212
213 @enumerate
214 @item
215 "user list window" (@samp{*Users XXX*}).  Users on the current
216 channel are listed in this window.
217
218 @item
219 "channel window" (@samp{*Channel XXX*}).  This window keeps
220 dialogues on the current channel.
221
222 @item
223 "channel list window" (@samp{*Channels*}).  All channels you are
224 joined are listed in this window.
225
226 @item
227 "command window" (@samp{*Commands*}).  This window is used for either
228 sending messages or issueing commands.
229
230 @item
231 "others buffer" (@samp{*Others*}).  This window displays dialogues on
232 channels except the current channel.
233 @end enumerate
234
235 @node Indicators, Commands, Windows, Basic usage
236 @section Indicators
237
238 Indicators are characters which indicate your status.  Usually they are
239 put on the left side of the modeline like:
240
241 @example
242 Riece: --- ueno #Riece [n]
243 @end example
244
245 In this case, @samp{---} are indicators.  From left to right their
246 meanings are:
247
248 @enumerate
249 @item
250 You are not "away". (If you marked yourself as "away", it would be
251 @samp{A})
252
253 @item
254 You are not an IRC operator. (If you entered operator mode, it would be
255 @samp{O})
256
257 @item
258 The channel window is not locked.
259 (If it was locked, it would be @samp{F}.  If it was locked until next
260 send, it would be @samp{f})
261 @end enumerate
262
263 @node Commands, Connecting to multiple servers, Indicators, Basic usage
264 @section Commands
265
266 The buffer used for sending messages is called "command buffer".
267 You can issue various commands from the command buffer.
268
269 @subsection IRC commands
270 @table @kbd
271 @item RET
272 @findex riece-command-enter-message
273 Send the current line. (@code{riece-command-enter-message})
274 @item C-RET
275 @findex riece-command-enter-message-as-notice
276 Send the current line as NOTICE. (@code{riece-command-enter-message-as-notice})
277 @item C-c j
278 @findex riece-command-join
279 Join a channel. (@code{riece-command-join})
280 @item C-c C-p
281 @findex riece-command-part
282 Part from a channel. (@code{riece-command-part})
283 @item C-c p
284 @findex riece-command-enter-message-to-user
285 Send the current line to particular
286 user. (@code{riece-command-enter-message-to-user})
287 @item C-c q
288 @findex riece-command-quit
289 Quit from IRC. (@code{riece-command-quit})
290 @item C-c n
291 @findex riece-command-change-nickname
292 Change your nickname. (@code{riece-command-change-nickname})
293 @item C-c f
294 @findex riece-command-finger
295 Get information of a user. (@code{riece-command-finger})
296 @item C-c C-k
297 @findex riece-command-kick
298 Kick a user from the current channel. (@code{riece-command-kick})
299 @item C-c i
300 @findex riece-command-invite
301 Invite a user to the current channel. (@code{riece-command-invite})
302 @item C-c l
303 @findex riece-command-list
304 Issue a LIST command with specified pattern. (@code{riece-command-list})
305 @item C-c C-n
306 @findex riece-command-names
307 Issue a NAMES command with specified pattern. (@code{riece-command-names})
308 @item C-c w
309 @findex riece-command-who
310 Issue a WHO command with specified pattern. (@code{riece-command-who})
311 @item C-c t
312 @findex riece-command-topic
313 Set topic of the current channel. (@code{riece-command-topic})
314 @item C-c C-m
315 @findex riece-command-change-mode
316 Change the mode of the current channel. (@code{riece-command-change-mode})
317 @item C-c o
318 @findex riece-command-set-operators
319 Assign channel operator privilege to a user.  If a prefix argument
320 (@kbd{C-u}) is given, remove the privilege from a
321 user. (@code{riece-command-set-operators})
322 @item C-c v
323 @findex riece-command-set-speakers
324 Allow a user to speak in the current channel.  If a prefix argument
325 (@kbd{C-u}) is given, disallow a user to
326 speak. (@code{riece-command-set-speakers})
327 @item C-c V
328 @findex riece-version
329 Display version number of Riece.  If a prefix argument (@kbd{C-u}) is
330 given, use User-Agent format.
331 @item C-c /
332 @findex riece-command-raw
333 Send raw IRC command. (@code{riece-command-raw})
334 @end table
335
336 @subsection Window manipulating commands
337 @table @kbd
338 @item C-c r
339 @findex riece-command-configure-windows
340 Redraw windows. (@code{riece-command-configure-windows})
341 @item C-c C-j
342 @findex riece-command-next-channel
343 Switch to the next channel in the channel
344 list. (@code{riece-command-next-channel})
345 @item C-c <
346 @findex riece-command-previous-channel
347 Switch to the previous channel in the channel
348 list. (@code{riece-command-previous-channel})
349 @item C-c >
350 @findex riece-command-next-channel
351 Switch to the next channel in the channel
352 list. (@code{riece-command-next-channel})
353 @item C-c ^
354 @findex riece-command-list-addons
355 Browse add-ons currently insinuated. (@code{riece-command-list-addons})
356 @item C-c digit
357 @findex riece-command-switch-to-channel-by-number
358 Switch to @var{n}th channel in the channel
359 list. (@code{riece-command-switch-to-channel-by-number})
360 @item C-c C-c digit
361 @findex riece-command-switch-to-channel-by-number
362 Switch to @var{n} + 10th channel in the channel
363 list. (@code{riece-command-switch-to-channel-by-number})
364 @item C-c Home
365 @findex riece-command-beginning-of-buffer
366 Move point to the beginning of the buffer in the channel window.
367 (@code{riece-command-beginning-of-buffer})
368 @item C-c $
369 @findex riece-command-end-of-buffer
370 Move point to the end of the buffer in the channel window.
371 (@code{riece-command-end-of-buffer})
372 @item C-c SPC
373 @findex riece-command-scroll-up
374 Scroll text of the channel window up. (@code{riece-command-scroll-up})
375 @item C-c DEL
376 @findex riece-command-scroll-down
377 Scroll text of the channel window down. (@code{riece-command-scroll-down})
378 @end table
379
380 @subsection Status toggle commands
381 @table @kbd
382 @item C-c C-t c
383 @findex riece-command-toggle-channel-buffer-mode
384 Toggle visibility of the channel
385 window. (@code{riece-command-toggle-channel-buffer-mode})
386 @item C-c C-t C
387 @findex riece-command-toggle-channel-list-buffer-mode
388 Toggle visibility of the channel list
389 window. (@code{riece-command-toggle-channel-list-buffer-mode})
390 @item C-c C-t u
391 @findex riece-command-toggle-user-list-buffer-mode
392 Toggle visibility of the user list
393 window. (@code{riece-command-toggle-user-list-buffer-mode})
394 @item C-c C-t f
395 @findex riece-command-toggle-freeze
396 Disable scrolling of the channel window. (@code{riece-command-toggle-freeze})
397 @item C-c C-t o
398 @findex riece-command-toggle-own-freeze
399 Disable scrolling of the channel window until next
400 send. (@code{riece-command-toggle-own-freeze})
401 @item C-c C-t a
402 @findex riece-command-toggle-away
403 Mark or unmark yourself as "away". (@code{riece-command-toggle-away})
404 @end table
405
406 @node Connecting to multiple servers,  , Commands, Basic usage
407 @section Connecting to multiple servers
408
409 One of the most important features of Riece is that users can use
410 several IRC servers at the same time.
411
412 The procedure to use multiple servers consists (1) connecting to the
413 foreign server and (2) joinning a channel:
414
415 @enumerate
416 @item
417 Type @kbd{C-c O} (@code{riece-command-open-server}), and then you will
418 be asked the server name.
419
420 @item
421 Type @kbd{C-c j} (@code{riece-command-join}) to join a channel.  Here
422 the server name follows the channel name.  To input a space character,
423 use @kbd{C-q}.  For example, if you want to join the channel
424 @samp{#Riece} on the server @samp{irc6}, type @kbd{C-c j #Riece C-q SPC
425 irc6}.
426 @end enumerate
427
428 If you want to send IRC command without joinning a channel, @kbd{C-c M}
429 (@code{riece-command-universal-server-name-argument}) may be useful.
430
431 Commands used for connection management are listed below:
432
433 @table @kbd
434 @item C-c O
435 @findex riece-command-open-server
436 Connect to the foreign server. (@code{riece-command-open-server})
437 @item C-c C
438 @findex riece-command-close-server
439 Close the connection to the server. (@code{riece-command-close-server})
440 @item C-c M
441 @findex riece-command-universal-server-name-argument
442 Issue a command on the specified
443 server. (@code{riece-command-universal-server-name-argument})
444 @end table
445
446 @node Index, Function Index, Basic usage, Top
447 @chapter Index
448 @printindex cp
449
450 @node Function Index, Variable Index, Index, Top
451 @chapter Function Index
452 @printindex fn
453
454 @node Variable Index,  , Function Index, Top
455 @chapter Variable Index
456 @printindex vr
457
458 @summarycontents
459 @contents
460 @bye
461
462 @c End: