X-Git-Url: http://cgit.sxemacs.org/?p=riece;a=blobdiff_plain;f=doc%2Friece-ja.texi;h=90a766b77124b236bc96d73c3a705ca93f42b471;hp=4fb490a3be82a7db2761dfec99780ed8dd15ab37;hb=0c6259a7700f5725f11a1ed7bff284024122bf6f;hpb=bef7be0eea2583377ab0838dbb67427d7e0e44c2 diff --git a/doc/riece-ja.texi b/doc/riece-ja.texi index 4fb490a..90a766b 100644 --- a/doc/riece-ja.texi +++ b/doc/riece-ja.texi @@ -1,10 +1,11 @@ -\input texinfo @c -*- mode: texinfo; coding: iso-2022-jp -*- +\input texinfo @c -*- mode: texinfo; coding: utf-8 -*- @c %**start of header @setfilename riece-ja.info @settitle Riece -- An IRC client for Emacsen -- @c %**end of header -@set VERSION 1.0.3 +@include version-ja.texi @c @documentlanguage ja +@c @documentencoding utf-8 @dircategory GNU Emacs Lisp @direntry @@ -14,7 +15,7 @@ @ifinfo This file describes Riece. -Copyright (C) 2003,2004 Daiki Ueno. +Copyright (C) 2003,2004,2005,2006,2007,2008,2009,2010 Daiki Ueno. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or @@ -33,7 +34,7 @@ Free Documentation License". @page @vskip 0pt plus 1filll -Copyright @copyright{} 2003 Daiki Ueno. +Copyright @copyright{} 2003,2004,2005,2006 Daiki Ueno. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or @@ -49,15 +50,16 @@ Free Documentation License". @node Top, Overview, (dir), (dir) @top Riece user's manual -Riece $B$O(B Emacs $B$G(B IRC (Internet Relay Chat) $B$K;22C$9$k$?$a$N%W%m%0%i%`$G$9!#(B +このマニュアルでは、Riece バージョン @value{VERSION} について解説します。 +このマニュアルで扱う範囲を越えた情報は Riece の公式ホームページ +@uref{http://www.nongnu.org/riece/} から得られるかもしれません。 @menu -* Overview:: Riece $B$H$O2?$+(B -* Getting started:: -* Basic usage:: $B4pK\E*$J;H$$J}(B -* Advanced usage:: $B?J$s$@;H$$J}(B -* Tips:: $BJXMx$J@_Dj(B -* Development:: $B3+H/pJs(B +* Overview:: はじめに読んでね +* Getting started:: IRC サーバに接続して会話してみよう +* Basic usage:: 基本的な使い方 +* Advanced usage:: 進んだ使い方 +* Tips:: 便利な設定 * Index:: * Function Index:: * Variable Index:: @@ -66,143 +68,97 @@ Riece $B$O(B Emacs $B$G(B IRC (Internet Relay Chat) $B$K;22C$9$k$?$a$N%W%m% @node Overview, Getting started, Top, Top @chapter Overview -Riece $B$O!"D9$$4V%a%s%F%J%s%9IT2DG=$J>uBV$K$"$C$?(B Liece $B$N%3!<%I$r40A4$K(B -$B=q$-D>$7$?$b$N$G$9!#%f!<%6%$%s%?!<%U%'!<%9$NBgItJ,$O(B Liece $B$N$b$N$rF'=1(B -$B$7$F$$$^$9!#(B +Riece は IRC (Internet Relay Chat) の世界でチャットを楽しむためのユーザ +インターフェースです。Riece は「りーす」と読みます。 -$B8=:_$N$H$3$m(B IRC $B%/%i%$%"%s%H$H$7$F$N5!G=$O==J,$G$O$"$j$^$;$s$,!"(BLiece -$B$K$O$J$$FCD9$,$$$/$D$+$"$j$^$9!#0J2<$K$=$l$i$N0lIt$r5s$2$^$9!#(B +Riece の主な特長は以下の通りです。 @itemize @bullet -@item $BJ#?t$N(B IRC $B%5!<%P$KF1;~$K@\B32DG=(B -@item $B%"%I%*%s$K$h$j5!G=$NDI2C$d$N(B elisp $B%Q%C%1!<%8$K0MB8$7$J$$$?$a!"%$%s%9%H!<%k$,4JC1(B -@item $B@_Dj$,4JC1$G!"A02s5/F0;~$N@_Dj$r5-O?!&I|85$9$k;EAH$_$rDs6!(B -@item $BCJ3,E*$JA`:n@bL@=q(B($B8=:_$OF|K\8l$N$_(B)$B$,ImB0(B -@item $B:G?7$N(B IRC $B$N%/%i%$%"%s%H%W%m%H%3%k(B (RFC2812) $B$K=`5r(B -@end itemize - -$B$h$j>\$7$$>pJs$O!"0J2<$N%Z!<%8$r8fMw$/$@$5$$!#(B - -@itemize @bullet -@item http://www.nongnu.org/riece/ -@item http://wiliki.designflaw.org/index.cgi?Riece&l=jp -@item http://www.unixuser.org/~ueno/liece/ +@item 複数の IRC サーバに同時に接続可能 +@item アドオンにより機能の追加や取り外しが容易 +@item 他の elisp パッケージに依存しないため、インストールが簡単 +@item 設定が簡単で、前回起動時の設定を記録・復元する仕組みを提供 +@item 段階的な操作説明書が附属 +@item 最新の IRC のクライアントプロトコル (RFC2812) に準拠 @end itemize @node Getting started, Basic usage, Overview, Top @chapter Getting started -@menu -* Required Environments:: $BF0:n4D6-(B -* Installation:: $B%$%s%9%H!<%kJ}K!(B -* Startup File:: $B@_Dj%U%!%$%k(B -@end menu +Riece を起動する手順は次の通りです。 -@node Required Environments, Installation, Getting started, Getting started -@section Required Environments - -$Be(B -@item XEmacs 21.4 $B0J>e(B -@end itemize +@item +@kbd{M-x riece} +@end enumerate -@node Installation, Startup File, Required Environments, Getting started -@section Installation +もし (1) で @samp{Cannot open load file: riece} のエラーが発生する場合に +はインストールに失敗しています。自分でソースからインストールした場合には +README をもう一度読み直してください。OS・ディストリビューションのパッケー +ジからインストールした場合には、パッケージに含まれる文書をご確認ください。 -Riece $B$N:G?7HG$O!"(B -@uref{http://wiliki.designflaw.org/riece.cgi} $B$GG[I[$7$F$$$^(B -$B$9!#E83+$7$?$i!"0J2<$N%3%^%s%I$rl9g$K$O0J2<$N$h$&$K$7$^$9!#(B +また、以下のようなメッセージが表示されるかもしれません。 @example -./configure --with-xemacs[=xemacs-21.4.15] -make package -make install-package +Nickname "ueno" already in use. Choose a new one: @end example -XEmacs $B$N%Q%C%1!<%8$H$7$F%$%s%9%H!<%k$7$?>l9g$K$OI,MW$"$j$^$;$s$,!"(B -@kbd{M-x riece} $B$G5/F0$9$k$?$a$K$O!"(Bautoload $B$N@_Dj$r8f<+J,$N(B Emacs $B$N@_(B -$BDj%U%!%$%k$K2C$($kI,MW$,$"$j$^$9!#(B - -@lisp -(autoload 'riece "riece" "Start Riece" t) -@end lisp - -@node Startup File, , Installation, Getting started -@section Startup file - -$B$3$N>O$G$O!"@_Dj%U%!%$%k$K$D$$$F2r@b$7$^$9!#(B +IRC では、参加者を表すのに@emph{ニックネーム}と呼ばれる短い呼称が使われ +ます。もし希望のニックネームが他の誰かに使用されている場合、別のニックネー +ムを選ぶ必要があります。 -$B;n$7$K;H$C$F$_$k>l9g$K$O!"FC$K2?$b@_Dj$9$kI,MW$O$"$j$^$;$s!#(B -$B$3$N>O$OFI$_Ht$P$7$F$b9=$$$^$;$s!#(B +IRC サーバに接続できたら、次は会話をしてみましょう。IRC では@emph{チャンネル} +と呼ばれる仮想的な会議室に参加して会話を行ないます。チャンネルに入るには +@kbd{C-c j} とタイプします。参加するチャンネル名を尋ねられたら、適切なチャ +ンネル名を入力しましょう。IRCnet には @samp{#Riece} というチャンネルがあ +るので、テストをしたい場合には自由にお使いください。 -Riece $B$O@_Dj%U%!%$%k$rJQ?t(B @code{riece-directory} $B$G;X<($5$l$k%G%#%l%/%H(B -$B%j(B ($B%G%U%)%k%H$O(B @file{~/.riece/}) $B$+$iFI$_9~$_$^$9!#$3$N%G%#%l%/%H%j$K(B -$B$O0J2<$N(B 2 $B$D$N@_Dj%U%!%$%k$,G[CV$5$l$^$9!#(B +チャンネルに入ると、下の図に示すような 5 つのウィンドウ +@footnote{まぎらわしいですが、Emacs の世界ではバッファを表示する領域をウィ +ンドウと呼びます。}からなる画面に切り替わります。 -@table @code -@item riece-saved-variables-file -@vindex riece-saved-variables-file -$BA02s$N%;%C%7%g%s$G99?7$5$l$?@_Dj$,<+F0E*$KJ]B8$5$l$^$9(B($B%G%U%)%k%H$O(B @file{~/.riece/save}) -@item riece-variables-file -@vindex riece-variables-file -$B%f!<%6$K8GM-$N@_Dj$r5-=R$7$^$9(B($B%G%U%)%k%H$O(B @file{~/.riece/init}) -@end table +@example ++-----+-----------------+ +| | | +| | | +| (1) | (2) | +| | | +| | | ++-----+-----------------+ +| | (4) | +| +-----------------+ +| (3) | | +| | (5) | +| | | ++-----+-----------------+ +@end example -$B5/F0;~$K$O!":G=i$K(B @code{riece-saved-variables-file} $B$r!"e=q$-$5$l$^$9!#(B +(4) のウィンドウに表示されるバッファに文章を入力してリターンキーを押すと +発言できます。他の参加者の発言は (2) のウィンドウに表示されます。 @node Basic usage, Advanced usage, Getting started, Top @chapter Basic usage -@kbd{M-x riece} $B$H$9$k$3$H$G5/F0$7$^$9!#%5!<%PL>$rJ9$+$l$k$N$GEz$($^$9!#(B -$B@\B32DG=$J(B IRC $B%5!<%P$O3F(B IRC $B%M%C%H%o!<%/Kh$K0[$J$j$^$9$,!"BgDq$O(B Web -$B%Z!<%8$K0lMw$,$^$H$a$F$"$k$3$H$,B?$$$G$7$g$&!#(B - -@itemize @bullet -@item http://irc.kyoto-u.ac.jp -@item http://freenode.net -@end itemize - -$B$b$7%K%C%/%M!<%`$,4{$K;HMQ$5$l$F$$$k>l9g!"JL$N%K%C%/%M!<%`$NF~NO$rB%$5$l$^$9!#(B -$B%K%C%/%M!<%`$N=i4|CM$O(B @code{riece-nickname} $B$G@_Dj$7$^$9!#%G%U%)%k%H$G$O!"(B -$B%f!<%6$N%m%0%$%sL>$,$=$N$^$^;H$o$l$^$9!#(B -@vindex riece-nickname - -$BL5;v$K@\B3$G$-$?$i!"$r?R$M$i$l$k$N$G!"E,Ev$J%A%c(B -$B%s%M%kL>$rF~NO$7$^$7$g$&!#(BIRCnet $B$K$O(B @samp{#Riece} $B$H$$$&%A%c%s%M%k$,$"(B -$B$k$N$G!"%F%9%H$K$*;H$$$/$@$5$$!#(B - -$B%A%c%s%M%k$KF~$k$3$H$,$G$-$?$i!"J8>O$rF~NO$7$F%j%?!<%s%-!<$r2!$9$HH/8@$9(B -$B$k$3$H$,$G$-$^$9!#B>$N?M$N2qOC$O2hLL1&>e$N%P%C%U%!$KI=<($5$l$^$9!#(B - @menu -* Windows:: $B2hLL9=@.(B -* Indicators:: $B<+J,$N>uBV$NI=<((B -* Commands:: $B%3%^%s%I$N0lMw(B -* Connecting to multiple servers:: $BJ#?t$N%5!<%P$K$D$J$0$K$O(B +* Windows:: 画面構成 +* Indicators:: 自分の状態の表示 +* Commands:: コマンドの一覧 @end menu @node Windows, Indicators, Basic usage, Basic usage @section Windows -$B%G%U%)%k%H$N@_Dj$G$O!"%A%c%s%M%k$KF~$k$H!"2<$N?^$K<($9$h$&$J(B 5 $B$D$N%&%#%s(B -$B%I%&$+$i$J$k2hLL$K@Z$jBX$o$j$^$9!#(B - @example +-----+-----------------+ | | | @@ -219,506 +175,629 @@ Riece $B$O@_Dj%U%!%$%k$rJQ?t(B @code{riece-directory} $B$G;X<($5$l$k%G%#%l%/% +-----+-----------------+ @end example -$B$3$l$i$N3F%&%#%s%I%&$KI=<($5$l$k%P%C%U%!$NLr3d$O0J2<$NDL$j$G$9!#(B +各ウィンドウに表示されるバッファの役割は以下の通りです。 @enumerate @item -$B%f!<%6%j%9%H%P%C%U%!(B (@samp{*Users XXX*})$B!#%A%c%s%M%k$K$$$k%f!<%6$N0lMw(B -$B$,I=<($5$l$^$9!#(B +ユーザリストバッファ (@samp{ *Users*})。チャンネルに参加しているユー +ザのニックネームの一覧が表示されます。 @item -$B%A%c%s%M%k%P%C%U%!(B (@samp{*Channel XXX*})$B!#%A%c%s%M%kFb$N2qOC$,I=<($5$l(B -$B$^$9!#(B +チャンネルバッファ (@samp{ *Channel:XXX*})。チャンネル内の会話が表示され +ます。 @item -$B%A%c%s%M%k%j%9%H%P%C%U%!(B (@samp{*Channels*})$B!#;22C$7$F$$$k%A%c%s%M%k$N0l(B -$BMw$,I=<($5$l$^$9!#(B +チャンネルリストバッファ (@samp{ *Channels*})。自分が参加しているチャンネ +ルの一覧が表示されます。 @item -$B%3%^%s%I%P%C%U%!(B (@samp{*Commands*})$B!#J8>O$d%3%^%s%I$rAw?.$9$k$?$a$K;H$$(B -$B$^$9!#(B +コマンドバッファ (@samp{*Command*})。文章やコマンドを送信するために使い +ます。 @item -$B%"%6!<%:%P%C%U%!(B (@samp{*Others*})$B!#8=:_$N%A%c%s%M%k0J30$N2qOC$,N.$l$^$9!#(B +アザーズバッファ (@samp{ *Others*})。現在選択中のチャンネル以外の会話が流 +れます。 @end enumerate @node Indicators, Commands, Windows, Basic usage @section Indicators -$B%3%^%s%I%P%C%U%!$d%A%c%s%M%k%P%C%U%!$N%b!<%I%i%$%s$N:8C<$K$O!"(B -$B<+J,$N8=:_$N>uBV$r<($90u$,I=<($5$l$^$9!#(B +モードラインの左端には、現在の自分の状態を示す印が表示されます。 +@footnote{もし画像を表示できる Emacs をお使いなら、左端に "R" のアイコン +が表示されます。} @example -Riece: --- ueno #Liece [n] +Riece: ---- ueno #Riece [n] @end example -$B$3$3$G!"(B@samp{---} $B$NItJ,$K$O:8$+$i=g$K0J2<$N0UL#$,$"$j$^$9!#(B +ここで、@samp{----} の部分には左から順に以下の意味があります。 @enumerate @item -$BN%@J>uBV(B ($BN%@J$7$F$$$l$P(B @samp{A}) +離席状態 (離席していれば @samp{A}) @item -$B%*%Z%l!<%?>uBV(B (IRC $B%*%Z%l!<%?$G$"$l$P(B @samp{O}) +IRC オペレータ状態 (IRC ネットワークの管理者権限を持っていれば @samp{O}) @item -$B%A%c%s%M%k%P%C%U%!!"$^$?$O%@%$%"%m%0%P%C%U%!$N%9%/%m!<%k6X;_>uBV(B -($B40A4$K6X;_$7$F$$$l$P(B @samp{F}$B!"<+J,$NO$rF~NO$7$?%P%C%U%!$O!"%3%^%s%I%P%C%U%!$H8F$P$l!"%3%^%s%I%P%C%U%!$+$i(B -$B$OMM!9$J%3%^%s%I$rH/9T$9$k$3$H$,$G$-$^$9!#0J2<$K0lIt$r5s$2$^$9!#(B +@ref{Basic usage}で文章を入力したバッファはコマンドバッファと呼ばれます。 +コマンドバッファからは文章を送信する以外に、様々なコマンドを発行すること +ができます。以下に一部を挙げます。 + +最初はなかなか覚えにくいですが、@kbd{C-h b} + (@kbd{M-x describe-bindings}) で使用可能なキー操作の一覧が表示されるの +で少しずつ覚えていくと良いでしょう。 @subsection IRC commands @table @kbd @item RET @findex riece-command-enter-message -$BJ8>O$rAw$j$^$9(B(@code{riece-command-enter-message}) +文章を送ります(@code{riece-command-enter-message}) @item C-RET @findex riece-command-enter-message-as-notice -$BJ8>O$r(B NOTICE $B$H$7$FAw$j$^$9(B(@code{riece-command-enter-message-as-notice}) +文章を NOTICE として送ります(@code{riece-command-enter-message-as-notice}) @item C-c j @findex riece-command-join -$B%A%c%s%M%k$K;22C$7$^$9(B(@code{riece-command-join}) +チャンネルに参加します(@code{riece-command-join}) @item C-c C-p @findex riece-command-part -$B%A%c%s%M%k$+$iN%C&$7$^$9(B(@code{riece-command-part}) +チャンネルから離脱します(@code{riece-command-part}) @item C-c p @findex riece-command-enter-message-to-user -$B08@h$r;XDj$7$F8=:_$N9T$rAw$j$^$9(B(@code{riece-command-enter-message-to-user}) +宛先を指定して現在の行を送ります(@code{riece-command-enter-message-to-user}) @item C-c q @findex riece-command-quit -IRC $B$r$d$a$^$9(B(@code{riece-command-quit}) +IRC をやめます(@code{riece-command-quit}) @item C-c n @findex riece-command-change-nickname -$B<+J,$N%K%C%/%M!<%`$rJQ99$7$^$9(B(@code{riece-command-change-nickname}) +自分のニックネームを変更します(@code{riece-command-change-nickname}) @item C-c f @findex riece-command-finger -$B%f!<%6$N>pJs$rD4$Y$^$9(B(@code{riece-command-finger}) +ユーザの情報を調べます(@code{riece-command-finger}) @item C-c C-k @findex riece-command-kick -$B%f!<%6$r%A%c%s%M%k$+$i=3$j=P$7$^$9(B(@code{riece-command-kick}) +ユーザをチャンネルから蹴り出します(@code{riece-command-kick}) @item C-c i @findex riece-command-invite -$B%f!<%6$r%A%c%s%M%k$K>7BT$7$^$9(B(@code{riece-command-invite}) +ユーザをチャンネルに招待します(@code{riece-command-invite}) @item C-c l @findex riece-command-list -$B%Q%?!<%s$KBP$7$F(B LIST $B$rH/9T$7$^$9(B(@code{riece-command-list}) +パターンに対して LIST を発行します(@code{riece-command-list}) @item C-c C-n @findex riece-command-names -$B%Q%?!<%s$KBP$7$F(B NAMES $B$rH/9T$7$^$9(B(@code{riece-command-names}) +パターンに対して NAMES を発行します(@code{riece-command-names}) @item C-c w @findex riece-command-who -$B%Q%?!<%s$KBP$7$F(B WHO $B$rH/9T$7$^$9(B(@code{riece-command-who}) +パターンに対して WHO を発行します(@code{riece-command-who}) @item C-c t @findex riece-command-topic -$B%A%c%s%M%k$N%H%T%C%/$r@_Dj$7$^$9(B(@code{riece-command-topic}) +チャンネルのトピックを設定します(@code{riece-command-topic}) @item C-c C-m @findex riece-command-change-mode -$B%A%c%s%M%k$N%b!<%I$r@_Dj$7$^$9(B(@code{riece-command-change-mode}) +チャンネルのモードを設定します(@code{riece-command-change-mode}) @item C-c o @findex riece-command-set-operators -$B%f!<%6$K%*%Z%l!<%?8"8B$rM?$($^$9!#A0CV0z?t(B (@kbd{C-u}) $B$rM?$($k$H!"%f!<%6$+$iH/8@8"$rC%$$$^$9(B(@code{riece-command-set-operators}) +ユーザにチャンネルの管理者権限を与えます。@kbd{C-u C-c o} では逆に、ユーザからチャンネルの管理者権限を奪います(@code{riece-command-set-operators}) @item C-c v @findex riece-command-set-speakers -$B%f!<%6$KH/8@8"$rM?$($^$9!#A0CV0z?t(B (@kbd{C-u}) $B$rM?$($k$H!"%f!<%6$+$iH/8@8"$rC%$$$^$9(B(@code{riece-command-set-speakers}) +ユーザにチャンネルでの発言権を与えます。@kbd{C-u C-c v} では逆に、ユーザからチャンネルでの発言権を奪います(@code{riece-command-set-speakers}) @item C-c V @findex riece-version -Riece $B$N%P!<%8%g%s$rI=<($7$^$9!#A0CV0z?t(B (@kbd{C-u}) $B$rM?$($k$H!"$h$j>\:Y$J>pJs$rI=<($7$^$9!#(B +Riece のバージョンを表示します。(@kbd{C-u C-c V}) で、より詳細な情報を表示します。 @item C-c / @findex riece-command-raw -$B@8$N(B IRC $B%3%^%s%I$rAw$j$^$9(B(@code{riece-command-raw}) +IRC コマンドを直接送ります(@code{riece-command-raw}) @end table @subsection Window manipulating commands @table @kbd @item C-c r @findex riece-command-configure-windows -$B%&%#%s%I%&$r:FIA2h$7$^$9(B(@code{riece-command-configure-windows}) -@item C-c C-j +フレーム全体を再描画します(@code{riece-command-configure-windows}) +@item C-c C-j または C-c > @findex riece-command-next-channel -$B -@findex riece-command-next-channel -$BeC<$^$G0\F0$7$^$9(B(@code{riece-command-beginning-of-buffer}) +チャンネルバッファ、またはダイアログバッファを上端までスクロールします(@code{riece-command-beginning-of-buffer}) @item C-c $ @findex riece-command-end-of-buffer -$B%A%c%s%M%k%P%C%U%!!"$^$?$O%@%$%"%m%0%P%C%U%!$N%S%e!<$r2eJ}8~$K%9%/%m!<%k$7$^$9(B(@code{riece-command-scroll-up}) +チャンネルバッファ、またはダイアログバッファを上方向にスクロールします(@code{riece-command-scroll-up}) @item C-c DEL @findex riece-command-scroll-down -$B%A%c%s%M%k%P%C%U%!!"$^$?$O%@%$%"%m%0%P%C%U%!$r2uBV$r@Z$jBX$($^$9(B(@code{riece-command-toggle-away}) +自分の離席状態を切り替えます(@code{riece-command-toggle-away}) @end table -@node Connecting to multiple servers, , Commands, Basic usage -@section Connecting to multiple servers +@node Advanced usage, Tips, Basic usage, Top +@chapter Advanced usage -Riece $B$NBg$-$JFCD9$K!"J#?t$N%5!<%P$KF1;~$K@\B3$9$k5!G=$,$"$j$^$9!#(B +この章では、もっと進んだ使い方を解説します。 -$B?7$?$J%5!<%P$K@\B3$7!"$=$N%5!<%P>e$N%A%c%s%M%k$K;22C$9$k$rJ9$+$l$k$N$GEz$($^$9!#(B +@node Startup File, Server settings, Advanced usage, Advanced usage +@section Startup file -@item -@kbd{C-c j} (@code{riece-command-join}) $B$G%A%c%s%M%k$K;22C$7$^$9!#$3$3$G!"(B -$B%A%c%s%M%kL>$N8e$K6uGr$G6h@Z$C$F%5!<%PL>$rB3$1$^$9!#6uGr$rF~NO$9$k$K$O!"(B -@kbd{C-q} $B$r;H$$$^$9!#$?$H$($P!"%5!<%P(B @samp{irc6} $B>e$N(B @samp{#Liece} $B$K;22C$9$k$K$O(B @kbd{C-c j #Liece C-q SPC irc6} $B$H%?%$%W$9$k$3$H$K$J$j$^$9!#(B -@end enumerate +Riece の設定は Emacs の設定ファイルに書いても良いですが、Riece に固有の +設定はなるべく @file{~/.riece/init} に書くことを推奨します。 -$B%A%c%s%M%k$KF~$i$:$K%3%^%s%I$rAw$k$K$O!"(B@kbd{C-c M} -(@code{riece-command-universal-server-name-argument}) $B$,JXMx$G$9!#(B +また、Riece を起動して終了すると @file{~/.riece/save} というファイルが +作成されます。このファイルには前回起動時の設定の一部が自動的に保存され +ます。 -$B%5!<%P$H$N@\B3$K4X$9$k%3%^%s%I$O0J2<$NDL$j$G$9!#(B +起動時には、最初に @file{~/.riece/save} を、次に @file{~/.riece/init}を +読み込みます。つまり、前回起動時に @file{~/.riece/save} に保存された内容 +は、@file{~/.riece/init} の内容で上書きされます。 -@table @kbd -@item C-c O -@findex riece-command-open-server -$BJL$N%5!<%P$K@\B3$7$^$9(B(@code{riece-command-open-server}) -@item C-c C -@findex riece-command-close-server -$B%5!<%P$H$N@\B3$r@ZCG$7$^$9(B(@code{riece-command-close-server}) -@item C-c M -@findex riece-command-universal-server-name-argument -$BFCDj$N%5!<%P$KBP$7$F!"B3$/%3%^%s%I$rH/9T$7$^$9(B(@code{riece-command-universal-server-name-argument}) -@end table +@node Server settings, Multiple servers, Startup File, Advanced usage +@section Server settings -@node Advanced usage, Tips, Basic usage, Top -@chapter Advanced usage +起動時に接続する IRC サーバは変数 @code{riece-server} で指定します。 +@vindex riece-server -$B$3$N>O$G$O!"$b$C$H?J$s$@;H$$J}$r2r@b$7$^$9!#(B +@code{riece-server} は文字列で、その形式は次のいずれかです。 -@menu -* Server settings:: $B%5!<%P$N>\:Y@_Dj(B -* Add-ons:: $B%"%I%*%s$H$O(B -@end menu +@enumerate +@item +@code{IRC サーバのホスト名} -@node Server settings, Add-ons, Advanced usage, Advanced usage -@section Server settings +@item +@code{IRC サーバのホスト名:ポート番号} -$B5/F0;~$K%G%U%)%k%H$G@\B3$9$k(B IRC $B%5!<%P$O(B @code{riece-server} $B$G;XDj$7$^$9!#(B -@vindex riece-server +@item +@code{IRC サーバのホスト名:ポート番号:パスワード} -$B$3$3$G(B @code{riece-server} $B$OJ8;zNs$G$"$j!"$=$N%U%)!<%^%C%H$O(B>:<$B%]!<%HHV9f(B>[:<$B%Q%9%o!<%I(B>]" -@end example +@item +詳細設定の名前 +@end enumerate -@code{riece-server-alist} $B$rE,@Z$K@_Dj$9$k$H!"%-!<%o!<%I$r;H$C$F!"$h$j>\(B -$B:Y$J;XDj$,2DG=$K$J$j$^$9!#0J2<$OI.$G(B @samp{irc6.nara.wide.ad.jp} $B$K@\B3(B +@samp{foo} という名前の設定では、IRC サーバのホスト名に @samp{irc.example.com}、使用する文字コードに Shift_JIS を使う @item -@samp{plum} $B$H$$$&N,5-L>$G(B @code{relay-open-network-stream} $B$rDL$8$F(B (SSH $B7PM3$G(B) $B@\B3(B +@samp{bar} という名前の設定では、IRC サーバのホスト名は @samp{irc.example.net}、このサーバではニックネーム @samp{baz} を使う @end itemize -$B;XDj2DG=$J%-!<%o!<%I$O0J2<$NDL$j$G$9!#(B +指定できるキーワードの一覧は以下の通りです。 @table @code @item :host -$B%5!<%P$N%[%9%HL>$^$?$O(B IP $B%"%I%l%9(B +サーバのホスト名または IP アドレス @item :service -$B%5!<%P$N%5!<%S%9L>$^$?$O%]!<%HHV9f(B ($B%G%U%)%k%H$O(B 6667) +サーバのサービス名またはポート番号 (既定値は @code{6667}) @item :nickname -$B@\B3;~$N%K%C%/%M!<%`(B +接続時のニックネーム (既定値は変数 @code{user-real-login-name} の値) @item :username -$B@\B3;~$N%f!<%6%M!<%`(B +接続時のユーザネーム (既定値は変数 @code{user-full-name} の値) @item :password -$B@\B3;~$N%Q%9%o!<%I(B +接続時のパスワード @item :function -$B@\B3MQ4X?t(B +接続用関数 (既定値は @code{open-network-stream}) @item :coding -$B%3!<%G%#%s%0%7%9%F%`(B ($B%G%U%)%k%H$O(B @code{riece-default-coding-system} $B$NCM(B) +文字コード (既定値は @code{riece-default-coding-system} の値) +@end table + +@code{riece-server-alist} を対話的に設定するには次のコマンドを使うと便利です。 + +@example +M-x load-library riece +M-x customize-variable riece-server-alist +@end example + +@node Multiple servers, Add-ons, Server settings, Advanced usage +@section Multiple servers + +同時に複数のサーバに接続する手順を以下に示します。 + +既に特定のサーバに接続している状態で、別のサーバに接続するには @kbd{C-c O} (@code{riece-command-open-server}) を使います。 + +別のサーバ上のチャンネルに参加するには、@kbd{C-c j} +(@code{riece-command-join})でチャンネル名に @samp{@@} に続いてサーバ名を +続けます。 + +たとえば、サーバ @samp{irc.freenode.net} 上の @samp{#Riece} は次のよう +に表記します。 + +@example +#Riece@@irc.freenode.net +@end example + +チャンネル名とサーバの区切り文字 @samp{@@} は +変数 @code{riece-alias-alternate-separator} で変更できます。 + +または、空白文字でも代用できます。この時には、@kbd{C-q SPC} と入力する +必要があります。 + +複数の接続を操作するコマンドを以下にまとめます。 + +@table @kbd +@item C-c O +@findex riece-command-open-server +別のサーバに接続します(@code{riece-command-open-server}) +@item C-c C +@findex riece-command-close-server +サーバとの接続を切断します(@code{riece-command-close-server}) +@item C-c M +@findex riece-command-universal-server-name-argument +特定のサーバに対して、続くコマンドを発行します(@code{riece-command-universal-server-name-argument}) @end table -@node Add-ons, , Server settings, Advanced usage +@node Add-ons, , Multiple servers, Advanced usage @section Add-ons -Riece $B$G$O!"%f!<%6$,?7$?$J5!G=$rDI2C$7!"<+M3$Ko$N(B elisp $B%b%8%e!<%k$r3H(B -$BD%$7$?$b$N$G!"%m!<%I$N=gHV$@$1$G$O$J$/!"=i4|2==hM}$N0MB84X78$b5-=R$9$k$3(B -$B$H$,$G$-$^$9!#(B +Riece では、雑多な機能を選択的に利用できるよう、アドオンと呼ばれる機構 +を用意しています。アドオンは通常の elisp モジュールを拡張したもので、 +安全な取り外しや、アドオン間の初期化処理の依存関係などの面倒をみます。 + +アドオンには次の四種類の状態があります。 + +@table @asis +@item unloaded +読み込み前。アドオンの elisp モジュールが読み込まれていない状態 + +@item insinuated +組み込み済み。アドオンの elisp モジュールが読み込まれ、初期化処理が完了した状態 + +@item enabled +有効。アドオンが動作中 + +@item disabled +無効。アドオンの動作が停止中 + +@end table + +@menu +* Add-on browser:: アドオンの一覧表示 +* Available add-ons:: 標準添付のアドオンの紹介 +@end menu + +@node Add-on browser, Available add-ons, Add-ons, Add-ons +@subsection Add-on browser + +Riece の動作中にアドオンの一覧を眺めるにはアドオンブラウザを使うと便利です。 +コマンドバッファで @kbd{C-c ^} とすると、次のように表示されます。 + +@example ++ riece-alias Define aliases for IRC names. + riece-async Connect to IRC server via async proxy. + riece-biff Be notified if messages arrives. ++ riece-button Display useful buttons in IRC buffers. ++ riece-ctcp CTCP (Client To Client Protocol) support. ++ riece-ctlseq Mark up control sequences in IRC buffers. +@end example -$B8=:_!"0J2<$N%b%8%e!<%k$,%"%I%*%s$H$7$FAw(B -(Ruby $B$K$h$kAw(B -(Emacs 21.3 $B$N(B make-network-process $B$K$h$k$d%K%C%/%M!<%`$NJLL>$rDj5A(B -@item riece-skk-kakutei -SKK $B;HMQ;~$KJQ49%b!<%I$N0u$rH/8@$+$iuBV$K$J$k$3$H$KHw$(!"(B -PING $B$K1~Ez$9$k(B local proxy $B7PM3$G(B IRC $B%5!<%P$K@\B3(B +キーワードの強調表示 +@item riece-log +会話のログをファイルに保存 @item riece-lsdb -$B%"%I%l%9D"(B LSDB (Lovely Sister Database) -@uref{http://lsdb.sourceforge.jp} $B$HO"7H(B +アドレス帳 LSDB (Lovely Sister Database) +@uref{http://lsdb.sourceforge.jp} と連携 +@item riece-mcat +メッセージカタログ +@item riece-menu +メニューバーにメニューを登録 +@item riece-mini +ミニバッファのみで IRC をする +@item riece-ndcc +DCC (Direct Client to Client protocol) によるファイル転送 +(Emacs 22 でのみ動作) +@item riece-rdcc +DCC (Direct Client to Client protocol) によるファイル転送 +@item riece-shrink-buffer +メモリ確保のため、バッファを定期的に切り詰める +@item riece-skk-kakutei +SKK 使用時に変換モードの印を発言から取り除く +@item riece-toolbar +ツールバーを表示 +@item riece-twitter +CTCP ACTION (@kbd{C-c C-c a}) と同時に Twitter に状態を送信 +@item riece-unread +発言のあったチャンネルに@samp{!}マークをつける +@item riece-url +会話に現れた URL の収集 @item riece-xface -$B%f!<%6%j%9%H%P%C%U%!$K%f!<%6$N(B X-Face $B$rI=<((B -@item riece-ctlseq -$B%3%s%H%m!<%k%7!<%1%s%9(B (^B $B$J$I(B) $B$K$h$k6/D4I=<((B -@item riece-ignore -$B;XDj$7$?%f!<%6$NH/8@$rL5;k(B -@item reice-hangman -$B%A%c%s%M%kFb$G(B hangman(6) $B$GM7$V(B -@item riece-biff -$BB>$N%P%C%U%!$K$$$k;~$KH/8@$,$"$k$H%b!<%I%i%$%s$K0u(B ("[R]") $B$rI=<((B -@item riece-kakasi -$BF|K\8l$NDL$i$J$$Cl9g$K$O!"(B@file{~/.riece/init.el} $B$K0J2<$N$h(B -$B$&$K5-=R$7$^$9!#(B -@vindex riece-addons - -@example -(add-to-list 'riece-addons 'riece-alias) -@end example - -@node Tips, Development, Advanced usage, Top +@node Tips, Index, Advanced usage, Top @comment node-name, next, previous, up @chapter Tips -$B$3$N>O$G$O!"$h$/J9$+$l$kR2p$7$^$9!#(B - -@section $B%A%c%s%M%kL>!V(B#$B$[$2(B:*.jp$B!W$r!V(B%$B$[$2!W$HN,5-$7$?$$(B - -$B0J2<$N9T$r(B @file{~/.riece/init.el} $B$KDI2C$7$^$9!'(B - -@example -(add-to-list 'riece-addons 'riece-alias) -@end example +この章では、よく聞かれる質問に対する答えと便利な設定例を紹介します。 -@section $BD>A0$K$$$?%A%c%s%M%k$KLa$j$?$$(B +@section 直前に選択していたチャンネルに移動したい @vindex riece-guess-channel-try-functions -$B0J2<$N9T$r(B @file{~/.riece/init.el} $B$KDI2C$9$k$3$H$G!"(B -@kbd{C-c g} $B$GMzNr$rC)$j$D$D0\F0$G$-$^$9!#(B +以下の行を @file{~/.riece/init} に追加することで、@kbd{C-c g} で履歴を辿 +りつつ移動できます。@samp{riece-guess} アドオンは、チャンネル選択の履歴 +や未読メッセージの有無などから次に選択するチャンネルを推測してくれるアド +オンで、標準で組み込まれています。 @example (add-hook 'riece-guess-channel-try-functions 'riece-guess-channel-from-history) @end example -@section $BH/8@$,$"$k$H%P%C%U%!$,%9%/%m!<%k$9$k$N$r;_$a$?$$(B +@section 発言があるとバッファがスクロールするのを止めたい -@kbd{C-c C-t f} $B$G$9!#(B(irchat $B$G$O(B @kbd{C-c C-f}) "t"oggle "f"reeze $B$H3P(B -$B$($^$7$g$&!#(B +@kbd{C-c C-t f} です。@emph{t}oggle @emph{f}reeze と覚えると良いでしょう。 -@section $BGI~$rM^@)$7$?$$(B +@section 装飾を抑制したい -@code{riece-addons} $B$+$i!"?'IU$1(B (@samp{riece-highlight})$B!"%\%?%s(B -(@samp{riece-button})$B!"%"%$%3%s(B (@samp{riece-icon}) $B$r=|$-$^$9!#(B +@code{riece-addons} から装飾のためのアドオンを除外します。 +通常有効になっている装飾のためのアドオンは次の通りです。 -$B$?$H$($P?'IU$1$r$d$a$?$$$N$G$"$l$P!"0J2<$N9T$r(B @file{~/.riece/init.el} -$B$KDI2C$7$^$9!'(B +@itemize +@item +色付け (@samp{riece-highlight}) -@example -(setq riece-addons (delq 'riece-highlight riece-addons)) -@end example +@item +ボタン表示 (@samp{riece-button}) -@section $B%-!<%o!<%I$KH?1~$7$F2;$rLD$i$7$?$$(B -@vindex riece-keyword-notify-functions +@item +アイコン画像の表示 (@samp{riece-icon}) +@end itemize -XEmacs $B$G$O!"0J2<$N@_Dj$r(B @file{~/.riece/init.el} $B$K2C$($k$3$H$G!"(B"$B$[$2(B" -$B$d(B "$B$U$,(B" $B$KH?1~$7$F8z2L2;(B($B$3$NNc$G$O!"%+%C%3!<$NLD$-@<(B)$B$rLD$i$9$3$H$,$G(B -$B$-$^$9!#(B +たとえば色付けをやめたいのであれば、以下の行を @file{~/.riece/init} に追 +加します: @example -(load-default-sounds) -(setq riece-keywords '("$B$[$2(B" "$B$U$,(B")) -(add-hook 'riece-keyword-notify-functions - (lambda (keyword message) (play-sound 'cuckoo))) +(setq riece-addons (delq 'riece-highlight riece-addons)) @end example -Emacs $B$N>l9g$O(B,$B0J2<$N@_Dj$r(B @file{~/.riece/init.el} $B$K2C$($k$3$H$G(B, -"$B$[$2(B" $B$d(B "$B$U$,(B" $B$KH?1~$7$F2;$rLD$i$9$3$H$,$G$-$^$9!#(B - -@example -(defun cuckoo () - "play cuckoo.au" - (call-process "play" nil 0 t - ".../cuckoo.au")) - (setq riece-keywords '("$B$[$2(B" "$B$U$,(B")) - (add-hook 'riece-keyword-notify-functions - (lambda (keyword message) (cuckoo))) -@end example +@section 特定の文字列を受信したら音を鳴らしたい +@vindex riece-keyword-notify-functions -$B8z2L2;$G$O$J$/%7%s%W%k$K%S!<%W2;$rLD$i$7$?$$>l9g$O!"0J2<$N@_Dj$r(B -@file{~/.riece/init.el} $B$K2C$($^$9!#(B +以下の設定を @file{~/.riece/init} に加えます。@samp{riece-keywords} アド +オンを使うと特定の文字列を受信した際の動作を指定できます。 @example -(setq riece-keywords '("$B$[$2(B" "$B$U$,(B")) +(setq riece-keywords '("ほげ" "ふが")) (add-hook 'riece-keyword-notify-functions (lambda (keyword message) (ding))) @end example -@section SKK $B$r;H$C$F$$$F!"JQ49%b!<%I$N0u(B ($B"&(B) $B$rAw?.$7$?$/$J$$(B +@section SKK を使っていて、変換中の印 (▽) を送信してしまうことがある -$B0J2<$N9T$r(B @file{~/.riece/init.el} $B$KDI2C$7$^$9!'(B +以下の行を @file{~/.riece/init} に追加します。 @example (add-to-list 'riece-addons 'riece-skk-kakutei) @end example -@section $B%A%c%s%M%k$NHV9f$r8GDj$7$?$$(B +@section チャンネル一覧の並び順を固定したい @vindex riece-default-channel-binding -$B0J2<$N9T$r(B @file{~/.riece/init.el} $B$KDI2C$7$^$9!'(B +以下の行を @file{~/.riece/init} に追加します。 @example (setq riece-default-channel-binding - '("#Liece" "#emacsen" nil "#debianjp")) + '("#Riece" "#emacsen" nil "#debianjp")) @end example -1: #Liece, 2: #emacsen, 4: #debianjp $B$N$h$&$K3dEv$F$i$l$^$9!#(Bnil $B$O%G%U%)(B -$B%k%H$G$O<+F03dEv$F$NBP>]$K$J$i$J$$$3$H0UL#$7!"?7$?$J%A%c%s%M%k$K;22C$7$?(B -$B>l9g!"$=$N%A%c%s%M%k$,(B 3 $BHVL\$N%A%c%s%M%k$H$7$F07$o$l$^$9!#(B +この設定例では、チャンネル一覧の並び順は次のようになります。 -@section $B5/F0;~$K%Q%9%o!<%I$D$-$N%A%c%s%M%k$K;22C$7$?$$(B +@enumerate +@item +#Riece +@item +#emacsen +@item +なし +@item +#debianjp +@end enumerate + +3 番目のチャンネルが空席となっていることにご注意ください。新たなチャンネ +ルに参加した場合、そのチャンネルが 3 番目の位置に割当てられます。 + +@section 起動時に自動的にチャンネルに参加したい @vindex riece-startup-channel-list -@vindex riece-startup-server-list -$B0J2<$N9T$r(B @file{~/.riece/init.el} $B$KDI2C$7$^$9!'(B +変数 @samp{riece-startup-channel-list} を設定します。 @example (setq riece-startup-channel-list - '(("#secret" "password") "#Liece")) + '("#Riece" "#public")) @end example -$BJ#?t$N%5!<%P>e$N%A%c%s%M%k$K;22C$9$k$K$O!"(B -@code{riece-startup-server-list} $B$bJ;$;$F@_Dj$9$kI,MW$,$"$j$^$9!#(B +この設定例は、@samp{#Riece} と @samp{#public} に参加することを意味してい +ます。チャンネルに参加する際にパスワードが必要な場合には次のように設定し +ます。 -$BNc$H$7$F!"(B@code{riece-server} $B$H(B @code{riece-server-alist} $B$r0J2<$N$h$&(B -$B$K@_Dj$7$?$H$7$^$9!#(B +@example +(setq riece-startup-channel-list + '("#Riece" "#public" ("#private" "password"))) +@end example + +@section 起動時に自動的に複数の IRC サーバに接続したい +@vindex riece-startup-server-list + +変数 @samp{riece-startup-server-list} を設定します。 @example (setq riece-server "ircnet" - riece-server-alist '(("ircnet" :host "irc6.nara.wide.ad.jp") + riece-server-alist '(("ircnet" :host "irc.tokyo.wide.ad.jp") ("freenode" :host "irc.ipv6.freenode.net"))) @end example -$B$3$N>l9g!"%G%U%)%k%H$G$O(B "ircnet" $B$@$1$K@\B3$7$^$9$,!"(B -@code{riece-startup-server-list} $B$r0J2<$N$h$&$K@_Dj$9$k$3$H$G!"(B -"freenode" $B$K$b@\B3$9$k$h$&$K$J$j$^$9!#(B +この設定例では、起動時に接続するのは "ircnet" だけです。 +@samp{riece-startup-server-list} を以下のように設定すると、 +"freenode" にも接続するようになります。 @example (setq riece-startup-server-list '("freenode")) @end example -@section HTTP $B%W%m%-%71[$7$K(B IRC $B%5!<%P$K@\B3$7$?$$(B -relay.el $B$H(B connect.c $B$r;H$&$H!"(B -HTTP $B%W%m%-%7$r2p$7$F(B IRC $B%5!<%P$K@\B3$9$k$3$H$,$G$-$^$9!#(B +@section HTTP プロキシを介して IRC サーバに接続したい +@file{relay.el} と @file{connect.c} を使うと、 +HTTP プロキシを介して IRC サーバに接続することができます。 @table @asis @item relay.el -@uref{http://www.imasy.or.jp/~gotoh/lisp/relay.el} +@uref{http://www.taiyo.co.jp/~gotoh/lisp/relay.el} @item connect.c -@uref{http://www.imasy.or.jp/~gotoh/ssh/connect.html} +@uref{http://www.taiyo.co.jp/~gotoh/ssh/connect.html} @end table -$B$?$H$($P!"(B"proxy.example.com:8080" $B7PM3$G(B irc.tokyo.wide.ad.jp $B$K@\B3$9(B -$B$k>l9g$K$O!"0J2<$N9T$r(B @file{~/.riece/init.el} $B$KDI2C$7$^$9!'(B +たとえば、@samp{proxy.example.com:8080} 経由で +@samp{irc.tokyo.wide.ad.jp} に接続する場合には、以下の行を +@file{~/.riece/init} に追加します。 @example (require 'relay) @@ -731,444 +810,31 @@ HTTP $B%W%m%-%7$r2p$7$F(B IRC $B%5!<%P$K@\B3$9$k$3$H$,$G$-$^$9!#(B riece-server-alist)) @end example -@section IRC $B%m%0$r%U%!%$%k$KJ]B8$7$?$$(B +@section 会話のログをファイルに保存したい @vindex riece-log-directory-map -$B0J2<$N9T$r(B @file{~/.riece/init.el} $B$KDI2C$7$^$9!'(B +@samp{riece-log} アドオンを使うと、会話のログをファイルに保存し、再起動 +時に参照できます。@samp{riece-log} アドオンは標準で組み込まれています。 -@example -(add-to-list 'riece-addons 'riece-log) -@end example - -$B%m%0%U%!%$%k$O%G%U%)%k%H$G$O(B @file{~/.riece/log} $B$N2<$K%5!<%PL>!"%A%c%s(B -$B%M%kL>$N%G%#%l%/%j$,:n@.$5$l!"$=$NCf$KF|$K$AKh$KJ]B8$5$l$^$9!#$?$@$7%G%U%)(B -$B%k%H$N%5!<%P$N>l9g$O!"%5!<%PL>$N%G%#%l%/%H%j$O>JN,$5$l$^$9!#(B - -US-ASCII $B0J30$N%G%#%l%/%H%jL>$,J8;z2=$1$9$k$H$$$&?M$O!"(B -@code{file-name-coding-system} $B$NCM$rE,@Z$K@_Dj$9$k$+!"$"$k$$$O(B -@code{riece-log-directory-map} $B$G%A%c%s%M%kL>$HJ]B8@h$N%G%#%l%/%H%jL>$H(B -$B$NBP1~%j%9%H$r0J2<$NNc$N$h$&$K!"(BUS-ASCII $B$N$_$r;HMQ$7$?%G%#%l%/%H%jL>$K(B -$B$J$k$h$&$K@_Dj$9$k;v$G2sHr=PMh$^$9!'(B +通常は @file{~/.riece/log} の下に IRC サーバの名前、チャンネル名のディレ +クリが作成され、その中に日にち毎に分別されて保存されます。 -@example -(setq riece-log-directory-map '(("#$B$j!<$9(B" . "riece"))) -@end example - -@node Development, Index, Tips, Top -@chapter Development - -$B3+H/(B>]" $B%P%C%U%!$K>C$5$l$:(B -$B$K;D$j$^$9!#(B -@vindex riece-debug - -@node Modules, Namespace management, Debugging, Development -@section Modules - -$B4pK\E*$K0MB84X78$N>e0L$K$"$k$b$N$+$i!'(B - -@table @samp -@item riece-globals -$BBg0hJQ?t$NDj5A(B -@item riece-options -$B%f!<%6%*%W%7%g%s$NDj5A(B -@item riece-version -$B%P!<%8%g%s$NDj5A(B -@item riece-coding -$B%3!<%G%#%s%0%7%9%F%`4XO"$N4X?t$NDj5A(B -@item riece-complete -$B%_%K%P%C%U%!$G$NJd40$r=u$1$k4X?t$NDj5A(B -@item riece-addon -$B%"%I%*%s4IM}(B - -@item riece-mode -channel/user $B$N%b!<%I4IM}(B -@item riece-identity -channel/user object $B$NBg0hI=5-$rA`:n$9$k4X?t$NDj5A(B -@item riece-channel -channel object $B4XO"$NDj5A(B -@item riece-user -user object $B4XO"$NDj5A(B - -@item riece-misc -$B;(B?$J4X?t$NDj5A(B -@item riece-signal -$B%7%0%J%k(B(@pxref{Signals})$B4IM}(B - -@item riece-layout -$B%&%#%s%I%&%l%$%"%&%H4IM}(B -@item riece-display -$BI=<(MQ%P%C%U%!$N4IM}(B -@item riece-server -IRC$B%5!<%P$H$N@\B34IM}(B - -@item riece-naming -$BL>A04IM}$N$?$a$N(B mediator $B$N$h$&$J$b$N(B -@item riece-message -message object $B4XO"$NDj5A(B - -@item riece-filter -$B%W%m%;%9%U%#%k%?$N%(%s%H%j%]%$%s%H(B -@item riece-handle -$BDL>o$N%a%C%;!<%8$N%O%s%I%i!#(Briece-filter $B$+$i8F$P$l$k(B -@item riece-000 -000$BHVBf$N(B numeric reply $B$N%O%s%I%i!#(Briece-filter $B$+$i8F$P$l$k(B -@item riece-200 -200$BHVBf$N(B numeric reply $B$N%O%s%I%i!#(Briece-filter $B$+$i8F$P$l$k(B -@item riece-300 -300$BHVBf$N(B numeric reply $B$N%O%s%I%i!#(Briece-filter $B$+$i8F$P$l$k(B -@item riece-400 -400$BHVBf$N(B numeric reply $B$N%O%s%I%i!#(Briece-filter $B$+$i8F$P$l$k(B -@item riece-500 -500$BHVBf$N(B numeric reply $B$N%O%s%I%i!#(Briece-filter $B$+$i8F$P$l$k(B - -@item riece-commands -$B%3%^%s%I$NDj5A(B -@item riece-irc -IRC $B%W%m%H%3%k%$%s%?!<%U%'!<%9(B -@item riece -$B%(%s%H%j%]%$%s%H!#3F%P%C%U%!$N%b!<%IDj5A$J$I(B -@end table - -@node Namespace management, Signals, Modules, Development -@section Namespace management - -Riece $B$OJ#?t$N%5!<%P$KF1;~$K@\B3$9$k$?$a!"%5!<%PKh$KJL!9$NL>A06u4V$r4IM}(B -$B$7$F$$$^$9!#$3$NL>A06u4V$K$O!"%5!<%P$N%W%m%;%9$K7k$SIU$1$i$l$?%P%C%U%!$N(B -$B%m!<%+%kJQ?t$r2p$7$F%"%/%;%9$7$^$9!#(B - -@subsection Obtaining server buffer -$B%5!<%P$N%W%m%;%9$rF@$k$K$O!"$^$:$O$8$a$K%5!<%P$NL>A0$rF@$kI,MW$,$"$j(B -$B$^$9!#%5!<%P$NL>A0$O0J2<$K5s$2$k$$$/$D$+$NJ}K!$G(B($B8e=R(B) -@end enumerate - -$B$3$&$7$FF@$?%5!<%PL>$G(B @code{riece-server-process} $B$r8F=P$7!"%5!<%P$N(B -$B%W%m%;%9$rl9g!"%A%c%s%M%kL>$d%K%C%/$r(B($B%5!<%P$N%P%C%U%!>e$@(B -$B$1$G$O$J$/(B)$BBg0hE*$K6hJL$9$kI,MW$,@8$8$^$9!#$3$N$h$&$JL>A0$rI=8=$9$k$N(B -$B$,(B @samp{riece-identity} $B%*%V%8%'%/%H$G$9!#(B - -@samp{riece-identity} $B%*%V%8%'%/%H$O0J2<$N(B 2 $B$D$NMWAG$r$b$D%Y%/%?!<$G$9!#(B - -@table @samp -@item prefix -$B%5!<%P%m!<%+%k$JL>A0(B -@item server -$B%5!<%P$NL>A0(B -@end table - -@samp{riece-identity} $B%*%V%8%'%/%H$KBP$9$kA`:n$K$O0J2<$N$h$&$J$b$N$,$"$j$^$9!#(B - -@defun riece-make-identity prefix &optional server -@samp{riece-identity} $B%*%V%8%'%/%H$r:n@.$7$^$9!#(Bserver $B$,>JN,$5$l$?>l9g$K$O!"(B -riece-find-server-name $B$r;H$C$F$r;H$$$^$9(B -@end defun - -@defun riece-identity-prefix identity -@samp{riece-identity} $B%*%V%8%'%/%H$+$i%5!<%P%m!<%+%k$JL>A0$rA0$rA0$,F1Ey$+(B -$BD4$Y$^$9!#(B -@end defun - -@defun riece-identity-member elt list -@samp{riece-identity} $B%*%V%8%'%/%H(B @var{elt} $B$,(B @var{list} $B$K4^$^$l$k(B -$B$+8!::$7$^$9!#(B -@end defun - -@subsection Channel and user management -@samp{riece-identity} $B%*%V%8%'%/%H$K$h$C$F<1JL$5$l$k(B IRC $B$N%A%c%s%M%k(B -$B$H%f!<%6$O$=$l$>$l(B @samp{riece-channel} $B%*%V%8%'%/%H$H(B -@samp{riee-user} $B%*%V%8%'%/%H$K$h$jI=8=$5$l$^$9!#(B - -@subsubsection Channels -@code{riece-channel} $B$O!"(BIRC $B$N%A%c%s%M%k$rI=$9%*%V%8%'%/%H$G$9!#0J2<$N(B -$BMWAG$r;}$A$^$9!#(B - -@table @samp -@item users -$B;22C$7$F$$$k%f!<%6$NL>A0(B($B6I=jL>(B)$B$N%j%9%H(B -@item operators -$B%*%Z%l!<%?8"8B$r$b$D%f!<%6$NL>A0$N%j%9%H(B -@item speakers -$BH/8@8"$r$b$D%f!<%6$NL>A0$N%j%9%H(B -@item modes -$B%A%c%s%M%k$N%b!<%I(B($BJ8;z$N%j%9%H(B) -@item banned -@samp{MODE +b} $B$G;XDj$5$l$?%Q%?!<%s$N0lMw(B -@item invited -@samp{MODE +I} $B$G;XDj$5$l$?%Q%?!<%s$N0lMw(B -@item uninvited -@samp{MODE +e} $B$G;XDj$5$l$?%Q%?!<%s$N0lMw(B -@end table - -@subsubsection Users -@code{riece-user} $B$O!"(BIRC $B$K;22C$7$F$$$k%f!<%6$rI=$9%*%V%8%'%/%H$G$9!#0J(B -$B2<$NMWAG$r;}$A$^$9!#(B - -@table @samp -@item channels -$B;22C$7$F$$$k%A%c%s%M%k$NL>A0(B($B6I=jL>(B)$B$N%j%9%H(B -@item user-at-host -"@@" $B$N7A$GM?$($i$l$k%f!<%6$N>pJs(B -@item modes -$B%f!<%6$N%b!<%I(B($BJ8;z$N%j%9%H(B) -@item away -AWAY $BCf$+$I$&$+(B -@end table - -@subsubsection Mediator -$B%A%c%s%M%k$H%f!<%6$N;22C!&N%C&$r4IM}$9$k$?$a$K!"(B @code{riece-naming} -$B$H$$$&>e0L$N%b%8%e!<%k$rMQ0U$7$F$$$^$9!#$3$l$O!"%G%6%$%s%Q%?!<%s$G$$$&(B -$B$H$3$m$N(B Mediator $B%Q%?!<%s$KAjEv$9$k$b$N$G$9!#(B - -@code{riece-naming} $B$r2p$9$k$3$H$G!"A0=R$N%A%c%s%M%k!&%f!<%6%*%V%8%'%/%H(B -$B$KD>@\A06u4V$K0BA4$K%"%/%;%9$9$k$3$H$,$G$-$^$9!#(B - -$BDs6!$9$kA0$,JQ99$5$l$?$3$H$rI=L@$7$^$9(B -@end defun - -@node Signals, Writing add-ons, Namespace management, Development -@section Signals - -$B2hLL$N:FIA2h$r8zN(NI$/9T$&$?$a$K!"%$%Y%s%H$HIA2hBP>]$N%*%V%8%'%/%H(B($B%P%C(B -$B%U%!$d!"%b!<%I%i%$%s$N0u(B @pxref{Indicators})$B$r7k$SIU$1$k%a%+%K%:%`$rMQ0U(B -$B$7$F$$$^$9!#(B - -$B2?$i$+$N%$%Y%s%H$,H/@8$9$k$H!"%7%0%J%k$,Aw=P$5$l$^$9!#%7%0%J%k$N35G0$O!"(B -Qt $B$d(B GTK+ $B$H$$$C$?(B GUI $B%D!<%k%-%C%H$KMQ0U$5$l$F$$$k$b$N$HF1MM$G$9!#(B - -$B%7%0%J%k$rAw=P$9$k$K$O!"(B@samp{riece-emit-signal} $B$r;H$$$^$9!#(B - -@defun riece-emit-signal signal-name &rest args -@var{signal-name} $B$G;X<($5$l$k%7%0%J%k$r!"0z?t(B @var{args} $B$H$H$b$KAw=P$7$^$9(B -@end defun - -$B%7%0%J%k$K1~Ez$9$k$K$O!"(B@samp{riece-connect-signal} $B$r;H$$$^$9!#(B - -@defun riece-connect-signal signal-name slot-function &optional filter-function handback -@var{signal-name} $B$G;X<($5$l$k%7%0%J%k$K1~Ez$9$k4X?t(B @var{slot-function} -$B$r7k$SIU$1$^$9!#(B@var{slot-function} $B$K;XDj$5$l$?4X?t$O(B 2 $B$D$N0z?t$rl9g$K$O!"(B -@var{slot-function} $B$,8F$P$l$k$3$H$O$"$j$^$;$s!#(B -@end defun - -$B%7%0%J%k%*%V%8%'%/%H$K%"%/%;%9$9$k$K$O!"0J2<$N4X?t$r;H$$$^$9!#(B - -@defun riece-signal-name -$B%7%0%J%k$NL>A0(B($B%7%s%\%k(B)$B$rJV$7$^$9!#(B -@end defun - -@defun riece-signal-args -$B%7%0%J%kAw=P;~$KM?$($i$l$?0z?t$rJV$7$^$9!#(B -@end defun - -$B8=:_!"0J2<$N%7%0%J%k$,I8=`$GEPO?$5$l$F$$$^$9!'(B - -@table @samp -@item channel-list-changed -$B;22C$7$F$$$k%A%c%s%M%k$N0lMw$NJQ2=(B -@item user-list-changed -$B%A%c%s%M%k$N;22CA0$rJQ99(B -($B0z?t$O!"0JA0$H8=:_$NL>A0$KAjEv$9$k(B @samp{riece-identity} $B%*%V%8%'%/%H(B) -@item user-away-changed -$B%f!<%6$NN%@J>uBV$NJQ2=(B -($B0z?t$O!"%f!<%6$KAjEv$9$k(B @samp{riece-identity} $B%*%V%8%'%/%H(B) -@item user-operator-changed -$B%f!<%6$N%*%Z%l!<%?>uBV$NJQ2=(B -($B0z?t$O!"%f!<%6$KAjEv$9$k(B @samp{riece-identity} $B%*%V%8%'%/%H(B) -@item channel-topic-changed -$B%A%c%s%M%k$N%H%T%C%/$NJQ2=(B -($B0z?t$O!"%A%c%s%M%k$KAjEv$9$k(B @samp{riece-identity} $B%*%V%8%'%/%H(B) -@item channel-modes-changed -$B%A%c%s%M%k$N%b!<%I$NJQ2=(B -($B0z?t$O!"%A%c%s%M%k$KAjEv$9$k(B @samp{riece-identity} $B%*%V%8%'%/%H(B) -@item channel-operators-changed -$B%A%c%s%M%k$G%*%Z%l!<%?8"8B$r;}$D%f!<%6$N0lMw$NJQ2=(B -($B0z?t$O!"%A%c%s%M%k$KAjEv$9$k(B @samp{riece-identity} $B%*%V%8%'%/%H(B) -@item channel-speakers-changed -$B%A%c%s%M%k$GH/8@8"$r;}$D%f!<%6$N0lMw$NJQ2=(B -($B0z?t$O!"%A%c%s%M%k$KAjEv$9$k(B @samp{riece-identity} $B%*%V%8%'%/%H(B) -@item buffer-freeze-changed -$B%P%C%U%!$NE`7k>uBV$NJQ2=(B -($B0z?t$O%P%C%U%!(B) -@end table - -@node Writing add-ons, Handler hooks, Signals, Development -@section Writing add-ons - -$B%"%I%*%s$N>r7o$rK~$?$9%b%8%e!<%k$O0J2<$N4X?t$rDs6!$7$^$9!#(B - -@table @samp -@item <$B%b%8%e!<%kL>(B>-requires -$B0MB8$9$kB>$N%"%I%*%s(B($B%7%s%\%k$N%j%9%H(B)$B$rJV$7$^$9(B($B%*%W%7%g%s(B) -@item <$B%b%8%e!<%kL>(B>-insinuate -$B=i4|2==hM}$r9T$$$^$9(B -@end table - -$B$^$?!"%"%I%*%s$N@bL@$r!"JQ?t(B @samp{<$B%b%8%e!<%kL>(B>-description} $B$K@_Dj$9(B -$B$k$3$H$b$G$-$^$9!#$3$NJ8;zNs$O(B @kbd{M-x riece-command-list-addons} $B$K$h(B -$B$k%"%I%*%s$N0lMwI=<($K;H$o$l$^$9!#(B - -$BM-8z2=!&L58z2=$KBP1~$7$?%"%I%*%s$O!"JQ?t(B @samp{<$B%b%8%e!<%kL>(B>-enabled} -$B$K8=:_$N>uBV$rJ];}$7$^$9!#CM$,(B @samp{nil} $B$G$"$l$PL58z!"(B@samp{t} $B$G$"$l(B -$B$PM-8z$G$9!#2C$($F!"0J2<$N4X?t$rDs6!$7$^$9!#(B - -@table @samp -@item <$B%b%8%e!<%kL>(B>-enable -$B%"%I%*%s$rM-8z$K$7$^$9(B -@item <$B%b%8%e!<%kL>(B>-disable -$B%"%I%*%s$rL58z$K$7$^$9(B -@end table - -Riece $B$O5/F0;~$K0J2<$N=hM}$r9T$$$^$9!#(B - -@enumerate -@item -$BJQ?t(B @code{riece-addons} $B$KNs5s$5$l$?%b%8%e!<%k$rFI$_9~$`(B - -@item -$B$=$l$>$l$N%b%8%e!<%k$KBP$7!"(B@samp{<$B%b%8%e!<%kL>(B>-requires} $B$,MQ0U$5$l$F$$$l$P8F$S=P$7$F0MB8%0%i%U$r:n$k(B - -@item -$B0MB8%0%i%U$KBP$7$F%H%]%m%8%+%k%=!<%H(B (cf. tsort(1)) $B$r9T$&(B - -@item -$BF@$i$l$?0MB8=g=x$K=>$C$F(B @samp{<$B%b%8%e!<%kL>(B>-insinuate} $B8F$S=P$9(B - -@item -$B$b$7!"%"%I%*%s$,M-8z2=!&L58z2=$KBP1~$7$F$*$j!"L@<(E*$KL58z2=$5$l$F$$$J$1$l$P!"(B -@samp{<$B%b%8%e!<%kL>(B>-enable}$B$r8F$S=P$9!#(B -@end enumerate - -$B:n@.$7$?%"%I%*%s$O!"(B@code{load-path} $B$NDL$C$?%G%#%l%/%H%j!"$^$?$O(B -@code{riece-addon-directory} ($B%G%U%)%k%H$G$O(B @file{~/.riece/addons/}) $B$K(B -$BCV$/$3$H$GAH$_9~$_2DG=$J>uBV$K$J$j$^$9!#(B -@vindex riece-addon-directory - -@node Handler hooks, , Writing add-ons, Development -@section Handler hooks - -Riece $B$K$O!"%O%s%I%i%U%C%/$H8F$P$l$kFC(B(PRIVMSG $B$J$I(B)$B$rA4$F>.(B -$BJ8;z$K$7$?$b$N$H$7$^$9!#(B - -@table @code -@item riece--hook -@samp{message} $B$,FO$$$?$H$-$K:G=i$K8F$P$l$k%U%C%/(B -@item riece-after--hook -@samp{message} $B$N=hM}$,=*$o$C$?8e$K8F$P$l$k%U%C%/(B -@end table - -$B$3$3$G(B @code{riece--hook} $B$NJV$jCM$K$O0UL#$,$"$j!"Hs(B nil $B$rJV$9(B -$B$b$N$,$"$l$P!"$=$N8e$N=hM}$r$*$3$J$$$^$;$s!#$^$?!"$=$N>l9g$K$O(B -@code{riece-after--hook} $B$b8F$S=P$5$l$^$;$s!#(B +@section ウィンドウ間を自由に移動したい -$B%U%C%/$N0z?t$O(B RFC2812 $B$N(B @samp{prefix} $B$H(B @samp{Parameters} $B$KAjEv$9$k(B -2 $B$D$N0z?t$,EO$j$^$9!#(B +GNU Emacs に附属の @samp{windmove.el} を使うと便利です。詳細は +@samp{windmove.el} のコメントを参照ください。@samp{windmove.el} は +作者のページ (@uref{http://hovav.net/elisp/}) からも取得できます。 -@node Index, Function Index, Development, Top +@node Index, Function Index, Tips, Top @chapter Index @printindex cp