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