この文書は 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 は非常に軽く、革新的な機能を備えているからです。

WeeChat の機能に関するより詳しい情報: https://weechat.org/about/features

2. コンパイル / インストール

2.1. WeeChat には多くの GUI があると聞きました。コンパイル/利用方法を教えてください。

いくつかのリモート GUI が利用可能です、以下のリモートインターフェースに関するページを参照してください: https://weechat.org/about/interfaces

2.2. git リポジトリをクローンした後に WeeChat をコンパイルできません。

WeeChat をコンパイルするには CMake を使うことが推奨されています。

autotools を使って (CMake を使わずに) コンパイルする場合、最新の autoconf と automake を使ってください。

他には「開発パッケージ」をインストール方法があります。この場合、インストールするのに必要なパッケージの数が減ります。このパッケージは git リポジトリからほぼ毎日ビルドされます。このパッケージは厳密には git ベースではなく、アップデートをインストールする場合には git をクローンする方法よりも不便であることに注意してください。

2.3. どうすれば macOS に WeeChat をインストールできますか?

Homebrew を使うことをお勧めします、ヘルプを見るには:

brew info weechat

以下のコマンドで WeeChat をインストールします:

brew install weechat

2.4. WeeChat を起動しました。でも何をすればいいかわかりません。

ヘルプを見るには、/help と入力してください。コマンドに関するヘルプを見るには、/help command と入力してください。キーコマンドは文書中で説明されています。

新しいユーザはクイックスタートガイドを読むことをお勧めします

3. 表示

3.1. いくつかの文字が見えません。どうすれば良いですか。

これは良くある問題であり、様々な原因に起因しています。以下の内容をよく読んで、全ての 解決策をチェックしてください:

  • weechat が libncursesw にリンクされていることの確認 (警告: 全てではありませんが、ほとんどのディストリビューションで必要です): ldd /path/to/weechat

  • /plugin コマンドで "charset" プラグインがロード済みであることの確認 (ロードされていない場合、"weechat-plugins" パッケージが必要かもしれません)。

  • /charset コマンドの出力を確認 (core バッファ上で)。端末の文字セットとして ISO-XXXXXX または UTF-8 があるはずです。その他の値がある場合は、ロケールが間違っている可能性があります。
    ロケールを修正するには、locale -a を使ってインストール済みのロケールを確認し、$LANG に適切な値を設定してください。これを行うには export LANG=en_US.UTF-8 のようにします。

  • グローバルデコードを設定、例えば: /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 であることを確認してください (このオプションは表示上のバグを引き起こす可能性があります)

WeeChat は UTF-8 ロケールを推奨します。ISO またはその他のロケールを使う場合、全ての 設定 (端末、screen、..) が ISO であり、UTF-8 でない ことを確認してください。

3.2. 端末で表示されるユニコード文字が WeeChat では表示されない場合があります。なぜでしょうか。

この問題は libc の wcwidth 関数のバグによって引き起こされている可能性があります。これは glibc 2.22 で修正されているはずです (使用中のディストリビューションではまだ提供されていないかもしれません)

次の回避方法を使えば、修正済みの wcwidth 関数を使う事が可能です: https://blog.nytsoi.net/2015/05/04/emoji-support-for-weechat

より詳しい情報を得るにはバグ報告を参照してください: https://github.com/weechat/weechat/issues/79

3.3. タイトルやステータスバー等の背景色が行末ではなくテキストの最後で終わってしまいます。

シェルの TERM 変数に間違った値が設定されている可能性があります (端末で echo $TERM の出力を確認してください)。

WeeChat を起動した場所に依存しますが、以下の値を持つはずです:

  • WeeChat を screen および tmux を使わずにローカルまたはリモートマシンで実行している場合、使用中の端末に依存します: xtermxterm-256colorrxvt-unicoderxvt-256color、…​

  • WeeChat を screen 内で実行している場合、screen または screen-256color です、

  • WeeChat を tmux 内で実行している場合、tmuxtmux-256colorscreenscreen-256color です。

もし必要であれば、TERM 変数を修正してください: export TERM="xxx"

3.4. weechat を screen/tmux の中で使っている場合、おかしなランダム文字列が表示されます。どうすれば直りますか。

シェルの TERM 変数に間違った値が設定されている可能性があります (端末、screen/tmux の外echo $TERM の出力を確認してください)。
例えば、xterm-color の場合、おかしな文字列が表示される可能性があります。xterm と設定すればこのようなことは起こらないので (その他多くの値でも問題は起きません)、これを使ってください。
もし必要であれば、TERM 変数を修正してください: export TERM="xxx"

gnome-terminal を使っている場合、設定/プロファイル/互換性メニュー内にある「曖昧幅の文字」を 半角 にしてください。

3.5. macOS 上で WeeChat をコンパイルした場合、"(null)" という文字列が至る所に表示されます。

ncursesw を自分でコンパイルした場合は、標準の (システムに元から存在する) ncurses を使ってみてください。

さらに macOS では、Homebrew パッケージマネージャを使って WeeChat をインストールすることをお勧めします。

3.6. 「バッファ」と「ウィンドウ」の違いは何ですか。

バッファ とは番号、名前、表示行 (とその他のデータ) からなります。

ウィンドウ とはバッファを表示する画面エリアです。画面を複数のウィンドウに分割出来ます。

それぞれのウィンドウは 1 つのバッファの内容もしくは複数のバッファの内容をマージして表示します。バッファを隠す (ウィンドウで表示させない) ことや 1 つ以上のウィンドウに表示させることも出来ます。

3.7. どうすれば左側にバッファリストを表示できますか。

WeeChat バージョン 1.8 以上の場合、buflist プラグインがロードされ、デフォルトで有効化されます。

バージョン 1.8 よりも古い WeeChat をお使いなら、以下の方法で buffers.pl スクリプトをインストールしてください:

/script install buffers.pl

バッファリストバーのサイズを制限するには以下の方法を使ってください (buffers.pl スクリプトを使っているなら、"buflist" を "buffers" に置き換えてください):

/set weechat.bar.buflist.size_max 15

バッファリストバーの位置を下に移動するには以下の方法を使ってください:

/set weechat.bar.buflist.position bottom

buflist バーをスクロールする方法: マウスを有効化しているならば (キー: Alt+m)、マウスホイールでバッファリストバーをスクロールできます。

buflist バーをスクロールするデフォルトキーは F1 (または Ctrl+F1)、F2 (または Ctrl+F2)、Alt+F1Alt+F2 です。

buffers.pl スクリプトをお使いの場合、ニックネームリストをスクロールするキーと似たキーを割り当てることも可能です。
例えば、F1F2Alt+F1Alt+F2 を割り当てるには以下の方法を使います:

/key bind meta-OP /bar scroll buffers * -100%
/key bind meta-OQ /bar scroll buffers * +100%
/key bind meta-meta-OP /bar scroll buffers * b
/key bind meta-meta-OQ /bar scroll buffers * e
"meta-OP" と "meta-OQ" キーは端末によって異なります。キーコードを見つけるには Alt+k の後にキーを押してください。

3.8. どうすればチャットエリア内のニックネームの最大長さを短く、またはニックネーム整列機能を無効化できますか。

チャットエリアのニックネームの最大長を短くするには:

/set weechat.look.prefix_align_max 15

ニックネーム整列を抑制するには:

/set weechat.look.prefix_align none

3.9. ステータスバーに表示される [H: 3(1,8), 2(4)] の意味を教えてください。

これは「ホットリスト」と呼ばれ、ここにはバッファ番号およびそのバッファの未読メッセージカウンタが表示されます。未読メッセージカウンタの表示順はハイライト、プライベートメッセージ、一般メッセージ、その他のメッセージ (参加/退出メッセージなど) の順です。
バッファの「未読メッセージ」とは、最後にそのバッファにフォーカスが移された以降に表示されたり受信した新しいメッセージを意味します。

上記の例 [H: 3(1,8), 2(4)] の場合:

  • バッファ 3 番にハイライトが 1 通、未読が 8 通あり、

  • バッファ 2 番に未読が 4 通あることを意味します。

バッファおよびカウンタのテキスト色はメッセージの種類を意味します。色のデフォルト設定は以下です:

  • ハイライト: lightmagenta および magenta

  • プライベートメッセージ: lightgreen および green

  • 一般メッセージ: yellow および brown

  • その他のメッセージ: default および default (端末のテキスト色)

これらの色を変えるには、weechat.color.status_data_* オプション (バッファ) および weechat.color.status_count_* オプション (カウンタ) を設定します。
その他のホットリスト関連オプションは weechat.look.hotlist_* オプションを使って変更します。

ホットリストに関する詳しい情報はユーザーズガイド / 画面レイアウトを参照してください

3.10. コマンドラインの行数を増やすにはどうすればいいですか。

インプットバーの size オプションには 1 (サイズ固定、デフォルト値) 以上の値または動的なサイズの意味で 0 を設定できます。size_max オプションではサイズの最大値を設定できます (0 = 制限なし)。

動的サイズを設定する例:

/set weechat.bar.input.size 0

サイズの最大値を 2 に設定:

/set weechat.bar.input.size_max 2

3.11. 全てのウィンドウに対して入力バーの数を 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.12. どうすればニックネームリストを選択せずにテキストだけをコピー/ペーストできますか。

WeeChat バージョン 1.0 以上の場合、最小限表示を使うことができます (デフォルトキー: Alt+l (L))。 最小限表示では現在選択中のウィンドウの内容のみが表示され、フォーマットもされません。

矩形選択のできる端末を使ってください (rxvt-unicode、konsole、gnome-terminal、…​)。通常、キーは Ctrl + Alt + マウス選択です。

別の解決策はニックネームリストを上か下かに移動することです、例えば:

/set weechat.bar.nicklist.position top

3.13. どうすれば長い (一行以上に渡る) URL をクリックできますか。

WeeChat バージョン 1.0 以上の場合、最小限表示を使うことができます (デフォルトキー: Alt+l (L))。

URL を簡単にクリックできるようにするには、以下を試してみてください:

  • ニックネームリストを上方に移動します:

/set weechat.bar.nicklist.position top
  • 複数行に渡る単語の整列を無効化します (WeeChat バージョン 1.7 以上の場合):

/set weechat.look.align_multiline_words off
  • もしくは、すべての折り返された行について整列を無効化します:

/set weechat.look.align_end_of_lines time

WeeChat バージョン 0.3.6 以上の場合、"eat_newline_glitch" オプションを有効化できます。これを有効化すると、表示行の行末に改行文字が入らなくなります (url 選択を邪魔しません)。

/set weechat.look.eat_newline_glitch on
このオプションには表示上の問題を引き起こす可能性があります。表示上の問題が起きた場合はこのオプションを無効化してください。

別の解決策として、スクリプトを利用することもできます:

/script search url

3.14. WeeChat が出力するメッセージの言語を、再起動せずに変更したいです。このようなことは可能ですか。

Sure it is possible:

/set env LANG ja_JP.UTF-8
/upgrade

3.15. How can I change the timezone?

There is no option in WeeChat to change the timezone, the environment variable TZ must be set to the appropriate value.

In your shell initialization file or on command line, before starting WeeChat:

export TZ=Asia/Tokyo

In WeeChat, the new value is immediately used:

/set env TZ Asia/Tokyo

3.16. どうすれば WeeChat で 256 色が使えますか。

WeeChat バージョン 0.3.4 以上の場合、256 色がサポートされます。

最初に TERM 環境変数が正しいことを確認してください、お勧めの値は:

  • screen 内の場合: screen-256color

  • tmux 内の場合: screen-256color または tmux-256color

  • screen および tmux の外の場合: xterm-256colorrxvt-256colorputty-256color、…​

これらの値を TERM に設定するには、"ncurses-term" パッケージをインストールする必要があるかもしれません。

screen を使っている場合は、以下の行を ~/.screenrc に追加してください:

term screen-256color

TERM 変数が間違った値に設定された状態で WeeChat が起動完了している場合は、以下の 2 つのコマンドを使って変数の値を変更してください (WeeChat バージョン 1.0 以上で利用可):

/set env TERM screen-256color
/upgrade

WeeChat バージョン 0.3.4 の場合、新しい色を追加するには /color コマンドを使ってください。

WeeChat バージョン 0.3.5 以上の場合、任意の色番号を利用できます (オプション: 色の別名を追加するには /color コマンドを使ってください)。

色管理に関するより詳しい情報はユーザーズガイド / 色を参照してください

3.17. どうすればバッファ内の文字列を検索できますか (irssi の /lastlog の様に)。

デフォルトのキーは Ctrl+r です (コマンドは: /input search_text_here)。 ハイライト部分へのジャンプは: Alt+p / Alt+n

この機能に関するより詳しい情報はユーザーズガイド / デフォルトのキー割り当てを参照してください

3.18. どうすれば端末にフォーカスが合った時や外れた時にコマンドを実行できますか。

端末に特殊コードを送信してフォーカスイベントを必ず有効化してください。

重要:

  • 必ず最新の xterm 互換の端末を使ってください。

  • 加えて、TERM 環境変数を xterm または xterm-256color にすることが重要かもしれません。

  • tmux を使っているなら、必ず set -g focus-events on.tmux.conf に追加して、フォーカスイベントを有効化してください。

  • screen ではこの機能を 使えません

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

端末のフォーカスが外れた時点でバッファに未読マークをつける例:

/key bind meta2-O /input set_unread

3.19. WeeChat を screen の内部で実行している場合、別の screen ウィンドウ内にペーストされるテキストの周りに ~0 と ~1 が追加されます。なぜでしょうか。

scrreen がデフォルトで有効化されている括弧付きペーストオプションの挙動を別のウィンドウ内で適切に処理できないことが原因です。

括弧付きペーストモードを無効化するには以下のコマンドを使います:

/set weechat.look.paste_bracketed off

3.20. How can I customize display for very small terminal size (like 80x25), to not waste space?

You can remove side bars (buflist and nicklist), change time format to display only hours and seconds, disable alignment of messages and set a char for nick prefix/suffix:

/set buflist.look.enabled off
/bar hide nicklist
/set weechat.look.buffer_time_format "%H:%M"
/set weechat.look.prefix_align none
/set weechat.look.align_end_of_lines prefix
/set weechat.look.nick_suffix ">"
/set weechat.look.nick_prefix "<"

Terminal 80x25, with default configuration:

┌────────────────────────────────────────────────────────────────────────────────┐
│1.local     │Welcome on WeeChat channel!                                        │
│  weechat   │16:27:16        --> | FlashCode (~flashcode@localhost)  │@FlashCode│
│2.  #weechat│                    | has joined #weechat               │ bob      │
│            │16:27:16         -- | Mode #weechat [+nt] by hades.arpa │          │
│            │16:27:16         -- | Channel #weechat: 1 nick (1 op, 0 │          │
│            │                    | voices, 0 normals)                │          │
│            │16:27:18         -- | Channel created on Sun, 22 Mar    │          │
│            │                    | 2020 16:27:16                     │          │
│            │17:02:28        --> | bob (~bob_user@localhost) has     │          │
│            │                    | joined #weechat                   │          │
│            │17:03:12 @FlashCode | hi bob, you're the first user     │          │
│            │                    | here, welcome on the WeeChat      │          │
│            │                    | support channel!                  │          │
│            │17:03:33        bob | hi FlashCode                      │          │
│            │                                                        │          │
│            │                                                        │          │
│            │                                                        │          │
│            │                                                        │          │
│            │                                                        │          │
│            │                                                        │          │
│            │                                                        │          │
│            │                                                        │          │
│            │                                                        │          │
│            │[17:04] [2] [irc/local] 2:#weechat(+nt){2}                         │
│            │[@FlashCode(i)] █                                                  │
└────────────────────────────────────────────────────────────────────────────────┘

Terminal 80x25, after changes:

┌────────────────────────────────────────────────────────────────────────────────┐
│Welcome on WeeChat channel!                                                     │
│16:27 --> FlashCode (~flashcode@localhost) has joined #weechat                  │
│16:27 -- Mode #weechat [+nt] by hades.arpa                                      │
│16:27 -- Channel #weechat: 1 nick (1 op, 0 voices, 0 normals)                   │
│16:27 -- Channel created on Sun, 22 Mar 2020 16:27:16                           │
│17:02 --> bob (~bob_user@localhost) has joined #weechat                         │
│17:03 <@FlashCode> hi bob, you're the first user here, welcome on the WeeChat   │
│      support channel!                                                          │
│17:03 <bob> hi FlashCode                                                        │
│                                                                                │
│                                                                                │
│                                                                                │
│                                                                                │
│                                                                                │
│                                                                                │
│                                                                                │
│                                                                                │
│                                                                                │
│                                                                                │
│                                                                                │
│                                                                                │
│                                                                                │
│                                                                                │
│[17:04] [2] [irc/local] 2:#weechat(+nt){2}                                      │
│[@FlashCode(i)] █                                                               │
└────────────────────────────────────────────────────────────────────────────────┘

4. キー割り当て

4.1. いくつかのメタキーが (alt + key) が動きません。

xterm や uxterm 等の端末を利用している場合、いくつかのメタキーはデフォルトでは利用できません。以下の行を ~/.Xresources に追加してください:

  • xterm の場合:

XTerm*metaSendsEscape: true
  • uxterm の場合:

UXTerm*metaSendsEscape: true

このファイルをリロードするか (xrdb -override ~/.Xresources) または X を再起動してください。

macOS のターミナル.app を使っている場合、設定メニューのキーボードから「メタキーとして option キーを使用」を有効化してください。こうすることで、Option キーをメタキーとして使うことが可能です。

4.2. どうすればキー割り当てをカスタマイズできますか。

キー割り当ては /key コマンドでカスタマイズできます。

デフォルトキー Alt+k でキーコードを取り込み、これをコマンドラインに入力できます。

4.3. バッファ 11 番 (またはそれ以上の番号) にジャンプするキーは何ですか。

キー Alt+j の後に 2 桁の数字を入力します、例えば Alt+j その後に 11 でバッファ 11 番にジャンプします。

これにキーを割り当てることが出来ます、例えば:

/key bind meta-q /buffer *11

デフォルトキー割り当てのリストはユーザーズガイド / デフォルトのキー割り当てを参照してください

番号 100 以上のバッファにジャンプするには、以下のトリガを定義してください。こうすることでコマンド /123 でバッファ #123 にジャンプできるようになります:

/trigger add numberjump modifier "2000|input_text_for_buffer" "${tg_string} =~ ^/[0-9]+$" "=\/([0-9]+)=/buffer *${re:1}=" "" "" "none"

4.4. どうすればグローバルヒストリを (バッファヒストリの代わりに) 上下矢印キーで使えますか。

