* riece-kakasi.el (riece-kakasi-convert-string): Suppress
[riece] / doc / riece-ja.texi
1 \input texinfo                  @c -*- mode: texinfo; coding: utf-8 -*-
2 @c %**start of header
3 @setfilename riece-ja.info
4 @settitle Riece -- An IRC client for Emacsen --
5 @c %**end of header
6 @include version-ja.texi
7 @c @documentlanguage ja
8 @c @documentencoding utf-8
9
10 @dircategory GNU Emacs Lisp
11 @direntry
12 * Riece-ja: (riece-ja).   An IRC client for Emacsen
13 @end direntry
14
15 @ifinfo
16 This file describes Riece.
17
18 Copyright (C) 2003,2004,2005,2006,2007,2008,2009,2010 Daiki Ueno.
19
20 Permission is granted to copy, distribute and/or modify this document
21 under the terms of the GNU Free Documentation License, Version 1.1 or
22 any later version published by the Free Software Foundation; with no
23 Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
24 Texts.  A copy of the license is included in the section entitled "GNU
25 Free Documentation License".
26 @end ifinfo
27
28 @tex
29
30 @titlepage
31 @title Riece
32
33 @author by Daiki Ueno
34 @page
35
36 @vskip 0pt plus 1filll
37 Copyright @copyright{} 2003,2004,2005,2006 Daiki Ueno.
38
39 Permission is granted to copy, distribute and/or modify this document
40 under the terms of the GNU Free Documentation License, Version 1.1 or
41 any later version published by the Free Software Foundation; with no
42 Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
43 Texts.  A copy of the license is included in the section entitled "GNU
44 Free Documentation License".
45 @end titlepage
46 @page
47
48 @end tex
49
50 @node Top, Overview, (dir), (dir)
51 @top Riece user's manual
52
53 このマニュアルでは、Riece バージョン @value{VERSION} について解説します。
54 このマニュアルで扱う範囲を越えた情報は Riece の公式ホームページ 
55 @uref{http://www.nongnu.org/riece/} から得られるかもしれません。
56
57 @menu
58 * Overview::                    はじめに読んでね
59 * Getting started::             IRC サーバに接続して会話してみよう
60 * Basic usage::                 基本的な使い方
61 * Advanced usage::              進んだ使い方
62 * Tips::                        便利な設定
63 * Index::                       
64 * Function Index::              
65 * Variable Index::              
66 @end menu
67
68 @node Overview, Getting started, Top, Top
69 @chapter Overview
70
71 Riece は IRC (Internet Relay Chat) の世界でチャットを楽しむためのユーザ
72 インターフェースです。Riece は「りーす」と読みます。
73
74 Riece の主な特長は以下の通りです。
75
76 @itemize @bullet
77 @item 複数の IRC サーバに同時に接続可能
78 @item アドオンにより機能の追加や取り外しが容易
79 @item 他の elisp パッケージに依存しないため、インストールが簡単
80 @item 設定が簡単で、前回起動時の設定を記録・復元する仕組みを提供
81 @item 段階的な操作説明書が附属
82 @item 最新の IRC のクライアントプロトコル (RFC2812) に準拠
83 @end itemize
84
85 @node Getting started, Basic usage, Overview, Top
86 @chapter Getting started
87
88 Riece を起動する手順は次の通りです。
89
90 @enumerate
91 @item
92 @kbd{M-x load-library riece}
93
94 @item
95 @kbd{M-x riece}
96 @end enumerate
97
98 もし (1) で @samp{Cannot open load file: riece} のエラーが発生する場合に
99 はインストールに失敗しています。自分でソースからインストールした場合には 
100 README をもう一度読み直してください。OS・ディストリビューションのパッケー
101 ジからインストールした場合には、パッケージに含まれる文書をご確認ください。
102
103 Riece を起動すると、IRC サーバの名前を聞かれます。公共に利用可能な IRC 
104 サーバの一覧は Web ページなどから得ることができます。
105
106 @itemize @bullet
107 @item http://www.ircnet.jp
108 @item http://freenode.net
109 @end itemize
110
111 また、以下のようなメッセージが表示されるかもしれません。
112
113 @example
114 Nickname "ueno" already in use.  Choose a new one: 
115 @end example
116
117 IRC では、参加者を表すのに@emph{ニックネーム}と呼ばれる短い呼称が使われ
118 ます。もし希望のニックネームが他の誰かに使用されている場合、別のニックネー
119 ムを選ぶ必要があります。
120
121 IRC サーバに接続できたら、次は会話をしてみましょう。IRC では@emph{チャンネル}
122 と呼ばれる仮想的な会議室に参加して会話を行ないます。チャンネルに入るには 
123 @kbd{C-c j} とタイプします。参加するチャンネル名を尋ねられたら、適切なチャ
124 ンネル名を入力しましょう。IRCnet には @samp{#Riece} というチャンネルがあ
125 るので、テストをしたい場合には自由にお使いください。
126
127 チャンネルに入ると、下の図に示すような 5 つのウィンドウ
128 @footnote{まぎらわしいですが、Emacs の世界ではバッファを表示する領域をウィ
129 ンドウと呼びます。}からなる画面に切り替わります。
130
131 @example
132 +-----+-----------------+
133 |     |                 |
134 |     |                 |
135 | (1) |       (2)       |
136 |     |                 |
137 |     |                 |
138 +-----+-----------------+
139 |     |       (4)       |
140 |     +-----------------+
141 | (3) |                 |
142 |     |       (5)       |
143 |     |                 |
144 +-----+-----------------+
145 @end example
146
147 (4) のウィンドウに表示されるバッファに文章を入力してリターンキーを押すと
148 発言できます。他の参加者の発言は (2) のウィンドウに表示されます。
149
150 @node Basic usage, Advanced usage, Getting started, Top
151 @chapter Basic usage
152
153 @menu
154 * Windows::                     画面構成
155 * Indicators::                  自分の状態の表示
156 * Commands::                    コマンドの一覧
157 @end menu
158
159 @node Windows, Indicators, Basic usage, Basic usage
160 @section Windows
161
162 @example
163 +-----+-----------------+
164 |     |                 |
165 |     |                 |
166 | (1) |       (2)       |
167 |     |                 |
168 |     |                 |
169 +-----+-----------------+
170 |     |       (4)       |
171 |     +-----------------+
172 | (3) |                 |
173 |     |       (5)       |
174 |     |                 |
175 +-----+-----------------+
176 @end example
177
178 各ウィンドウに表示されるバッファの役割は以下の通りです。
179
180 @enumerate
181 @item
182 ユーザリストバッファ (@samp{ *Users*})。チャンネルに参加しているユー
183 ザのニックネームの一覧が表示されます。
184
185 @item
186 チャンネルバッファ (@samp{ *Channel:XXX*})。チャンネル内の会話が表示され
187 ます。
188
189 @item
190 チャンネルリストバッファ (@samp{ *Channels*})。自分が参加しているチャンネ
191 ルの一覧が表示されます。
192
193 @item
194 コマンドバッファ (@samp{*Command*})。文章やコマンドを送信するために使い
195 ます。
196
197 @item
198 アザーズバッファ (@samp{ *Others*})。現在選択中のチャンネル以外の会話が流
199 れます。
200 @end enumerate
201
202 @node Indicators, Commands, Windows, Basic usage
203 @section Indicators
204
205 モードラインの左端には、現在の自分の状態を示す印が表示されます。
206 @footnote{もし画像を表示できる Emacs をお使いなら、左端に "R" のアイコン
207 が表示されます。}
208
209 @example
210 Riece: ---- ueno #Riece [n]
211 @end example
212
213 ここで、@samp{----} の部分には左から順に以下の意味があります。
214
215 @enumerate
216 @item
217 離席状態 (離席していれば @samp{A})
218
219 @item
220 IRC オペレータ状態 (IRC ネットワークの管理者権限を持っていれば @samp{O})
221
222 @item
223 ウィンドウの自動スクロールの禁止 (完全に禁止していれば @samp{F}、自分の
224 次回の発言まで禁止しているのであれば @samp{f})
225
226 @item
227 チャンネルオペレータ状態 (チャンネルの管理者権限を持っていれば @samp{@@})
228 @end enumerate
229
230 @node Commands,  , Indicators, Basic usage
231 @section Commands
232
233 @ref{Basic usage}で文章を入力したバッファはコマンドバッファと呼ばれます。
234 コマンドバッファからは文章を送信する以外に、様々なコマンドを発行すること
235 ができます。以下に一部を挙げます。
236
237 最初はなかなか覚えにくいですが、@kbd{C-h b}
238  (@kbd{M-x describe-bindings}) で使用可能なキー操作の一覧が表示されるの
239 で少しずつ覚えていくと良いでしょう。
240
241 @subsection IRC commands
242 @table @kbd
243 @item RET
244 @findex riece-command-enter-message
245 文章を送ります(@code{riece-command-enter-message})
246 @item C-RET
247 @findex riece-command-enter-message-as-notice
248 文章を NOTICE として送ります(@code{riece-command-enter-message-as-notice})
249 @item C-c j
250 @findex riece-command-join
251 チャンネルに参加します(@code{riece-command-join})
252 @item C-c C-p
253 @findex riece-command-part
254 チャンネルから離脱します(@code{riece-command-part})
255 @item C-c p
256 @findex riece-command-enter-message-to-user
257 宛先を指定して現在の行を送ります(@code{riece-command-enter-message-to-user})
258 @item C-c q
259 @findex riece-command-quit
260 IRC をやめます(@code{riece-command-quit})
261 @item C-c n
262 @findex riece-command-change-nickname
263 自分のニックネームを変更します(@code{riece-command-change-nickname})
264 @item C-c f
265 @findex riece-command-finger
266 ユーザの情報を調べます(@code{riece-command-finger})
267 @item C-c C-k
268 @findex riece-command-kick
269 ユーザをチャンネルから蹴り出します(@code{riece-command-kick})
270 @item C-c i
271 @findex riece-command-invite
272 ユーザをチャンネルに招待します(@code{riece-command-invite})
273 @item C-c l
274 @findex riece-command-list
275 パターンに対して LIST を発行します(@code{riece-command-list})
276 @item C-c C-n
277 @findex riece-command-names
278 パターンに対して NAMES を発行します(@code{riece-command-names})
279 @item C-c w
280 @findex riece-command-who
281 パターンに対して WHO を発行します(@code{riece-command-who})
282 @item C-c t
283 @findex riece-command-topic
284 チャンネルのトピックを設定します(@code{riece-command-topic})
285 @item C-c C-m
286 @findex riece-command-change-mode
287 チャンネルのモードを設定します(@code{riece-command-change-mode})
288 @item C-c o
289 @findex riece-command-set-operators
290 ユーザにチャンネルの管理者権限を与えます。@kbd{C-u C-c o} では逆に、ユーザからチャンネルの管理者権限を奪います(@code{riece-command-set-operators})
291 @item C-c v
292 @findex riece-command-set-speakers
293 ユーザにチャンネルでの発言権を与えます。@kbd{C-u C-c v} では逆に、ユーザからチャンネルでの発言権を奪います(@code{riece-command-set-speakers})
294 @item C-c V
295 @findex riece-version
296 Riece のバージョンを表示します。(@kbd{C-u C-c V}) で、より詳細な情報を表示します。
297 @item C-c /
298 @findex riece-command-raw
299 IRC コマンドを直接送ります(@code{riece-command-raw})
300 @end table
301
302 @subsection Window manipulating commands
303 @table @kbd
304 @item C-c r
305 @findex riece-command-configure-windows
306 フレーム全体を再描画します(@code{riece-command-configure-windows})
307 @item C-c C-j または C-c >
308 @findex riece-command-next-channel
309 チャンネル一覧で次のチャンネルを選択します(@code{riece-command-next-channel})
310 @item C-c <
311 @findex riece-command-previous-channel
312 チャンネル一覧で前のチャンネルを選択します(@code{riece-command-previous-channel})
313 @item C-c ^
314 @findex riece-command-list-addons
315 アドオンの一覧を表示します(@code{riece-command-list-addons})
316 @item C-c 数字
317 @findex riece-command-switch-to-channel-by-number
318 チャンネル一覧で @var{n}番目のチャンネルを選択します(@code{riece-command-switch-to-channel-by-number})
319 @item C-c C-c 数字
320 @findex riece-command-switch-to-channel-by-number
321 チャンネル一覧で @var{n} + 10番目のチャンネルを選択します(@code{riece-command-switch-to-channel-by-number})
322 @item C-c Home
323 @findex riece-command-beginning-of-buffer
324 チャンネルバッファ、またはダイアログバッファを上端までスクロールします(@code{riece-command-beginning-of-buffer})
325 @item C-c $
326 @findex riece-command-end-of-buffer
327 チャンネルバッファ、またはダイアログバッファを下端までスクロールします(@code{riece-command-end-of-buffer})
328 @item C-c SPC
329 @findex riece-command-scroll-up
330 チャンネルバッファ、またはダイアログバッファを上方向にスクロールします(@code{riece-command-scroll-up})
331 @item C-c DEL
332 @findex riece-command-scroll-down
333 チャンネルバッファ、またはダイアログバッファを下方向にスクロールします(@code{riece-command-scroll-down})
334 @end table
335
336 @subsection Status toggle commands
337 @table @kbd
338 @item C-c C-t c
339 @findex riece-command-toggle-channel-buffer-mode
340 チャンネルバッファの表示・非表示を切り替えます(@code{riece-command-toggle-channel-buffer-mode})
341 @item C-c C-t C
342 @findex riece-command-toggle-channel-list-buffer-mode
343 チャンネルリストバッファの表示・非表示を切り替えます(@code{riece-command-toggle-channel-list-buffer-mode})
344 @item C-c C-t u
345 @findex riece-command-toggle-user-list-buffer-mode
346 ユーザリストバッファの表示・非表示を切り替えます(@code{riece-command-toggle-user-list-buffer-mode})
347 @item C-c C-t f
348 @findex riece-command-toggle-freeze
349 チャンネルバッファ、またはダイアログバッファの自動スクロールを禁止しま
350 す(@code{riece-command-toggle-freeze})
351 @item C-c C-t o
352 @findex riece-command-toggle-own-freeze
353 チャンネルバッファ、またはダイアログバッファを、自分が発言するまで、自動
354 スクロールを禁止します(@code{riece-command-toggle-own-freeze})
355 @item C-c C-t a
356 @findex riece-command-toggle-away
357 自分の離席状態を切り替えます(@code{riece-command-toggle-away})
358 @end table
359
360 @node Advanced usage, Tips, Basic usage, Top
361 @chapter Advanced usage
362
363 この章では、もっと進んだ使い方を解説します。
364
365 @menu
366 * Startup File::                設定ファイル
367 * Server settings::             サーバの詳細設定
368 * Multiple servers::            複数のサーバに接続するには
369 * Add-ons::                     アドオンとは
370 @end menu
371
372 @node Startup File, Server settings, Advanced usage, Advanced usage
373 @section Startup file
374
375 Riece の設定は Emacs の設定ファイルに書いても良いですが、Riece に固有の
376 設定はなるべく @file{~/.riece/init} に書くことを推奨します。
377
378 また、Riece を起動して終了すると @file{~/.riece/save} というファイルが
379 作成されます。このファイルには前回起動時の設定の一部が自動的に保存され
380 ます。
381
382 起動時には、最初に @file{~/.riece/save} を、次に @file{~/.riece/init}を
383 読み込みます。つまり、前回起動時に @file{~/.riece/save} に保存された内容
384 は、@file{~/.riece/init} の内容で上書きされます。
385
386 @node Server settings, Multiple servers, Startup File, Advanced usage
387 @section Server settings
388
389 起動時に接続する IRC サーバは変数 @code{riece-server} で指定します。
390 @vindex riece-server
391
392 @code{riece-server} は文字列で、その形式は次のいずれかです。
393
394 @enumerate
395 @item
396 @code{IRC サーバのホスト名}
397
398 @item
399 @code{IRC サーバのホスト名:ポート番号}
400
401 @item
402 @code{IRC サーバのホスト名:ポート番号:パスワード}
403
404 @item
405 詳細設定の名前
406 @end enumerate
407
408 4. の場合には、@code{riece-server} の値をキーに
409 @code{riece-server-alist} を検索します。@code{riece-server-alist} は次
410 のような形式の連想配列です。
411 @vindex riece-server-alist
412
413 @example
414 (setq riece-server-alist
415       '(("foo" :host "irc.example.com" :coding shift_jis)
416         ("bar" :host "irc.example.net" :nickname "baz")))
417 @end example
418
419 この設定の意味は以下の通りです。
420
421 @itemize
422 @item
423 @samp{foo} という名前の設定では、IRC サーバのホスト名に @samp{irc.example.com}、使用する文字コードに Shift_JIS を使う
424
425 @item
426 @samp{bar} という名前の設定では、IRC サーバのホスト名は @samp{irc.example.net}、このサーバではニックネーム @samp{baz} を使う
427 @end itemize
428
429 指定できるキーワードの一覧は以下の通りです。
430
431 @table @code
432 @item :host
433 サーバのホスト名または IP アドレス
434 @item :service
435 サーバのサービス名またはポート番号 (既定値は @code{6667})
436 @item :nickname
437 接続時のニックネーム (既定値は変数 @code{user-real-login-name} の値)
438 @item :username
439 接続時のユーザネーム (既定値は変数 @code{user-full-name} の値)
440 @item :password
441 接続時のパスワード
442 @item :function
443 接続用関数 (既定値は @code{open-network-stream})
444 @item :coding
445 文字コード (既定値は @code{riece-default-coding-system} の値)
446 @end table
447
448 @code{riece-server-alist} を対話的に設定するには次のコマンドを使うと便利です。
449
450 @example
451 M-x load-library riece
452 M-x customize-variable riece-server-alist
453 @end example
454
455 @node Multiple servers, Add-ons, Server settings, Advanced usage
456 @section Multiple servers
457
458 同時に複数のサーバに接続する手順を以下に示します。
459
460 既に特定のサーバに接続している状態で、別のサーバに接続するには @kbd{C-c O} (@code{riece-command-open-server}) を使います。
461
462 別のサーバ上のチャンネルに参加するには、@kbd{C-c j}
463 (@code{riece-command-join})でチャンネル名に @samp{@@} に続いてサーバ名を
464 続けます。
465
466 たとえば、サーバ @samp{irc.freenode.net} 上の @samp{#Riece} は次のよう
467 に表記します。
468
469 @example
470 #Riece@@irc.freenode.net
471 @end example
472
473 チャンネル名とサーバの区切り文字 @samp{@@} は
474 変数 @code{riece-alias-alternate-separator} で変更できます。
475
476 または、空白文字でも代用できます。この時には、@kbd{C-q SPC} と入力する
477 必要があります。
478
479 複数の接続を操作するコマンドを以下にまとめます。
480
481 @table @kbd
482 @item C-c O
483 @findex riece-command-open-server
484 別のサーバに接続します(@code{riece-command-open-server})
485 @item C-c C
486 @findex riece-command-close-server
487 サーバとの接続を切断します(@code{riece-command-close-server})
488 @item C-c M
489 @findex riece-command-universal-server-name-argument
490 特定のサーバに対して、続くコマンドを発行します(@code{riece-command-universal-server-name-argument})
491 @end table
492
493 @node Add-ons,  , Multiple servers, Advanced usage
494 @section Add-ons
495
496 Riece では、雑多な機能を選択的に利用できるよう、アドオンと呼ばれる機構
497 を用意しています。アドオンは通常の elisp モジュールを拡張したもので、
498 安全な取り外しや、アドオン間の初期化処理の依存関係などの面倒をみます。
499
500 アドオンには次の四種類の状態があります。
501
502 @table @asis
503 @item unloaded
504 読み込み前。アドオンの elisp モジュールが読み込まれていない状態
505
506 @item insinuated
507 組み込み済み。アドオンの elisp モジュールが読み込まれ、初期化処理が完了した状態
508
509 @item enabled
510 有効。アドオンが動作中
511
512 @item disabled
513 無効。アドオンの動作が停止中
514
515 @end table
516
517 @menu
518 * Add-on browser::              アドオンの一覧表示
519 * Available add-ons::           標準添付のアドオンの紹介
520 @end menu
521
522 @node Add-on browser, Available add-ons, Add-ons, Add-ons
523 @subsection Add-on browser
524
525 Riece の動作中にアドオンの一覧を眺めるにはアドオンブラウザを使うと便利です。
526 コマンドバッファで @kbd{C-c ^} とすると、次のように表示されます。
527
528 @example
529 + riece-alias         Define aliases for IRC names.
530   riece-async         Connect to IRC server via async proxy.
531   riece-biff          Be notified if messages arrives.
532 + riece-button        Display useful buttons in IRC buffers.
533 + riece-ctcp          CTCP (Client To Client Protocol) support.
534 + riece-ctlseq        Mark up control sequences in IRC buffers.
535 @end example
536
537 各行の左端のマークはアドオンの状態を表わしています。@samp{+} は組込ま
538 れて有効なアドオン、空白はロードされていないアドオンです。
539
540 ここで、riece-button を無効にしたい場合、四行目の先頭で @kbd{-} としま
541 す。すると、先頭のマークが @samp{+} から @samp{-} に変化します。
542
543 @example
544 + riece-alias         Define aliases for IRC names.
545   riece-async         Connect to IRC server via async proxy.
546   riece-biff          Be notified if messages arrives.
547 - riece-button        Display useful buttons in IRC buffers.
548 + riece-ctcp          CTCP (Client To Client Protocol) support.
549 + riece-ctlseq        Mark up control sequences in IRC buffers.
550 @end example
551
552 さらに、@samp{u} とすると、riece-button をアドオンの設定から除外します。
553 さらに、@samp{U} とすると、riece-button を完全にアンロードします。
554
555 この状態で、@samp{s} または @samp{M-x riece-command-save-variables} と
556 すると、設定を保存します。
557
558 @file{~/.riece/init} でアドオンを組み込むには @code{riece-addons} を設
559 定します。たとえば @samp{riece-alias} を組み込む場合には、以下のように
560 記述します。
561 @vindex riece-addons
562
563 @example
564 (add-to-list 'riece-addons 'riece-mini)
565 @end example
566
567 @node Available add-ons,  , Add-on browser, Add-ons
568 @subsection Available add-ons
569
570 利用可能なアドオンは次の通りです。これらのうちの多くは標準で組み込まれ
571 ています。
572
573 @table @samp
574 @item riece-alias
575 チャンネル名やニックネームの別名を定義
576 @item riece-async
577 Emacs が busy or suspend 状態になることに備え、
578 PING に応答する local proxy 経由で IRC サーバに接続
579 @item riece-biff
580 他のバッファにいる時に発言があるとモードラインに印 ("[R]") を表示
581 @item riece-button
582 ボタンやポップアップメニューの表示
583 @item riece-ctcp
584 CTCP (Client To Client Protocol)
585 @item riece-ctlseq
586 コントロールシーケンス (^B など) による強調表示
587 @item riece-desktop-notify
588 メッセージの到着をデスクトップに通知
589 @item riece-doctor
590 doctor.el と連携して精神科医になりすます
591 @item riece-epg
592 EasyPG @uref{http://www.easypg.org} による会話の暗号化
593 @item riece-eval-ruby
594 入力された文字列を Ruby の式として評価
595 @item riece-eval
596 入力された文字列を Emacs Lisp の式として評価
597 @item riece-foolproof
598 チャンネルミスを防ぐ
599 @item riece-google
600 キーワードを Google で検索
601 @item riece-guess
602 色々な方法で移動先のチャンネルを推測
603 @item reice-hangman
604 チャンネル内で hangman で遊ぶ
605 @item riece-highlight
606 バッファの色付け
607 @item riece-history
608 チャンネル移動の履歴管理
609 @item riece-icon
610 バッファ中にアイコンを表示
611 @item riece-ignore
612 指定したユーザの発言を無視
613 @item riece-kakasi
614 日本語の通らない端末で、日本語をローマ字で表示
615 @item riece-keepalive
616 IRC サーバとの接続を保持
617 @item riece-keyword
618 キーワードの強調表示
619 @item riece-log
620 会話のログをファイルに保存
621 @item riece-lsdb
622 アドレス帳 LSDB (Lovely Sister Database)
623 @uref{http://lsdb.sourceforge.jp} と連携
624 @item riece-mcat
625 メッセージカタログ
626 @item riece-menu
627 メニューバーにメニューを登録
628 @item riece-mini
629 ミニバッファのみで IRC をする
630 @item riece-ndcc
631 DCC (Direct Client to Client protocol) によるファイル転送
632 (Emacs 22 でのみ動作)
633 @item riece-rdcc
634 DCC (Direct Client to Client protocol) によるファイル転送
635 @item riece-shrink-buffer
636 メモリ確保のため、バッファを定期的に切り詰める
637 @item riece-skk-kakutei
638 SKK 使用時に変換モードの印を発言から取り除く
639 @item riece-toolbar
640 ツールバーを表示
641 @item riece-twitter
642 CTCP ACTION (@kbd{C-c C-c a}) と同時に Twitter に状態を送信
643 @item riece-unread
644 発言のあったチャンネルに@samp{!}マークをつける
645 @item riece-url
646 会話に現れた URL の収集
647 @item riece-xface
648 ユーザリストバッファにユーザの X-Face を表示
649 @item riece-xfaceb
650 ユーザリストバッファにユーザの X-Face を表示
651 (BBDB @uref{http://bbdb.sourceforge.net} が必要)
652 @item riece-yank
653 @kbd{C-c y} で kill-ring から文字列を送信
654 @end table
655
656 @node Tips, Index, Advanced usage, Top
657 @comment  node-name,  next,  previous,  up
658 @chapter Tips
659
660 この章では、よく聞かれる質問に対する答えと便利な設定例を紹介します。
661
662 @section 直前に選択していたチャンネルに移動したい
663 @vindex riece-guess-channel-try-functions
664
665 以下の行を @file{~/.riece/init} に追加することで、@kbd{C-c g} で履歴を辿
666 りつつ移動できます。@samp{riece-guess} アドオンは、チャンネル選択の履歴
667 や未読メッセージの有無などから次に選択するチャンネルを推測してくれるアド
668 オンで、標準で組み込まれています。
669
670 @example
671 (add-hook 'riece-guess-channel-try-functions
672           'riece-guess-channel-from-history)
673 @end example
674
675 @section 発言があるとバッファがスクロールするのを止めたい
676
677 @kbd{C-c C-t f} です。@emph{t}oggle @emph{f}reeze と覚えると良いでしょう。
678
679 @section 装飾を抑制したい
680
681 @code{riece-addons} から装飾のためのアドオンを除外します。
682 通常有効になっている装飾のためのアドオンは次の通りです。
683
684 @itemize
685 @item
686 色付け (@samp{riece-highlight})
687
688 @item
689 ボタン表示 (@samp{riece-button})
690
691 @item
692 アイコン画像の表示 (@samp{riece-icon})
693 @end itemize
694
695 たとえば色付けをやめたいのであれば、以下の行を @file{~/.riece/init} に追
696 加します:
697
698 @example
699 (setq riece-addons (delq 'riece-highlight riece-addons))
700 @end example
701
702 @section 特定の文字列を受信したら音を鳴らしたい
703 @vindex riece-keyword-notify-functions
704
705 以下の設定を @file{~/.riece/init} に加えます。@samp{riece-keywords} アド
706 オンを使うと特定の文字列を受信した際の動作を指定できます。
707
708 @example
709 (setq riece-keywords '("ほげ" "ふが"))
710 (add-hook 'riece-keyword-notify-functions
711           (lambda (keyword message) (ding)))
712 @end example
713
714 @section SKK を使っていて、変換中の印 (▽) を送信してしまうことがある
715
716 以下の行を @file{~/.riece/init} に追加します。
717
718 @example
719 (add-to-list 'riece-addons 'riece-skk-kakutei)
720 @end example
721
722 @section チャンネル一覧の並び順を固定したい
723 @vindex riece-default-channel-binding
724
725 以下の行を @file{~/.riece/init} に追加します。
726
727 @example
728 (setq riece-default-channel-binding
729      '("#Riece" "#emacsen" nil "#debianjp"))
730 @end example
731
732 この設定例では、チャンネル一覧の並び順は次のようになります。
733
734 @enumerate
735 @item
736 #Riece
737 @item
738 #emacsen
739 @item
740 なし
741 @item
742 #debianjp
743 @end enumerate
744
745 3 番目のチャンネルが空席となっていることにご注意ください。新たなチャンネ
746 ルに参加した場合、そのチャンネルが 3 番目の位置に割当てられます。
747
748 @section 起動時に自動的にチャンネルに参加したい
749 @vindex riece-startup-channel-list
750
751 変数 @samp{riece-startup-channel-list} を設定します。
752
753 @example
754 (setq riece-startup-channel-list
755      '("#Riece" "#public"))
756 @end example
757
758 この設定例は、@samp{#Riece} と @samp{#public} に参加することを意味してい
759 ます。チャンネルに参加する際にパスワードが必要な場合には次のように設定し
760 ます。
761
762 @example
763 (setq riece-startup-channel-list
764      '("#Riece" "#public" ("#private" "password")))
765 @end example
766
767 @section 起動時に自動的に複数の IRC サーバに接続したい
768 @vindex riece-startup-server-list
769
770 変数 @samp{riece-startup-server-list} を設定します。
771
772 @example
773 (setq riece-server "ircnet"
774       riece-server-alist '(("ircnet" :host "irc.tokyo.wide.ad.jp")
775                            ("freenode" :host "irc.ipv6.freenode.net")))
776 @end example
777
778 この設定例では、起動時に接続するのは "ircnet" だけです。
779 @samp{riece-startup-server-list} を以下のように設定すると、
780 "freenode" にも接続するようになります。
781
782 @example
783 (setq riece-startup-server-list '("freenode"))
784 @end example
785
786 @section HTTP プロキシを介して IRC サーバに接続したい
787 @file{relay.el} と @file{connect.c} を使うと、
788 HTTP プロキシを介して IRC サーバに接続することができます。
789
790 @table @asis
791 @item relay.el
792 @uref{http://www.taiyo.co.jp/~gotoh/lisp/relay.el}
793
794 @item connect.c
795 @uref{http://www.taiyo.co.jp/~gotoh/ssh/connect.html}
796 @end table
797
798 たとえば、@samp{proxy.example.com:8080} 経由で 
799 @samp{irc.tokyo.wide.ad.jp} に接続する場合には、以下の行を 
800 @file{~/.riece/init} に追加します。
801
802 @example
803 (require 'relay)
804 (setq relay-command-alist (cons '("^irc\.tokyo\.wide\.ad\.jp$"
805                                   "connect" "-H" "proxy.example.com:8080"
806                                   host service)
807                                 relay-command-alist)
808       riece-server-alist (cons '("proxy-tokyo" :host "irc.tokyo.wide.ad.jp"
809                                  :function relay-open-network-stream)
810                                riece-server-alist))
811 @end example
812
813 @section 会話のログをファイルに保存したい
814 @vindex riece-log-directory-map
815
816 @samp{riece-log} アドオンを使うと、会話のログをファイルに保存し、再起動
817 時に参照できます。@samp{riece-log} アドオンは標準で組み込まれています。
818
819 通常は @file{~/.riece/log} の下に IRC サーバの名前、チャンネル名のディレ
820 クリが作成され、その中に日にち毎に分別されて保存されます。
821
822 ディレクトリ名が文字化けする場合には、
823 @code{file-name-coding-system} の値を適切に設定するか、あるいは 
824 @code{riece-log-directory-map} を使ってチャンネル名を US-ASCII 文字列に
825 変換する必要があります。
826
827 @example
828 (setq riece-log-directory-map '(("#りーす" . "riece")))
829 @end example
830
831 @section ウィンドウ間を自由に移動したい
832
833 GNU Emacs に附属の @samp{windmove.el} を使うと便利です。詳細は 
834 @samp{windmove.el} のコメントを参照ください。@samp{windmove.el} は 
835 作者のページ (@uref{http://hovav.net/elisp/}) からも取得できます。
836
837 @node Index, Function Index, Tips, Top
838 @chapter Index
839 @printindex cp
840
841 @node Function Index, Variable Index, Index, Top
842 @chapter Function Index
843 @printindex fn
844
845 @node Variable Index,  , Function Index, Top
846 @chapter Variable Index
847 @printindex vr
848
849 @summarycontents
850 @contents
851 @bye
852
853 @c End: