Author: Sébastien Helleu

# WeeChat FAQ (よくある質問)

Sébastien Helleu
flashcode@flashtux.org
バージョン 4.9.4

## 1. 一般

### 1.1. "WeeChat" という名前の由来は何ですか?

"Wee" は再帰的頭字語で、"Wee Enhanced Environment" の略です。そのため、完全な名前は "Wee Enhanced Environment for Chat" です。

"Wee" はまた「とても小さい」を意味します。(もちろん、その他の意味もありますが、それは WeeChat とは関係ありませんよ!)。

### 1.2. WeeChat を選ぶ理由は何ですか? X-Chat や Irssi は最高なのに…​

WeeChat は非常に軽く、革新的な機能を備えているからです。

More info on the WeeChat features page ↗.

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

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

Some remote GUIs are available, see the remote interfaces page ↗.

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

WeeChat must be compiled with CMake.

Please follow build instructions ↗ and ensure all required dependencies are installed.

If you still have issues, please report them to the developers.

### 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 ↗.

See this bug report ↗ for more information.

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

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

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

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

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

- WeeChat を tmux 内で実行している場合、tmux、tmux-256color、screen、screen-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. どうすれば左側にバッファリストを表示できますか。

The plugin buflist ↗ is loaded and enabled by default.

To limit size of bar:

    /set weechat.bar.buflist.size_max 15

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

    /set weechat.bar.buflist.position bottom

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

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

### 3.8. How can I customize the list of buffers list, like the color of the active buffer?

You can browse all buflist options with the command:

    /fset buflist

The background of the active buffer is blue by default, you can change it like this, for example to `red`:

    /set buflist.format.buffer_current "${color:,red}${format_buffer}"

注記 | There’s a comma before the color name "red" because it is used as the background, not the text color. You can also use any numeric color instead of `red`, like `237` for dark gray.

The buflist plugin provides lot of options that you can customize, please read the help on each option.

There’s also a wiki page ↗ with examples of advanced buflist configuration.

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

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

    /set weechat.look.prefix_align_max 15

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

    /set weechat.look.prefix_align none

### 3.10. ステータスバーに表示される [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.11. コマンドラインの行数を増やすにはどうすればいいですか。

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

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

    /set weechat.bar.input.size 0

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

    /set weechat.bar.input.size_max 2

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

You can use the bare display (default key: `Alt`+`l` (`L`)), which shows just the contents of the currently selected window, without any formatting.

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

You can toggle nicklist and make it visible only when needed, with key `Alt`+`Shift`+`N`.

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

    /set weechat.bar.nicklist.position top
    /set weechat.bar.nicklist.size_max 8

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

You can use the bare display (default key: `Alt`+`l` (`L`)).

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

- toggle nicklist and make it visible only when needed, with key `Alt`+`Shift`+`N`

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

    /set weechat.bar.nicklist.position top
    /set weechat.bar.nicklist.size_max 8

- 複数行に渡る単語の整列を無効化します:

    /set weechat.look.align_multiline_words off

- もしくは、すべての折り返された行について整列を無効化します:

    /set weechat.look.align_end_of_lines time

You can enable option "eat_newline_glitch", so that new line char is not added at the end of each line displayed (it will not break URL selection):

    /set weechat.look.eat_newline_glitch on

重要 | このオプションには表示上の問題を引き起こす可能性があります。表示上の問題が起きた場合はこのオプションを無効化してください。

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

    /script search url

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

Sure it is possible:

    /set env LANG ja_JP.UTF-8
    /upgrade

### 3.16. 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.17. どうすれば WeeChat で 256 色が使えますか。

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

- screen 内の場合: screen-256color

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

- screen および tmux の外の場合: xterm-256color、rxvt-256color、putty-256color、…​

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

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

    term screen-256color

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

    /set env TERM screen-256color
    /upgrade

You can use any color number in options (optional: you can add color aliases with command `/color`).

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

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

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

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

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

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

重要:

- 必ず最新の 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 meta-[I /print -core focus
    /key bind meta-[O /print -core unfocus

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

    /key bind meta-[O /allbuf /buffer set unread

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

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

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

    /set weechat.look.paste_bracketed off

### 3.21. 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 minutes, 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. Some keys including Enter are not working, why?

If you run a WeeChat < 4.0.0 with configuration files created by any version ≥ 4.0.0, the keys names become invalid and many keys won’t work at all.
To repair them, exit WeeChat, remove all sections `[key*]` from weechat.conf and start WeeChat again: all default keys will be created.

### 4.3. Key F11 maximizes the terminal window, how can I scroll up the nicklist?

The key `F11` is commonly used by terminals to maximize the window, and `F11`/`F12` are the default keys in WeeChat to scroll the nicklist.

You can bind other keys, for example `Shift`+`F11` and `Shift`+`F12`, with WeeChat ≥ 4.0.0:

    /key bind shift-f11 /bar scroll nicklist * -100%
    /key bind shift-f12 /bar scroll nicklist * +100%

Other solution is to enable mouse (key: `Alt`+`m`) and scroll with the mouse wheel (see also questions about mouse).

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

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

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

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

キー `Alt`+`j` の後に 2 桁の数字を入力します、例えば `Alt`+`j` その後に `1`、`1` でバッファ 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"

For an easy jump to buffers, you can also install the go.py script:

    /script install go.py

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

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

例:

    /key bind up /input history_global_previous
    /key bind down /input history_global_next

With WeeChat ≤ 3.8, you must use the raw key code (press `Alt`+`k` then key to display its code):

    /key bind meta2-A /input history_global_previous
    /key bind meta2-B /input history_global_next

## 5. マウス

### 5.1. マウスが少しも動きません。どうすれば良いですか。

最初にマウスを有効化してください:

    /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. TLS を使うサーバへの接続中に問題が発生しました。どうすればいいですか。

macOS をお使いの場合、必ず Homebrew から `openssl` をインストールしてください。こうすることでシステムの鍵束に含まれる証明書を使いつつ、CA

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

    /set irc.server.example.tls_dhkey_size 1024

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

    /set irc.server.example.tls_verify off

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

    /set irc.server.example.tls_fingerprint 0c06e399d3c3597511dc8550848bfd2a502f0ce19883b728b73f6b7e8604243b

### 6.2. TLS を使うサーバへの接続中に、"TLS handshake failed" というエラーだけが表示されます。どうすれば良いですか。

You can try a different priority string, replace "xxx" by your server name:

    /set irc.server.xxx.tls_priorities "NORMAL:%COMPAT"

### 6.3. どうすれば TLS を使って libera サーバに接続できますか。

Check that you have certificates installed on your system, this is commonly provided by the package "ca-certificates".

サーバポート、TLS を設定の後に接続してください:

    /set irc.server.libera.addresses "irc.libera.chat/6697"
    /set irc.server.libera.tls on
    /connect libera

### 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.libera.sasl_username "mynick"
    /set irc.server.libera.sasl_password "xxxxxxx"

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

    /set irc.server.libera.command_delay 5

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

With WeeChat ≥ 3.5, you can automatically record the channels you manually join and part in the "autojoin" server option.

For all servers:

    /set irc.server_default.autojoin_dynamic on

For a single server:

    /set irc.server.libera.autojoin_dynamic on

You can also add the current channel in the "autojoin" server option using the `/autojoin` command:

    /autojoin add

Or another channel:

    /autojoin add #test

There are also scripts:

    /script search autojoin

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

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

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

### 6.8. How can I filter join/part/quit and other annoying messages on IRC channels?

See User’s guide / IRC smart filter ↗.

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

You can choose which messages are displayed when joining a channel with the option irc.look.display_join_message (see `/help irc.look.display_join_message` for more info).

メッセージを隠す (ただしバッファに残す) には、タグを使ってメッセージをフィルタしてください (たとえばチャンネル作成日時を隠すには 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

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

There is a default trigger "beep" which sends a BEL to the terminal on a highlight or private message. Thus you can configure your terminal (or multiplexer like screen/tmux) to run a command or play a sound when a BEL occurs.

もしくは "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.13. 特定のニックネームのみハイライトを無効化する方法を教えてください。

You can use the hotlist_max_level_nicks_add ↗ buffer property to set the max hotlist level for some nicks, per buffer, or per group of buffers (like IRC servers).

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

For the current buffer:

    /buffer setauto hotlist_max_level_nicks_add joe:2,mike:2

For all channels on server "libera":

    /set weechat.buffer.irc.libera.*.hotlist_max_level_nicks_add joe:2,mike:2

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

デフォルトのキーは `Ctrl`+`x` です (コマンドは: `/buffer switch`)。

## 7. プラグイン / スクリプト

### 7.1. OpenBSD と WeeChat を使っている場合、プラグインが 1 つもロードされません。

OpenBSD では、プラグインファイル名の末尾が ".so.0.0" です (Linux では ".so")。

以下の様に設定してください:

    /set weechat.plugin.extension ".so.0.0"
    /plugin autoload

### 7.2. どうすればスクリプトをインストールできますか。スクリプトは他の IRC クライアントと互換性がありますか。

You can use the command `/script` to install and manage scripts (see `/help script` for help).

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

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

手始めに、この FAQ の TLS 接続に関する質問を確認してください。

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

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

注記 | If you are not using the XDG directories, the path could be: ~/.weechat/script/plugins.xml.gz.

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

    /script update

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

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

    /set script.scripts.cache_expire -1

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

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

If you’re running macOS and the downloaded file has a size of 0 bytes, try to set this variable in your shell initialization file or on command line, before starting WeeChat:

    export OBJC_DISABLE_INITIALIZE_FORK_SAFETY=YES

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

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

    /plugin reload spell

## 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` を参照してください。

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

- Do not load system certificates if TLS is NOT used: turn off this option: weechat.network.gnutls_ca_system.

- 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` (key: `Alt`+`Shift`+`N`).

- Disable "buflist": `/buflist disable` (key: `Alt`+`Shift`+`B`).

- ステータスバー時間に秒の表示を止める: `/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.source ""
    /set irc.ctcp.time ""
    /set irc.ctcp.version ""
    /set irc.ctcp.ping ""

With WeeChat < 4.1.0, other CTCP queries were replied by default and must be disabled as well:

    /set irc.ctcp.finger ""
    /set irc.ctcp.userinfo ""

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

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

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

例:

    /secure passphrase xxxxxxxxxx
    /secure set libera_username username
    /secure set libera_password xxxxxxxx
    /set irc.server.libera.sasl_username "${sec.data.libera_username}"
    /set irc.server.libera.sasl_password "${sec.data.libera_password}"

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

You can share configuration files *.conf except the file sec.conf which contains your passwords ciphered with your passphrase.

Some other files may contain sensitive info like passwords (if they are not stored in sec.conf with the `/secure` command).

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

### 8.6. I want to move my WeeChat to another device and keep my config, what should I copy?

First check directories used by WeeChat with this command: `/debug dirs`.
Directories home/config and home/data must be copied (all files and sub-directories).

For example if you’re using XDG directories (default with WeeChat ≥ 3.2), the directories should be `$HOME/.config/weechat` and `$HOME/.local/share/weechat`.
If you’re using a single directory (default with WeeChat < 3.2), the directory should be `$HOME/.weechat`.

重要 | The WeeChat version on the new device must be greater than or equal to the version on the initial device. Downgrading WeeChat configuration is NOT SUPPORTED and can break it, leading to unusable WeeChat.

Steps:

1. Quit Weechat: `/quit` (or `/upgrade -quit` if you want to resume the session, which includes content of all buffers).

2. Copy all directories, sub-directories and files to the new device, keeping same names and permissions.

3. Optional: copy any file outside these directories that you refer to in your configuration (it’s not recommended to use files outside WeeChat directories).

4. Start WeeChat on the new device: `weechat` (or `weechat --upgrade` if you saved the session).

## 9. 開発

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

See this page ↗.

### 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 をサポートするプラットフォームのリストを教えてください。他のオペレーティングシステムへの移植予定はありますか。

WeeChat runs fine on most Linux/BSD distributions, GNU/Hurd, macOS and Windows (Cygwin and Windows Subsystem for Linux).

我々は可能な限り多くのプラットフォームに移植することに最善を尽くしています。我々が持っていない OS で WeeChat をテストすることを歓迎します。

### 9.4. どうすれば WeeChat 開発者を手伝えますか。

多くの課題があります (テスト、コード、ドキュメント作成、…​)。

Please contact us via IRC or mail, look at support page ↗.

### 9.5. WeeChat 開発者にお金か何かを贈りたいのですが。

You can give us money to help development. Details on donation page ↗.