上下矢印キーをグローバルヒストリに割り当ててください (グローバルヒストリに対するデフォルトのキーは Ctrl+Ctrl+ です。

例:

/key bind meta2-A /input history_global_previous
/key bind meta2-B /input history_global_next
"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 を使うサーバへの接続中に問題が発生しました。どうすればいいですか。

macOS をお使いの場合、必ず Homebrew から openssl をインストールしてください。こうすることでシステムの鍵束に含まれる証明書を使いつつ、CA ファイルを起動時に読み込ませることが可能になります。その後、WeeChat で証明書へのパスを設定してください:

/set weechat.network.gnutls_ca_file "/usr/local/etc/openssl/cert.pem"

gnutls ハンドシェイクに関するエラーの場合、Diffie-Hellman キー (デフォルトは 2048) のサイズを小さくすることを試してみてください:

/set irc.server.example.ssl_dhkey_size 1024

証明書に関するエラーの場合、"ssl_verify" を無効化してください (接続の機密保護がより甘くなることに注意):

/set irc.server.example.ssl_verify off

サーバが不正な証明書を持っており、正常な証明書がどのようなものであるかわかっている場合、証明書の指紋を設定しておくことが可能です (SHA-512、SHA-256、SHA-1):

/set irc.server.example.ssl_fingerprint 0c06e399d3c3597511dc8550848bfd2a502f0ce19883b728b73f6b7e8604243b

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"

注意: macOS 上で homebrew を使って openssl をインストールした場合には、以下のコマンドを実行してください:

/set weechat.network.gnutls_ca_file "/usr/local/etc/openssl/cert.pem"
設定したファイルが自分のシステムに存在することを確認してください (一般に "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"

対象のサーバが SASL をサポートしない場合、コマンドとチャンネル参加の間に遅延時間を入れることもできます:

/set irc.server.freenode.command_delay 5

6.6. どうすれば自動参加オプションにチャンネルを追加/削除できますか。

/set コマンドを使って、自動参加チャンネルのリストを編集してください。"freenode" サーバに対してこれを実行するには以下のようにします:

/set irc.server.freenode.autojoin [TAB]
Tab キーを使うことで、オプションの名前と値を補完できます (もしくは Shift+Tab キーで部分補完、オプション名を補完する際に便利です)。
チャンネルをすべて入力する必要はありません。

もしくは /fset コマンドを使うことで、チャンネルのリストを編集できます:

/fset autojoin

専用のスクリプトを使うこともできます:

/script search autojoin

6.7. /ignore と /filter コマンドの違いは何ですか。

/ignore コマンドは IRC コマンドです、このため IRC バッファ (サーバとチャンネル) にのみ有効です。これを使うことでニックネームやホスト名を基準にして、あるサーバやチャンネルにいる一部のユーザを無視できます (表示済みメッセージに対しては適用されません)。マッチするメッセージは IRC プラグインによって表示される前に削除されます (無視設定されたものは完全に見えなくなります。無視設定を元に戻すには、無視エントリを削除してください)。

/filter コマンドは WeeChat のコアコマンドです。このため、このコマンドの結果は任意のバッファに適用されます。バッファ内の行のプレフィックスと内容に基づいて付けられたタグや正規表現にマッチする行をフィルタすることが可能です。 フィルタされた行は隠されているだけで削除されているわけではありません。このため、フィルタを無効化 (デフォルトでは Alt+= でフィルタの有効無効を切り替えられます) すれば見ることが可能です。

6.8. どうすれば IRC チャンネルへの参加/退出/終了メッセージをフィルタできますか。

スマートフィルタを使う場合 (最近発言したユーザの参加/退出/終了メッセージは表示):

/set irc.look.smart_filter on
/filter add irc_smart * irc_smart_filter *

グローバルフィルタを使う場合 (全ての 参加/退出/終了メッセージを隠す):

/filter add joinquit * irc_join,irc_part,irc_quit *
ヘルプを見るには /help filter/help irc.look.smart_filterユーザーズガイド / 参加/退出/終了メッセージに対するスマートフィルタ を使ってください。

6.9. どうすれば IRC チャンネルに参加した際に表示される一部のメッセージをフィルタできますか。

WeeChat バージョン 0.4.1 以上の場合、irc.look.display_join_message オプションを使って、チャンネル参加時に表示するメッセージの種類を選択できます (より詳しい情報は /help irc.look.display_join_message を参照)。

メッセージを隠す (ただしバッファに残す) には、タグを使ってメッセージをフィルタしてください (たとえばチャンネル作成日時を隠すには irc_329 タグを使ってください)。フィルタの書き方に関する情報は /help filter を参照してください。

6.10. どうすれば 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.11. どうすればニックネームリストから離席中のニックネームを確認できますか。

オプション 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
WeeChat 0.3.3 以下では、オプション名が irc.network.away_checkirc.network.away_check_max_nicks になっています。

6.12. どうすればあるチャンネルで自分が呼ばれたら警告できますか。

WeeChat バージョン 1.0 以上の場合、デフォルトトリガ "beep" が設定されています。これはハイライトまたはプライベートメッセージを受け取った際に BEL を端末に送信します。このため、端末 (または screen/tmux などのマルチプレクサ) を設定して、BEL が発生した際にコマンドを実行させたり音を再生させることができます。

もしくは "beep" トリガにコマンドを追加することもできます:

/set trigger.trigger.beep.command "/print -beep;/exec -bg /path/to/command arguments"

古い WeeChat をお使いの場合、beep.pllauncher.pl 等のスクリプトを使ってください。

launcher.pl の場合、コマンドの設定が必要です:

/set plugins.var.perl.launcher.signal.weechat_highlight "/path/to/command arguments"

この問題に対するその他のスクリプトは:

/script search notify

6.13. 特定のニックネームのみハイライトを無効化する方法を教えてください。

WeeChat バージョン 0.3.4 以上の場合、hotlist_max_level_nicks_add バッファプロパティを使うことで、ニックネーム単位、バッファ単位、バッファグループ単位 (IRC サーバ単位) でホットリストレベルの最大値を設定できます。

ハイライトを無効化するだけなら、このプロパティを 2 に設定してください:

/buffer set hotlist_max_level_nicks_add joe:2,mike:2

このバッファプロパティは設定に保存されません。このバッファプロパティを自動的に適用するには、buffer_autoset.py スクリプトが必要です:

/script install buffer_autoset.py

例えば、IRC サーバ freenode のチャンネル #weechat に参加している "mike" の発言に対してハイライトを永久的に無効化するには以下のように設定します:

/buffer_autoset add irc.freenode.#weechat hotlist_max_level_nicks_add mike:2

この設定をすべての freenode サーバのバッファに対して適用するには以下のように設定します:

/buffer_autoset add irc.freenode hotlist_max_level_nicks_add mike:2

これ以外の例は /help buffer_autoset を参照してください。

6.14. どうすればマージされたバッファ内であるコマンドを発行するターゲットバッファを変更できますか。

デフォルトのキーは 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 クライアントと互換性がありますか。

WeeChat バージョン 0.3.9 以上の場合、コマンド /script を使うことで、スクリプトをインストールしたり管理することができます (ヘルプは /help script で見ることができます)。それよりも古いバージョンでは weeget.py と script.pl を使ってください。

スクリプトは他の IRC クライアントのものと互換性がありません。

7.3. コマンド "/script update" でスクリプトを読み込むことができません。どうすればいいですか。

手始めに、この FAQ の SSL 接続に関する質問を確認してください (特にオプション weechat.network.gnutls_ca_file に関する質問)。

それでもだめなら、手作業で (シェルから) スクリプトリストファイルを削除してください:

$ rm ~/.weechat/script/plugins.xml.gz

その後、WeeChat からスクリプトリストを更新してください:

/script update

それでもまだエラーが出るなら、WeeChat に含まれるファイルの自動更新を無効化して、WeeChat を使わずに手作業でファイルをダウンロードしなければいけません (つまり、更新を入手するには自分自身でそのファイルを更新しなければいけないということです):

  • WeeChat から WeeChat のファイル自動更新機能を無効化します:

/set script.scripts.cache_expire -1
  • シェルからスクリプトリストファイルをダウンロードします (必要なら curl をインストールしてください):

$ cd ~/.weechat/script
$ curl -O https://weechat.org/files/plugins.xml.gz

7.4. システムに aspell 辞書をインストールした後、WeeChat を再起動せずにそれを使う方法を教えてください。

spell プラグインをリロードしてください:

/plugin reload spell
WeeChat バージョン 2.4 以下では "spell" プラグインは "aspell" と呼ばれていたため、コマンドは以下のようになります: /plugin reload aspell.

8. 設定

8.1. 手作業で設定ファイル (*.conf) を編集することは可能ですか。

可能ですが、非推奨 です。

その代わり WeeChat 内でコマンド /set を使うことを推奨します。その理由は:

  • Tab キー を使ってオプションの名前と値を補完できるからです (さらに Shift+Tab キーを使えばオプション名の補完に役立つ部分補完もできるからです)

  • 設定しようとした値は検証され、値に問題があった場合にはメッセージが表示されるからです

  • 設定した値はすぐに反映され、再起動の必要もないからです

それでもなお手作業で設定ファイルを編集したいなら、以下の点に注意してください:

  • あるオプションに対して不正な値を設定した場合、WeeChat は設定ファイルのロード時にエラーを表示し、その値を破棄します (そのオプションのデフォルト値が使われます)

  • WeeChat が実行中の場合には、必ずコマンド /reload を実行してください。設定が変更されその変更をコマンド /save で保存していなかった場合、これらの設定の変更内容は破棄されます

8.2. どうすれば WeeChat のメモリ使用量を節約できますか。

メモリ使用量を減らすには以下のヒントを試してください:

  • 最新の安定版を使う (古いバージョンよりもメモリリークの可能性が減ると思われます)

  • 使わないプラグインのロードを禁止する、例えば: buflist、fifo、logger、perl、python、ruby、lua、tcl、guile、javascript、php、spell、xfer (DCC で使用)。 /help weechat.plugin.autoload を参照してください。

  • 本当に必要なスクリプトだけをロード

  • SSL を 使わない なら、証明書を読み込まないでください: オプション weechat.network.gnutls_ca_file に空文字列を設定してください。

  • weechat.history.max_buffer_lines_number オプションの値を減らすか、weechat.history.max_buffer_lines_minutes オプションに値を設定してください。

  • weechat.history.max_commands オプションの値を減らしてください。

8.3. どうすれば WeeChat の CPU 負荷を低減できますか?

以下に挙げる memory に関するヒントに従ってください:

  • "nicklist" バーを非表示にする: /bar hide nicklist

  • ステータスバー時間に秒の表示を止める: /set weechat.look.item_time_format "%H:%M" (これはデフォルト値です)

  • コマンドライン内の単語スペルミスのリアルタイムチェックを無効にする (有効にしていた場合): /set spell.check.real_time off

  • TZ 変数を設定する (例: export TZ="Europe/Paris")、こうすることで /etc/localtime ファイルへ頻繁にアクセスしないようになります。

8.4. セキュリティを気にしています。セキュリティを高めるためにはどの設定を変更すればよいですか?

IRC の退出および終了メッセージを無効化します:

/set irc.server_default.msg_part ""
/set irc.server_default.msg_quit ""

すべての CTCP クエリに対する応答を無効化します:

/set irc.ctcp.clientinfo ""
/set irc.ctcp.finger ""
/set irc.ctcp.source ""
/set irc.ctcp.time ""
/set irc.ctcp.userinfo ""
/set irc.ctcp.version ""
/set irc.ctcp.ping ""

"xfer" プラグイン (これは IRC DCC 機能を使うためのものです) をアンロードして自動ロードを無効化します:

/plugin unload xfer
/set weechat.plugin.autoload "*,!xfer"

パスフレーズを定義してパスワードなどの保護したいデータの使用時は常にセキュアデータを使います: /help secure およびセキュアデータを使用したいオプションの /help を参照してください (セキュアデータを使うことが可能なオプションのヘルプにはこの点が明記されています)。 ユーザーズガイド / 暗号化データ を参照してください。

例:

/secure passphrase xxxxxxxxxx
/secure set freenode_username username
/secure set freenode_password xxxxxxxx
/set irc.server.freenode.sasl_username "${sec.data.freenode_username}"
/set irc.server.freenode.sasl_password "${sec.data.freenode_password}"

8.5. WeeChat の設定を共有したいのですが、公開しても良いファイルと秘密にしておくべきファイルを教えてください。

~/.weechat/*.conf ファイルは公開しても問題ありませんが、 パスフレーズで暗号化されたパスワードが含まれる sec.conf ファイルは秘密にしてください。

サーバおよびチャンネルパスワード等の機密情報を /secure コマンドで sec.conf に保存していない場合、これらの情報は irc.conf などのファイルに保存されます。

設定ファイルに関する詳しい情報はユーザーズガイド / ファイルとディレクトリを参照してください。

9. 開発

9.1. どのようにバグ報告、新機能のリクエスト、パッチ送信すればよいですか。

以下のページを参照してください: https://weechat.org/about/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/about/support

開発補助のためお金を贈ることができます。詳しいことは https://weechat.org/donate に載っています。