b198065780e06049e032f8f3877af5c50bbd4ffa
[riece] / doc / riece-en.texi
1 \input texinfo                  @c -*- mode: texinfo; coding: iso-2022-jp -*-
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 1.0.4
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 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 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 Riece is a program to participate in IRC (Internet Relay Chat) from Emacs.
53
54 @menu
55 * Overview::                    What's Riece?
56 * Getting started::             
57 * Basic usage::                 Let's talk with other people.
58 * Index::                       
59 * Function Index::              
60 * Variable Index::              
61 @end menu
62
63 @node Overview, Getting started, Top, Top
64 @chapter Overview
65
66 Riece is a full rewrite of the predecessor product "Liece" (whose code
67 has been unmaintainable for a long time), while providing user interface
68 compatible with Liece.
69
70 For now it does not have rich functions as an IRC client, but there are
71 noteworthy improvements as compared with Liece:
72
73 @itemize @bullet
74 @item Several IRC servers may be used at the same time.
75 @item Essential features can be built upon the extension framework (called "add-on") capable of dependency tracking.
76 @item Installation is easy.  Riece doesn't depend on other packages.
77 @item Setup is easy.  Automatically save/restore the configuration.
78 @item Step-by-step instructions (currently written in Japanese) are included.
79 @item Mostly compliant with the latest IRC client protocol (RFC 2812).
80 @end itemize
81
82 For more details, please look at the following pages:
83
84 @itemize @bullet
85 @item http://www.nongnu.org/riece/
86 @item http://wiliki.designflaw.org/index.cgi?Riece&l=jp
87 @item http://www.unixuser.org/~ueno/liece/
88 @end itemize
89
90 @node Getting started, Basic usage, Overview, Top
91 @chapter Getting started
92
93 @menu
94 * Required Environments::       
95 * Installation::                
96 * Startup File::                
97 @end menu
98
99 @node Required Environments, Installation, Getting started, Getting started
100 @section Required Environments
101
102 We have checked this version working on the following environments.
103
104 @itemize @bullet
105 @item Emacs 20.7 or later
106 @item XEmacs 21.4 or later
107 @end itemize
108
109 @node Installation, Startup File, Required Environments, Getting started
110 @section Installation
111
112 The latest version of Riece can be obtained from
113 @uref{http://wiliki.designflaw.org/riece.cgi}.  After unpacking the
114 tarball, you can install with the following commands:
115
116 @example
117 ./configure
118 make
119 make install
120 @end example
121
122 If you want to install Riece as an XEmacs package, use the following
123 commands instead of the above:
124
125 @example
126 ./configure --with-xemacs[=xemacs-21.4.15]
127 make package
128 make install-package
129 @end example
130
131 If you do not so, it is necessery to add autoload setting to your Emacs
132 startup file to be able to start Riece by typing @kbd{M-x riece}.
133
134 @lisp
135 (autoload 'riece "riece" "Start Riece" t)
136 @end lisp
137
138 @node Startup File,  , Installation, Getting started
139 @section Startup file
140
141 In this section, we describe Riece's startup files.
142
143 If you are attempting to use Riece by way of trial, nothing needed to be
144 written in startup files.  Thus you can skip this section.
145
146 Riece reads startup files under the directory pointed by the variable
147 @code{riece-directory} (by default, it has @file{~/.riece/} as the
148 value).  There are two kinds of startup files in the directory:
149
150 @table @code
151 @item riece-saved-variables-file
152 @vindex riece-saved-variables-file
153 Variables changed during the last session are automatically saved in this file.
154 (by default, it is located at @file{~/.riece/save})
155 @item riece-variables-file
156 @vindex riece-variables-file
157 Users can edit this file to configure their own settings (by default, it
158 is located at @file{~/.riece/init})
159 @end table
160
161 At startup, Riece will first read @code{riece-saved-variables-file} ,
162 and then @code{riece-variables-file}.  That is to say, automatically
163 saved variables may be refered/modified by user configuration.
164
165 @node Basic usage, Index, Getting started, Top
166 @chapter Basic usage
167
168 To start Riece, type @kbd{M-x riece}.  Then you need to select an IRC
169 server to connect.  Typical IRC network consists of several IRC servers
170 and you can pick up appropriate one.  Most of them provide a list of
171 available servers on their Web pages:
172
173 @itemize @bullet
174 @item http://irc.kyoto-u.ac.jp
175 @item http://freenode.net
176 @end itemize
177
178 If your nickname is taken, you will be asked to use different one.  The
179 initial nickname can be set via the variable @code{riece-nickname}.  By
180 default, your nickname is generated from your login name.
181 @vindex riece-nickname
182
183 After successfully connecting to an IRC server, you can join a channel
184 and talk with people in there.  To join a channel, type @kbd{C-c j}.
185 There is the channel @samp{#Riece} on IRCnet, so feel free to use it for
186 testing.
187
188 Now you can send the current line by simply hitting Enter key.  Messages
189 from other people will appear on the top-left window.
190
191 @menu
192 * Windows::                     
193 * Indicators::                  
194 * Commands::                    
195 * Connecting to multiple servers::  
196 @end menu
197
198 @node Windows, Indicators, Basic usage, Basic usage
199 @section Windows
200
201 By default, Riece uses 5 window to inform user of his status:
202
203 @example
204 +-----+-----------------+
205 |     |                 |
206 |     |                 |
207 | (1) |       (2)       |
208 |     |                 |
209 |     |                 |
210 +-----+-----------------+
211 |     |       (4)       |
212 |     +-----------------+
213 | (3) |                 |
214 |     |       (5)       |
215 |     |                 |
216 +-----+-----------------+
217 @end example
218
219 Each window is used for different purpose:
220
221 @enumerate
222 @item
223 "user list window" (@samp{*Users XXX*}).  Users on the current
224 channel are listed in this window.
225
226 @item
227 "channel window" (@samp{*Channel XXX*}).  This window keeps
228 dialogues on the current channel.
229
230 @item
231 "channel list window" (@samp{*Channels*}).  All channels you are
232 joined are listed in this window.
233
234 @item
235 "command window" (@samp{*Commands*}).  This window is used for either
236 sending messages or issueing commands.
237
238 @item
239 "others buffer" (@samp{*Others*}).  This window displays dialogues on
240 channels except the current channel.
241 @end enumerate
242
243 @node Indicators, Commands, Windows, Basic usage
244 @section Indicators
245
246 Indicators are characters which indicate your status.  Usually they are
247 put on the left side of the modeline like:
248
249 @example
250 Riece: --- ueno #Liece [n]
251 @end example
252
253 In this case, @samp{---} are indicators.  From left to right their
254 meanings are:
255
256 @enumerate
257 @item
258 You are not "away". (If you marked yourself as "away", it would be
259 @samp{A})
260
261 @item
262 You are not an IRC operator. (If you entered operator mode, it would be
263 @samp{O})
264
265 @item
266 The channel window is not locked.
267 (If it was locked, it would be @samp{F}.  If it was locked until next
268 send, it would be @samp{f})
269 @end enumerate
270
271 @node Commands, Connecting to multiple servers, Indicators, Basic usage
272 @section Commands
273
274 The buffer used for sending messages is called "command buffer".
275 You can issue various commands from the command buffer.
276
277 @subsection IRC commands
278 @table @kbd
279 @item RET
280 @findex riece-command-enter-message
281 Send the current line. (@code{riece-command-enter-message})
282 @item C-RET
283 @findex riece-command-enter-message-as-notice
284 Send the current line as NOTICE. (@code{riece-command-enter-message-as-notice})
285 @item C-c j
286 @findex riece-command-join
287 Join a channel. (@code{riece-command-join})
288 @item C-c C-p
289 @findex riece-command-part
290 Part from a channel. (@code{riece-command-part})
291 @item C-c p
292 @findex riece-command-enter-message-to-user
293 Send the current line to particular
294 user. (@code{riece-command-enter-message-to-user})
295 @item C-c q
296 @findex riece-command-quit
297 Quit from IRC. (@code{riece-command-quit})
298 @item C-c n
299 @findex riece-command-change-nickname
300 Change your nickname. (@code{riece-command-change-nickname})
301 @item C-c f
302 @findex riece-command-finger
303 Get information of a user. (@code{riece-command-finger})
304 @item C-c C-k
305 @findex riece-command-kick
306 Kick a user from the current channel. (@code{riece-command-kick})
307 @item C-c i
308 @findex riece-command-invite
309 Invite a user to the current channel. (@code{riece-command-invite})
310 @item C-c l
311 @findex riece-command-list
312 Issue a LIST command with specified pattern. (@code{riece-command-list})
313 @item C-c C-n
314 @findex riece-command-names
315 Issue a NAMES command with specified pattern. (@code{riece-command-names})
316 @item C-c w
317 @findex riece-command-who
318 Issue a WHO command with specified pattern. (@code{riece-command-who})
319 @item C-c t
320 @findex riece-command-topic
321 Set topic of the current channel. (@code{riece-command-topic})
322 @item C-c C-m
323 @findex riece-command-change-mode
324 Change the mode of the current channel. (@code{riece-command-change-mode})
325 @item C-c o
326 @findex riece-command-set-operators
327 Assign channel operator privilege to a user.  If a prefix argument
328 (@kbd{C-u}) is given, remove the privilege from a
329 user. (@code{riece-command-set-operators})
330 @item C-c v
331 @findex riece-command-set-speakers
332 Allow a user to speak in the current channel.  If a prefix argument
333 (@kbd{C-u}) is given, disallow a user to
334 speak. (@code{riece-command-set-speakers})
335 @item C-c V
336 @findex riece-version
337 Display version number of Riece.  If a prefix argument (@kbd{C-u}) is
338 given, use User-Agent format.
339 @item C-c /
340 @findex riece-command-raw
341 Send raw IRC command. (@code{riece-command-raw})
342 @end table
343
344 @subsection Window manipulating commands
345 @table @kbd
346 @item C-c r
347 @findex riece-command-configure-windows
348 Redraw windows. (@code{riece-command-configure-windows})
349 @item C-c C-j
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-previous-channel
355 Switch to the previous channel in the channel
356 list. (@code{riece-command-previous-channel})
357 @item C-c >
358 @findex riece-command-next-channel
359 Switch to the next channel in the channel
360 list. (@code{riece-command-next-channel})
361 @item C-c ^
362 @findex riece-command-list-addons
363 Browse add-ons currently insinuated. (@code{riece-command-list-addons})
364 @item C-c digit
365 @findex riece-command-switch-to-channel-by-number
366 Switch to @var{n}th channel in the channel
367 list. (@code{riece-command-switch-to-channel-by-number})
368 @item C-c C-c digit
369 @findex riece-command-switch-to-channel-by-number
370 Switch to @var{n} + 10th channel in the channel
371 list. (@code{riece-command-switch-to-channel-by-number})
372 @item C-c Home
373 @findex riece-command-beginning-of-buffer
374 Move point to the beginning of the buffer in the channel window.
375 (@code{riece-command-beginning-of-buffer})
376 @item C-c $
377 @findex riece-command-end-of-buffer
378 Move point to the end of the buffer in the channel window.
379 (@code{riece-command-end-of-buffer})
380 @item C-c SPC
381 @findex riece-command-scroll-up
382 Scroll text of the channel window up. (@code{riece-command-scroll-up})
383 @item C-c DEL
384 @findex riece-command-scroll-down
385 Scroll text of the channel window down. (@code{riece-command-scroll-down})
386 @end table
387
388 @subsection Status toggle commands
389 @table @kbd
390 @item C-c C-t c
391 @findex riece-command-toggle-channel-buffer-mode
392 Toggle visibility of the channel
393 window. (@code{riece-command-toggle-channel-buffer-mode})
394 @item C-c C-t C
395 @findex riece-command-toggle-channel-list-buffer-mode
396 Toggle visibility of the channel list
397 window. (@code{riece-command-toggle-channel-list-buffer-mode})
398 @item C-c C-t u
399 @findex riece-command-toggle-user-list-buffer-mode
400 Toggle visibility of the user list
401 window. (@code{riece-command-toggle-user-list-buffer-mode})
402 @item C-c C-t f
403 @findex riece-command-toggle-freeze
404 Disable scrolling of the channel window. (@code{riece-command-toggle-freeze})
405 @item C-c C-t o
406 @findex riece-command-toggle-own-freeze
407 Disable scrolling of the channel window until next
408 send. (@code{riece-command-toggle-own-freeze})
409 @item C-c C-t a
410 @findex riece-command-toggle-away
411 Mark or unmark yourself as "away". (@code{riece-command-toggle-away})
412 @end table
413
414 @node Connecting to multiple servers,  , Commands, Basic usage
415 @section Connecting to multiple servers
416
417 One of the most important features of Riece is that users can use
418 several IRC servers at the same time.
419
420 The procedure to use multiple servers consists (1) connecting to the
421 foreign server and (2) joinning a channel:
422
423 @enumerate
424 @item
425 Type @kbd{C-c O} (@code{riece-command-open-server}), and then you will
426 be asked the server name.
427
428 @item
429 Type @kbd{C-c j} (@code{riece-command-join}) to join a channel.  Here
430 the server name follows the channel name.  To input a space character,
431 use @kbd{C-q}.  For example, if you want to join the channel
432 @samp{#Riece} on the server @samp{irc6}, type @kbd{C-c j #Riece C-q SPC
433 irc6}.
434 @end enumerate
435
436 If you want to send IRC command without joinning a channel, @kbd{C-c M}
437 (@code{riece-command-universal-server-name-argument}) may be useful.
438
439 Commands used for connection management are listed below:
440
441 @table @kbd
442 @item C-c O
443 @findex riece-command-open-server
444 Connect to the foreign server. (@code{riece-command-open-server})
445 @item C-c C
446 @findex riece-command-close-server
447 Close the connection to the server. (@code{riece-command-close-server})
448 @item C-c M
449 @findex riece-command-universal-server-name-argument
450 Issue a command on the specified
451 server. (@code{riece-command-universal-server-name-argument})
452 @end table
453
454 @node Index, Function Index, Basic usage, Top
455 @chapter Index
456 @printindex cp
457
458 @node Function Index, Variable Index, Index, Top
459 @chapter Function Index
460 @printindex fn
461
462 @node Variable Index,  , Function Index, Top
463 @chapter Variable Index
464 @printindex vr
465
466 @summarycontents
467 @contents
468 @bye
469
470 @c End: