Note
|
この文書は WeeChat バージョン 0.3.0 以上向けに書かれたものですが、 最新安定版の WeeChat に対しても利用できます。 |
1. 一般
1.1. "WeeChat" という名前の由来は何ですか?
"Wee" は再帰的頭字語で、"Wee Enhanced Environment" の略です。 そのため、完全な名前は "Wee Enhanced Environment for Chat" です。
"Wee" はまた "とても小さい" を意味します。(もちろん、 その他の意味もありますが、それは WeeChat とは関係ありませんよ!)。
1.2. WeeChat を選ぶ理由は何ですか? X-Chat や Irssi は最高なのに…
WeeChat は非常に軽く、革新的な機能を備えているからです。
こののページに関するより詳しい情報: https://weechat.org/about/features
2. コンパイル / インストール
2.1. WeeChat には多くの GUI があると聞きました。コンパイル/利用方法を教えてください。
いくつかのリモート GUI が利用可能です、機能のページに載っているリンクをご覧ください: https://weechat.org/about/features
2.2. git リポジトリをクローンした後に WeeChat をコンパイルできません。
WeeChat をコンパイルするには cmake を使うことが推奨されています。
autotools を使って (cmake を使わずに) コンパイルする場合、 最新の autoconf と automake を使ってください。
他には "開発パッケージ" をインストール方法があります。この場合、 インストールするのに必要なパッケージの数が減ります。このパッケージは git リポジトリからほぼ毎日ビルドされます。このパッケージは厳密には git ベースではなく、 アップデートをインストールする場合には git をクローンする方法よりも不便であることに注意してください。
2.3. どうすれば OS X に WeeChat をインストールできますか?
Homebrew を使うことをお勧めします、ヘルプを見るには:
brew info weechat
以下のコマンドで WeeChat をインストールします:
brew install weechat --with-python --with-perl
2.4. WeeChat を起動しました。でも何をすればいいかわかりません。
ヘルプを見るには、/help
と入力してください。コマンドに関するヘルプを見るには、/help command
と入力してください。
キーとコマンドはドキュメント内にリストアップされています。
新しいユーザはクイックスタートガイドを読むことをお勧めします: https://weechat.org/doc
3. 表示
3.1. いくつかの文字が見えません。どうすれば良いですか。
これは良くある問題です。以下の内容をよく読んで、全ての 解決策をチェックしてください:
-
weechat が libncursesw にリンクされていることの確認 (警告: 全てではありませんが、 ほとんどのディストリビューションで必要です):
ldd /path/to/weechat
-
/plugin
コマンドで "Charset" プラグインがロード済みであることの確認 (ロードされていない場合、"weechat-plugins" パッケージが必要かもしれません) 。 -
/charset
コマンドの出力を確認 (core バッファ上で)。 ターミナルの文字セットとして ISO-XXXXXX 又は UTF-8 があるはずです。 その他の値がある場合は、ロケールが間違っている可能性があります ($LANG を修正してください)。 -
グローバルデコードを設定、例えば:
/set charset.default.decode "ISO-8859-15"
-
UTF-8 ロケールを使っている場合は:
-
ターミナルで UTF-8 が使えることを確認 (UTF-8 対応のターミナルとしては rxvt-unicode を推奨)
-
screen を使っている場合は、UTF-8 モードで起動されていることを確認 (~/.screenrc に "
defutf8 on
" の記述があるか又はscreen -U
のようにして起動)。
-
-
weechat.look.eat_newline_glitch オプションが off であることを確認してください (このオプションは表示上のバグを引き起こす可能性があります)
Note
|
WeeChat は UTF-8 ロケールを推奨します。ISO 又はその他のロケールを使う場合、 全ての 設定 (ターミナル、screen、..) が ISO であり、 UTF-8 でない ことを確認してください。 |
3.2. タイトルやステータスバー等の背景色が行末ではなくテキストの最後で終わってしまいます。
シェルの TERM 変数に間違った値が設定されている可能性があります
(ターミナルで echo $TERM
の出力を確認してください)。
WeeChat を起動した場所に依存しますが、以下の値を持つはずです:
-
WeeChat を screen を使わずにローカル又はリモートマシンで起動した場合、 利用しているターミナルに依存します: xterm 、xterm-256color 、rxvt-unicode 、 rxvt-256color 、…
-
WeeChat を screen 内で起動した場合、screen 又は screen-256color 。
もし必要であれば、TERM 変数を修正してください: export TERM="xxx"
3.3. weechat を screen/tmux の中で使っている場合、おかしなランダム文字列が表示されます。どうすれば直りますか。
シェルの TERM 変数に間違った値が設定されている可能性があります。
(ターミナル、screen/tmux の外 で echo $TERM
の出力を確認してください)。
例えば、xterm-color の場合、おかしな文字列が表示される可能性があります。xterm と設定すればこのようなことは起こらないので (その他多くの値でも問題は起きません)、これを使ってください。
もし必要であれば、TERM 変数を修正してください: export TERM="xxx"
3.4. OS X 上で WeeChat をコンパイルした場合、"(null)" という文字列が至る所に表示されます。
ncursesw を自分でコンパイルした場合は、標準の (システムに元から存在する) ncurses を使ってみてください。
さらに OS X では、Homebrew パッケージマネージャを使って WeeChat をインストールすることをお勧めします。
3.5. "バッファ" と "ウィンドウ" の違いは何ですか。
バッファ とは番号、名前、表示行、(とその他のデータ) からなります。
ウィンドウ とはバッファを表示する画面領域です。 画面を複数のウィンドウに分割出来ます。
それぞれのウィンドウは 1 つのバッファの内容を表示します。バッファを隠す (ウィンドウで表示させない) ことや 1 つ以上のウィンドウに表示させることも出来ます。
3.6. どうすれば左側にバッファリストを表示できますか。
buffers.pl スクリプトを使ってください:
/script install buffers.pl
バーのサイズを制限するには:
/set weechat.bar.buffers.size_max 15
バーの位置を下に移動するには:
/set weechat.bar.buffers.position bottom
3.7. どうすればチャットエリア内のニックネームの最大長さを短く、又はニックネーム整列機能を無効化できますか。
チャットエリアのニックネームの最大長を短くするには:
/set weechat.look.prefix_align_max 15
ニックネーム整列を抑制するには:
/set weechat.look.prefix_align none
3.8. コマンドラインの行数を増やすにはどうすればいいですか。
インプットバーの size オプションには 1 (サイズ固定、デフォルト値) 以上の値又は動的なサイズの意味で 0 を設定できます。size_max オプションではサイズの最大値を設定できます (0 = 制限なし)。
動的サイズを設定する例:
/set weechat.bar.input.size 0
サイズの最大値を 2 に設定:
/set weechat.bar.input.size_max 2
3.9. 全てのウィンドウに対して入力バーの数を 1 つだけにすることができますか (画面分割されている場合)。
できます。"root" 型のバー (あなたのいるウィンドウを区別するためのアイテムを持つ) を作成し、現在の入力バーを削除してください。
例えば:
/bar add rootinput root bottom 1 0 [buffer_name]+[input_prompt]+(away),[input_search],[input_paste],input_text
/bar del input
これに満足できない場合は、新しいバーを削除してください。 全てのバーに "input_text" アイテムが設定されていない場合は WeeChat は自動的にデフォルトバー "input" を作成します:
/bar del rootinput
3.10. どうすればニックネームリストを選択せずにテキストだけをコピー/ペーストできますか。
WeeChat ≥ 1.0 では、最小限表示を使うことができます (デフォルトキー: alt+l)。
矩形選択のできるターミナルを使ってください (rxvt-unicode、 konsole、gnome-terminal、…)。通常、キーは ctrl+alt+ マウス選択です。
別の解決策はニックネームリストを上か下かに移動することです、例えば:
/set weechat.bar.nicklist.position top
3.11. どうすれば長い (一行以上に渡る) URL をクリックできますか。
WeeChat ≥ 1.0 では、最小限表示を使うことができます (デフォルトキー: alt+l)。
デフォルトでは、WeeChat はそれぞれの行の最初に時間とプレフィックス、 さらにチャットエリアを囲むようにオプションバーを表示します。url のクリックを簡単にするには、 ニックネームリストを上に移動して、ニックネーム整列機能を無効化する方法があります:
/set weechat.bar.nicklist.position top
/set weechat.look.prefix_align none
/set weechat.look.align_end_of_lines time
WeeChat ≥ 0.3.6 では、"eat_newline_glitch" オプションを有効化できます。 これを有効化すると、表示行の行末に改行文字が入らなくなります (url 選択を邪魔しません)。
/set weechat.look.eat_newline_glitch on
Important
|
このオプションには表示上の問題を引き起こす可能性があります。 表示上の問題が起きた場合はこのオプションを無効化してください。 |
別の解決策として、スクリプトを利用することもできます:
/script search url
3.12. WeeChat が出力するメッセージの言語を、再起動せずに変更したいです。このようなことは可能ですか。
WeeChat ≥ 1.0 では、再起動せずに変更できます:
/set env LANG ja_JP.UTF-8
/upgrade
古い WeeChat をお使いの場合は:
/script install shell.py
/shell setenv LANG=ja_JP.UTF-8
/upgrade
3.13. どうすれば WeeChat で 256 色が使えますか。
256 色は WeeChat ≥ 0.3.4 でサポートされます。
最初に TERM 環境変数が正しいことを確認してください、 お勧めの値は:
-
screen の中: screen-256color
-
screen の外: xterm-256color 、rxvt-256color 、putty-256color 、…
Note
|
これらの値を TERM に設定するには、"ncurses-term" パッケージをインストールする必要があるかもしれません。 |
screen を使っている場合は、以下の行を ~/.screenrc に追加してください:
term screen-256color
TERM 変数が間違った値に設定された状態で WeeChat が起動完了している場合は、以下の 2 つのコマンドを使って変数の値を変更してください (WeeChat バージョン 1.0 以上で可能):
/set env TERM screen-256color
/upgrade
バージョン 0.3.4 では、新しい色を追加するには /color
コマンドを使ってください。
バージョン 0.3.5 以上では、任意の色番号を利用できます (オプション:
色の別名を追加するには /color
コマンドを使ってください)。
色管理に関するより詳しい情報はユーザーガイドを読んでください。
3.14. どうすればバッファ内の文字列を検索できますか (irssi の /lastlog の様に)。
デフォルトのキーは ctrl+r です (コマンドは: /input search_text
)。
ハイライト部分へのジャンプは: alt+p / alt+n
この機能に関するより詳しい情報はユーザーガイドを参照してください (デフォルトのキー割り当て)。
3.15. どうすれば端末にフォーカスが合った時や外れた時にコマンドを実行できますか。
端末に特殊コードを送信してフォーカスイベントを必ず有効化してください。
重要:
-
現時点では、xterm を除いてこの機能をサポートする端末は存在しない ようです。
-
screen および tmux ではこの機能を使うことができません 。
WeeChat の開始時にコードを送信するには:
/set weechat.startup.command_after_plugins "/print -stdout \033[?1004h\n"
さらに端末から送信される 2 種類の特殊キーシーケンスに対してコマンドを割り当ててください
(例に挙げた /print
コマンドは適当なコマンドに書き換えてください):
/key bind meta2-I /print -core focus
/key bind meta2-O /print -core unfocus
4. キー割り当て
4.1. いくつかのメタキーが (alt + key) が動きません。
xterm や uxterm 等のターミナルを利用している場合、いくつかのメタキーはデフォルトでは利用できません。 以下の行を ~/.Xresources に追加してください:
-
xterm の場合:
XTerm*metaSendsEscape: true
-
uxterm の場合:
UXTerm*metaSendsEscape: true
このファイルを再読み込みするか (xrdb -override ~/.Xresources
) 又は X を再起動してください。
4.2. どうすればキー割り当てをカスタマイズできますか。
キー割り当ては /key
コマンドでカスタマイズできます。
デフォルトキー alt+k でキーコードを取り込み、これをコマンドラインに入力できます。
4.3. バッファ 11 番 (又はそれ以上の番号) にジャンプするキーは何ですか。
キー alt+j の後に 2 桁の数字を入力します、例えば alt+j その後に 1、 1 でバッファ 11 番にジャンプします。
これにキーを割り当てることが出来ます、例えば:
/key bind meta-q /buffer *11
デフォルトキー割り当てのリストはユーザーガイドを参照してください。
4.4. どうすればグローバルヒストリを (バッファヒストリの代わりに) 上下矢印キーで使えますか。
上下矢印キーをグローバルヒストリに割り当ててください (グローバルヒストリに対する デフォルトのキーは ctrl+↑ と ctrl+↓ です。
例:
/key bind meta2-A /input history_global_previous
/key bind meta2-B /input history_global_next
Note
|
"meta2-A" と "meta2-B" キーはターミナルによって異なります。 キーコードを 見つけるには alt+k の後にキー (上矢印又は下矢印) を押してください。 |
5. マウス
5.1. マウスが少しも動きません。どうすれば良いですか。
マウスのサポートは WeeChat 0.3.6 以上からです。
最初にマウスを有効化してください:
/mouse enable
これでマウスが動かない場合は、シェルの TERM 変数を確認してください
(ターミナル内で echo $TERM
の出力を見てください)。
ターミナルの種類によってはマウスがサポートされていない可能性があります。
マウスサポートをターミナルから確認するには:
$ printf '\033[?1002h'
ターミナルの最初の文字 (左上) をクリックしてください。" !!#!!" と見えるはずです。
ターミナルのマウスサポートを無効化するには:
$ printf '\033[?1002l'
5.2. マウスの位置座標 X 又は Y が 94 (または 222) よりも大きい場合にマウス機能が正しく動きません。
一部のターミナルではマウスの位置座標を指定するために ISO 文字だけを使います、 このため X/Y が 94 (または 222) よりも大きい場合は正しく動きません。
マウスの位置座標を指定するのに UTF-8 座標をサポートしているターミナルを使ってください、 例えば rxvt-unicode 等です。
5.3. WeeChat でマウスが利用可能な場合、ターミナルのテキストを選択したり、貼り付けるにはどうすれば良いですか。
WeeChat でマウスが利用可能な場合、shift キーを押しながらターミナルをクリックして選択してください、 マウスが無効化されます (例えば iTerm 等の場合、shift の代わりに alt を使ってください)。
6. IRC
6.1. SSL を使うサーバへの接続中に問題が発生しました。どうすればいいですか。
Mac OS X をお使いの場合、必ず curl-ca-bundle
をインストールして、WeeChat
で証明書へのパスを設定してください:
/set weechat.network.gnutls_ca_file "/usr/local/opt/curl-ca-bundle/share/ca-bundle.crt"
gnutls ハンドシェイクに関するエラーの場合、Diffie-Hellman キー (デフォルトは 2048) のサイズを小さくすることを試してみてください:
/set irc.server.freenode.ssl_dhkey_size 1024
証明書に関するエラーの場合、"ssl_verify" を無効化してください (接続の機密保護がより甘くなることに注意):
/set irc.server.freenode.ssl_verify off
6.2. SSL を使うサーバへの接続中に、"TLS handshake failed" というエラーだけが表示されます。どうすれば良いですか。
異なる優先順位文字列を試してみてください (WeeChat 0.3.5 以上)、 "xxx" はサーバ名に書き換えてください。
/set irc.server.xxx.ssl_priorities "NORMAL:-VERS-TLS-ALL:+VERS-TLS1.0:+VERS-SSL3.0:%COMPAT"
6.3. どうすれば SSL を使って freenode サーバに接続できますか。
オプション weechat.network.gnutls_ca_file に証明書ファイルへのパスを設定してください。
/set weechat.network.gnutls_ca_file "/etc/ssl/certs/ca-certificates.crt"
Note
|
設定したファイルが自分のシステムに存在することを確認してください (一般に "ca-certificates" パッケージで提供されます)。 |
サーバポート、SSL を設定の後に接続してください:
/set irc.server.freenode.addresses "chat.freenode.net/7000"
/set irc.server.freenode.ssl on
/connect freenode
6.4. どうすれば "oauth" が必要なサーバに接続出来ますか?
twitch などの一部のサーバは接続するために oauth が必要です。
oauth を使うにはパスワードを "oauth:XXXX" のように指定してください。
以下のコマンドでサーバを作成し、接続することができます (名前とアドレスは適当な値に変更してください):
/server add name irc.server.org -password=oauth:XXXX
/connect name
6.5. どうすればチャンネル参加前にニックネーム認証を行うことができますか。
サーバで SASL を利用可能なら、nickserv 認証のコマンドを送信するよりも SASL を利用する方が良いです。例えば:
/set irc.server.freenode.sasl_username "mynick"
/set irc.server.freenode.sasl_password "xxxxxxx"
If server does not support SASL, you can add a delay (between command and join of channels):
/set irc.server.freenode.command_delay 5
6.6. /ignore と /filter コマンドの違いは何ですか。
/ignore
コマンドは IRC コマンドです、このため IRC バッファ
(サーバとチャンネル) にのみ有効です。
これを使うことでニックネームやホストネームを基準にして、
あるサーバやチャンネルにいる一部のユーザを無視できます
(表示済みメッセージに対しては適用されません)。
マッチするメッセージは IRC プラグインによって表示される前に削除されます
(削除されたメッセージは見えません)。
/filter
コマンドは core コマンドです、このため任意のバッファに対してこれを有効化できます。
バッファ内の行のプレフィックスと内容に対して付けられたタグや正規表現にマッチする行をフィルタできます。
フィルタされた行は隠されているだけで、削除はされていません、
フィルタを無効化すれば見えるようになります (デフォルトでは alt+= でフィルタの有効無効の切り替えが出来ます)。
6.7. どうすれば IRC チャンネルへの参加/退出/終了メッセージをフィルタできますか。
スマートフィルタを使う場合 (最近発言したユーザの参加/退出/終了メッセージは表示):
/set irc.look.smart_filter on
/filter add irc_smart * irc_smart_filter *
グローバルフィルタを使う場合 (全ての 参加/退出/終了メッセージを隠す):
/filter add joinquit * irc_join,irc_part,irc_quit *
Note
|
ヘルプを見るには: /help filter か /help irc.look.smart_filter |
6.8. どうすれば IRC チャンネルに参加した際に表示される一部のメッセージをフィルタできますか。
WeeChat バージョン 0.4.1 以上の場合、irc.look.display_join_message
オプションを使って、チャンネル参加時に表示するメッセージの種類を選択できます
(より詳しい情報は /help irc.look.display_join_message
を参照)。
メッセージを隠す (ただしバッファに残す) には、タグを使ってメッセージをフィルタしてください
(たとえばチャンネル作成日時を隠すには irc_329 タグを使ってください)。フィルタの書き方に関する情報は
/help filter
を参照してください。
6.9. どうすれば voice メッセージをフィルタできますか (例えば Bitlbee サーバ上で)。
voice メッセージをフィルタするのは簡単ではありません、なぜなら voice モードの設定は同じ IRC メッセージの中で他のモード設定と同時に行われる可能性があるからです。
おそらく Bitlbee が voice を離席ユーザを表示するために利用するため、 voice メッセージでチャットエリアが溢れてしまうから、これをフィルタしたいのではないでしょうか。 この様な場合には、Bitlbee が離席状態を通知することを禁止し、WeeChat にニックネームリスト中に含まれる離席中のニックネームに対して特別な色を使わせることができます。
Bitlbee 3 以上の場合、以下のコマンドをチャンネル &bitlbee で入力:
channel set show_users online,away
Bitlbee の古いバージョンでは、以下のコマンドを &bitlbee で入力:
set away_devoice false
WeeChat で離席中のニックネームをチェックするには、 離席状態のニックネーム に関する質問を参照してください。
もし本当に voice メッセージをフィルタしたい場合は、以下のコマンドを使ってください、 ただしこれは完璧なものではありません (voice モードの変更が最初に指定されている場合のみ有効)。
/filter add hidevoices * irc_mode (\+|\-)v
6.10. どうすればニックネームリストから離席中のニックネームを確認できますか。
オプション irc.server_default.away_check に正の値を設定してください (離席状態確認のインターバルを分単位で)。
オプション irc.server_default.away_check_max_nicks を設定することで離席状態確認を小さなチャンネルのみに制限できます。
例えば、5 分間隔で離席状態確認を行い、25 人より多いチャンネルではこれを行わないようにするには:
/set irc.server_default.away_check 5
/set irc.server_default.away_check_max_nicks 25
Note
|
WeeChat 0.3.3 以下では、オプション名が irc.network.away_check と irc.network.away_check_max_nicks になっています。 |
6.11. どうすればあるチャンネルで自分が呼ばれたら警告できますか。
バージョン 1.0 以上では、デフォルトトリガ "beep" が設定されています。これはハイライトまたはプライベートメッセージを受け取った際に BEL を端末に送信します。このため、端末 (または screen/tmux などのマルチプレクサ) を設定して、BEL が発生した際にコマンドを実行させたり音を再生させることができます。
もしくは "beep" トリガにコマンドを追加することもできます:
/set trigger.trigger.beep.command "/print -beep;/exec -bg /path/to/command arguments"
古い WeeChat をお使いの場合、beep.pl や launcher.pl 等のスクリプトを使ってください。
launcher.pl の場合、コマンドの設定が必要です:
/set plugins.var.perl.launcher.signal.weechat_highlight "/path/to/command arguments"
この問題に対するその他のスクリプトは:
/script search notify
6.12. どうすればマージされたバッファ内であるコマンドを発行するターゲットバッファを変更できますか。
デフォルトのキーは ctrl+x です (コマンドは: /input switch_active_buffer
)。
7. プラグイン / スクリプト
7.1. OpenBSD と WeeChat を使っている場合、プラグインが 1 つもロードされません。
OpenBSD では、プラグインファイル名の末尾が ".so.0.0" です (Linux では ".so")。
以下の様に設定してください:
/set weechat.plugin.extension ".so.0.0"
/plugin autoload
7.2. どうすればスクリプトをインストールできますか。スクリプトは他の IRC クライアントと互換性がありますか。
スクリプトをインストールしたり管理するにはコマンド /script
を使ってください
(ヘルプは /help script
で見ることができます)。
スクリプトは他の IRC クライアントのものと互換性がありません。
8. 設定
8.1. どうすれば WeeChat のメモリ使用量を節約できますか。
メモリ使用量を減らすには以下のヒントを試してください:
-
最新の安定版を使う (古いバージョンよりもメモリリークの可能性が減ると思われます)
-
使わないプラグインのロードを禁止する、例えば: aspell、fifo、 logger、perl、python、ruby、lua、tcl、guile、xfer (DCC で使用)
-
本当に必要なスクリプトだけをロード
-
SSL を*使わない*なら、証明書を読み込まないでください: オプション weechat.network.gnutls_ca_file に空文字列を設定してください。
-
weechat.history.max_buffer_lines_number オプションの値を減らすか、 weechat.history.max_buffer_lines_minutes オプションに値を設定してください。
-
weechat.history.max_commands オプションの値を減らしてください。
8.2. どうすれば WeeChat の CPU 負荷を低減できますか?
以下に挙げる memory に関するヒントに従ってください:
-
"nicklist" バーを非表示にする:
/bar hide nicklist
-
ステータスバー時間に秒の表示を止める:
/set weechat.look.item_time_format "%H:%M"
(これはデフォルト値です) -
TZ 変数を設定する (例:
export TZ="Europe/Paris"
)、こうすることで /etc/localtime ファイルへ頻繁にアクセスしないようになります。
9. 開発
9.1. どのようにバグ報告、新機能のリクエスト、パッチ送信すればよいですか。
以下のページを参照してください: https://weechat.org/dev/support
9.2. gdb で WeeChat を実行する場合、スレッドに関するエラーが発生します。
gdb で WeeChat を実行する場合、以下のエラーが出るかもしれません:
$ gdb /path/to/weechat
(gdb) run
[Thread debugging using libthread_db enabled]
Cannot find new threads: generic error
これを修正するには、以下のコマンドを使って gdb を実行してください (システム上の libpthread と WeeChat へのパスを変更):
$ LD_PRELOAD=/lib/libpthread.so.0 gdb /path/to/weechat
(gdb) run
9.3. WeeChat をサポートするプラットフォームのリストを教えてください。他のオペレーティングシステムへの移植予定はありますか。
完全なリストはこのページにあります: https://weechat.org/download
我々は可能な限り多くのプラットフォームに移植することに最善を尽くしています。 我々が持っていない OS で WeeChat をテストすることを歓迎します。
9.4. どうすれば WeeChat 開発者を手伝えますか。
多くの課題があります (テスト、コード、ドキュメント作成、…)。
IRC かメールで連絡を取り、サポートページを確認してください: https://weechat.org/dev/support
9.5. WeeChat 開発者にお金か何かを贈りたいのですが。
開発補助のためお金を贈ることができます。 詳しいことは https://weechat.org/about/donate に載っています。