Author: Sébastien Helleu

# WeeChat ユーザーズガイド

Sébastien Helleu
flashcode@flashtux.org
version 1.7

翻訳者:

- Ryuunosuke Ayanokouzi <i38w7i3@yahoo.co.jp>, 2012-2017

このマニュアルは WeeChat チャットクライアントについての文書で、これは WeeChat の一部です。

この文書の最新版は以下のページにあります: https://weechat.org/doc

## 1. イントロダクション

WeeChat (Wee Enhanced Environment for Chat) はフリーのチャットクライアントです。高速で軽量、多くのオペレーティングシステムで動くように設計されています。

### 1.1. 特徴

主な特徴:

- マルチプロトコル (主に IRC)

- 複数のサーバへの接続 (SSL、IPv6、プロキシをサポート)

- コンパクト、高速、軽量

- プラグインとスクリプトでカスタマイズや拡張が可能

- IRC の RFC に準拠 1459、 2810、 2811、 2812、 2813。

- リモートインターフェイス用の IRC プロキシとリレー

- マルチプラットフォーム (GNU/Linux、*BSD、MacOS X、Windows 等)

- 完全な GPL、フリーソフトウェア

WeeChat のホームページ: https://weechat.org/

### 1.2. 事前に必要なもの

WeeChat をインストールするには、以下のものが必要です:

- GNU/Linux が稼動しているシステム (ソースパッケージを使う場合は、コンパイラツールも必要)、または互換 OS

- root 特権 (WeeChat をシステムディレクトリにインストールする場合)

- 一部のライブラリ (依存関係を参照)。

## 2. インストール方法

### 2.1. バイナリパッケージ

多くのディストリビューションではバイナリパッケージが利用できます。例えば:

- Arch Linux: `pacman -S weechat`

- Cygwin (Windows): setup.exe で WeeChat パッケージを選択してください

- Debian/Ubuntu (または Debian 互換ディストリビューション): `apt-get install weechat-curses weechat-plugins`

- Fedora Core: `dnf install weechat`

- Gentoo: `emerge weechat`

- Mandriva/RedHat (または RPM 互換ディストリビューション): `rpm -i /path/to/weechat-x.y.z-1.i386.rpm`

- openSUSE: `zypper in weechat`

- Sourcemage: `cast weechat`

例えば weechat-plugins 等の追加パッケージを使うとさらに便利になるかもしれません。

その他のディストリビューションでは、インストール説明マニュアルを参照してください。

### 2.2. ソースパッケージ

WeeChat は cmake または autotools を使ってコンパイルできます (cmake を使うことが推奨されています)。

| OS X では Homebrew を使ってください: `brew install weechat --with-python --with-perl` (ヘルプを見るには: `brew info weechat`)。

#### 2.2.1. 依存関係

以下の表は WeeChat のコンパイルに必須または任意で必要なパッケージのリストです。

パッケージ (1) | バージョン | 要件 | 機能
--- | --- | --- | ---
C コンパイラ (gcc, clang, …​) |  | 必須 | ビルド
C++ コンパイラ |  |  | ビルドとテストの実行、javascript プラグイン
cmake |  | 必須 | ビルド (autotools でも可能ですが、cmake を推奨します)
pkg-config |  | 必須 | インストール済みライブラリを検出
libncursesw5-dev (2) |  | 必須 | ncurses インターフェイス
libcurl4-gnutls-dev |  | 必須 | URL 転送
zlib1g-dev |  | 必須 | relay プラグインでパケットを圧縮 (weechat プロトコル)、スクリプトプラグイン
libgcrypt20-dev |  | 必須 | 保護データ、IRC SASL 認証 (DH-BLOWFISH/DH-AES)、スクリプトプラグイン
libgnutls28-dev | 2.2.0 以上 (3) |  | IRC サーバへの SSL 接続、IRC SASL 認証 (ECDSA-NIST256P-CHALLENGE)
gettext |  |  | 国際化 (メッセージの翻訳; ベース言語は英語です)
ca-certificates |  |  | SSL 接続に必要な証明書、relay プラグインで SSL サポート
libaspell-dev ∥ libenchant-dev |  |  | aspell プラグイン
python-dev | 2.5 以上 (4) |  | python プラグイン
libperl-dev |  |  | perl プラグイン
ruby2.3, ruby2.3-dev | 1.8 以上 |  | ruby プラグイン
liblua5.3-dev |  |  | lua プラグイン
tcl-dev | 8.5 以上 |  | tcl プラグイン
guile-2.0-dev | 2.0 以上 |  | guile (scheme) プラグイン
libv8-dev | 3.24.3 以下 |  | javascript プラグイン
asciidoctor | 1.5.4 以上 |  | man ページと文書のビルド
libcpputest-dev | 3.4 以上 |  | ビルドとテストの実行

| (1) Debian GNU/Linux ディストリビューションにおけるパッケージ名です。他のディストリビューションではバージョンとパッケージ名が異なるかもしれません。 (2) WeeChat は libncurses5-dev でもコンパイル可能ですが、これは推奨 されません (ワイドキャラクタの表示にバグを生じるでしょう)。 (3) IRC SASL 認証で ECDSA-NIST256P-CHALLENGE を使うには、Gnutls バージョン 3.0.21 以上が必要です。 (4) Python はバージョン 2.7 をお勧めします (全てのスクリプトはバージョン 2.7 で正しく動きますが、バージョン 2.6 以下または 3.0 以上では正しく動きません)。

Debian および Ubuntu ベースのディストリビューションを使っており、/etc/apt/sources.list ファイルで "deb-src" ソースエントリを指定しているならば、すべての依存関係にあるパッケージを以下のコマンドでインストール可能です:

    # apt-get build-dep weechat

#### 2.2.2. cmake によるコンパイル

- システムディレクトリにインストールする場合 (root 特権が必要です):

    $ mkdir build
    $ cd build
    $ cmake ..
    $ make
    % make install    (root で実行)

- 任意のディレクトリにインストールする場合:

    $ mkdir build
    $ cd build
    $ cmake .. -DCMAKE_INSTALL_PREFIX=/path/to/directory
    $ make
    $ make install

cmake に対するオプションを指定するには、以下の書式を使ってください: "-DOPTION=VALUE"。

よく利用されるオプションのリスト:

オプション | 値 | デフォルト値 | 説明
--- | --- | --- | ---
`CMAKE_BUILD_TYPE` | `Debug`, `Release`, `RelWithDebInfo`, `MinSizeRel` |  | ビルド形式: WeeChat の開発版を使っている場合は `Debug` (または `RelWithDebInfo`) を推奨します。
`CMAKE_INSTALL_PREFIX` | directory | `/usr/local` | WeeChat をインストールするディレクトリ。
`WEECHAT_HOME` | directory | `~/.weechat` | WeeChat 実行時のホームディレクトリ。
`CA_FILE` | file | `/etc/ssl/certs/ca-certificates.crt` | 認証局を含むファイル。これは weechat.network.gnutls_ca_file オプションのデフォルト値です。
`ENABLE_ALIAS` | `ON`, `OFF` | `ON` | Alias プラグインのコンパイル。
`ENABLE_ASPELL` | `ON`, `OFF` | `ON` | Aspell プラグインのコンパイル。
`ENABLE_CHARSET` | `ON`, `OFF` | `ON` | Charset プラグインのコンパイル。
`ENABLE_MAN` | `ON`, `OFF` | `OFF` | man ページのコンパイル。
`ENABLE_DOC` | `ON`, `OFF` | `OFF` | 文書のコンパイル (コンパイルには時間がかかります。文書を含めたバイナリパッケージをビルドする場合、オンラインで文書を見ることができない場合だけに推奨します)。
`ENABLE_ENCHANT` | `ON`, `OFF` | `OFF` | Enchant と含めた Aspell プラグインのコンパイル。
`ENABLE_EXEC` | `ON`, `OFF` | `ON` | Exec プラグインのコンパイル。
`ENABLE_FIFO` | `ON`, `OFF` | `ON` | Fifo プラグインのコンパイル。
`ENABLE_GNUTLS` | `ON`, `OFF` | `ON` | Gnutls の有効化 (SSL 用)。
`ENABLE_GUILE` | `ON`, `OFF` | `ON` | Guile プラグイン (Scheme) のコンパイル。
`ENABLE_IRC` | `ON`, `OFF` | `ON` | IRC プラグインのコンパイル
`ENABLE_JAVASCRIPT` | `ON`, `OFF` | `ON` | Javascript プラグインのコンパイル。
`ENABLE_LARGEFILE` | `ON`, `OFF` | `ON` | 巨大ファイルのサポート。
`ENABLE_LOGGER` | `ON`, `OFF` | `ON` | Logger プラグインのコンパイル。
`ENABLE_LUA` | `ON`, `OFF` | `ON` | Lua プラグインのコンパイル。
`ENABLE_NCURSES` | `ON`, `OFF` | `ON` | Ncurses インターフェイスのコンパイル。
`ENABLE_NLS` | `ON`, `OFF` | `ON` | NLS の有効化 (多言語サポート)。
`ENABLE_PERL` | `ON`, `OFF` | `ON` | Perl プラグインのコンパイル。
`ENABLE_PYTHON` | `ON`, `OFF` | `ON` | Python プラグインのコンパイル。
`ENABLE_PYTHON3` | `ON`, `OFF` | `OFF` | Python 3 を使った Python プラグインのコンパイル (多くのスクリプトは Python 3 と互換性がないため 非推奨 です)。
`ENABLE_RELAY` | `ON`, `OFF` | `ON` | リレープラグインのコンパイル。
`ENABLE_RUBY` | `ON`, `OFF` | `ON` | Ruby プラグインのコンパイル。
`ENABLE_SCRIPT` | `ON`, `OFF` | `ON` | スクリプトプラグインのコンパイル。
`ENABLE_SCRIPTS` | `ON`, `OFF` | `ON` | すべてのスクリプトプラグイン (Python、Perl、Ruby、Lua、Tcl、Guile、Javascript) のコンパイル。
`ENABLE_TCL` | `ON`, `OFF` | `ON` | Tcl プラグインのコンパイル。
`ENABLE_TRIGGER` | `ON`, `OFF` | `ON` | Trigger プラグインのコンパイル。
`ENABLE_XFER` | `ON`, `OFF` | `ON` | Xfer プラグインのコンパイル。
`ENABLE_TESTS` | `ON`, `OFF` | `OFF` | コンパイルテスト。

その他のオプションは以下のコマンドで確認してください:

    $ cmake -LA

Curses インターフェイスを使う場合は以下のコマンドを使ってください:

    $ ccmake ..

#### 2.2.3. autotools によるコンパイル

| cmake 以外を用いた WeeChat のビルドは公式にサポートされません。cmake を利用できない場合のみ autotools を使ってください。 autotools を用いてビルドする場合、cmake よりも多くの依存パッケージとより長い時間が必要です。

- システムディレクトリにインストールする場合 (root 特権が必要です):

    $ ./autogen.sh
    $ mkdir build
    $ cd build
    $ ../configure
    $ make
    % make install    (as root)

- 任意のディレクトリにインストールする場合:

    $ ./autogen.sh
    $ mkdir build
    $ cd build
    $ ../configure --prefix=/path/to/directory
    $ make
    $ make install

configure スクリプトに対してオプションを指定することができます、オプションを表示するには以下のコマンドを使ってください:

    $ ./configure --help

### 2.3. Git ソース

警告: git ソースを用いる方法は上級者向けです。コンパイルに失敗したり、 不安定な可能性があります。警告しましたよ!

git ソースを入手するには、以下のコマンドを使ってください:

    $ git clone https://github.com/weechat/weechat.git

その後は、ソースパッケージの説明に従ってください (ソースパッケージを参照)。

### 2.4. クラッシュレポート

WeeChat がクラッシュした場合、または WeeChat をクラッシュさせる操作を報告する場合、以下の手順に従ってください:

- デバッグを有効化してコンパイル (またはデバック情報を含んだバイナリパッケージをインストール)

- システムの core ファイルを有効化

- gdb のインストール

#### 2.4.1. デバッグ情報

cmake でコンパイルする場合:

    $ cmake .. -DCMAKE_BUILD_TYPE=Debug

autotools でコンパイルする場合は、デバックはデフォルトで有効化されています (`--with-debug=1`)。

バイナリパッケージをインストールする場合は、weechat-dbg パッケージをインストールしてください。

#### 2.4.2. Core ファイル

core ファイルを有効化するには、weechat.startup.sys_rlimit オプションを使ってください:

    /set weechat.startup.sys_rlimit "core:-1"

WeeChat バージョン 0.3.8 以下または WeeChat の実行前に core ファイルを有効化したい場合には、`ulimit` コマンドを使ってください。

Linux で bash シェルを使っている場合、以下の内容を `~/.bashrc` に追加してください:

    ulimit -c unlimited

サイズを指定する場合は:

    ulimit -c 200000

#### 2.4.3. gdb でバックトレースを得る

WeeChat がクラッシュすると、core または core.12345 ファイルが作られます (12345 はプロセス番号です)。 このファイルは WeeChat を起動したディレクトリに作られます (これは WeeChat がインストールされているディレクトリでは ありません!)。

例えば、weechat が /usr/bin/ にインストールされ、core ファイルが /home/xxx/ にある場合、以下のコマンドで gdb を起動してください:

    gdb /usr/bin/weechat /home/xxx/core

gdb の中で `bt full` コマンドを実行するとバックトレースが表示されます。以下のような出力が得られるはずです:

    (gdb) set logging file /tmp/crash.txt
    (gdb) set logging on
    Copying output to /tmp/crash.txt.
    (gdb) bt full
    #0  0x00007f9dfb04a465 in raise () from /lib/libc.so.6
    #1  0x00007f9dfb04b8e6 in abort () from /lib/libc.so.6
    #2  0x0000000000437f66 in weechat_shutdown (return_code=1, crash=1)
        at /some_path/src/core/weechat.c:351
    #3  <signal handler called>
    #4  0x000000000044cb24 in hook_process_timer_cb (arg_hook_process=0x254eb90,
        remaining_calls=<value optimized out>) at /some_path/src/core/wee-hook.c:1364
            hook_process = 0x254eb90
            status = <value optimized out>
    #5  0x000000000044cc7d in hook_timer_exec ()
        at /some_path/src/core/wee-hook.c:1025
            tv_time = {tv_sec = 1272693881, tv_usec = 212665}
            ptr_hook = 0x2811f40
            next_hook = 0x0
    #6  0x000000000041b5b0 in gui_main_loop ()
        at /some_path/src/gui/curses/gui-curses-main.c:319
            hook_fd_keyboard = 0x173b600
            tv_timeout = {tv_sec = 0, tv_usec = 0}
            read_fds = {fds_bits = {0 <repeats 16 times>}}
            write_fds = {fds_bits = {0 <repeats 16 times>}}
            except_fds = {fds_bits = {0 <repeats 16 times>}}
            max_fd = <value optimized out>

このバックトレースを開発者に報告し、クラッシュを引き起こした動作を伝えてください。

ご協力ありがとうございます!

#### 2.4.4. 起動中の WeeChat のデバッグ

起動している WeeChat をデバッグするには (例えば WeeChat がフリーズしているような場合)、gdb の引数にプロセス番号を与えて起動します (12345 は weechat プロセスの PID に変更してください):

    gdb /usr/bin/weechat 12345

クラッシュが起きた場合と同様に、`bt full` コマンドを使ってください:

    (gdb) bt full

## 3. 使い方

### 3.1. WeeChat の起動

コマンドライン引数:

-a, --no-connect

  WeeChat の起動時にサーバへの自動接続を行わない

-c, --colors

  端末にデフォルト色を表示

-d, --dir <path>

  WeeChat のホームディレクトリを path に設定 (設定ファイル、ログ、 ユーザプラグイン、スクリプトに利用される)、初期値は "~/.weechat" 。 (注意: パスが存在しない場合は WeeChat がディレクトリを作成します) このオプションを指定しなかった場合、環境変数 WEECHAT_HOME を使います (空でない限り)。

-h, --help

  ヘルプを表示

-l, --license

  WeeChat ライセンスを表示

-p, --no-plugin

  プラグインの自動ロードを止める

-r, --run-command <command>

  起動後にコマンドを実行 (複数のコマンドを指定するにはセミコロンで各コマンドを区切る)

-s, --no-script

  スクリプトの自動ロードを止める

--upgrade

  `/upgrade -quit` コマンドで生成されるセッションファイルを使って WeeChat をアップグレード

-v, --version

  WeeChat のバージョンを表示

plugin:option

  プラグインに渡すオプション

WeeChat を起動させるには、以下コマンドを実行:

    $ weechat

初めて WeeChat を起動する場合、デフォルトのオプションで設定ファイルが作成されます。このデフォルト設定ファイルは ~/.weechat/weechat.conf です。

WeeChat を設定するにはこのファイルを編集するか、WeeChat 内で `/set` コマンドにパラメータを付けて設定します (WeeChat コマンドを参照)。

### 3.2. ファイルとディレクトリ

デフォルト状態の WeeChat は `~/.weechat` ディレクトリ内に設定ファイルおよびその他のデータを書き込みます。

このディレクトリには以下の内容が含まれます:

パス/ファイル | 説明
--- | ---
`~/.weechat/` | WeeChat ホームディレクトリ (変更するには WeeChat の起動を参照してください)
`logs/` | ログファイル (バッファごとに 1 つのファイル)
`python/` | Python スクリプト
`autoload/` | 起動時に自動ロードされる Python スクリプト (1)
`perl/` | Perl スクリプト
`autoload/` | 起動時に自動ロードされる Perl スクリプト (1)
`ruby/` | Ruby スクリプト
`autoload/` | 起動時に自動ロードされる Ruby スクリプト (1)
`lua/` | Lua スクリプト
`autoload/` | 起動時に自動ロードされる Lua スクリプト (1)
`tcl/` | Tcl スクリプト
`autoload/` | 起動時に自動ロードされる Tcl スクリプト (1)
`guile/` | Guile スクリプト
`autoload/` | 起動時に自動ロードされる Guile スクリプト (1)
`javascript/` | Javascript スクリプト
`autoload/` | 起動時に自動ロードされる Javascript スクリプト (1)

| (1) このディレクトリには親ディレクトリ内にあるスクリプトへのシンボリックリンクのみが含まれることが多いです。

ホームディレクトリには以下の内容が含まれます:

ファイル | 説明 | データ保護
--- | --- | ---
`weechat.conf` | WeeChat の主要設定ファイル | 保護される場合もあります (例: 保存されたバッファレイアウトに含まれるチャンネルのリスト)
`sec.conf` | 機密データを含む設定ファイル | 保護されます、機密性の高いデータ: このファイルを誰かと共有してはいけません
`plugins.conf` | プラグイン設定ファイル | 保護される場合もあります、プラグインおよびスクリプトに依存します
`alias.conf` | alias プラグイン用の設定ファイル | 保護される場合もあります、エイリアスに依存します
`aspell.conf` | aspell プラグイン用の設定ファイル | 保護されません
`charset.conf` | charset プラグイン用の設定ファイル | 保護されません
`exec.conf` | exec プラグイン用の設定ファイル | 保護されません
`irc.conf` | irc プラグイン用の設定ファイル | 保護されます: サーバ、nickserv、チャンネルのパスワードを保存することが可能です (これらのデータが `sec.conf` に保存されない場合)
`logger.conf` | logger プラグイン用の設定ファイル | 保護されません
`relay.conf` | relay プラグイン用の設定ファイル | 保護されません
`script.conf` | script プラグイン用の設定ファイル | 保護されません
`trigger.conf` | trigger プラグイン用の設定ファイル | 保護される場合もあります、トリガに依存します
`xfer.conf` | xfer プラグイン用の設定ファイル | 保護されません
`weechat.log` | WeeChat ログファイル | 保護されません

| 手作業で設定ファイルを編集することは 推奨されません。なぜなら WeeChat は常時 (例えば /quit コマンドの実行時など) 設定ファイルに書き込む可能性がありますし、手作業で修正を加えた後には必ず /reload コマンドを実行しなければいけない (これには /save を使って保存されていない変更を失うリスクがある) からです。 設定を編集するには /set コマンドを使ってください。これは値を検査し、設定の変更をすぐに適用します。

### 3.3. 画面レイアウト

WeeChat を起動した端末の例:

     ▼ "title" バー
    ┌───────────────────────────────────────────────────────────────────────────┐
    │Welcome to #test, this is a test channel                                   │
    │12:52:27   --> | Flashy (flashcode@weechat.org) has joined #test   │@Flashy│
    │12:52:27    -- | Nicks #test: [@Flashy @joe +weebot peter]         │@joe   │
    │12:52:27    -- | Channel #test: 4 nicks (2 ops, 1 voice, 1 normal) │+weebot│
    │12:52:27    -- | Channel created on Tue Jan 27 06:30:17 2009       │peter  │
    │12:54:15 peter | hey!                                              │       │
    │12:55:01  @joe | hello                                             │       │
    │                                                                   │       │
    │                                                                   │       │
    │                                                                   │       │
    │                                                                   │       │
    │                                                                   │       │
    │                                                                   │       │
    │                                                                   │       │
    │                                                                   │       │
    │                                                                   │       │
    │                                                                   │       │
    │                                                                   │       │
    │[12:55] [6] [irc/freenode] 3:#test(+n){4}* [H: 4:#abc(2,5), 6]             │
    │[@Flashy(i)] hi peter!█                                                    │
    └───────────────────────────────────────────────────────────────────────────┘
     ▲ "status" と "input" バー                               "nicklist" バー ▲

画面は以下のエリアから構成されます:

- チャットログが表示されるチャットエリア (画面の真ん中)、それぞれの行は:

  - 時刻

  - プレフィックス ("|" の前)

  - メッセージ ("|" の後)

- チャットエリアの周りにあるバー、デフォルトバーは:

  - タイトル (title) バー、チャットエリアの上

  - 状態 (status) バー、チャットエリアの下

  - 入力 (input) バー、状態バーの下

  - ニックネームリスト (nicklist) バー、右端

状態 (status) バーは以下の初期要素を持っています:

要素 | 例 | 説明
--- | --- | ---
time | `[12:55]` | 時刻
buffer_last_number | `[6]` | リスト中の最後のバッファ番号
buffer_plugin | `[irc/freenode]` | 現在のバッファのプラグイン (irc プラグインではバッファで利用されている IRC サーバ名を追加できます)
buffer_number | `3` | 現在のバッファの番号
buffer_name | `#test` | 現在のバッファの名前
buffer_modes | `+n` | IRC チャンネルモード
buffer_nicklist_count | `{4}` | ニックネームリスト中のニックネームの数
buffer_zoom | ! | `!` はマージされたバッファがズームされている状態 (ズームされたものだけを表示する状態) を示します、空の場合はすべてのマージされたバッファが表示されていることを示します
buffer_filter | `*` | フィルタ表示: `*` の場合いくつかの行がフィルタされ (隠され) ます、空の場合すべての行が表示されます。
scroll | `-MORE(50)-` | スクロール表示、最後の行が表示されてから追加された行数を含む。
lag | `[Lag: 2.5]` | 遅延秒表示 (遅延が短い場合は非表示)
hotlist | `[H: 4:#abc(2,5), 6]` | 変化のあったバッファのリスト (未読メッセージ) (例では、#abc に 2 個のハイライトと 5 個の未読メッセージ、6 番目のバッファに 1 個の未読メッセージがあることを意味します。)
completion | `abc(2) def(5)` | 補完候補の単語リスト、各単語に対して適応される補完候補の数を含む。

入力 (input) バーは以下の初期要素を持っています:

要素 | 例 | 説明
--- | --- | ---
input_prompt | `[@Flashy]` | 入力プロンプト、irc の場合: ニックネームとモード (freenode では "+i" モードは不可視状態を意味します)
away | `(away)` | 離席状態表示
input_search | `[Search (~ str,msg)]` | 検索インジケータ (“~”: 大文字小文字を区別しない、“==”: 大文字小文字を区別する、“str”: 検索文字列、“regex”: 検索正規表現、“msg”: メッセージ部分から検索、“pre”: プレフィックス部分から検索、“pre|msg”: プレフィックス部分とメッセージ部分から検索)
input_paste | `[Paste 7 lines ? [ctrl-Y] Yes [ctrl-N] No]` | 行をペーストする場合にユーザへ行われる質問
input_text | `hi peter!` | 入力テキスト

その他の利用可能な要素 (初期状態のバーはこれらの要素を持ちません):

要素 | 例 | 説明
--- | --- | ---
aspell_dict | `fr,en` | 現在のバッファにおけるスペリング辞書
aspell_suggest | `print,prone,prune` | カーソル下の単語に対するスペリング候補 (スペルが間違っている場合)
buffer_count | `10` | 開いているバッファの総数
buffer_short_name | `#test` | 現在のバッファの短い名前
irc_channel | `#test` | 現在の IRC チャンネル名
irc_nick_modes | `@` | 自分のニックネームに対する IRC モード
mouse_status | `M` | マウスの状態 (マウスが無効化されている場合は空文字列)
window_number | `2` | 現在のウィンドウ番号

### 3.4. コマンドライン

WeeChat コマンドライン (ウィンドウの一番下にあります) はコマンドの実行やバッファにテキストを送信するために利用します。

#### 3.4.1. 文法

コマンドは "/" 文字で始まり、コマンドの名前を続けます。例えば、すべてのオプションを表示するには:

    /set

"/" が最初に無い場合、そのテキストはバッファに送信されます。例えば、hello というテキストをバッファに送信するには:

    hello

"/" 文字から始まるテキストを送信したい場合、2 重に "/" をつけます。例えば、`/set` というテキストを現在のバッファに送信するには:

    //set

#### 3.4.2. 色コード

IRC 等のプラグインでは、以下の色コードと属性を利用できます (`Ctrl`+`c` の後に、オプションとともに以下のキーを押してください):

キー | 説明
--- | ---
`Ctrl`+`c`, `b` | テキストを太字に
`Ctrl`+`c`, `c`, `xx` | テキスト表示色を `xx` に (以下の色リストを参照)
`Ctrl`+`c`, `c`, `xx`, `,`, `yy` | テキスト表示色を `xx` に、背景色を `yy` に (以下の色リストを参照)
`Ctrl`+`c`, `i` | テキストをイタリック体に
`Ctrl`+`c`, `o` | テキスト表示色と属性をリセット
`Ctrl`+`c`, `v` | テキストを反転 (テキスト表示色と背景色の入れ替え)
`Ctrl`+`c`, `_` | テキストに下線を引く

| 同じコードで (色コードを入力せずに `Ctrl`+`c`, `c` を使うことで) 属性をキャンセルすることができます。

`Ctrl`+`c`, `c` 用の色コード:

IRC 色 | WeeChat 色
--- | ---
`00` | white
`01` | black
`02` | blue
`03` | green
`04` | lightred
`05` | red
`06` | magenta
`07` | brown
`08` | yellow
`09` | lightgreen
`10` | cyan
`11` | lightcyan
`12` | lightblue
`13` | lightmagenta
`14` | darkgray
`15` | gray
`16` | 52
`17` | 94
`18` | 100
`19` | 58
`20` | 22
`21` | 29
`22` | 23
`23` | 24
`24` | 17
`25` | 54
`26` | 53
`27` | 89
`28` | 88
`29` | 130
`30` | 142
`31` | 64
`32` | 28
`33` | 35
`34` | 30
`35` | 25
`36` | 18
`37` | 91
`38` | 90
`39` | 125
`40` | 124
`41` | 166
`42` | 184
`43` | 106
`44` | 34
`45` | 49
`46` | 37
`47` | 33
`48` | 19
`49` | 129
`50` | 127
`51` | 161
`52` | 196
`53` | 208
`54` | 226
`55` | 154
`56` | 46
`57` | 86
`58` | 51
`59` | 75
`60` | 21
`61` | 171
`62` | 201
`63` | 198
`64` | 203
`65` | 215
`66` | 227
`67` | 191
`68` | 83
`69` | 122
`70` | 87
`71` | 111
`72` | 63
`73` | 177
`74` | 207
`75` | 205
`76` | 217
`77` | 223
`78` | 229
`79` | 193
`80` | 157
`81` | 158
`82` | 159
`83` | 153
`84` | 147
`85` | 183
`86` | 219
`87` | 212
`88` | 16
`89` | 233
`90` | 235
`91` | 237
`92` | 239
`93` | 241
`94` | 244
`95` | 247
`96` | 250
`97` | 254
`98` | 231
`99` | default

| 端末で利用可能なすべての色を表示するには、WeeChat で `/color` を実行した後 `Alt`+`c` を入力するか、端末で以下のコマンドを実行してください: `weechat --colors`。

例: 「こんにちは皆さん!」の「こんにちは」を太字の明るい青、「皆さん」を下線付きの明るい赤に表示したい場合:

    ^Cc12^Cbこんにちは^Cb^Cc04^C_皆さん^C_^Cc!

| irc プラグインでは、irc.color.mirc_remap を使ってこれらの色を別の色に対応付けることができます。

### 3.5. 色

WeeChat ではバーやチャットエリアにおけるテキスト表示に 256 個の色ペアを利用できます (この機能を利用するには WeeChat が実行されている端末が 256 色表示に対応している必要があります)。

TERM 環境変数の値によって、WeeChat で利用できる色と色ペアに以下の制限があります:

$TERM | 色 | ペア
--- | --- | ---
"rxvt-unicode", "xterm", …​ | 88 | 256
"rxvt-256color", "xterm-256color", …​ | 256 | 256
"screen" | 8 | 64
"screen-256color" | 256 | 256
"tmux" | 8 | 64
"tmux-256color" | 256 | 256

`weechat --colors` を実行するか、`/color` コマンドを 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

#### 3.5.1. 基本色

WeeChat における基本色とは:

名前 | 色
--- | ---
`default` | デフォルトの端末色 (背景色を透過色とする)
`black` | 黒
`darkgray` | 暗い灰色
`red` | 暗い赤
`lightred` | 明るい赤
`green` | 暗い緑色
`lightgreen` | 明るい緑色
`brown` | 茶色
`yellow` | 黄色
`blue` | 暗い青
`lightblue` | 明るい青
`magenta` | 暗い赤紫色
`lightmagenta` | 明るい赤紫色
`cyan` | 暗い青緑色
`lightcyan` | 明るい青緑色
`gray` | 灰色
`white` | 白

#### 3.5.2. 拡張色

WeeChat は画面に色が表示された時点で色ペアを動的に割り当てます (バッファとバーを表示する時点で)。

基本色に加えて、1 番 から端末の対応状況に依存する番号までの色番号を利用できます。

`/color` コマンドで現在の色と色制限を確認できます。`Alt`+`c` をタイプすることで、一時的に端末色を選択された色に変更できます。

例えば、バッファ中のに表示される時刻をオレンジ色にしたい場合、以下のようにしてください:

    /set weechat.color.chat_time 214

ステータスバーの色を非常に暗い緑色にしたい場合:

    /set weechat.bar.status.color_bg 22

#### 3.5.3. 別名

`/color alias` コマンドを使えば色の別名を追加できます。 追加後は任意の色関連オプションで別名を使えます。

例:

    /color alias 214 orange
    /set weechat.color.chat_delimiters orange

#### 3.5.4. 属性

色に対していくつかの属性を付加することができます。1 つ以上の属性を色名または色番号の前に付加できます:

- `*` : テキストを太字に

- `!` : テキストを反転

- `/` : テキストをイタリック体に

- `_` : テキストに下線を引く

- `|` : 属性を保持: 色を変えた際に太字/反転/下線属性をリセットしない

例えば、自分自身のニックネームの表示色を白にして、下線を引きたい場合:

    /set weechat.color.chat_nick_self _white

ステータスバーの時刻の表示色を橙色にして、下線を引いて、太字にしたい場合:

    /set weechat.color.status_time *_214

デフォルト端末色 (-1) に対して属性を設定したい場合、端末色番号の最大値よりも大きな値を利用してください。例えば、WeeChat における色番号の最大値は 99999 です。

端末の表示色に太字の属性を付加する例:

    /set weechat.color.status_time *99999

### 3.6. バッファとウィンドウ

バッファ は番号、名前、表示された行 (とその他の情報) で構成されています。

バッファの例:

- コアバッファ (起動時に WeeChat が作成、閉じることはできません)

- irc サーバ (サーバからのメッセージを表示)

- irc チャンネル

- irc プライベートメッセージ

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

それぞれのウィンドウは 1 つのバッファを表示します。バッファは隠したり (ウィンドウに表示しない)、複数のウィンドウに表示することできます。

水平方向分割の例 (`/window splith`):

                              ▼ ウィンドウ #2 (バッファ #4)
    ┌───────────────────────────────────────────────────────────────────────────┐
    │Welcome to #abc                                                            │
    │12:55:12     Max | hi                                              │@Flashy│
    │12:55:20 @Flashy | hi Max!                                         │Max    │
    │12:55:32     Max | how are you?                                    │       │
    │                                                                   │       │
    │                                                                   │       │
    │                                                                   │       │
    │                                                                   │       │
    │                                                                   │       │
    │[12:55] [6] [irc/freenode] 4:#abc(+n){2}                                   │
    │[@Flashy]                                                                  │
    │───────────────────────────────────────────────────────────────────────────│
    │Welcome to #test                                                           │
    │12:54:15 peter | hey!                                              │@Flashy│
    │12:55:01  @joe | hello                                             │@joe   │
    │                                                                   │+weebot│
    │                                                                   │peter  │
    │                                                                   │       │
    │                                                                   │       │
    │                                                                   │       │
    │                                                                   │       │
    │[12:55] [6] [irc/freenode] 3:#test(+n){4}                                  │
    │[@Flashy] hi peter!█                                                       │
    └───────────────────────────────────────────────────────────────────────────┘
                              ▲ ウィンドウ #1 (バッファ #3)

垂直方向分割の例 (`/window splitv`):

    ┌───────────────────────────────────────────────────────────────────────────┐
    │Welcome to #test                     │Welcome to #abc                      │
    │12:54:15 peter | hey!        │@Flashy│12:55:12     Max | hi        │@Flashy│
    │12:55:01  @joe | hello       │@joe   │12:55:20 @Flashy | hi Max!   │Max    │
    │                             │+weebot│                             │       │
    │                             │peter  │                             │       │
    │                             │       │                             │       │
    │                             │       │                             │       │
    │                             │       │                             │       │
    │                             │       │                             │       │
    │                             │       │                             │       │
    │                             │       │                             │       │
    │                             │       │                             │       │
    │                             │       │                             │       │
    │                             │       │                             │       │
    │                             │       │                             │       │
    │                             │       │                             │       │
    │                             │       │                             │       │
    │                             │       │                             │       │
    │[12:55] [irc/oftc] 3:#test(+n){4}    │[12:55] [irc/oftc] 4:#abc(+n){2}     │
    │[@Flashy] hi peter!█                 │[@Flashy]                            │
    └───────────────────────────────────────────────────────────────────────────┘
          ▲ ウィンドウ #1 (バッファ #3)         ▲ ウィンドウ #2 (バッファ #4)

垂直方向 + 水平方向分割の例:

                                                ▼ ウィンドウ #3 (バッファ #5)
    ┌───────────────────────────────────────────────────────────────────────────┐
    │Welcome to #test                     │Welcome to #def                      │
    │12:54:15 peter | hey!        │@Flashy│12:55:42 @Flashy | hi        │@Flashy│
    │12:55:01  @joe | hello       │@joe   │12:55:56    alex | hi Flashy │alex   │
    │                             │+weebot│                             │       │
    │                             │peter  │                             │       │
    │                             │       │                             │       │
    │                             │       │                             │       │
    │                             │       │                             │       │
    │                             │       │                             │       │
    │                             │       │[12:55] [irc/oftc] 5:#def(+n){2}     │
    │                             │       │[@Flashy]                            │
    │                             │       │─────────────────────────────────────│
    │                             │       │Welcome to #abc                      │
    │                             │       │12:55:12     Max | hi        │@Flashy│
    │                             │       │12:55:20 @Flashy | hi Max!   │Max    │
    │                             │       │                             │       │
    │                             │       │                             │       │
    │                             │       │                             │       │
    │                             │       │                             │       │
    │                             │       │                             │       │
    │                             │       │                             │       │
    │[12:55] [irc/oftc] 3:#test(+n){4}    │[12:55] [irc/oftc] 4:#abc(+n){2}     │
    │[@Flashy] hi peter!█                 │[@Flashy]                            │
    └───────────────────────────────────────────────────────────────────────────┘
          ▲ ウィンドウ #1 (バッファ #3)         ▲ ウィンドウ #2 (バッファ #4)

### 3.7. バッファの行

#### 3.7.1. 行の書式

書式付きバッファに表示される各行は以下のフィールドから構成されます:

フィールド | 表示状態 | 説明
--- | --- | ---
日付/時間 (メッセージ) | 表示 | メッセージの日付および時間 (おそらく過去)。
日付/時間 (表示) | 非表示 | WeeChat がメッセージを表示した時間。
プレフィックス | 表示 | メッセージのプレフィックス、通常ニックネーム。
メッセージ | 表示 | メッセージ自体。
表示状態 | 非表示 | ブール値: 行が表示された場合には真、行が /filter コマンドでフィルタされた場合には偽。
ハイライト | 非表示 | ブール値: 行がハイライトされている場合には真、それ以外の場合には偽。
タグ | `/debug tags` の実行で表示状態を切り替え | 行に関連付けられたタグ (行のタグ参照)。

外観オプション(weechat.look.*) と色オプション (weechat.color.chat_*) を使えば、行の表示をカスタマイズすることが可能です。

#### 3.7.2. 行のタグ

WeeChat は様々な目的で各行にタグを付けます:

- ハイライト

- 通知レベル

- ログ記録

- /filter コマンドの使用

`/debug tags` コマンドでタグを表示することが可能です (タグを非表示にする場合も同じコマンドを使います)。

通常使用するタグ (一部抜粋したリスト):

タグ | 説明
--- | ---
`no_filter` | フィルタできない行
`no_highlight` | ハイライトできない行
`no_log` | ログファイルに書き込まれない行
`log0 …​ log9` | 行に対するログレベル (`/help logger` を参照)
`notify_none` | この行を含むバッファはホットリストに追加されません
`notify_message` | この行を含むバッファは "message" レベルでホットリストに追加されます
`notify_private` | この行を含むバッファは "private" レベルでホットリストに追加されます
`notify_highlight` | この行を含むバッファは "highlight" レベルでホットリストに追加されます
`self_msg` | 自分のメッセージ
`nick_xxx` | ニックネーム "xxx" からのメッセージ
`prefix_nick_ccc` | プレフィックスを色 "ccc" のニックネームにします
`host_xxx` | メッセージ中のユーザ名とホスト
`irc_xxx` | IRC メッセージ "xxx" (コマンドまたは 3 桁の番号)
`irc_numeric` | IRC 番号メッセージ
`irc_error` | IRC からのエラー
`irc_action` | あるニックネームからのアクション (`/me` コマンド)
`irc_ctcp` | CTCP メッセージ
`irc_ctcp_reply` | CTCP メッセージに対する返信
`irc_smart_filter` | "smart filter" でフィルタリング可能な IRC メッセージ
`away_info` | 離席状態のメッセージ

### 3.8. バー

バー とは任意のテキストを含めることができるチャットエリア以外の場所です。

バーオプションは `weechat.bar.name.option` オプションで設定します。ここで `name` はバーの名前、`option` はこのバーのオプション名です。

バーオプションのリスト:

オプション名 | 値 | 説明
--- | --- | ---
`type` | `root`、`window` | `root` 型のバーは画面に (全てのウィンドウの外に) 1 回だけ表示されます。デフォルトでは root バーはありませんが、buffers.pl スクリプトが作成する buffers バー (バッファのリストを含むサイドバー) が例の 1 つです。 `window` 型のバーは各ウィンドウに対して表示されます。例えば (`/window splith` や `/window splitv` で) 画面を 1 回分割する場合、それぞれのウィンドウにバーが 1 つ表示されます。4 つのデフォルトバー (title、status、input、nicklist) は `window` 型のバーです。
`position` | `top`、`bottom`、`left`、`right` | バーの位置: チャットエリアの上、下、左、右。
`priority` | 0 以上の整数 | バーの表示優先度: 型と位置が同じ複数のバーを画面に表示する順番に利用される。 バーは画面の端から中心に向かって表示される。高い優先度を持つバーが先に (画面の端に近い側に) 表示される。 例: 優先度 1000 の input バーは優先度 500 の status バーよりも先に表示される。
`size` | 0 以上の整数 | バーのサイズ: 位置が右/左の場合は列数、位置が上/下の場合は行数。値が `0` の場合は自動 (バーのサイズはバーの内容を基に計算される)。
`size_max` | 0 以上の整数 | バーの最大サイズ、`0` = 制限無し (このオプションは `size` = `0` の場合のみ使われる)。
`color_bg` | 色 | バーのデフォルトの背景色
`color_fg` | 色 | バーのデフォルトのテキスト色
`color_delim` | 色 | バーの区切り文字の色
`hidden` | `on`、`off` | このオプションが `on` の場合、バーは表示されません。 注意: このオプションを変更する代わりに、`/bar` コマンドを使うと便利です。例: `/bar toggle nicklist` (/bar コマンドを参照)。
`separator` | `on`、`off` | このオプションが `on` の場合、セパレータ (区切り線) がバー同士またはバーとチャットエリアの間に表示されます。
`items` | 文字列 | items のリスト (詳細はバー要素を参照)。
`filling_left_right` | `horizontal`、`vertical`、`columns_horizontal`、`columns_vertical` | 位置が `left` または `right` のバーに対するフィリングタイプ (詳細はバーフィリングを参照)。
`filling_top_bottom` | `horizontal`、`vertical`、`columns_horizontal`、`columns_vertical` | 位置が `top` または `bottom` のバーに対するフィリングタイプ (詳細はバーフィリングを参照)。
`conditions` | 文字列 | バーを表示する状態 (詳細はバー状態を参照)。

#### 3.8.1. バー要素

items オプションはバー要素をコンマ (画面上の要素同士に間隔を空ける) または "+" (間隔を空けない) で区切った文字列です。

バー要素のリストは `/bar listitems` コマンドで表示されます。

要素名の前または後に文字を表示させることができます (英数字以外の文字、"-" または "")。この文字はバー (_color_delim オプション) で定義された区切り文字の色をつけて要素の前または後に表示されます。

バー要素を含むバーの例 "[time],buffer_number+:+buffer_plugin+.+buffer_name":

    ┌───────────────────────────────────────────────────────────────────────────┐
    │[12:55] 3:irc/freenode.#weechat                                            │
    └───────────────────────────────────────────────────────────────────────────┘

特殊構文を使うことで、バー要素: "@buffer:item" ("buffer" はバッファの完全な名前、"item" はバー要素の名前) を表示する際に強制的に指定されたバッファを利用することが可能です。

これはルートバーに現在のウィンドウで表示されない (またはどこにも表示されない) 特定のバッファの要素を表示させる際に便利です。

例: bitlbee のニックネームリストをルートバーに表示させる (バーが bitlist で bitlbee サーバが bitlbee の場合):

    /set weechat.bar.bitlist.items "@irc.bitlbee.&bitlbee:buffer_nicklist"

#### 3.8.2. バーフィリング

フィリングタイプには 4 つの種類があります:

- `horizontal`: 左から右に向かって要素を水平に表示。要素内に改行がある場合、空白を行区切りに利用します。

- `vertical`: 上から下に向かって要素を表示。要素内に改行がある場合、改行を行区切りに利用します。

- `columns_horizontal`: テキストを左寄せして、列形式で要素を表示。最初の要素は左上、2 番目は同じ行の 1 列右側。

- `columns_vertical`: テキストを左寄せして、列形式で要素を表示。最初の要素は左上、2 番目は同じ列の 1 行下側。

デフォルトバーである title、status、input は horizontal フィリング、nicklist は vertical フィリング。

nicklist バーに対するフィリングの例:

    ┌───────────────────────────────────────────────────────────────────────┐
    │Welcome to #test, this is a test channel                               │
    │12:54:15 peter | hey!                                         │@carl   │
    │12:55:01  +Max | hello                                        │@jessika│
    │                                                              │@maddy  │
    │                                                              │%Diego  │
    │                                                              │%Melody │
    │                                                              │+Max    │
    │                                                              │ celia  │
    │                                                              │ Eva    │
    │                                                              │ freddy │
    │                                                              │ Harold^│
    │                                                              │ henry4 │
    │                                                              │ jimmy17│
    │                                                              │ jodie ▼│
    │[12:55] [6] [irc/freenode] 3:#test(+n){24}                             │
    │[@carl] █                                                              │
    └───────────────────────────────────────────────────────────────────────┘
                                         filling_left_right = vertical ▲

    ┌───────────────────────────────────────────────────────────────────────┐
    │Welcome to #test, this is a test channel                               │
    │12:54:15 peter | hey!                                │@carl     lee    │
    │12:55:01  +Max | hello                               │@jessika  louise │
    │                                                     │@maddy    mario  │
    │                                                     │%Diego    mark   │
    │                                                     │%Melody   peter  │
    │                                                     │+Max      Rachel │
    │                                                     │ celia    richard│
    │                                                     │ Eva      sheryl │
    │                                                     │ freddy   Vince  │
    │                                                     │ Harold^  warren │
    │                                                     │ henry4   zack   │
    │                                                     │ jimmy17         │
    │                                                     │ jodie           │
    │[12:55] [6] [irc/freenode] 3:#test(+n){24}                             │
    │[@carl] █                                                              │
    └───────────────────────────────────────────────────────────────────────┘
                                 filling_left_right = columns_vertical ▲

    ┌───────────────────────────────────────────────────────────────────────┐
    │@carl    %Diego    celia    Harold^  jodie    mario    Rachel   Vince  │
    │@jessika %Melody   Eva      henry4   lee      mark     richard  warren │
    │@maddy   +Max      freddy   jimmy17  louise   peter    sheryl   zack   │
    │───────────────────────────────────────────────────────────────────────│
    │                                                                       │
            filling_top_bottom = columns_vertical ▲

    ┌───────────────────────────────────────────────────────────────────────┐
    │@carl    @jessika @maddy   %Diego   %Melody  +Max      celia    Eva    │
    │ freddy   Harold^  henry4   jimmy17  jodie    lee      louise   mario  │
    │ mark     peter    Rachel   richard  sheryl   Vince    warren   zack   │
    │───────────────────────────────────────────────────────────────────────│
    │                                                                       │
          filling_top_bottom = columns_horizontal ▲

#### 3.8.3. バー状態

conditions オプションはバーを表示するか否かを評価する文字列です。

文字列は以下のいずれか:

- active: 非アクティブ状態のウィンドウ

- inactive: 非アクティブ状態のウィンドウ

- nicklist: ニックネームリストが含まれるバッファのウィンドウ

- 式: ブール値として評価 (/eval コマンドを参照)

式に使える変数は以下:

- `${active}`: ウィンドウがアクティブ状態の時に真

- `${inactive}`: ウィンドウが非アクティブ状態の時に真

- `${nicklist}`: ウィンドウに表示されるバッファがニックネームリストの場合に真。

式に使えるポインタは以下:

- `${window}`: 状態が評価されたウィンドウ

- `${buffer}`: 状態が評価されたウィンドウのバッファ

ニックネームリストを持ち、ウィンドウ幅が 100 より大きい全てのバッファにニックネームリストバーを表示する例:

    /set weechat.bar.nicklist.conditions "${nicklist} && ${window.win_width} > 100"

上と同じだが、&bitlbee バッファでは常にニックネームリストを表示 (ウィンドウ幅が狭くても):

    /set weechat.bar.nicklist.conditions "${nicklist} && (${window.win_width} > 100 || ${buffer.full_name} == irc.bitlbee.&bitlbee)"

### 3.9. 最小限表示

「最小限表示」と呼ばれる特殊な表示状態を使うことで、(マウスを使って) 長い URL を簡単にクリックしたり、テキストを簡単に選択できるようになっています。

最小限表示は以下の機能を持っています:

- 現在のバッファの内容だけを表示: 分割ウィンドウやバー等 (タイトル、ニックネームリスト、状態、入力、…​) も表示しない

- WeeChat マウスサポートを無効化 (有効化されていた場合): 端末でやるのと同じように URL をクリックしたりテキストを選択できます

- ncurses を使わない、このため URL を行の最後で分断されることがなくなります。

最小限表示を有効化するデフォルトキーは `Alt`+`l` で、終了するには同じキーを押してください (また、デフォルトでは入力が変更された場合に最小限表示を終了します、weechat.look.bare_display_exit_on_input オプションを参照)。

weechat.look.bare_display_time_format オプションを使えば、時間書式を変更することも可能です。

/window コマンドを使えば、指定秒後に最小限表示を有効化することができます。

WeeChat が以下のような表示状態の場合:

    ┌───────────────────────────────────────────────────────────────────────────┐
    │Welcome to #test, this is a test channel                                   │
    │12:52:27   --> | Flashy (flashcode@weechat.org) has joined #test   │@Flashy│
    │12:52:27    -- | Nicks #test: [@Flashy @joe +weebot peter]         │@joe   │
    │12:52:27    -- | Channel #test: 4 nicks (2 ops, 1 voice, 1 normal) │+weebot│
    │12:52:27    -- | Channel created on Tue Jan 27 06:30:17 2009       │peter  │
    │12:54:15 peter | hey!                                              │       │
    │12:55:01  @joe | peter: hook_process: https://weechat.org/files/do │       │
    │               | c/devel/weechat_plugin_api.en.html#_weechat_hook_ │       │
    │               | process                                           │       │
    │                                                                   │       │
    │                                                                   │       │
    │                                                                   │       │
    │                                                                   │       │
    │                                                                   │       │
    │                                                                   │       │
    │                                                                   │       │
    │                                                                   │       │
    │                                                                   │       │
    │[12:55] [6] [irc/freenode] 3:#test(+n){4}* [H: 4:#abc(2,5), 6]             │
    │[@Flashy(i)] hi peter!█                                                    │
    └───────────────────────────────────────────────────────────────────────────┘

最小限表示では以下の様に表示されます:

    ┌───────────────────────────────────────────────────────────────────────────┐
    │                                                                           │
    │                                                                           │
    │                                                                           │
    │                                                                           │
    │                                                                           │
    │                                                                           │
    │                                                                           │
    │                                                                           │
    │                                                                           │
    │                                                                           │
    │                                                                           │
    │                                                                           │
    │                                                                           │
    │12:52 --> Flashy (flashcode@weechat.org) has joined #test                  │
    │12:52 -- Nicks #test: [@Flashy @joe +weebot peter]                         │
    │12:52 -- Channel #test: 4 nicks (2 ops, 1 voice, 1 normal)                 │
    │12:52 -- Channel created on Tue Jan 27 06:30:17 2009                       │
    │12:54 <peter> hey!                                                         │
    │12:55 <@joe> peter: hook_process: https://weechat.org/files/doc/devel/weech│
    │at_plugin_api.en.html#_weechat_hook_process                                │
    └───────────────────────────────────────────────────────────────────────────┘

このため、端末で問題なく joe さんからの URL をクリックできます (もちろん、使用中の端末で URL をクリックできるように設定されていなければいけませんが)。

### 3.10. 通知レベル

#### 3.10.1. 通知レベルの設定

バッファに表示された各メッセージには 4 つのレベルが設定されています。レベルの低いものから順に:

- low: 重要性の低いメッセージ (例えば irc の参加/退出/終了メッセージ)

- message: ユーザからのメッセージ

- private: プライベートバッファのメッセージ

- highlight: ハイライトされたメッセージ

それぞれのバッファには通知レベルが設定されており、通知レベルに対応するメッセージの数がホットリストに表示されます。

デフォルトの通知レベルは weechat.look.buffer_notify_default オプションで指定し、デフォルトは all です。

通知レベル | ホットリストに追加されるメッセージのレベル
--- | ---
`none` | (無効)
`highlight` | highlight + private
`message` | highlight + private + message
`all` | highlight + private + message + low

通知レベルはバッファグループに対して設定することも可能で、例えば irc サーバ "freenode" に含まれる全てのバッファに対して設定する場合:

    /set weechat.notify.irc.freenode message

"#weechat" チャンネルだけに対して、通知レベルを highlight に設定する場合:

    /set weechat.notify.irc.freenode.#weechat highlight

`/buffer` コマンドで、あるバッファに対する通知レベルを設定できます:

    /buffer notify highlight

#### 3.10.2. ニックネームに対するホットリストレベルの最大値

ニックネーム、バッファ、バッファグループ (IRC サーバなど) に対してホットリストレベルの最大値を設定することが可能です。

あるニックネームのリストに対してバッファプロパティ "hotlist_max_level_nicks" を設定したり、各ニックネームに対してホットリストレベルの最大値を設定することも可能です。設定可能なレベルは以下です:

- -1: ニックネームがホットリストを変更しない優先度

- 0: 低優先度 (参加および退出メッセージなど)

- 1: 通常メッセージ

- 2: プライベートメッセージ

- 3: ハイライト (これはすべてのメッセージのデフォルト最大値であるため、通常これを指定することはありません)

例えば現在のバッファで "joe" と "mike" からのメッセージに対するハイライトを無効化するには以下のように設定します:

    /buffer set hotlist_max_level_nicks_add joe:2,mike:2

| バッファプロパティ "hotlist_max_level_nicks" は設定ファイルに保存されません。 これを保存するには buffer_autoset.py スクリプトを使ってください: このスクリプトをインストールするには `/script install buffer_autoset.py` コマンドを使い、ヘルプを見るには `/help autosetbuffer` コマンドを使ってください。

### 3.11. ハイライト

#### 3.11.1. ハイライトする単語の追加

デフォルトで WeeChat は自分のニックネームが含まれる他のユーザからのメッセージをハイライトします。このため、ハイライトはバッファに依存します (ニックネームはバッファごとに異なる場合があります)。

他の単語を追加するには weechat.look.highlight オプションを使います。例えば自分のニックネーム、"word1"、"word2"、"test" から始まる任意の単語をハイライトするには以下のように設定します:

    /set weechat.look.highlight word1,word2,test*

単語に対してさらに具体的なルールを設定する必要がある場合、weechat.look.highlight_regex オプションを使って正規表現で指定することも可能です。例えば "flashcode"、"flashcöde"、"flashy" という単語をハイライトするには以下のように設定します:

    /set weechat.look.highlight_regex flashc[oö]de|flashy

ハイライトする単語の区切りは weechat.look.word_chars_highlight オプションを使って設定します。

#### 3.11.2. ハイライトするタグの追加

表示される行には「タグ」を含めることが可能です。「タグ」とはメッセージの出自やメッセージ自身に関する情報を与えるものです。
`/debug tags` コマンドでタグを表示することが可能です (タグを非表示にする場合も同じコマンドを使います)。

ハイライトするタグを明示するには weechat.look.highlight_tags オプションを使います。複数のタグを指定するにはコンマで区切り、複数のタグの論理 "and" を表すには "+" で区切ります。

例えば "FlashCode" というニックネームからのすべてのメッセージと "toto" で始まるニックネームからのすべての通知メッセージをハイライトするには以下のように設定します:

    /set weechat.look.highlight_tags "nick_flashcode,irc_notice+nick_toto*"

#### 3.11.3. バッファに対する特別なハイライトの設定

バッファプロパティ "highlight_regex" と正規表現を使ってハイライトを強制できます。

例えば現在のバッファ宛のすべてのメッセージをハイライトするには以下のように設定します:

    /buffer set highlight_regex .*

| バッファプロパティ "highlight_regex" は設定ファイルに保存されません。 これを保存するには buffer_autoset.py スクリプトを使ってください: このスクリプトをインストールするには `/script install buffer_autoset.py` コマンドを使い、ヘルプを見るには `/help autosetbuffer` コマンドを使ってください。

### 3.12. デフォルトのキー割り当て

#### 3.12.1. コマンドライン用のキー

キー | 説明 | コマンド
--- | --- | ---
`←` `Ctrl`+`b` | コマンドラインで前の文字に移動 | `/input move_previous_char`
`→` `Ctrl`+`f` | コマンドラインで次の文字に移動 | `/input move_next_char`
`Ctrl`+`←` `Alt`+`b` | コマンドラインで前の単語に移動 | `/input move_previous_word`
`Ctrl`+`→` `Alt`+`f` | コマンドラインで次の単語に移動 | `/input move_next_word`
`Home` `Ctrl`+`a` | コマンドラインで行頭に移動 | `/input move_beginning_of_line`
`End` `Ctrl`+`e` | コマンドラインで行末に移動 | `/input move_end_of_line`
`Ctrl`+`c`, `b` | テキストを太字化するコードの挿入 | `/input insert \x02`
`Ctrl`+`c`, `c` | テキストに色をつけるコードの挿入 | `/input insert \x03`
`Ctrl`+`c`, `i` | テキストをイタリック体にするコードの挿入 | `/input insert \x1D`
`Ctrl`+`c`, `o` | テキスト色のリセットを行うコードの挿入 | `/input insert \x0F`
`Ctrl`+`c`, `v` | テキスト色の反転を行うコードの挿入 | `/input insert \x16`
`Ctrl`+`c`, `_` | テキストに下線を引くコードの挿入 | `/input insert \x1F`
`Del` `Ctrl`+`d` | コマンドラインで次の文字を削除 | `/input delete_next_char`
`Backsp.` `Ctrl`+`h` | コマンドラインで前の文字を削除 | `/input delete_previous_char`
`Ctrl`+`k` | コマンドラインでカーソルより後の文字列を削除 (削除された文字列は WeeChat 専用の内部クリップボードに保存) | `/input delete_end_of_line`
`Ctrl`+`r` | バッファ中の履歴からテキスト検索 (検索モード用のキーを参照) | `/input search_text_here`
`Ctrl`+`t` | 文字の入れ替え | `/input transpose_chars`
`Ctrl`+`u` | コマンドラインでカーソルより前の文字列を削除 (削除された文字列は WeeChat 専用の内部クリップボードに保存) | `/input delete_beginning_of_line`
`Ctrl`+`w` | コマンドラインで前の単語を削除 (削除された文字列は WeeChat 専用の内部クリップボードに保存) | `/input delete_previous_word`
`Ctrl`+`y` | WeeChat 専用の内部クリップボードの内容をペースト | `/input clipboard_paste`
`Ctrl`+`_` | コマンドラインの最後の動作をやり直す | `/input undo`
`Alt`+`_` | コマンドラインの最後の動作を取り消す | `/input redo`
`Tab` | コマンドやニックネームを補完 (再度 `Tab` することで次の補完候補を表示) | `/input complete_next`
`Shift`+`Tab` | 補完候補が無い場合: 部分補完を行う、補完候補が有る場合: 前の補完候補を表示 | `/input complete_previous`
`Enter` `Ctrl`+`j` `Ctrl`+`m` | コマンドを実行するか、メッセージを送信する (検索モードの場合: 検索の終了) | `/input return`
`↑` | 前のコマンド/メッセージを呼び出す (検索モードの場合: 上方向に検索) | `/input history_previous`
`↓` | 次のコマンド/メッセージを呼び出す (検索モードの場合: 下方向に検索) | `/input history_next`
`Ctrl`+`↑` | グローバル履歴から前のコマンド/メッセージを呼び出す (すべてのバッファに対して共通の履歴) | `/input history_global_previous`
`Ctrl`+`↓` | グローバル履歴から次のコマンド/メッセージを呼び出す (すべてのバッファに対して共通の履歴) | `/input history_global_next`
`Alt`+`d` | コマンドラインで次の単語を削除 (削除された文字列は WeeChat 専用の内部クリップボードに保存) | `/input delete_next_word`
`Alt`+`k` | キー入力を奪って、コマンドラインにコード (キーが割り当てられていればコマンド) を入力 | `/input grab_key_command`
`Alt`+`r` | コマンドラインへの入力をすべて削除 | `/input delete_line`
`Alt`+`s` | aspell の有効無効を切り替え | `/mute aspell toggle`

#### 3.12.2. バッファ / ウィンドウ用のキー

キー | 説明 | コマンド
--- | --- | ---
`Ctrl`+`l` | 全ウィンドウを再描画 | `/window refresh`
`Ctrl`+`s`, `Ctrl`+`u` | すべてのバッファに未読マークをセット | `/input set_unread`
`Ctrl`+`x` | 同じ番号を持つバッファにアタッチされていた場合、現在のバッファに移動 | `/input switch_active_buffer`
`Alt`+`x` | マージされたバッファに再ズーム (`Alt`+`x`: 全てのマージされたバッファを表示) | `/input zoom_merged_buffer`
`PgUp` | バッファ履歴を 1 ページ分上方向にスクロール | `/window page_up`
`PgDn` | バッファ履歴を 1 ページ分下方向にスクロール | `/window page_down`
`Alt`+`PgUp` | バッファ履歴を数行分上方向にスクロール | `/window scroll_up`
`Alt`+`PgDn` | バッファ履歴を数行分下方向にスクロール | `/window scroll_down`
`Alt`+`Home` | バッファ履歴を最初までスクロール | `/window scroll_top`
`Alt`+`End` | バッファ履歴を最後までスクロール | `/window scroll_bottom`
`Alt`+`←` `Alt`+`↑` `Ctrl`+`p` `F5` | 前のバッファに移動 | `/buffer -1`
`Alt`+`→` `Alt`+`↓` `Ctrl`+`n` `F6` | 後のバッファに移動 | `/buffer +1`
`F7` | ウィンドウを前に移動 | `/window -1`
`F8` | ウィンドウを後に移動 | `/window +1`
`F9` | バッファタイトルを左方向にスクロール | `/bar scroll title * -30%`
`F10` | バッファタイトルを右方向にスクロール | `/bar scroll title * +30%`
`F11` | ニックネームリストを上方向にスクロール | `/bar scroll nicklist * -100%`
`F12` | ニックネームリストを下方向にスクロール | `/bar scroll nicklist * +100%`
`Alt`+`F11` | ニックネームリストを一番上にスクロール | `/bar scroll nicklist * b`
`Alt`+`F12` | ニックネームリストを一番下にスクロール | `/bar scroll nicklist * e`
`Alt`+`a` | 変更のあった次のバッファに移動 (優先順位: ハイライト、新規メッセージ、その他) | `/input jump_smart`
`Alt`+`h` | ホットリスト (他のバッファにあった変更通知リスト) を消去 | `/input hotlist_clear`
`Alt`+`j`, `Alt`+`f` | 最初のバッファに移動 | `/buffer -`
`Alt`+`j`, `Alt`+`l` | 最後のバッファに移動 | `/buffer +`
`Alt`+`j`, `Alt`+`r` | IRC 生バッファに移動 | `/server raw`
`Alt`+`j`, `Alt`+`s` | IRC サーババッファに移動 | `/server jump`
`Alt`+`0…​9` | 番号のバッファに移動 (0 = 10) | `/buffer *N`
`Alt`+`j`, `01…​99` | 番号のバッファに移動 | `/buffer *NN`
`Alt`+`l` | 最小限表示の有効無効を切り替え | `/window bare`
`Alt`+`m` | マウスの有効無効を切り替え | `/mouse toggle`
`Alt`+`n` | 次のハイライトまでスクロール | `/window scroll_next_highlight`
`Alt`+`p` | 前のハイライトまでスクロール | `/window scroll_previous_highlight`
`Alt`+`u` | バッファを最初の未読行までスクロール | `/window scroll_unread`
`Alt`+`w`, `Alt`+`↑` | 上のウィンドウに移動 | `/window up`
`Alt`+`w`, `Alt`+`↓` | 下のウィンドウに移動 | `/window down`
`Alt`+`w`, `Alt`+`←` | 左のウィンドウに移動 | `/window left`
`Alt`+`w`, `Alt`+`→` | 右のウィンドウに移動 | `/window right`
`Alt`+`w`, `Alt`+`b` | すべてのウィンドウサイズを均等に | `/window balance`
`Alt`+`w`, `Alt`+`s` | 2 つのウィンドウを入れ替え | `/window swap`
`Alt`+`z` | 現在のウィンドウを最大化 (再度 `Alt`+`z` することで: 最初のウィンドウ状態に戻す、最大化前の状態) | `/window zoom`
`Alt`+`<` | バッファ訪問履歴で前のバッファに移動 | `/input jump_previously_visited_buffer`
`Alt`+`>` | バッファ訪問履歴で次のバッファに移動 | `/input jump_next_visited_buffer`
`Alt`+`/` | 最後に表示したバッファに移動 (バッファ移動前に表示していたウィンドウ) | `/input jump_last_buffer_displayed`
`Alt`+`=` | フィルタの有効無効を切り替え | `/filter toggle`
`Alt`+`-` | 現在のバッファのフィルタの有効無効を切り替え | `/filter toggle @`

#### 3.12.3. 「検索」モード用のキー

以下のキーは「検索」検索モード (バッファ内のテキスト検索用に `Ctrl`+`r` が押された状態) でのみ有効です。

キー | 説明 | コマンド
--- | --- | ---
`Ctrl`+`r` | 検索タイプを切り替え: 文字列 (デフォルト)、正規表現 | `/input search_switch_regex`
`Alt`+`c` | 大文字小文字を区別して検索 | `/input search_switch_case`
`Tab` | 検索範囲: メッセージ (デフォルト)、プレフィックス、プレフィックスとメッセージ | `/input search_switch_where`
`↑` | 前のキーワードで検索 | `/input search_previous`
`↓` | 次のキーワードで検索 | `/input search_next`
`Enter` `Ctrl`+`j` `Ctrl`+`m` | 現在の位置で検索を終了 | `/input search_stop_here`
`Ctrl`+`q` | 検索を終了してバッファの最後までスクロール | `/input search_stop`

#### 3.12.4. 「カーソル」モード用のキー

以下のキーは「カーソル」モード (画面上でカーソルを自由に動かせる状態) でのみ有効です。

キー | エリア | 説明 | コマンド
--- | --- | --- | ---
`↑` | - | カーソルを上の行に移動 | `/cursor move up`
`↓` | - | カーソルを下の行に移動 | `/cursor move down`
`←` | - | カーソルを左の列に移動 | `/cursor move left`
`→` | - | カーソルを右の列に移動 | `/cursor move right`
`Alt`+`↑` | - | カーソルを上のエリアに移動 | `/cursor move area_up`
`Alt`+`↓` | - | カーソルを下のエリアに移動 | `/cursor move area_down`
`Alt`+`←` | - | カーソルを左のエリアに移動 | `/cursor move area_left`
`Alt`+`→` | - | カーソルを右のエリアに移動 | `/cursor move area_right`
`m` | チャット | メッセージを引用 | `hsignal:chat_quote_message;/cursor stop`
`q` | チャット | プレフィックスとメッセージを引用 | `hsignal:chat_quote_prefix_message;/cursor stop`
`Q` | チャット | 時間、プレフィックス、メッセージを引用 | `hsignal:chat_quote_time_prefix_message;/cursor stop`
`b` | ニックネームリスト | ニックネームをバンする | `/window ${_window_number};/ban ${nick}`
`k` | ニックネームリスト | ニックネームをキックする | `/window ${_window_number};/kick ${nick}`
`K` | ニックネームリスト | ニックネームをバンとキックする | `/window ${_window_number};/kickban ${nick}`
`q` | ニックネームリスト | ニックネームに対するクエリを開く | `/window ${_window_number};/query ${nick};/cursor stop`
`w` | ニックネームリスト | ニックネームに対して whois を行う | `/window ${_window_number};/whois ${nick}`
`Enter` `Ctrl`+`j` `Ctrl`+`m` | - | カーソルモードを終了 | `/cursor stop`

#### 3.12.5. 「マウス」モード用のキー

以下のキーは「マウス」モード (マウスイベントが発生したとき) でのみ有効です。

ボタン(1) | ジェスチャー | エリア | 説明 | コマンド
--- | --- | --- | --- | ---
◾◽◽ | - | チャット | ウィンドウに移動 | `/window ${_window_number}`
◾◽◽ | 左 | チャット | 前のバッファに移動 | `/window ${_window_number};/buffer +1`
◾◽◽ | 右 | チャット | 次のバッファに移動 | `/window ${_window_number};/buffer +1`
◾◽◽ | 左 (長く) | チャット | 最初のバッファに移動 | `/window ${_window_number};/buffer 1`
◾◽◽ | 右 (長く) | チャット | 最後のバッファに移動 | `/window ${_window_number};/input jump_last_buffer`
◾◽◽ | - | チャット (スクリプトバッファ) | スクリプトバッファで行選択 | `/script go ${_chat_line_y}`
◽◽◾ | - | チャット (スクリプトバッファ) | スクリプトのインストール `/ 削除 | /script go ${_chat_line_y};/script installremove ${script_name_with_extension}`
⇑ | - | チャット | バッファ履歴を上方向にスクロール | `/window scroll_up -window ${_window_number}`
⇓ | - | チャット | バッファ履歴を下方向にスクロール | `/window scroll_down -window ${_window_number}`
⇑ | - | チャット (スクリプトバッファ) | スクリプトバッファを 5 行上方向にスクロール | `/script up 5`
⇓ | - | チャット (スクリプトバッファ) | スクリプトバッファで 5 行下方向にスクロール | `/script down 5`
`Ctrl`+`⇑` | - | チャット | 水平左方向にスクロール | `/window scroll_horiz -window ${_window_number} -10%`
`Ctrl`+`⇓` | - | チャット | 水平右方向にスクロール | `/window scroll_horiz -window ${_window_number} +10%`
◾◽◽ | 上 | ニックネームリスト | ニックネームリストを 1 ページ分上方向にスクロール | `/bar scroll nicklist ${_window_number} -100%`
◾◽◽ | 下 | ニックネームリスト | ニックネームリストを 1 ページ分下方向にスクロール | `/bar scroll nicklist ${_window_number} +100%`
◾◽◽ | 上 (長く) | ニックネームリスト | ニックネームリストの最初に移動 | `/bar scroll nicklist ${_window_number} b`
◾◽◽ | 下 (長く) | ニックネームリスト | ニックネームリストの最後に移動 | `/bar scroll nicklist ${_window_number} e`
◾◽◽ | - | ニックネームリスト | ニックネームに対するクエリを開く | `/window ${_window_number};/query ${nick}`
◽◽◾ | - | ニックネームリスト | ニックネームに対する whois を行う | `/window ${_window_number};/whois ${nick}`
◾◽◽ | 左 | ニックネームリスト | ニックネームをキックする | `/window ${_window_number};/kick ${nick}`
◾◽◽ | 左 (長く) | ニックネームリスト | ニックネームをキックとバンする | `/window ${_window_number};/kickban ${nick}`
◽◽◾ | 左 | ニックネームリスト | ニックネームをバンする | `/window ${_window_number};/ban ${nick}`
◽◽◾ | - | 入力 | マウスイベントを奪ってコマンドラインにコードを入力 | `/input grab_mouse_area`
⇑ | - | 任意のバー | バーを -20% スクロール | `/bar scroll ${_bar_name} ${_window_number} -20%`
⇓ | - | 任意のバー | バーを +20% スクロール | `/bar scroll ${_bar_name} ${_window_number} +20%`
◽◾◽ | - | 任意の場所 | この場所でカーソルモードを開始 | `/cursor go ${_x},${_y}`

| (1) "⇑" と "⇓" はホイールの上方向回転と下方向回転に対応します。

### 3.13. マウスサポート

WeeChat はマウスクリックとマウスジェスチャーをサポートしています。 ローカル端末と screen/tmux の有無にかかわらず ssh 接続経由で利用可能です。

#### 3.13.1. マウスの有効化

起動時にマウスを有効化するには:

    /set weechat.look.mouse on

マウスを有効化するには `Alt`+`m` を押すか、以下のコマンドを使います:

    /mouse enable

キーにマウスの一時的な無効化を割り当てることができます。例えば、`Alt`+`%` キーにマウスを 10 秒間無効化する機能を割り当てるには:

    /key bind meta-% /mouse toggle 10

| WeeChat でマウスを有効化した場合、すべてのマウスイベントは WeeChat によって捕捉されます。したがって、カット/ペーストなどの操作や URL のクリックなどは端末に送信されません。`Shift` キーを使えば、一時的にマウスを無効化して、端末へ直接イベントを送信する事が可能です (一部の端末、例えば iTerm などでは `Shift` の代わりに `Alt` を使ってください)。

| マウスに関するトラブルがあれば WeeChat FAQ を参照してください。

#### 3.13.2. コマンドに対してマウスイベントを割り当てる

WeeChat はデフォルトマウスイベントの多くを定義しています (「マウス」モード用のキーを参照)。

`/key` コマンドで "mouse" コンテキストを指定することで割り当てを追加、変更できます (詳しい使い方は /key コマンドを参照)。

イベント名には修飾キー (任意)、ボタン/ホイール名、ジェスチャー (任意) を利用できます。異なるイベントは "-" で分割してください。

修飾キーリスト:

修飾キー | 説明
--- | ---
`ctrl` | `Ctrl` キー
`alt` | `Alt` キー
`ctrl-alt` | `Ctrl` + `Alt` キー

ボタン/ホイールのリスト:

ボタン/ホイール | 説明
--- | ---
`button1` | 左ボタンクリック
`button2` | 右ボタンクリック
`button3` | 中ボタンクリック (多くの場合ホイールクリック)
`button4 …​ button9` | その他のボタンクリック
`wheelup` | ホイール (上方向)
`wheeldown` | ホイール (下方向)

ジェスチャーのリスト (ボタンのみ対応、ホイール未対応):

ジェスチャー | 距離
--- | ---
`gesture-up` | 3 から 19
`gesture-up-long` | 20 以上
`gesture-down` | 3 から 19
`gesture-down-long` | 20 以上
`gesture-left` | 3 から 39
`gesture-left-long` | 40 以上
`gesture-right` | 3 から 39
`gesture-right-long` | 40 以上

未完了イベントのリスト (ボタンのみ、プラグイン/スクリプトで便利):

イベント | 説明
--- | ---
`event-down` | マウスボタンが押され、離されていない状態
`event-drag` | マウスボタンが押された状態でマウスが動かされた

イベントの表記例:

- `button1`

- `ctrl-button1`

- `button1-gesture-right`

- `button1-event-down`

- `button1-event-drag`

- `alt-button2-gesture-down-long`

- `wheelup`

- `ctrl-alt-wheeldown`

- …​

| "mouse" イベントにキーを割り当てる場合、イベント名の最初または最後に `*` を使うことで複数のイベントにマッチさせることができます。例えば `button1-gesture-*` は左クリックを利用したすべてのジェスチャーにマッチします。

| `/input grab_mouse` コマンドの後にマウスを動かすことでコマンドラインにマウスイベントが入力されます。これにより対応するイベントを確認できます。

### 3.14. 暗号化データ

#### 3.14.1. データの保存

WeeChat はパスワードおよび sec.conf ファイルに保存されている個人データを暗号化することができます。

この設定ファイルは他のどのファイルよりも先に読まれ、ファイルに保存されている値を WeeChat およびプラグイン/スクリプトのオプションで使うことができます。

sec.conf に含まれるデータを暗号化するパスフレーズを設定することが可能です。これは必須ではありませんが、パスフレーズを設定することを強く勧めます。パスフレーズを設定しない場合、データは平文でファイルに保存されます。

    /secure passphrase this is my passphrase

パスフレーズを設定した場合、WeeChat の起動時にパスフレーズの入力が求められるようになります (`/upgrade` 時には求められません)。

この挙動を変更し、パスフレーズを保存したファイルを使うことも可能です (sec.crypt.passphrase_file オプションを参照してください)。

##### 暗号化

データの暗号化は 3 段階に分けて行われます:

1. パスフレーズから鍵を生成 (任意の salt を加えます)。

2. 暗号化するデータのハッシュを計算。

3. ハッシュとデータを暗号化 (出力: salt + 暗号化済みのハッシュ/データ)。

| ブロック暗号モードは CFB です。

結果は 16 進数文字列として sec.conf ファイルに保存されます、例:

    [data]
    __passphrase__ = on
    freenode = "53B1C86FCDA28FC122A95B0456ABD79B5AB74654F21C3D099A6CCA8173239EEA59533A1D83011251F96778AC3F5166A394"

##### 復号化

データの復号化は 3 段階に分けて行われます:

1. salt とパスフレーズを使って鍵を生成。

2. ハッシュとデータを復号化。

3. 復号化したハッシュとデータのハッシュが同じことを確認。

#### 3.14.2. 暗号化データの管理

暗号化データを追加するには、`/secure set` を使ってください、freenode IRC サーバのパスワードを設定する例:

    /secure set freenode mypassword

利便性を考慮して、暗号化データを専用のバッファに表示できるようになっています (値を見るにはバッファで `Alt`+`v`、以下のコマンドを実行してください:

    /secure

例えばパスワードなどの個人データを含むオプションで暗号化データを使うことができます、書式: "${sec.data.xxx}" ここで "xxx" は暗号化データの名前です (`/secure set xxx …​` のように使います)。
利用できるオプションの完全なリストはを見るには、`/help secure` を使ってください。

例えば上の freenode パスワードを SASL 認証で使うには:

    /set irc.server.freenode.sasl_password "${sec.data.freenode}"

### 3.15. オプションとコマンド

#### 3.15.1. 保護データのオプション (sec.conf)

セクション:

セクション | 操作コマンド | 説明
--- | --- | ---
`crypt` | `/set sec.crypt.*` | 暗号化に関するオプション
`data` | `/secure` | 保護データ

オプション:

- sec.crypt.cipher

  - 説明: データの暗号化を行う暗号鍵 (アルゴリズムの後ろに書かれた数は鍵のビット数)

  - タイプ: 整数

  - 値: aes128, aes192, aes256

  - デフォルト値: `aes256`

- sec.crypt.hash_algo

  - 説明: 復号化データをチェックするハッシュアルゴリズム

  - タイプ: 整数

  - 値: sha224, sha256, sha384, sha512

  - デフォルト値: `sha256`

- sec.crypt.passphrase_file

  - 説明: 保護データを暗号化/複合化するためのパスフレーズを保存したファイルパス; このオプションは sec.conf ファイルを読むときだけに利用されます; ファイルの 1 行目だけが利用されます; このファイルは環境変数 "WEECHAT_PASSPHRASE" が設定されていないときだけに利用されます (環境変数のほうが優先順位が高いです); セキュリティ上の注意: このファイルを自分だけが読み込める状態にし、WeeChat ホームの外 (例えば自分のホームディレクトリ) に保存しておくことを推奨します; 例: "~/.weechat-passphrase"

  - タイプ: 文字列

  - 値: 未制約文字列

  - デフォルト値: `""`

- sec.crypt.salt

  - 説明: 暗号化に利用する鍵を生成する場合は salt を利用してください (安全措置を厳重にするため); 有効化した場合、sec.conf ファイルに含まれる暗号化されたデータの内容はファイル書き込みの度に違うものになります; sec.conf ファイルをバージョン管理システムで管理している場合、常に同じ内容が書き込まれるようにこのオプションを無効化してください

  - タイプ: ブール

  - 値: on, off

  - デフォルト値: `on`

#### 3.15.2. WeeChat オプション (weechat.conf)

セクション:

セクション | 操作コマンド | 説明
--- | --- | ---
`debug` | `/debug set /set weechat.debug.*` | core とプラグインのデバッグレベル (オプションをセクションに追加/削除出来ます)
`startup` | `/set weechat.startup.*` | 起動オプション
`look` | `/set weechat.look.*` | 外観
`palette` | `/color alias /set weechat.palette.*` | 色の別名 (オプションをセクションに追加/削除出来ます)
`color` | `/set weechat.color.*` | 色
`completion` | `/set weechat.completion.*` | 補完オプション
`history` | `/set weechat.history.*` | 履歴オプション (コマンドとバッファ)
`proxy` | `/proxy /set weechat.proxy.*` | プロキシオプション
`network` | `/set weechat.network.*` | ネットワーク/SSL オプション
`bar` | `/bar /set weechat.bar.*` | バーオプション
`layout` | `/layout` | レイアウト
`notify` | `/buffer notify` | バッファに対する通知レベル (オプションをセクションに追加/削除出来ます)
`filter` | `/filter` | フィルタ
`key` | `/key` | デフォルトコンテキストのキー
`key_search` | `/key` | 検索コンテキストのキー
`key_cursor` | `/key` | カーソルコンテキストのキー
`key_mouse` | `/key` | マウスコンテキストのキー

オプション:

- weechat.color.bar_more

  - 説明: バーをスクロールする際の "+" のテキスト色

  - タイプ: 色

  - 値: WeeChat の色名 (default、black、(dark)gray、white、(light)red、(light)green、brown、yellow、(light)blue、(light)magenta、(light)cyan) 、端末色番号またはその別名; 色の前に属性を置くことができます (テキスト前景色のみ、背景色は出来ません): 太字は "*"、反転は "!"、イタリックは "/"、下線は "_"

  - デフォルト値: `lightmagenta`

- weechat.color.chat

  - 説明: チャットのテキスト色

  - タイプ: 色

  - 値: WeeChat の色名 (default、black、(dark)gray、white、(light)red、(light)green、brown、yellow、(light)blue、(light)magenta、(light)cyan) 、端末色番号またはその別名; 色の前に属性を置くことができます (テキスト前景色のみ、背景色は出来ません): 太字は "*"、反転は "!"、イタリックは "/"、下線は "_"

  - デフォルト値: `default`

- weechat.color.chat_bg

  - 説明: チャットの背景色

  - タイプ: 色

  - 値: WeeChat の色名 (default、black、(dark)gray、white、(light)red、(light)green、brown、yellow、(light)blue、(light)magenta、(light)cyan) 、端末色番号またはその別名; 色の前に属性を置くことができます (テキスト前景色のみ、背景色は出来ません): 太字は "*"、反転は "!"、イタリックは "/"、下線は "_"

  - デフォルト値: `default`

- weechat.color.chat_buffer

  - 説明: バッファ名のテキスト色

  - タイプ: 色

  - 値: WeeChat の色名 (default、black、(dark)gray、white、(light)red、(light)green、brown、yellow、(light)blue、(light)magenta、(light)cyan) 、端末色番号またはその別名; 色の前に属性を置くことができます (テキスト前景色のみ、背景色は出来ません): 太字は "*"、反転は "!"、イタリックは "/"、下線は "_"

  - デフォルト値: `white`

- weechat.color.chat_channel

  - 説明: チャンネル名のテキスト色

  - タイプ: 色

  - 値: WeeChat の色名 (default、black、(dark)gray、white、(light)red、(light)green、brown、yellow、(light)blue、(light)magenta、(light)cyan) 、端末色番号またはその別名; 色の前に属性を置くことができます (テキスト前景色のみ、背景色は出来ません): 太字は "*"、反転は "!"、イタリックは "/"、下線は "_"

  - デフォルト値: `white`

- weechat.color.chat_day_change

  - 説明: 日付が変わった時に表示されるメッセージのテキスト色

  - タイプ: 色

  - 値: WeeChat の色名 (default、black、(dark)gray、white、(light)red、(light)green、brown、yellow、(light)blue、(light)magenta、(light)cyan) 、端末色番号またはその別名; 色の前に属性を置くことができます (テキスト前景色のみ、背景色は出来ません): 太字は "*"、反転は "!"、イタリックは "/"、下線は "_"

  - デフォルト値: `cyan`

- weechat.color.chat_delimiters

  - 説明: 区切りのテキスト色

  - タイプ: 色

  - 値: WeeChat の色名 (default、black、(dark)gray、white、(light)red、(light)green、brown、yellow、(light)blue、(light)magenta、(light)cyan) 、端末色番号またはその別名; 色の前に属性を置くことができます (テキスト前景色のみ、背景色は出来ません): 太字は "*"、反転は "!"、イタリックは "/"、下線は "_"

  - デフォルト値: `green`

- weechat.color.chat_highlight

  - 説明: ハイライトされたプレフィックスのテキスト色

  - タイプ: 色

  - 値: WeeChat の色名 (default、black、(dark)gray、white、(light)red、(light)green、brown、yellow、(light)blue、(light)magenta、(light)cyan) 、端末色番号またはその別名; 色の前に属性を置くことができます (テキスト前景色のみ、背景色は出来ません): 太字は "*"、反転は "!"、イタリックは "/"、下線は "_"

  - デフォルト値: `yellow`

- weechat.color.chat_highlight_bg

  - 説明: ハイライトされたプレフィックスの背景色

  - タイプ: 色

  - 値: WeeChat の色名 (default、black、(dark)gray、white、(light)red、(light)green、brown、yellow、(light)blue、(light)magenta、(light)cyan) 、端末色番号またはその別名; 色の前に属性を置くことができます (テキスト前景色のみ、背景色は出来ません): 太字は "*"、反転は "!"、イタリックは "/"、下線は "_"

  - デフォルト値: `magenta`

- weechat.color.chat_host

  - 説明: ホスト名のテキスト色

  - タイプ: 色

  - 値: WeeChat の色名 (default、black、(dark)gray、white、(light)red、(light)green、brown、yellow、(light)blue、(light)magenta、(light)cyan) 、端末色番号またはその別名; 色の前に属性を置くことができます (テキスト前景色のみ、背景色は出来ません): 太字は "*"、反転は "!"、イタリックは "/"、下線は "_"

  - デフォルト値: `cyan`

- weechat.color.chat_inactive_buffer

  - 説明: 行へのフォーカスがなくなった場合の (バッファが他のバッファとマージされていて選択されていない場合の) のチャットのテキスト色

  - タイプ: 色

  - 値: WeeChat の色名 (default、black、(dark)gray、white、(light)red、(light)green、brown、yellow、(light)blue、(light)magenta、(light)cyan) 、端末色番号またはその別名; 色の前に属性を置くことができます (テキスト前景色のみ、背景色は出来ません): 太字は "*"、反転は "!"、イタリックは "/"、下線は "_"

  - デフォルト値: `default`

- weechat.color.chat_inactive_window

  - 説明: ウィンドウへのフォーカスがなくなった場合 (選択されていないウィンドウ) のチャットのテキスト色

  - タイプ: 色

  - 値: WeeChat の色名 (default、black、(dark)gray、white、(light)red、(light)green、brown、yellow、(light)blue、(light)magenta、(light)cyan) 、端末色番号またはその別名; 色の前に属性を置くことができます (テキスト前景色のみ、背景色は出来ません): 太字は "*"、反転は "!"、イタリックは "/"、下線は "_"

  - デフォルト値: `default`

- weechat.color.chat_nick

  - 説明: チャットウィンドウのニックネームのテキスト色: 一部のサーバメッセージおよびニックネーム色が見つからない場合の代替色として使われます; 多くの場合、ニックネーム色を指定するには weechat.color.chat_nick_colors オプションを使うと良いでしょう

  - タイプ: 色

  - 値: WeeChat の色名 (default、black、(dark)gray、white、(light)red、(light)green、brown、yellow、(light)blue、(light)magenta、(light)cyan) 、端末色番号またはその別名; 色の前に属性を置くことができます (テキスト前景色のみ、背景色は出来ません): 太字は "*"、反転は "!"、イタリックは "/"、下線は "_"

  - デフォルト値: `lightcyan`

- weechat.color.chat_nick_colors

  - 説明: ニックネームのテキスト色 (コンマ区切りの色リスト、背景色は以下の書式で指定: "fg:bg"、例: "lightred:blue")

  - タイプ: 文字列

  - 値: 未制約文字列

  - デフォルト値: `"cyan,magenta,green,brown,lightblue,default,lightcyan,lightmagenta,lightgreen,blue"`

- weechat.color.chat_nick_offline

  - 説明: オフラインのニックネームのテキスト色 (ニックネームリストにも表示されない); この色はオプション weechat.look.color_nick_offline が有効化されている場合にのみ使われます

  - タイプ: 色

  - 値: WeeChat の色名 (default、black、(dark)gray、white、(light)red、(light)green、brown、yellow、(light)blue、(light)magenta、(light)cyan) 、端末色番号またはその別名; 色の前に属性を置くことができます (テキスト前景色のみ、背景色は出来ません): 太字は "*"、反転は "!"、イタリックは "/"、下線は "_"

  - デフォルト値: `default`

- weechat.color.chat_nick_offline_highlight

  - 説明: ハイライトされたオフラインのニックネームのテキスト色; この色はオプション weechat.look.color_nick_offline が有効化されている場合にのみ使われます

  - タイプ: 色

  - 値: WeeChat の色名 (default、black、(dark)gray、white、(light)red、(light)green、brown、yellow、(light)blue、(light)magenta、(light)cyan) 、端末色番号またはその別名; 色の前に属性を置くことができます (テキスト前景色のみ、背景色は出来ません): 太字は "*"、反転は "!"、イタリックは "/"、下線は "_"

  - デフォルト値: `default`

- weechat.color.chat_nick_offline_highlight_bg

  - 説明: ハイライトされたオフラインのニックネームの背景色; この色はオプション weechat.look.color_nick_offline が有効化されている場合にのみ使われます

  - タイプ: 色

  - 値: WeeChat の色名 (default、black、(dark)gray、white、(light)red、(light)green、brown、yellow、(light)blue、(light)magenta、(light)cyan) 、端末色番号またはその別名; 色の前に属性を置くことができます (テキスト前景色のみ、背景色は出来ません): 太字は "*"、反転は "!"、イタリックは "/"、下線は "_"

  - デフォルト値: `blue`

- weechat.color.chat_nick_other

  - 説明: プライベートバッファ内の他のニックネームのテキスト色

  - タイプ: 色

  - 値: WeeChat の色名 (default、black、(dark)gray、white、(light)red、(light)green、brown、yellow、(light)blue、(light)magenta、(light)cyan) 、端末色番号またはその別名; 色の前に属性を置くことができます (テキスト前景色のみ、背景色は出来ません): 太字は "*"、反転は "!"、イタリックは "/"、下線は "_"

  - デフォルト値: `cyan`

- weechat.color.chat_nick_prefix

  - 説明: ニックネームプレフィックスの色 (プレフィックス中のニックネームの前に表示される文字列)

  - タイプ: 色

  - 値: WeeChat の色名 (default、black、(dark)gray、white、(light)red、(light)green、brown、yellow、(light)blue、(light)magenta、(light)cyan) 、端末色番号またはその別名; 色の前に属性を置くことができます (テキスト前景色のみ、背景色は出来ません): 太字は "*"、反転は "!"、イタリックは "/"、下線は "_"

  - デフォルト値: `green`

- weechat.color.chat_nick_self

  - 説明: チャットウィンドウ内のローカルニックネームのテキスト色

  - タイプ: 色

  - 値: WeeChat の色名 (default、black、(dark)gray、white、(light)red、(light)green、brown、yellow、(light)blue、(light)magenta、(light)cyan) 、端末色番号またはその別名; 色の前に属性を置くことができます (テキスト前景色のみ、背景色は出来ません): 太字は "*"、反転は "!"、イタリックは "/"、下線は "_"

  - デフォルト値: `white`

- weechat.color.chat_nick_suffix

  - 説明: ニックネームサフィックスの色 (プレフィックス中のニックネームの後に表示される文字列)

  - タイプ: 色

  - 値: WeeChat の色名 (default、black、(dark)gray、white、(light)red、(light)green、brown、yellow、(light)blue、(light)magenta、(light)cyan) 、端末色番号またはその別名; 色の前に属性を置くことができます (テキスト前景色のみ、背景色は出来ません): 太字は "*"、反転は "!"、イタリックは "/"、下線は "_"

  - デフォルト値: `green`

- weechat.color.chat_prefix_action

  - 説明: アクションプレフィックスのテキスト色

  - タイプ: 色

  - 値: WeeChat の色名 (default、black、(dark)gray、white、(light)red、(light)green、brown、yellow、(light)blue、(light)magenta、(light)cyan) 、端末色番号またはその別名; 色の前に属性を置くことができます (テキスト前景色のみ、背景色は出来ません): 太字は "*"、反転は "!"、イタリックは "/"、下線は "_"

  - デフォルト値: `white`

- weechat.color.chat_prefix_buffer

  - 説明: バッファ名のテキスト色 (多くのバッファが同じ番号を持つものにマージされている場合は、プレフィックスの前)

  - タイプ: 色

  - 値: WeeChat の色名 (default、black、(dark)gray、white、(light)red、(light)green、brown、yellow、(light)blue、(light)magenta、(light)cyan) 、端末色番号またはその別名; 色の前に属性を置くことができます (テキスト前景色のみ、背景色は出来ません): 太字は "*"、反転は "!"、イタリックは "/"、下線は "_"

  - デフォルト値: `brown`

- weechat.color.chat_prefix_buffer_inactive_buffer

  - 説明: 非アクティブバッファ名のテキスト色 (多くのバッファが同じ番号を持つものにマージされ、バッファが選択されていない場合は、プレフィックスの前)

  - タイプ: 色

  - 値: WeeChat の色名 (default、black、(dark)gray、white、(light)red、(light)green、brown、yellow、(light)blue、(light)magenta、(light)cyan) 、端末色番号またはその別名; 色の前に属性を置くことができます (テキスト前景色のみ、背景色は出来ません): 太字は "*"、反転は "!"、イタリックは "/"、下線は "_"

  - デフォルト値: `default`

- weechat.color.chat_prefix_error

  - 説明: エラープレフィックスのテキスト色

  - タイプ: 色

  - 値: WeeChat の色名 (default、black、(dark)gray、white、(light)red、(light)green、brown、yellow、(light)blue、(light)magenta、(light)cyan) 、端末色番号またはその別名; 色の前に属性を置くことができます (テキスト前景色のみ、背景色は出来ません): 太字は "*"、反転は "!"、イタリックは "/"、下線は "_"

  - デフォルト値: `yellow`

- weechat.color.chat_prefix_join

  - 説明: join プレフィックスのテキスト色

  - タイプ: 色

  - 値: WeeChat の色名 (default、black、(dark)gray、white、(light)red、(light)green、brown、yellow、(light)blue、(light)magenta、(light)cyan) 、端末色番号またはその別名; 色の前に属性を置くことができます (テキスト前景色のみ、背景色は出来ません): 太字は "*"、反転は "!"、イタリックは "/"、下線は "_"

  - デフォルト値: `lightgreen`

- weechat.color.chat_prefix_more

  - 説明: プレフィックスが長すぎる場合の "+" のテキスト色

  - タイプ: 色

  - 値: WeeChat の色名 (default、black、(dark)gray、white、(light)red、(light)green、brown、yellow、(light)blue、(light)magenta、(light)cyan) 、端末色番号またはその別名; 色の前に属性を置くことができます (テキスト前景色のみ、背景色は出来ません): 太字は "*"、反転は "!"、イタリックは "/"、下線は "_"

  - デフォルト値: `lightmagenta`

- weechat.color.chat_prefix_network

  - 説明: ネットワークプレフィックスのテキスト色

  - タイプ: 色

  - 値: WeeChat の色名 (default、black、(dark)gray、white、(light)red、(light)green、brown、yellow、(light)blue、(light)magenta、(light)cyan) 、端末色番号またはその別名; 色の前に属性を置くことができます (テキスト前景色のみ、背景色は出来ません): 太字は "*"、反転は "!"、イタリックは "/"、下線は "_"

  - デフォルト値: `magenta`

- weechat.color.chat_prefix_quit

  - 説明: quit プレフィックスのテキスト色

  - タイプ: 色

  - 値: WeeChat の色名 (default、black、(dark)gray、white、(light)red、(light)green、brown、yellow、(light)blue、(light)magenta、(light)cyan) 、端末色番号またはその別名; 色の前に属性を置くことができます (テキスト前景色のみ、背景色は出来ません): 太字は "*"、反転は "!"、イタリックは "/"、下線は "_"

  - デフォルト値: `lightred`

- weechat.color.chat_prefix_suffix

  - 説明: サフィックスのテキスト色 (プレフィックスの後ろ)

  - タイプ: 色

  - 値: WeeChat の色名 (default、black、(dark)gray、white、(light)red、(light)green、brown、yellow、(light)blue、(light)magenta、(light)cyan) 、端末色番号またはその別名; 色の前に属性を置くことができます (テキスト前景色のみ、背景色は出来ません): 太字は "*"、反転は "!"、イタリックは "/"、下線は "_"

  - デフォルト値: `green`

- weechat.color.chat_read_marker

  - 説明: 未読データマーカーのテキスト色

  - タイプ: 色

  - 値: WeeChat の色名 (default、black、(dark)gray、white、(light)red、(light)green、brown、yellow、(light)blue、(light)magenta、(light)cyan) 、端末色番号またはその別名; 色の前に属性を置くことができます (テキスト前景色のみ、背景色は出来ません): 太字は "*"、反転は "!"、イタリックは "/"、下線は "_"

  - デフォルト値: `magenta`

- weechat.color.chat_read_marker_bg

  - 説明: 未読データマーカーの背景色

  - タイプ: 色

  - 値: WeeChat の色名 (default、black、(dark)gray、white、(light)red、(light)green、brown、yellow、(light)blue、(light)magenta、(light)cyan) 、端末色番号またはその別名; 色の前に属性を置くことができます (テキスト前景色のみ、背景色は出来ません): 太字は "*"、反転は "!"、イタリックは "/"、下線は "_"

  - デフォルト値: `default`

- weechat.color.chat_server

  - 説明: サーバ名のテキスト色

  - タイプ: 色

  - 値: WeeChat の色名 (default、black、(dark)gray、white、(light)red、(light)green、brown、yellow、(light)blue、(light)magenta、(light)cyan) 、端末色番号またはその別名; 色の前に属性を置くことができます (テキスト前景色のみ、背景色は出来ません): 太字は "*"、反転は "!"、イタリックは "/"、下線は "_"

  - デフォルト値: `brown`

- weechat.color.chat_tags

  - 説明: メッセージの後ろのタグのテキスト色 (/debug tags コマンドで表示)

  - タイプ: 色

  - 値: WeeChat の色名 (default、black、(dark)gray、white、(light)red、(light)green、brown、yellow、(light)blue、(light)magenta、(light)cyan) 、端末色番号またはその別名; 色の前に属性を置くことができます (テキスト前景色のみ、背景色は出来ません): 太字は "*"、反転は "!"、イタリックは "/"、下線は "_"

  - デフォルト値: `red`

- weechat.color.chat_text_found

  - 説明: テキスト検索にヒットした行のマーカーのテキスト色

  - タイプ: 色

  - 値: WeeChat の色名 (default、black、(dark)gray、white、(light)red、(light)green、brown、yellow、(light)blue、(light)magenta、(light)cyan) 、端末色番号またはその別名; 色の前に属性を置くことができます (テキスト前景色のみ、背景色は出来ません): 太字は "*"、反転は "!"、イタリックは "/"、下線は "_"

  - デフォルト値: `yellow`

- weechat.color.chat_text_found_bg

  - 説明: テキスト検索にヒットした行のマーカーの背景色

  - タイプ: 色

  - 値: WeeChat の色名 (default、black、(dark)gray、white、(light)red、(light)green、brown、yellow、(light)blue、(light)magenta、(light)cyan) 、端末色番号またはその別名; 色の前に属性を置くことができます (テキスト前景色のみ、背景色は出来ません): 太字は "*"、反転は "!"、イタリックは "/"、下線は "_"

  - デフォルト値: `lightmagenta`

- weechat.color.chat_time

  - 説明: チャットウィンドウ内の時間のテキスト色

  - タイプ: 色

  - 値: WeeChat の色名 (default、black、(dark)gray、white、(light)red、(light)green、brown、yellow、(light)blue、(light)magenta、(light)cyan) 、端末色番号またはその別名; 色の前に属性を置くことができます (テキスト前景色のみ、背景色は出来ません): 太字は "*"、反転は "!"、イタリックは "/"、下線は "_"

  - デフォルト値: `default`

- weechat.color.chat_time_delimiters

  - 説明: 時間区切りのテキスト色

  - タイプ: 色

  - 値: WeeChat の色名 (default、black、(dark)gray、white、(light)red、(light)green、brown、yellow、(light)blue、(light)magenta、(light)cyan) 、端末色番号またはその別名; 色の前に属性を置くことができます (テキスト前景色のみ、背景色は出来ません): 太字は "*"、反転は "!"、イタリックは "/"、下線は "_"

  - デフォルト値: `brown`

- weechat.color.chat_value

  - 説明: 値のテキスト色

  - タイプ: 色

  - 値: WeeChat の色名 (default、black、(dark)gray、white、(light)red、(light)green、brown、yellow、(light)blue、(light)magenta、(light)cyan) 、端末色番号またはその別名; 色の前に属性を置くことができます (テキスト前景色のみ、背景色は出来ません): 太字は "*"、反転は "!"、イタリックは "/"、下線は "_"

  - デフォルト値: `cyan`

- weechat.color.chat_value_null

  - 説明: 値が null (未定義) の場合のテキスト色

  - タイプ: 色

  - 値: WeeChat の色名 (default、black、(dark)gray、white、(light)red、(light)green、brown、yellow、(light)blue、(light)magenta、(light)cyan) 、端末色番号またはその別名; 色の前に属性を置くことができます (テキスト前景色のみ、背景色は出来ません): 太字は "*"、反転は "!"、イタリックは "/"、下線は "_"

  - デフォルト値: `blue`

- weechat.color.emphasized

  - 説明: 強調テキストの色 (テキスト検索する際など); このオプションは weechat.look.emphasized_attributes オプションが空文字列 (デフォルト値) の場合のみ使われます

  - タイプ: 色

  - 値: WeeChat の色名 (default、black、(dark)gray、white、(light)red、(light)green、brown、yellow、(light)blue、(light)magenta、(light)cyan) 、端末色番号またはその別名; 色の前に属性を置くことができます (テキスト前景色のみ、背景色は出来ません): 太字は "*"、反転は "!"、イタリックは "/"、下線は "_"

  - デフォルト値: `yellow`

- weechat.color.emphasized_bg

  - 説明: 強調テキストの背景色 (テキスト検索する際など); このオプションは weechat.look.emphasized_attributes オプションが空文字列 (デフォルト値) の場合のみ使われます

  - タイプ: 色

  - 値: WeeChat の色名 (default、black、(dark)gray、white、(light)red、(light)green、brown、yellow、(light)blue、(light)magenta、(light)cyan) 、端末色番号またはその別名; 色の前に属性を置くことができます (テキスト前景色のみ、背景色は出来ません): 太字は "*"、反転は "!"、イタリックは "/"、下線は "_"

  - デフォルト値: `magenta`

- weechat.color.input_actions

  - 説明: 入力がアクションの場合のテキスト色

  - タイプ: 色

  - 値: WeeChat の色名 (default、black、(dark)gray、white、(light)red、(light)green、brown、yellow、(light)blue、(light)magenta、(light)cyan) 、端末色番号またはその別名; 色の前に属性を置くことができます (テキスト前景色のみ、背景色は出来ません): 太字は "*"、反転は "!"、イタリックは "/"、下線は "_"

  - デフォルト値: `lightgreen`

- weechat.color.input_text_not_found

  - 説明: 入力行のテキスト検索に失敗した場合のテキスト色

  - タイプ: 色

  - 値: WeeChat の色名 (default、black、(dark)gray、white、(light)red、(light)green、brown、yellow、(light)blue、(light)magenta、(light)cyan) 、端末色番号またはその別名; 色の前に属性を置くことができます (テキスト前景色のみ、背景色は出来ません): 太字は "*"、反転は "!"、イタリックは "/"、下線は "_"

  - デフォルト値: `red`

- weechat.color.item_away

  - 説明: 離席要素のテキスト色

  - タイプ: 色

  - 値: WeeChat の色名 (default、black、(dark)gray、white、(light)red、(light)green、brown、yellow、(light)blue、(light)magenta、(light)cyan) 、端末色番号またはその別名; 色の前に属性を置くことができます (テキスト前景色のみ、背景色は出来ません): 太字は "*"、反転は "!"、イタリックは "/"、下線は "_"

  - デフォルト値: `yellow`

- weechat.color.nicklist_away

  - 説明: 離席状態のニックネームのテキスト色

  - タイプ: 色

  - 値: WeeChat の色名 (default、black、(dark)gray、white、(light)red、(light)green、brown、yellow、(light)blue、(light)magenta、(light)cyan) 、端末色番号またはその別名; 色の前に属性を置くことができます (テキスト前景色のみ、背景色は出来ません): 太字は "*"、反転は "!"、イタリックは "/"、下線は "_"

  - デフォルト値: `cyan`

- weechat.color.nicklist_group

  - 説明: ニックネームリスト内のグループのテキスト色

  - タイプ: 色

  - 値: WeeChat の色名 (default、black、(dark)gray、white、(light)red、(light)green、brown、yellow、(light)blue、(light)magenta、(light)cyan) 、端末色番号またはその別名; 色の前に属性を置くことができます (テキスト前景色のみ、背景色は出来ません): 太字は "*"、反転は "!"、イタリックは "/"、下線は "_"

  - デフォルト値: `green`

- weechat.color.separator

  - 説明: ウィンドウセパレータ (分割時) とバーセパレータ (ニックネームリスト等) の色

  - タイプ: 色

  - 値: WeeChat の色名 (default、black、(dark)gray、white、(light)red、(light)green、brown、yellow、(light)blue、(light)magenta、(light)cyan) 、端末色番号またはその別名; 色の前に属性を置くことができます (テキスト前景色のみ、背景色は出来ません): 太字は "*"、反転は "!"、イタリックは "/"、下線は "_"

  - デフォルト値: `blue`

- weechat.color.status_count_highlight

  - 説明: ホットリスト内のハイライトメッセージ数のテキスト色 (ステータスバー)

  - タイプ: 色

  - 値: WeeChat の色名 (default、black、(dark)gray、white、(light)red、(light)green、brown、yellow、(light)blue、(light)magenta、(light)cyan) 、端末色番号またはその別名; 色の前に属性を置くことができます (テキスト前景色のみ、背景色は出来ません): 太字は "*"、反転は "!"、イタリックは "/"、下線は "_"

  - デフォルト値: `magenta`

- weechat.color.status_count_msg

  - 説明: ホットリスト内のメッセージ数のテキスト色 (ステータスバー)

  - タイプ: 色

  - 値: WeeChat の色名 (default、black、(dark)gray、white、(light)red、(light)green、brown、yellow、(light)blue、(light)magenta、(light)cyan) 、端末色番号またはその別名; 色の前に属性を置くことができます (テキスト前景色のみ、背景色は出来ません): 太字は "*"、反転は "!"、イタリックは "/"、下線は "_"

  - デフォルト値: `brown`

- weechat.color.status_count_other

  - 説明: ホットリスト内のその他のメッセージ数のテキスト色 (ステータスバー)

  - タイプ: 色

  - 値: WeeChat の色名 (default、black、(dark)gray、white、(light)red、(light)green、brown、yellow、(light)blue、(light)magenta、(light)cyan) 、端末色番号またはその別名; 色の前に属性を置くことができます (テキスト前景色のみ、背景色は出来ません): 太字は "*"、反転は "!"、イタリックは "/"、下線は "_"

  - デフォルト値: `default`

- weechat.color.status_count_private

  - 説明: ホットリスト内のプライベートメッセージ数のテキスト色 (ステータスバー)

  - タイプ: 色

  - 値: WeeChat の色名 (default、black、(dark)gray、white、(light)red、(light)green、brown、yellow、(light)blue、(light)magenta、(light)cyan) 、端末色番号またはその別名; 色の前に属性を置くことができます (テキスト前景色のみ、背景色は出来ません): 太字は "*"、反転は "!"、イタリックは "/"、下線は "_"

  - デフォルト値: `green`

- weechat.color.status_data_highlight

  - 説明: ハイライトメッセージを受け取ったバッファのテキスト色 (ステータスバー)

  - タイプ: 色

  - 値: WeeChat の色名 (default、black、(dark)gray、white、(light)red、(light)green、brown、yellow、(light)blue、(light)magenta、(light)cyan) 、端末色番号またはその別名; 色の前に属性を置くことができます (テキスト前景色のみ、背景色は出来ません): 太字は "*"、反転は "!"、イタリックは "/"、下線は "_"

  - デフォルト値: `lightmagenta`

- weechat.color.status_data_msg

  - 説明: 新しいメッセージを受け取ったバッファのテキスト色 (ステータスバー)

  - タイプ: 色

  - 値: WeeChat の色名 (default、black、(dark)gray、white、(light)red、(light)green、brown、yellow、(light)blue、(light)magenta、(light)cyan) 、端末色番号またはその別名; 色の前に属性を置くことができます (テキスト前景色のみ、背景色は出来ません): 太字は "*"、反転は "!"、イタリックは "/"、下線は "_"

  - デフォルト値: `yellow`

- weechat.color.status_data_other

  - 説明: 新しいデータ (メッセージ以外) を受け取ったバッファのテキスト色 (ステータスバー)

  - タイプ: 色

  - 値: WeeChat の色名 (default、black、(dark)gray、white、(light)red、(light)green、brown、yellow、(light)blue、(light)magenta、(light)cyan) 、端末色番号またはその別名; 色の前に属性を置くことができます (テキスト前景色のみ、背景色は出来ません): 太字は "*"、反転は "!"、イタリックは "/"、下線は "_"

  - デフォルト値: `default`

- weechat.color.status_data_private

  - 説明: プライベートメッセージを受けとったバッファのテキスト色 (ステータスバー)

  - タイプ: 色

  - 値: WeeChat の色名 (default、black、(dark)gray、white、(light)red、(light)green、brown、yellow、(light)blue、(light)magenta、(light)cyan) 、端末色番号またはその別名; 色の前に属性を置くことができます (テキスト前景色のみ、背景色は出来ません): 太字は "*"、反転は "!"、イタリックは "/"、下線は "_"

  - デフォルト値: `lightgreen`

- weechat.color.status_filter

  - 説明: ステータスバー内のフィルタインジケータのテキスト色

  - タイプ: 色

  - 値: WeeChat の色名 (default、black、(dark)gray、white、(light)red、(light)green、brown、yellow、(light)blue、(light)magenta、(light)cyan) 、端末色番号またはその別名; 色の前に属性を置くことができます (テキスト前景色のみ、背景色は出来ません): 太字は "*"、反転は "!"、イタリックは "/"、下線は "_"

  - デフォルト値: `green`

- weechat.color.status_more

  - 説明: 新しいデータを受け取ったバッファのテキスト色 (ステータスバー)

  - タイプ: 色

  - 値: WeeChat の色名 (default、black、(dark)gray、white、(light)red、(light)green、brown、yellow、(light)blue、(light)magenta、(light)cyan) 、端末色番号またはその別名; 色の前に属性を置くことができます (テキスト前景色のみ、背景色は出来ません): 太字は "*"、反転は "!"、イタリックは "/"、下線は "_"

  - デフォルト値: `yellow`

- weechat.color.status_mouse

  - 説明: ステータスバー内のマウスインジケータのテキスト色

  - タイプ: 色

  - 値: WeeChat の色名 (default、black、(dark)gray、white、(light)red、(light)green、brown、yellow、(light)blue、(light)magenta、(light)cyan) 、端末色番号またはその別名; 色の前に属性を置くことができます (テキスト前景色のみ、背景色は出来ません): 太字は "*"、反転は "!"、イタリックは "/"、下線は "_"

  - デフォルト値: `green`

- weechat.color.status_name

  - 説明: ステータスバー内の現在のバッファ名のテキスト色

  - タイプ: 色

  - 値: WeeChat の色名 (default、black、(dark)gray、white、(light)red、(light)green、brown、yellow、(light)blue、(light)magenta、(light)cyan) 、端末色番号またはその別名; 色の前に属性を置くことができます (テキスト前景色のみ、背景色は出来ません): 太字は "*"、反転は "!"、イタリックは "/"、下線は "_"

  - デフォルト値: `white`

- weechat.color.status_name_ssl

  - 説明: バッファで SSL などのセキュリティプロトコルを使っている場合に、ステータスバー内の現在のバッファ名に使うテキスト色

  - タイプ: 色

  - 値: WeeChat の色名 (default、black、(dark)gray、white、(light)red、(light)green、brown、yellow、(light)blue、(light)magenta、(light)cyan) 、端末色番号またはその別名; 色の前に属性を置くことができます (テキスト前景色のみ、背景色は出来ません): 太字は "*"、反転は "!"、イタリックは "/"、下線は "_"

  - デフォルト値: `lightgreen`

- weechat.color.status_nicklist_count

  - 説明: ニックネームリスト内のニックネーム数のテキスト色 (ステータスバー)

  - タイプ: 色

  - 値: WeeChat の色名 (default、black、(dark)gray、white、(light)red、(light)green、brown、yellow、(light)blue、(light)magenta、(light)cyan) 、端末色番号またはその別名; 色の前に属性を置くことができます (テキスト前景色のみ、背景色は出来ません): 太字は "*"、反転は "!"、イタリックは "/"、下線は "_"

  - デフォルト値: `default`

- weechat.color.status_number

  - 説明: ステータスバー内の現在のバッファ番号のテキスト色

  - タイプ: 色

  - 値: WeeChat の色名 (default、black、(dark)gray、white、(light)red、(light)green、brown、yellow、(light)blue、(light)magenta、(light)cyan) 、端末色番号またはその別名; 色の前に属性を置くことができます (テキスト前景色のみ、背景色は出来ません): 太字は "*"、反転は "!"、イタリックは "/"、下線は "_"

  - デフォルト値: `yellow`

- weechat.color.status_time

  - 説明: 時間のテキスト色 (ステータスバー)

  - タイプ: 色

  - 値: WeeChat の色名 (default、black、(dark)gray、white、(light)red、(light)green、brown、yellow、(light)blue、(light)magenta、(light)cyan) 、端末色番号またはその別名; 色の前に属性を置くことができます (テキスト前景色のみ、背景色は出来ません): 太字は "*"、反転は "!"、イタリックは "/"、下線は "_"

  - デフォルト値: `default`

- weechat.completion.base_word_until_cursor

  - 説明: これが有効な場合、補完する元単語はカーソル前の文字で終了; そうでなければ元単語はカーソル後の最初の文字で終了

  - タイプ: ブール

  - 値: on, off

  - デフォルト値: `on`

- weechat.completion.command_inline

  - 説明: これが有効な場合、コマンドライン中のコマンドを補完します (行頭のコマンドが最も優先度が高く、最初に評価されます); 注意: このオプションが有効な場合、"/" で始まるパスの自動補完は行われません (外部コマンドの引数)

  - タイプ: ブール

  - 値: on, off

  - デフォルト値: `on`

- weechat.completion.default_template

  - 説明: デフォルトの補完テンプレート (テンプレートコードと値のドキュメントを参照: プラグイン API リファレンス、"weechat_hook_command" 関数)

  - タイプ: 文字列

  - 値: 未制約文字列

  - デフォルト値: `"%(nicks)|%(irc_channels)"`

- weechat.completion.nick_add_space

  - 説明: ニックネーム補完の後に空白を追加 (コマンドラインの最初がニックネームでない場合は)

  - タイプ: ブール

  - 値: on, off

  - デフォルト値: `on`

- weechat.completion.nick_completer

  - 説明: ニックネーム補完の後に追加する文字列 (ニックネームがコマンドラインの最初にある場合)

  - タイプ: 文字列

  - 値: 未制約文字列

  - デフォルト値: `":"`

- weechat.completion.nick_first_only

  - 説明: 最初に見つかったニックネームだけを補完

  - タイプ: ブール

  - 値: on, off

  - デフォルト値: `off`

- weechat.completion.nick_ignore_chars

  - 説明: ニックネーム補完で無視する文字

  - タイプ: 文字列

  - 値: 未制約文字列

  - デフォルト値: `"[]`_-^"`

- weechat.completion.partial_completion_alert

  - 説明: 補完候補が複数あった場合にユーザに警告

  - タイプ: ブール

  - 値: on, off

  - デフォルト値: `on`

- weechat.completion.partial_completion_command

  - 説明: コマンドでの部分補完 (同じ文字を含む多くのコマンドが見つかった場合は止める)

  - タイプ: ブール

  - 値: on, off

  - デフォルト値: `off`

- weechat.completion.partial_completion_command_arg

  - 説明: コマンド引数での部分補完 (同じプレフィックスを持つ多くの引数が見つかった場合は止める)

  - タイプ: ブール

  - 値: on, off

  - デフォルト値: `off`

- weechat.completion.partial_completion_count

  - 説明: バー要素内の部分補完数を表示

  - タイプ: ブール

  - 値: on, off

  - デフォルト値: `on`

- weechat.completion.partial_completion_other

  - 説明: コマンド外での部分補完 (同じ文字を含む多くのコマンドが見つかった場合は止め)

  - タイプ: ブール

  - 値: on, off

  - デフォルト値: `off`

- weechat.history.display_default

  - 説明: 履歴をリストアップする際にデフォルトで表示するコマンドの最大数 (0 = 制限無し)

  - タイプ: 整数

  - 値: 0 .. 2147483647

  - デフォルト値: `5`

- weechat.history.max_buffer_lines_minutes

  - 説明: バッファ毎の履歴の保存時間 (分) (0 = 制限無し); 例: 1440 = 一日、10080 = 一週間、43200 = 一ヶ月、525600 = 一年間; weechat.history.max_buffer_lines_number オプションが 0 以外の場合には 0 を指定してください

  - タイプ: 整数

  - 値: 0 .. 2147483647

  - デフォルト値: `0`

- weechat.history.max_buffer_lines_number

  - 説明: バッファ毎の履歴行数 (0 = 制限無し); weechat.history.max_buffer_lines_minutes オプションが 0 以外の場合には 0 を指定してください

  - タイプ: 整数

  - 値: 0 .. 2147483647

  - デフォルト値: `4096`

- weechat.history.max_commands

  - 説明: 履歴に保存するユーザコマンド数 (0 = 制限無し、メモリ使用量の制限が無くなるため非推奨)

  - タイプ: 整数

  - 値: 0 .. 2147483647

  - デフォルト値: `100`

- weechat.history.max_visited_buffers

  - 説明: メモリに保存する観覧バッファの数

  - タイプ: 整数

  - 値: 0 .. 1000

  - デフォルト値: `50`

- weechat.look.align_end_of_lines

  - 説明: 行末の調節 (2 行以上になる行): このデータ (time、buffer、prefix、suffix、message (デフォルト)) の下から始められる

  - タイプ: 整数

  - 値: time, buffer, prefix, suffix, message

  - デフォルト値: `message`

- weechat.look.align_multiline_words

  - 説明: weechat.look.align_end_of_lines オプションに依存する単語内での改行抑制; 無効化した場合、単語という単位を無視して改行が行われます。これは長い URL が改行されなくなるという意味で便利です

  - タイプ: ブール

  - 値: on, off

  - デフォルト値: `on`

- weechat.look.bar_more_down

  - 説明: バーを下方向にスクロール出来る場合に表示される文字列 (水平方向詰め以外の属性を持つバー)

  - タイプ: 文字列

  - 値: 未制約文字列

  - デフォルト値: `"+"+`

- weechat.look.bar_more_left

  - 説明: バーを左方向にスクロール出来る場合に表示される文字列 (水平方向詰めの属性を持つバー用)

  - タイプ: 文字列

  - 値: 未制約文字列

  - デフォルト値: `"<<"`

- weechat.look.bar_more_right

  - 説明: バーを右方向にスクロール出来る場合に表示される文字列 (水平方向詰めの属性を持つバー用)

  - タイプ: 文字列

  - 値: 未制約文字列

  - デフォルト値: `">>"`

- weechat.look.bar_more_up

  - 説明: バーを上方向にスクロール出来る場合に表示される文字列 (水平方向詰め以外の属性を持つバー)

  - タイプ: 文字列

  - 値: 未制約文字列

  - デフォルト値: `"--"`

- weechat.look.bare_display_exit_on_input

  - 説明: 入力の変更に対する最小限表示モードを終了する

  - タイプ: ブール

  - 値: on, off

  - デフォルト値: `on`

- weechat.look.bare_display_time_format

  - 説明: 最小限表示モードで使う時間書式 (日付/時間指定子は strftime の man を参照)

  - タイプ: 文字列

  - 値: 未制約文字列

  - デフォルト値: `"%H:%M"`

- weechat.look.buffer_auto_renumber

  - 説明: 自動的に番号を割り当てる場合、1 から始まる連番になります; 無効にした場合、バッファ番号に欠番が許され、最初のバッファに1より大きなバッファ番号を割り当てることが可能になります

  - タイプ: ブール

  - 値: on, off

  - デフォルト値: `on`

- weechat.look.buffer_notify_default

  - 説明: バッファに対するデフォルトの通知レベル (メッセージの重要度に従い、バッファがホットリストに表示されるかどうかを WeeChat に教えるために使われる): all=全てのメッセージ (デフォルト)、message=メッセージとハイライト、highlight=ハイライトのみ、none=ホットリストに表示されない

  - タイプ: 整数

  - 値: none, highlight, message, all

  - デフォルト値: `all`

- weechat.look.buffer_position

  - 説明: 新しいバッファの位置: end = リストの最後 (番号 = 最後の番号 + 1) (デフォルト)、first_gap = リスト中に最初に現れる利用可能な番号 (どの番号も使えない場合、リストの最後); このオプションはレイアウト番号を持たないバッファの場合に利用されます

  - タイプ: 整数

  - 値: end, first_gap

  - デフォルト値: `end`

- weechat.look.buffer_search_case_sensitive

  - 説明: デフォルトのバッファテキスト検索: 大文字小文字を区別するかしないか

  - タイプ: ブール

  - 値: on, off

  - デフォルト値: `off`

- weechat.look.buffer_search_force_default

  - 説明: バッファテキスト検索のデフォルト値を強制する (バッファで最後に検索した値を使わない)

  - タイプ: ブール

  - 値: on, off

  - デフォルト値: `off`

- weechat.look.buffer_search_regex

  - 説明: デフォルトのバッファテキスト検索: 有効の場合は正規表現で検索、無効の場合は単純な文字列で検索

  - タイプ: ブール

  - 値: on, off

  - デフォルト値: `off`

- weechat.look.buffer_search_where

  - 説明: デフォルトのバッファテキスト検索: メッセージ中、プレフィックス中、プレフィックスとメッセージ中

  - タイプ: 整数

  - 値: prefix, message, prefix_message

  - デフォルト値: `prefix_message`

- weechat.look.buffer_time_format

  - 説明: バッファに表示される行に付く時間書式 (日付/時間の指定子は strftime の man を参照) (注意: 値は評価されるため "${color:xxx}" 書式で色を指定出来ます、/help eval を参照); 例えばグレースケールを使う時間の例 (256 色のサポートが必要): "${color:252}%H${color:245}%M${color:240}%S"

  - タイプ: 文字列

  - 値: 未制約文字列

  - デフォルト値: `"%H:%M:%S"`

- weechat.look.color_basic_force_bold

  - 説明: 明るい色と標準的な色の "darkgray" には "太字" 属性を強制 (このオプションはデフォルトでは無効: 太字は端末が 16 色以下の表示能力しかない場合に利用される)

  - タイプ: ブール

  - 値: on, off

  - デフォルト値: `off`

- weechat.look.color_inactive_buffer

  - 説明: アクティブでないバッファでは行に異なる色を使用 (行が未選択のマージバッファからの場合)

  - タイプ: ブール

  - 値: on, off

  - デフォルト値: `on`

- weechat.look.color_inactive_message

  - 説明: アクティブでないメッセージに異なる色を使用 (ウィンドウにフォーカスが無いか、行が未選択のマージバッファからの場合)

  - タイプ: ブール

  - 値: on, off

  - デフォルト値: `on`

- weechat.look.color_inactive_prefix

  - 説明: アクティブでないプレフィックスに異なる色を使用 (ウィンドウにフォーカスが無いか、行が未選択のマージバッファからの場合)

  - タイプ: ブール

  - 値: on, off

  - デフォルト値: `on`

- weechat.look.color_inactive_prefix_buffer

  - 説明: アクティブでないバッファ名のプレフィックスに異なる色を使用 (ウィンドウにフォーカスが無いか、行が未選択のマージバッファからの場合)

  - タイプ: ブール

  - 値: on, off

  - デフォルト値: `on`

- weechat.look.color_inactive_time

  - 説明: アクティブでない時間は異なる色を使用 (ウィンドウにフォーカスが無いか、行が未選択のマージバッファからの場合)

  - タイプ: ブール

  - 値: on, off

  - デフォルト値: `off`

- weechat.look.color_inactive_window

  - 説明: アクティブでないウィンドウでは行に異なる色を使用 (ウィンドウにフォーカスが無い場合)

  - タイプ: ブール

  - 値: on, off

  - デフォルト値: `on`

- weechat.look.color_nick_offline

  - 説明: オフライン状態のニックネームに異なる色を使用 (ニックネームリストにも表示しない)

  - タイプ: ブール

  - 値: on, off

  - デフォルト値: `off`

- weechat.look.color_pairs_auto_reset

  - 説明: 利用可能なペアの数がこの数以下になった場合、色ペアテーブルを自動的にリセット (-1 = 自動リセットを無効化、テーブルが一杯になったら手動で "/color reset")

  - タイプ: 整数

  - 値: -1 .. 256

  - デフォルト値: `5`

- weechat.look.color_real_white

  - 説明: セットされた場合、本当の白色が使われる、白色背景の端末ではデフォルトで無効 (白色背景を絶対に使わないなら、端末の前景色の代わりに本当の白色を表示するためにはこれを on にするべき)

  - タイプ: ブール

  - 値: on, off

  - デフォルト値: `off`

- weechat.look.command_chars

  - 説明: 入力文字列がコマンドかどうかを決定する文字列: 入力はこれらの文字の内の一つから始まらなければいけない; スラッシュ ("/") は常にコマンドプレフィックスとして扱われる (例: ".$")

  - タイプ: 文字列

  - 値: 未制約文字列

  - デフォルト値: `""`

- weechat.look.command_incomplete

  - 説明: これを設定した場合、不完全なコマンドと完全なコマンドを両方使えるようになります、例えば /he は /help の意味で使うことができます

  - タイプ: ブール

  - 値: on, off

  - デフォルト値: `off`

- weechat.look.confirm_quit

  - 説明: これを設定した場合、/quit コマンド使う際には必ず "-yes" 引数と共に使う必要があります (/help quit 参照)

  - タイプ: ブール

  - 値: on, off

  - デフォルト値: `off`

- weechat.look.confirm_upgrade

  - 説明: これを設定した場合、/upgrade コマンド使う際には必ず "-yes" 引数と共に使う必要があります (/help upgrade 参照)

  - タイプ: ブール

  - 値: on, off

  - デフォルト値: `off`

- weechat.look.day_change

  - 説明: 日付が変わった際に特殊メッセージを表示

  - タイプ: ブール

  - 値: on, off

  - デフォルト値: `on`

- weechat.look.day_change_message_1date

  - 説明: 日付が変わった時に表示される時間の書式、1 つの日付を表示 (例えばバッファの最初に) (日付/時間指定子は strftime の man を参照) (注意: 値は評価されるため "${color:xxx}" 書式で色を指定出来ます、/help eval を参照)

  - タイプ: 文字列

  - 値: 未制約文字列

  - デフォルト値: `"-- %a, %d %b %Y --"`

- weechat.look.day_change_message_2dates

  - 説明: 日付が変わった時に表示される時間の書式、2 つの日付を表示 (2 つのメッセージの間に); 文字列に対して strftime は 2 回呼び出されるため、2 番目の日付指定子は 2 つの "%" で始めてください (日付/時間指定子は strftime の man を参照) (注意: 値は評価されるため "${color:xxx}" 書式で色を指定出来ます、/help eval を参照)

  - タイプ: 文字列

  - 値: 未制約文字列

  - デフォルト値: `"-- %%a, %%d %%b %%Y (%a, %d %b %Y) --"`

- weechat.look.eat_newline_glitch

  - 説明: セットされた場合、eat_newline_glitch は 0 になる; これは各行の末尾に新しい行を追加しないために使われ、WeeChat から別のアプリケーションにテキストをコピー/ペーストする際にテキストの改行を行わない (致命的な表示上の問題を引き起こすため、このオプションはデフォルトで無効化されている)

  - タイプ: ブール

  - 値: on, off

  - デフォルト値: `off`

- weechat.look.emphasized_attributes

  - 説明: 強調テキストの属性: 1 つまたは複数の属性文字 ("*" は太字、"!" は反転、"/" はイタリック、"_" は下線); 文字列が空の場合、weechat.color.emphasized* の色が使われます

  - タイプ: 文字列

  - 値: 未制約文字列

  - デフォルト値: `""`

- weechat.look.highlight

  - 説明: コンマ区切りのハイライトされる単語リスト; 大文字小文字の区別無し (単語の最初に "(?-i)" をつければ区別有り)、部分マッチさせるには単語の最初か最後に "*" をつける; 例: "test,(?-i)*toto*,flash*"

  - タイプ: 文字列

  - 値: 未制約文字列

  - デフォルト値: `""`

- weechat.look.highlight_regex

  - 説明: メッセージ中のハイライトの有無を判断する POSIX 拡張正規表現、マッチ部分は必ず区切り文字 (アルファベット、"-"、"_"、"|" 以外の文字) で囲まれていなければいけない、正規表現は大文字小文字を区別しない (最初に "(?-i)" がある場合は区別する)、例: "flashcode|flashy"、"(?-i)FlashCode|flashy"

  - タイプ: 文字列

  - 値: 未制約文字列

  - デフォルト値: `""`

- weechat.look.highlight_tags

  - 説明: ハイライトするタグのコンマ区切りリスト; 大文字小文字の区別なし; 各タグでワイルドカード "*" を使うことができます; 論理積 "and" を取るにはタグ同士を "+" でつなげてください; 例: ニックネーム "FlashCode" からのメッセージは "nick_flashcode"、ニックネームが "toto" で始まるユーザからの notice メッセージは "irc_notice+nick_toto*"

  - タイプ: 文字列

  - 値: 未制約文字列

  - デフォルト値: `""`

- weechat.look.hotlist_add_conditions

  - 説明: ホットリストでバッファを追加する条件 (追加するバッファの通知レベルが OK の場合); 以下の条件を使うことができます: "window" (現在のウィンドウポインタ)、"buffer" (ホットリストに追加するバッファポインタ)、"priority" (0 = 低い、1 = メッセージ、2 = プライベートメッセージ、3 = ハイライト); デフォルトでは離席状態またはバッファが画面に表示されていない場合にホットリストへバッファを追加します

  - タイプ: 文字列

  - 値: 未制約文字列

  - デフォルト値: `"${away} || ${buffer.num_displayed} == 0"`

- weechat.look.hotlist_buffer_separator

  - 説明: ホットリストにあるバッファの間に表示される文字列

  - タイプ: 文字列

  - 値: 未制約文字列

  - デフォルト値: `", "`

- weechat.look.hotlist_count_max

  - 説明: 任意のバッファに関するホットリストに表示されるメッセージ数の最大値 (0 = メッセージ数は非表示)

  - タイプ: 整数

  - 値: 0 .. 4

  - デフォルト値: `2`

- weechat.look.hotlist_count_min_msg

  - 説明: メッセージの数がこの値以上の場合にメッセージ数を表示

  - タイプ: 整数

  - 値: 1 .. 100

  - デフォルト値: `2`

- weechat.look.hotlist_names_count

  - 説明: ホットリストに載せるバッファ名の数の最大値 (0 = バッファ名は無し、番号のみ)

  - タイプ: 整数

  - 値: 0 .. 10000

  - デフォルト値: `3`

- weechat.look.hotlist_names_length

  - 説明: ホットリストに載せるバッファ名の長さの最大値 (0 = 制限無し)

  - タイプ: 整数

  - 値: 0 .. 32

  - デフォルト値: `0`

- weechat.look.hotlist_names_level

  - 説明: ホットリストに載せる名前のレベル (次の組み合わせ: 1=join/part、2=メッセージ、4=プライベートメッセージ、8=ハイライト、例: 12=プライベートメッセージとハイライト)

  - タイプ: 整数

  - 値: 1 .. 15

  - デフォルト値: `12`

- weechat.look.hotlist_names_merged_buffers

  - 説明: セットされた場合、マージバッファに対してホットリストにバッファ名を載せることを強制

  - タイプ: ブール

  - 値: on, off

  - デフォルト値: `off`

- weechat.look.hotlist_prefix

  - 説明: ホットリストの最初に表示されるテキスト

  - タイプ: 文字列

  - 値: 未制約文字列

  - デフォルト値: `"H: "`

- weechat.look.hotlist_remove

  - 説明: ホットリストに含まれるバッファを削除: buffer = バッファを削除、merged = すべての可視状態でマージされたバッファを一括削除

  - タイプ: 整数

  - 値: buffer, merged

  - デフォルト値: `merged`

- weechat.look.hotlist_short_names

  - 説明: セットされた場合、ホットリストではバッファ名に短い名前を使う (名前に含まれる最初の "." 以降)

  - タイプ: ブール

  - 値: on, off

  - デフォルト値: `on`

- weechat.look.hotlist_sort

  - 説明: ホットリストのソート: group_time_*: 通知レベルでグループ化した (ハイライトを前にした) 後に時間でソート、group_number_*: 通知レベルでグループ化した (ハイライトを前にした) 後に番号でソート、number_*: 番号でソート; asc = 昇順、desc = 降順

  - タイプ: 整数

  - 値: group_time_asc, group_time_desc, group_number_asc, group_number_desc, number_asc, number_desc

  - デフォルト値: `group_time_asc`

- weechat.look.hotlist_suffix

  - 説明: ホットリストの最後に表示されるテキスト

  - タイプ: 文字列

  - 値: 未制約文字列

  - デフォルト値: `""`

- weechat.look.hotlist_unique_numbers

  - 説明: ホットリストには一意の番号だけを保持 (これは番号の後ろに名前が表示されていないホットリスト要素だけに適用されます)

  - タイプ: ブール

  - 値: on, off

  - デフォルト値: `on`

- weechat.look.input_cursor_scroll

  - 説明: 行の最後までスクロールする際に入力行の最後に続けて表示される文字の数

  - タイプ: 整数

  - 値: 0 .. 100

  - デフォルト値: `20`

- weechat.look.input_share

  - 説明: 全てのバッファでコマンド、テキスト、または両方の入力を共有 (バッファごとのローカル履歴に影響無し)

  - タイプ: 整数

  - 値: none, commands, text, all

  - デフォルト値: `none`

- weechat.look.input_share_overwrite

  - 説明: セットされ、入力が共有された場合、ターゲットバッファの入力は常に上書きされます

  - タイプ: ブール

  - 値: on, off

  - デフォルト値: `off`

- weechat.look.input_undo_max

  - 説明: バッファごとのコマンドラインの "undo" 回数の上限値 (0 = アンドゥは無効)

  - タイプ: 整数

  - 値: 0 .. 65535

  - デフォルト値: `32`

- weechat.look.item_away_message

  - 説明: サーバの離席メッセージを離席バー要素に表示

  - タイプ: ブール

  - 値: on, off

  - デフォルト値: `on`

- weechat.look.item_buffer_filter

  - 説明: 現在のバッファで何行かがフィルタされたことを示す文字列 (バー要素 "buffer_filter")

  - タイプ: 文字列

  - 値: 未制約文字列

  - デフォルト値: `"*"`

- weechat.look.item_buffer_zoom

  - 説明: マージされたバッファがズーム状態であることを示す文字列 (バー要素 "buffer_zoom")

  - タイプ: 文字列

  - 値: 未制約文字列

  - デフォルト値: `"!"`

- weechat.look.item_mouse_status

  - 説明: マウスが有効であることを示す文字列 (バー要素 "mouse_status")

  - タイプ: 文字列

  - 値: 未制約文字列

  - デフォルト値: `"M"`

- weechat.look.item_time_format

  - 説明: "time" バー要素の時間書式 (日付/時間指定子は strftime の man を参照) (注意: 値は評価されるため、"${color:xxx}" 書式を使えば色を指定することも出来ます、/help eval を参照)

  - タイプ: 文字列

  - 値: 未制約文字列

  - デフォルト値: `"%H:%M"`

- weechat.look.jump_current_to_previous_buffer

  - 説明: 他のバッファへの移動と現在のバッファに戻ることを簡単にするために、/buffer *N (N はバッファ番号) で現在のバッファ番号に移動した場合は、表示上の一つ前のバッファに移動する

  - タイプ: ブール

  - 値: on, off

  - デフォルト値: `on`

- weechat.look.jump_previous_buffer_when_closing

  - 説明: バッファを閉じた場合は一つ前に訪れていたバッファに移動 (無効にされた場合は、バッファ番号の一つ少ないものに移動)

  - タイプ: ブール

  - 値: on, off

  - デフォルト値: `on`

- weechat.look.jump_smart_back_to_buffer

  - 説明: ホットリストの最後に到達したら最初のバッファに移動する

  - タイプ: ブール

  - 値: on, off

  - デフォルト値: `on`

- weechat.look.key_bind_safe

  - 説明: "危険な" キー (ctrl または meta コードで始まらないキー) の割り当てを禁止

  - タイプ: ブール

  - 値: on, off

  - デフォルト値: `on`

- weechat.look.key_grab_delay

  - 説明: キーを横取りするためのデフォルト遅延時間 (ミリ秒単位) (デフォルトキー alt-k を使います); /input コマンドではこの遅延時間を無視します (/help input 参照)

  - タイプ: 整数

  - 値: 1 .. 10000

  - デフォルト値: `800`

- weechat.look.mouse

  - 説明: マウスサポートの有効化

  - タイプ: ブール

  - 値: on, off

  - デフォルト値: `off`

- weechat.look.mouse_timer_delay

  - 説明: マウスイベントを横取りするための遅延 (ミリ秒): WeeChat はイベント処理前にこの遅延時間だけ待つ

  - タイプ: 整数

  - 値: 1 .. 10000

  - デフォルト値: `100`

- weechat.look.nick_color_force

  - 説明: 一部のニックネームでニックネーム色を強制する: ニックネームから計算されるハッシュを元にした色を利用しない (書式: "nick1:color1;nick2:color2"); ニックネームの検索はまず大文字小文字が区別された状態で行われ、そのあとに小文字で行われます。このため、このオプションのニックネーム部分を小文字だけで書く事もできます

  - タイプ: 文字列

  - 値: 未制約文字列

  - デフォルト値: `""`

- weechat.look.nick_color_hash

  - 説明: ニックネームに対する色を見つけるハッシュアルゴリズム: djb2 = djb2 (文字の位置が重要: ニックネームに同じ色が使われにくくなる) の亜種、sum = 文字の総和

  - タイプ: 整数

  - 値: djb2, sum

  - デフォルト値: `djb2`

- weechat.look.nick_color_stop_chars

  - 説明: ニックネーム内の色計算に使用する部分を制限する文字 (このリストに含まれない文字が、このリストの文字の前に少なくとも一つ以上含まれなければいけない) (例: "|" を設定した場合、"|nick|away" はニックネーム "|nick" と同じ色になる)

  - タイプ: 文字列

  - 値: 未制約文字列

  - デフォルト値: `"_|["`

- weechat.look.nick_prefix

  - 説明: メッセージプレフィックス中のニックネームの前に表示するテキスト、例: "<"

  - タイプ: 文字列

  - 値: 未制約文字列

  - デフォルト値: `""`

- weechat.look.nick_suffix

  - 説明: メッセージプレフィックス中のニックネームの後に表示するテキスト、例: ">"

  - タイプ: 文字列

  - 値: 未制約文字列

  - デフォルト値: `""`

- weechat.look.paste_auto_add_newline

  - 説明: 少なくとも 2 行以上をペースト、確認のための質問に回答した場合に、ペーストしたテキストの末尾に新しい行を自動的に追加する

  - タイプ: ブール

  - 値: on, off

  - デフォルト値: `on`

- weechat.look.paste_bracketed

  - 説明: 端末の「括弧付きペーストモード」を有効化 (一部の端末/マルチプレクサで利用可能): このモードでは、ペーストされたテキストはコントロールシーケンスで括られます。これにより WeeChat はペーストされたテキストとタイプされたテキストを区別する ("ESC[200~"、ペーストされたテキスト、"ESC[201~")

  - タイプ: ブール

  - 値: on, off

  - デフォルト値: `on`

- weechat.look.paste_bracketed_timer_delay

  - 説明: 括弧付きペーストの終了を示すコントロールシーケンス ("ESC[201~") が入力されなかった場合に、括弧付きペーストを強制終了させるまでの待ち時間 (秒単位)

  - タイプ: 整数

  - 値: 1 .. 60

  - デフォルト値: `10`

- weechat.look.paste_max_lines

  - 説明: ユーザへの確認無しにペーストする行数の最大値 (-1 = この機能を無効化)

  - タイプ: 整数

  - 値: -1 .. 2147483647

  - デフォルト値: `1`

- weechat.look.prefix_action

  - 説明: アクションメッセージのプレフィックス (注意: 値は評価されるため、"${color:xxx}" 書式を使えば色を指定することも出来ます、/help eval を参照)

  - タイプ: 文字列

  - 値: 未制約文字列

  - デフォルト値: `" *"`

- weechat.look.prefix_align

  - 説明: プレフィックスの調節 (none、left、right (デフォルト))

  - タイプ: 整数

  - 値: none, left, right

  - デフォルト値: `right`

- weechat.look.prefix_align_max

  - 説明: プレフィックスのサイズの最大値 (0 = 最大値の指定無し)

  - タイプ: 整数

  - 値: 0 .. 128

  - デフォルト値: `0`

- weechat.look.prefix_align_min

  - 説明: プレフィックスサイズの最小値

  - タイプ: 整数

  - 値: 0 .. 128

  - デフォルト値: `0`

- weechat.look.prefix_align_more

  - 説明: プレフィックスが切り詰められた場合に表示する文字 (画面上のちょうど 1 文字)

  - タイプ: 文字列

  - 値: 未制約文字列

  - デフォルト値: `""+`

- weechat.look.prefix_align_more_after

  - 説明: テキストの後ろに切り捨て文字 (デフォルトでは "+") を表示 (この場所に表示されるべき空白を置換する); 無効化した場合、テキストの最後の文字が切り捨て文字になります

  - タイプ: ブール

  - 値: on, off

  - デフォルト値: `on`

- weechat.look.prefix_buffer_align

  - 説明: 多くのバッファが同じ番号を持つようにマージされた場合に、バッファ名のプレフィックスを調節 (none, left, right (デフォルト))

  - タイプ: 整数

  - 値: none, left, right

  - デフォルト値: `right`

- weechat.look.prefix_buffer_align_max

  - 説明: 多くのバッファが同じ番号を持つようにマージされた場合の、バッファ名のサイズの最大値 (0 = 最大値の指定無し)

  - タイプ: 整数

  - 値: 0 .. 128

  - デフォルト値: `0`

- weechat.look.prefix_buffer_align_more

  - 説明: バッファ名が切り詰められた場合に表示する文字 (多くのバッファが同じ番号を持つようにマージされた場合) (画面上のちょうど 1 文字)

  - タイプ: 文字列

  - 値: 未制約文字列

  - デフォルト値: `""+`

- weechat.look.prefix_buffer_align_more_after

  - 説明: テキストの後ろに切り捨て文字 (デフォルトでは "+") を表示 (この場所に表示されるべき空白を置換する); 無効化した場合、テキストの最後の文字が切り捨て文字になります

  - タイプ: ブール

  - 値: on, off

  - デフォルト値: `on`

- weechat.look.prefix_error

  - 説明: エラーメッセージのプレフィックス (注意: 値は評価されるため、"${color:xxx}" 書式を使えば色を指定することも出来ます、/help eval を参照)

  - タイプ: 文字列

  - 値: 未制約文字列

  - デフォルト値: `"=!="`

- weechat.look.prefix_join

  - 説明: 参加メッセージのプレフィックス (注意: 値は評価されるため、"${color:xxx}" 書式を使えば色を指定することも出来ます、/help eval を参照)

  - タイプ: 文字列

  - 値: 未制約文字列

  - デフォルト値: `"-->"`

- weechat.look.prefix_network

  - 説明: ネットワークメッセージのプレフィックス (注意: 値は評価されるため、"${color:xxx}" 書式を使えば色を指定することも出来ます、/help eval を参照)

  - タイプ: 文字列

  - 値: 未制約文字列

  - デフォルト値: `"--"`

- weechat.look.prefix_quit

  - 説明: 終了メッセージのプレフィックス (注意: 値は評価されるため、"${color:xxx}" 書式を使えば色を指定することも出来ます、/help eval を参照)

  - タイプ: 文字列

  - 値: 未制約文字列

  - デフォルト値: `"<--"`

- weechat.look.prefix_same_nick

  - 説明: 同じニックネームからの連続したメッセージに前置するプレフィックス: 空白文字 " " の場合はプレフィックスを隠す、これ以外の文字列の場合はそれをプレフィックスとして用いる、空文字の場合はプレフィックス表示機能を使わない

  - タイプ: 文字列

  - 値: 未制約文字列

  - デフォルト値: `""`

- weechat.look.prefix_suffix

  - 説明: プレフィックスの後ろに表示される文字列

  - タイプ: 文字列

  - 値: 未制約文字列

  - デフォルト値: `"|"`

- weechat.look.quote_nick_prefix

  - 説明: メッセージを引用する際にニックネームの前につけるテキスト (/help cursor 参照)

  - タイプ: 文字列

  - 値: 未制約文字列

  - デフォルト値: `"<"`

- weechat.look.quote_nick_suffix

  - 説明: メッセージを引用する際にニックネームの後につけるテキスト (/help cursor 参照)

  - タイプ: 文字列

  - 値: 未制約文字列

  - デフォルト値: `">"`

- weechat.look.quote_time_format

  - 説明: メッセージを引用する際の時間書式 (/help cursor を参照)

  - タイプ: 文字列

  - 値: 未制約文字列

  - デフォルト値: `"%H:%M:%S"`

- weechat.look.read_marker

  - 説明: 最初の未読行を表示するマーカー (line か char) をバッファ内で使用

  - タイプ: 整数

  - 値: none, line, char

  - デフォルト値: `line`

- weechat.look.read_marker_always_show

  - 説明: バッファの最終行であっても、常にリードマーカーを表示

  - タイプ: ブール

  - 値: on, off

  - デフォルト値: `off`

- weechat.look.read_marker_string

  - 説明: リードマーカー行の表示に使われる文字列 (行末まで文字列が繰り返される)

  - タイプ: 文字列

  - 値: 未制約文字列

  - デフォルト値: `"- "`

- weechat.look.save_config_on_exit

  - 説明: 終了時に設定ファイルを保存

  - タイプ: ブール

  - 値: on, off

  - デフォルト値: `on`

- weechat.look.save_layout_on_exit

  - 説明: 終了時にレイアウトを保存 (バッファ、ウィンドウ、両方)

  - タイプ: 整数

  - 値: none, buffers, windows, all

  - デフォルト値: `none`

- weechat.look.scroll_amount

  - 説明: scroll_up と scroll_down でスクロールする行数

  - タイプ: 整数

  - 値: 1 .. 2147483647

  - デフォルト値: `3`

- weechat.look.scroll_bottom_after_switch

  - 説明: 別のバッファに移動した後にウィンドウの最後までスクロール (ウィンドウのスクロール位置を記憶しない); 自動スクロールは書式ありバッファだけで有効 (自由内容バッファでは無効)

  - タイプ: ブール

  - 値: on, off

  - デフォルト値: `off`

- weechat.look.scroll_page_percent

  - 説明: 1 ページ上方向か下方向にスクロールする場合のスクロールの割合 (例えば 100 は 1 ページ、50 は半ページ)

  - タイプ: 整数

  - 値: 1 .. 100

  - デフォルト値: `100`

- weechat.look.search_text_not_found_alert

  - 説明: バッファ内に検索テキストが見つからなかった場合はユーザに警告

  - タイプ: ブール

  - 値: on, off

  - デフォルト値: `on`

- weechat.look.separator_horizontal

  - 説明: バーとウィンドウ周囲の水平セパレータ文字 (空の場合は ncurses で線を描画するが、一部の端末では URL 選択の際にバグを生ずる可能性がある); 必ず画面上に描画した時の文字幅が 1 の文字を指定してください

  - タイプ: 文字列

  - 値: 未制約文字列

  - デフォルト値: `"-"`

- weechat.look.separator_vertical

  - 説明: バーとウィンドウ周囲の垂直セパレータ文字 (空の場合は ncurses で線を描画するが、いくつかの端末では URL 選択の際にバグを生ずる可能性がある); 必ず画面上に描画した時の文字幅が 1 の文字を指定してください

  - タイプ: 文字列

  - 値: 未制約文字列

  - デフォルト値: `""`

- weechat.look.tab_width

  - 説明: メッセージに含まれるタブ文字を表示する際に使う空白文字の数

  - タイプ: 整数

  - 値: 1 .. 64

  - デフォルト値: `1`

- weechat.look.time_format

  - 説明: 文字列へ変換されてメッセージ中に表示される日付の時間書式 (日付/時間指定子は strftime の man を参照)

  - タイプ: 文字列

  - 値: 未制約文字列

  - デフォルト値: `"%a, %d %b %Y %T"`

- weechat.look.window_auto_zoom

  - 説明: 端末のサイズがすべてのウィンドウを表示するには小さすぎる場合、自動的に現在のウィンドウにズームする (端末のサイズが十分に大きい場合は、alt-z を使ってウィンドウのズームを戻してください)

  - タイプ: ブール

  - 値: on, off

  - デフォルト値: `off`

- weechat.look.window_separator_horizontal

  - 説明: ウィンドウ間に水平セパレータを表示

  - タイプ: ブール

  - 値: on, off

  - デフォルト値: `on`

- weechat.look.window_separator_vertical

  - 説明: ウィンドウ間に垂直セパレータを表示

  - タイプ: ブール

  - 値: on, off

  - デフォルト値: `on`

- weechat.look.window_title

  - 説明: 起動時に設定するウィンドウタイトル (Curses GUI 端末タイトル); 空文字列の場合、タイトルは変更されません (注意: 値は評価されます、/help eval を参照してください)

  - タイプ: 文字列

  - 値: 未制約文字列

  - デフォルト値: `"WeeChat ${info:version}"`

- weechat.look.word_chars_highlight

  - 説明: ハイライトする部分または文字と見なす文字 (または文字範囲) のカンマ区切りリスト; それぞれの要素は単一文字、文字範囲 (書式: a-z)、全角文字のクラス (例えば "alnum"、wctype の man 参照); 要素の前の "!" は否定を意味します (この文字は単語の一部とみなされません); "*" は任意の文字にマッチします; unicode 文字は \u1234 書式で使うことができます、例えば \u00A0 は固定スペースを意味します (サポートされる書式は /help print を参照)

  - タイプ: 文字列

  - 値: 未制約文字列

  - デフォルト値: `"!\u00A0,-,_,|,alnum"`

- weechat.look.word_chars_input

  - 説明: コマンドラインの一部または単語と見なす文字 (または文字範囲) のカンマ区切りリスト; それぞれの要素は単一文字、文字範囲 (書式: a-z)、全角文字のクラス (例えば "alnum"、wctype の man 参照); 要素の前の "!" は否定を意味します (この文字は単語の一部とみなされません); "*" は任意の文字にマッチします; unicode 文字は \u1234 書式で使うことができます、例えば \u00A0 は固定スペースを意味します (サポートされる書式は /help print を参照)

  - タイプ: 文字列

  - 値: 未制約文字列

  - デフォルト値: `"!\u00A0,-,_,|,alnum"`

- weechat.network.connection_timeout

  - 説明: リモートホストへの接続タイムアウト時間 (秒単位) (子プロセスが行う)

  - タイプ: 整数

  - 値: 1 .. 2147483647

  - デフォルト値: `60`

- weechat.network.gnutls_ca_file

  - 説明: 認証局を含むファイル ("%h" は WeeChat ホームに置換されます、デフォルトでは "~/.weechat" です)

  - タイプ: 文字列

  - 値: 未制約文字列

  - デフォルト値: `"/etc/ssl/certs/ca-certificates.crt"`

- weechat.network.gnutls_handshake_timeout

  - 説明: gnutls ハンドシェイクのタイムアウト (秒単位)

  - タイプ: 整数

  - 値: 1 .. 2147483647

  - デフォルト値: `30`

- weechat.network.proxy_curl

  - 説明: Curl を利用した URL のダウンロード時に利用するプロキシの名前 (スクリプトのリストをダウンロードする際および hook_process 関数から呼び出されるスクリプト内で利用); プロキシを定義するには /proxy コマンドを利用してください

  - タイプ: 文字列

  - 値: 未制約文字列

  - デフォルト値: `""`

- weechat.plugin.autoload

  - 説明: スタートアップ時にロードするプラグインのコンマ区切りリスト、"*" は見つかった全てのプラグイン、"!" から始まる名前はロードしないプラグイン、名前にワイルドカード "*" を使うことができます (例: "*" または "*,!lua,!tcl")

  - タイプ: 文字列

  - 値: 未制約文字列

  - デフォルト値: `"*"`

- weechat.plugin.debug

  - 説明: 全てのプラグインに対してデバッグメッセージを有効化 (デフォルトでは無効、無効を推奨)

  - タイプ: ブール

  - 値: on, off

  - デフォルト値: `off`

- weechat.plugin.extension

  - 説明: プラグインのファイル拡張子のコンマ区切りリスト

  - タイプ: 文字列

  - 値: 未制約文字列

  - デフォルト値: `".so,.dll"`

- weechat.plugin.path

  - 説明: プラグイン検索パス ("%h" は WeeChat ホームに置換されます、デフォルトでは "~/.weechat" です)

  - タイプ: 文字列

  - 値: 未制約文字列

  - デフォルト値: `"%h/plugins"`

- weechat.plugin.save_config_on_unload

  - 説明: プラグインをアンロードする際に設定ファイルをセーブ

  - タイプ: ブール

  - 値: on, off

  - デフォルト値: `on`

- weechat.startup.command_after_plugins

  - 説明: WeeChat が実行され、プラグインのロード後に実行されるコマンド (注意: 値は評価されます、/help eval を参照)

  - タイプ: 文字列

  - 値: 未制約文字列

  - デフォルト値: `""`

- weechat.startup.command_before_plugins

  - 説明: WeeChat が実行され、プラグインのロード前に実行されるコマンド (注意: 値は評価されます、/help eval を参照)

  - タイプ: 文字列

  - 値: 未制約文字列

  - デフォルト値: `""`

- weechat.startup.display_logo

  - 説明: WeeChat ロゴを開始時に表示

  - タイプ: ブール

  - 値: on, off

  - デフォルト値: `on`

- weechat.startup.display_version

  - 説明: WeeChat バージョンを開始時に表示

  - タイプ: ブール

  - 値: on, off

  - デフォルト値: `on`

- weechat.startup.sys_rlimit

  - 説明: WeeChat プロセスのリソースを制限する、書式: "res1:limit1,res2:limit2"; リソース名は定数 (RLIMIT_XXX) の最後の語を小文字で (値は man setrlimit を参照) 記述; 値の -1 は "無制限" の意; 例: core ファイルのサイズ制限を無制限に仮想メモリを 1GB に制限: "core:-1,as:1000000000"

  - タイプ: 文字列

  - 値: 未制約文字列

  - デフォルト値: `""`

#### 3.15.3. WeeChat コマンド

- `away`: 離席状態の切り替え

    /away  [-all] [<message>]

       -all: 全ての接続済みサーバに対して離席状態を切り替え
    message: 離席メッセージ (メッセージが無い場合は、離席状態を解除)

- `bar`: バーの管理

    /bar  list|listfull|listitems
          add <name> <type>[,<conditions>] <position> <size> <separator> <item1>[,<item2>...]
          default [input|title|status|nicklist]
          del <name>|-all
          set <name> <option> <value>
          hide|show|toggle <name>
          scroll <name> <window> <scroll_value>

             list: 全てのバーをリストアップ
         listfull: 全てのバーをリストアップ (詳細)
        listitems: 全てのバー要素をリストアップ
              add: 新しいバーを追加
             name: バーの名称 (ユニークな)
             type:   root: 外側のウィンドウ、
                   window: 内側のウィンドウ、任意の状態を取れる (以下を参照)
       conditions: バーを表示する条件:
                     active: アクティブウィンドウの場合に表示
                   inactive: 非アクティブウィンドウの場合に表示
                   nicklist: ニックネームリストを持つウィンドウの場合に表示
                   その他の条件: /help weechat.bar.xxx.conditions と /help eval を参照してください
                   表示条件の指定が無ければ、バーは常に表示されます。
         position: bottom、top、left、right
             size: バーのサイズ (文字数で指定)
        separator: 1 はセパレータ (線) を使用、0 または指定無しはセパレータ無し
        item1,...: バーの要素 (要素はコンマ (要素間にスペース) または "+" (要素間にスペース無し) で区切ります)
          default: デフォルトバーを作成 (バーの名前が無ければ全てのデフォルトバーが作成されます)
              del: バーを削除 (-all を付ければ全てのバーを削除)
              set: バー属性に値を設定
           option: 変更するオプション (オプション一覧は /set weechat.bar.<barname>.* を参照)
            value: オプションの新しい値
             hide: バーを隠す
             show: 隠されたバーを表示
           toggle: バーの非表示/表示を切り替え
           scroll: バーをスクロール
           window: ウィンドウ番号 (現在のウィンドウかルートバーを指定するには '*' を使う)
     scroll_value: スクロールする量: 'x' または 'y' (任意)の後に、'+' か '-' か 'b' (最初) か 'e' (最後)の後に、値 (+/- を付けて)、任意で % (スクロールする幅/高さの割合、% が無ければ値は文字数と解釈されます)

    例:
      時間、バー番号 + 名前、補完候補からなるバーを作成:
        /bar add mybar root bottom 1 0 [time],buffer_number+:+buffer_name,completion
      バーを隠す:
        /bar hide mybar
      現在のバッファに対応したニックネームリストを 10 行分、下方向にスクロール:
        /bar scroll nicklist * y+10
      現在のバッファに対応したニックネームリストを最後までスクロール:
        /bar scroll nicklist * ye

- `buffer`: バッファの管理

    /buffer  list
             clear [<number>|<name>|-merged|-all [<number>|<name>...]]
             move <number>|-|+
             swap <number1>|<name1> [<number2>|<name2>]
             cycle <number>|<name> [<number>|<name>...]]
             merge <number>
             unmerge [<number>|-all]
             hide [<number>|<name>|-all [<number>|<name>...]]
             unhide [<number>|<name>|-all [<number>|<name>...]]
             renumber [<number1> [<number2> [<start>]]]
             close [<n1>[-<n2>]|<name>]
             notify <level>
             localvar
             set <property> <value>
             get <property>
             <number>|-|+|<name>

        list: バッファをリストアップ (引数無しの場合、このリストが表示されます)
       clear: バッファの内容を削除 (number はバッファ番号、マージバッファに対しては -merged、全てのバッファに対しては -all、何も無ければ現在のバッファ)
        move: リストにバッファを移動 (相対指定も可能、例えば -1); "-" = 最初のバッファ番号に移動、"+" = 最後のバッファ番号 + 1 に移動
        swap: 2 つのバッファを入れ替え (現在のバッファと引数で与えた番号/名称で指定されるバッファを入れ替える)
       cycle: 指定したバッファ間でバッファを循環させる
       merge: 現在のバッファを他のバッファにマージ (2 つのバッファのチャットエリアが一緒になります)
              (デフォルトでは ctrl-x でマージバッファの切り替え)
     unmerge: 同じ番号を持つ他のバッファとのマージを解除
        hide: バッファを隠す
      unhide: バッファを隠すことを止める
    renumber: バッファを記憶 (weechat.look.buffer_auto_renumber オプションがオフの場合にのみ有効)
       close: バッファを閉じる (番号/範囲または名前は任意)
      notify: 現在のバッファの通知レベルを設定: このレベルでバッファがホットリストに追加されるかどうかを定義します:
                   none: 通知しない
              highlight: ハイライトがあった場合のみ通知
                message: ユーザからのメッセージとハイライトがあった場合に通知
                    all: 全てのメッセージを通知
                  reset: デフォルトの値 (all) にリセット
    localvar: 現在のバッファのローカル変数を表示
         set: 現在のバッファのプロパティを設定
         get: 現在のバッファのプロパティを表示
      number: 番号でバッファ移動、可能なプレフィックス:
              '+': 相対移動、現在の番号に数を足す
              '-': 相対移動、現在の番号から数を引く
              '*': 番号に移動、オプション "weechat.look.jump_current_to_previous_buffer" が使われる
           -: 最初のバッファ番号に移動
           +: 最後のバッファ番号に移動
        name: バッファ名 (一部) でバッファに移動

    例:
      現在のバッファの内容を消去:
        /buffer clear
      バッファを 5 番に移動:
        /buffer move 5
      バッファ 1 番と 3 番を入れ替え:
        /buffer swap 1 3
      現在のバッファと #weechat バッファを入れ替え:
        /buffer swap #weechat
      #chan1、#chan2、#chan3 に移動してそれを繰り返す:
        /buffer cycle #chan1 #chan2 #chan3
      コアバッファとマージ:
        /buffer merge 1
      バッファマージの解除:
        /buffer unmerge
      現在のバッファを閉じる:
        /buffer close
      バッファ番号 5 から 7 を閉じる:
        /buffer close 5-7
      #weechat バッファに移動:
        /buffer #weechat
      次のバッファに移動:
        /buffer +1
      最後のバッファ番号に移動:
        /buffer +

- `color`: 色の別名の定義と、色パレットの表示

    /color  alias <color> <name>
            unalias <color>
            reset
            term2rgb <color>
            rgb2term <rgb> [<limit>]
            -o

       alias: ある色に別名を追加
     unalias: 別名の削除
       color: 色番号 (0 以上、最大値は端末依存、多くの場合 63 か 255)
        name: 色の別名 (例: "orange")
       reset: 全ての色ペアをリセット (自動的なリセットが無効化されており、これ以上の色ペアが利用できない場合に必要、オプション "weechat.look.color_pairs_auto_reset" を参照)
    term2rgb: 端末色 (0-255) を RGB 色に変換
    rgb2term: RGB 色を端末色 (0-255) に変換
       limit: 端末テーブル内で使う色の数 (0 から始まる); デフォルトは 256
         -o: 端末/色情報を現在の入力としてバッファに送る

    引数無しの場合、コマンドは新しいバッファに色を表示します。

    例:
      色番号 214 に対応する別名 "orange" を追加:
        /color alias 214 orange
      色番号 214 を削除:
        /color unalias 214

- `command`: WeeChat かプラグインのコマンドを起動

    /command  [-buffer <name>] <plugin> <command>

    -buffer: このバッファでコマンドを実行
     plugin: このプラグインからコマンドを実行; 'core' は WeeChat コマンド、'*' は自動的にプラグインを選択 (このコマンドを実行したバッファに依存)
    command: 実行するコマンド (コマンドの最初に '/' が無い場合はこれを自動的に追加します)

- `cursor`: カーソルを移動してアクションを実行するエリアを指定

    /cursor  go chat|<bar>|<x>,<y>
             move up|down|left|right|area_up|area_down|area_left|area_right
             stop

      go: チャットエリア、バー (バーの名前を使った場合)、座標 "x,y" にカーソルを移動
    move: 方向を指定してカーソルを移動
    stop: カーソルモードを終了

    引数が無ければ、カーソルモードを切り替えます。

    マウスが有効化されていた場合 (/help mouse を参照)、現在のところデフォルトではセンタークリックでカーソルモードが開始されます。

    カーソルモードにおけるチャットメッセージに対するデフォルトキー:
      m  メッセージの引用
      q  プレフィックスとメッセージを引用
      Q  時間、プレフィックス、メッセージを引用

    カーソルモードにおけるニックネームリストに対するデフォルトキー:
      b  ニックネームを参加禁止にする (/ban)
      k  ニックネームをキックする (/kick)
      K  ニックネームを参加禁止にしてキックする (/kickban)
      q  ニックネームに送信するクエリを開く (/query)
      w  ユーザ情報を要求 (/whois)

    例:
      ニックネームリストに移動:
        /cursor go nicklist
      x=10、y=5 の位置に移動:
        /cursor go 10,5

- `debug`: デバッグ関数

    /debug  list
            set <plugin> <level>
            dump [<plugin>]
            buffer|color|infolists|memory|tags|term|windows
            mouse|cursor [verbose]
            hdata [free]
            time <command>

         list: デバッグレベルの設定されたプラグインをリストアップ
          set: プラグインのデバッグレベルを設定
       plugin: プラグインの名前 ("core" は WeeChat コアを意味する)
        level: プラグインのデバッグレベル (0 はデバッグの無効化)
         dump: WeeChat ログファイルにメモリダンプを保存 (WeeChat がクラッシュした場合と同じダンプが書き込まれます)
       buffer: ログファイルに 16 進値でバッファの内容をダンプ
        color: 現在の色ペアに関する情報を表示
       cursor: カーソルモードのデバッグを切り替え
         dirs: ディレクトリを表示
        hdata: hdata に関する情報を表示 (free を付けた場合: メモリから全ての hdata を削除)
        hooks: フックに関する情報を表示
    infolists: インフォリストに関する情報を表示
         libs: 使用中の外部ライブラリに関する情報を表示
       memory: メモリ使用量に関する情報を表示
        mouse: マウスのデバックを切り替え
         tags: 行のタグを表示
         term: 端末に関する情報を表示
      windows: ウィンドウツリーの情報を表示
         time: コマンドの実行時間や現在のバッファへのテキスト送信にかかった時間を測定

- `eval`: 式を評価

    /eval  [-n|-s] <expression>
           [-n] -c <expression1> <operator> <expression2>

            -n: 結果をバッファに送信せずに表示 (デバッグモード)
            -s: 評価前に式を分割する (複数のコマンドを指定する場合はセミコロンで区切ってください)
            -c: 条件として評価: 演算子と括弧をを使い、ブール値 ("0" または "1") を返します
    expression: 評価する式、${variable} 型の書式の変数は置換されます (以下を参照); 複数のコマンドを指定する場合はセミコロンで区切ってください
      operator: 論理演算子や比較演算子:
                - 論理演算子:
                    &&  ブール演算の "and"
                    ||  ブール演算の "or"
                - 比較演算子:
                    ==  等しい
                    !=  等しくない
                    <=  以下
                    <   より少ない
                    >=  以上
                    >   より大きい
                    =~  正規表現にマッチ
                    !~  正規表現にマッチしない

    式が NULL でない場合、空でない場合、"0" でない場合、式は "真" と評価されます。
    両方の式が有効な整数である場合、比較は整数を使って行われます。
    文字列比較を強制するには、それぞれの式をダブルクォートで囲みます、例:
      50 > 100      ==> 0
      "50" > "100"  ==> 1

    式中の ${variable} 型の書式の変数は置換されます。変数は以下の優先順位に従います:
      1. 評価済みのサブ文字列 (書式: "eval:xxx")
      2. エスケープ文字を含む文字列 (書式: "esc:xxx" または "\xxx")
      3. 隠す文字を含む文字列 (書式: "hide:char,string")
      4. 色 (書式: "color:xxx")
      5. 情報 (書式: "info:name,arguments"、arguments は任意)
      6. 現在の日付/時刻 (書式: "date" または "date:format")
      7. 環境変数 (書式: "env:XXX")
      8. オプション (書式: "file.section.option")
      9. バッファのローカル変数
      10. hdata の名前/変数 (値は自動的に文字列に変換されます)、デフォルトでは "window" と "buffer" は現在のウィンドウ/バッファを指します。
    hdata の書式は以下の 1 つです:
      hdata.var1.var2...: hdata (ポインタは既知) で開始し、1 個ずつ変数を続ける (他の hdata を続けることも可能)
      hdata[list].var1.var2...: リストを使う hdata で開始する、例:
        ${buffer[gui_buffers].full_name}: バッファリストにリンクされた最初のバッファのフルネーム
        ${plugin[weechat_plugins].name}: プラグインリストにリンクされた最初のプラグインの名前
      hdata[pointer].var1.var2...: ポインタを使う hdata で開始する、例:
        ${buffer[0x1234abcd].full_name}: 与えたポインタを持つバッファの完全な名前 (トリガ中で使うことが可能です)
    hdata と変数の名前については、"プラグイン API リファレンス" の "weechat_hdata_get" 関数を参照してください。

    例 (単純な文字列):
      /eval -n ${info:version}                     ==> 0.4.3
      /eval -n ${env:HOME}                         ==> /home/user
      /eval -n ${weechat.look.scroll_amount}       ==> 3
      /eval -n ${window}                           ==> 0x2549aa0
      /eval -n ${window.buffer}                    ==> 0x2549320
      /eval -n ${window.buffer.full_name}          ==> core.weechat
      /eval -n ${window.buffer.number}             ==> 1
      /eval -n ${\t}                               ==> <tab>
      /eval -n ${hide:-,${relay.network.password}} ==> --------
      /eval -n ${date:%H:%M:%S}                    ==> 07:46:40

    例 (条件):
      /eval -n -c ${window.buffer.number} > 2 ==> 0
      /eval -n -c ${window.win_width} > 100   ==> 1
      /eval -n -c (8 > 12) || (5 > 2)         ==> 1
      /eval -n -c (8 > 12) && (5 > 2)         ==> 0
      /eval -n -c abcd =~ ^ABC                ==> 1
      /eval -n -c abcd =~ (?-i)^ABC           ==> 0
      /eval -n -c abcd =~ (?-i)^abc           ==> 1
      /eval -n -c abcd !~ abc                 ==> 0

- `filter`: タグか正規表現に基づくバッファメッセージの非表示/表示

    /filter  list
             enable|disable|toggle [<name>|@]
             add <name> <buffer>[,<buffer>...] <tags> <regex>
             rename <name> <new_name>
             del <name>|-all

       list: 全てのフィルタをリストアップ
     enable: フィルタを有効化 (フィルタはデフォルトで有効になっています)
    disable: フィルタを無効化
     toggle: フィルタの有効無効を切り替え
       name: フィルタの名前 ("@" = 現在のバッファに設定されている全てのフィルタを有効化/無効化)
        add: フィルタを追加
     rename: フィルタをリネーム
        del: フィルタを削除
       -all: 全てのフィルタを削除
     buffer: フィルタが有効化されているバッファのコンマ区切りリスト:
             - これはプラグイン名を含む完全な名前です (例: "irc.freenode.#weechat" または "irc.server.freenode")
             - "*" は全てのバッファを意味します
             - 名前が '!' から始まるものは除外されます
             - ワイルドカード "*" を使うことができます
       tags: タグのコンマ区切りリスト、例えば "irc_join,irc_part,irc_quit"
             - 論理積 "and": タグ同士を "+" でつなげてください (例: "nick_toto+irc_action")
             - ワイルドカード "*" を使うことができます
             - タグを '!' で始めると、そのタグが付けられたメッセージとそのタグを含むメッセージはフィルタされません
      regex: 行単位検索の正規表現
             - '\t' を使うと、プレフィックスをメッセージから分離できます。'|' 等の特別な文字は '\|' のようにエスケープしなければいけません
             - 正規表現の最初に '!' が含まれる場合は、マッチ結果が反転されます (最初の '!' にマッチさせたければ、'\!' を使ってください)
             - 2 種類の正規表現があります: 一方はプレフィックス用、他方はメッセージ用
             - 正規表現は大文字小文字を区別しません、"(?-i)" から始まる場合は区別します

    デフォルトではキー alt+'=' でフィルタリングの on/off を切り替えられます。

    よく使われるタグ:
      no_filter、no_highlight、no_log、log0..log9 (ログレベル)、
      notify_none、notify_message、notify_private、notify_highlight、
      self_msg、nick_xxx (xxx はメッセージのニックネーム部分)、prefix_nick_ccc (ccc はニックネームの色)、
      host_xxx (xxx はメッセージのユーザ名 + ホスト名部分)、
      irc_xxx (xxx はコマンド名または番号、/server raw または /debug tags で確認)、
      irc_numeric、irc_error、irc_action、irc_ctcp、irc_ctcp_reply、irc_smart_filter、away_info。
    バッファ内でタグを見るには: /debug tags

    例:
      全てのバッファで IRC スマートフィルタを使用:
        /filter add irc_smart * irc_smart_filter *
      名前に "#weechat" を含むバッファを除いた全てのバッファで IRC スマートフィルタを使用:
        /filter add irc_smart *,!*#weechat* irc_smart_filter *
      全ての IRC join/part/quit メッセージをフィルタ:
        /filter add joinquit * irc_join,irc_part,irc_quit *
      チャンネルに入った時や /names で表示されるニックネームをフィルタ:
        /filter add nicks * irc_366 *
      IRC チャンネル #weechat で "toto" を含むニックネームをフィルタ:
        /filter add toto irc.freenode.#weechat nick_toto *
      ニックネーム "toto" からの IRC の参加/アクションメッセージをフィルタ:
        /filter add toto * nick_toto+irc_join,nick_toto+irc_action *
      IRC チャンネル #weechat で "weechat sucks" を含む行をフィルタ:
        /filter add sucks irc.freenode.#weechat * weechat sucks
      すべてのバッファで "WeeChat sucks" と完全に一致する行をフィルタ:
        /filter add sucks2 * * (?-i)^WeeChat sucks$

- `help`: コマンドとオプションに関するヘルプを表示

    /help  -list|-listfull [<plugin> [<plugin>...]]
           <command>
           <option>

        -list: プラグイン毎にコマンドをリストアップ (引数が無ければ、このリストを表示)
    -listfull: プラグイン毎に説明付きでコマンドをリストアップ
       plugin: このプラグインに関するコマンドをリストアップ
      command: コマンドの名前
       option: オプションの名前 (リストを見るには /set を使用)

- `history`: バッファコマンド履歴を表示

    /history  clear
              <value>

    clear: 履歴の削除
    value: 表示する履歴エントリの数

- `input`: コマンドライン関数

    /input  <action> [<arguments>]

    アクションリスト:
      return: "enter" キーをシミュレート
      complete_next: 次の補完候補で単語を補完
      complete_previous: 一つ前の補完候補で単語を補完
      search_text_here: 現在の位置でテキストを検索
      search_text: バッファ内のテキストを検索
      search_switch_case: 完全一致検索に変更
      search_switch_regex: 検索タイプの切り替え: 文字列/正規表現
      search_switch_where: 検索範囲の切り替え: メッセージ/プレフィックス
      search_previous: 一つ前の行を検索
      search_next: 次の行を検索
      search_stop_here: 現在の位置で検索を終了
      search_stop: 検索を終了
      delete_previous_char: 一つ前の文字を削除
      delete_next_char: 次の文字を削除
      delete_previous_word: 一つ前の単語を削除
      delete_next_word: 次の単語を削除
      delete_beginning_of_line: 行の最初からカーソル位置までを削除
      delete_end_of_line: カーソルから行の最後までを削除
      delete_line: 行を削除
      clipboard_paste: WeeChat 専用の内部クリップボードの内容をペースト
      transpose_chars: 2 つの文字を入れ替え
      undo: 最新のコマンドラインアクションまで元に戻す
      redo: 最新のコマンドラインアクションまでやり直す
      move_beginning_of_line: カーソルを行頭に移動
      move_end_of_line: カーソルを行末まで移動
      move_previous_char: カーソルを一つ前の文字に移動
      move_next_char: カーソルを次の文字に移動
      move_previous_word: カーソルを一つ前の単語に移動
      move_next_word: カーソルを次の単語に移動
      history_previous: 現在のバッファ履歴のひとつ前のコマンドを再呼び出し
      history_next: 現在のバッファ履歴の次のコマンドを再呼び出し
      history_global_previous: グローバル履歴の一つ前のコマンドを再呼び出し
      history_global_next: グローバル履歴の次のコマンドを再呼び出し
      jump_smart: 次のアクティブバッファに飛ぶ
      jump_last_buffer_displayed: 表示されている最後のバッファに移動 (最新のバッファ移動の一つ前に表示されていたバッファ)
      jump_previously_visited_buffer: 一つ前に訪れたバッファに移動
      jump_next_visited_buffer: 次に訪れたバッファに移動
      hotlist_clear: ホットリストを消去 (オプション引数: "lowest" はホットリスト内の最も低いレベルだけを消去。"highest" はホットリスト内の最も高いレベルだけを消去。レベルマスクは 1 (参加/退出)、2 (メッセージ)、4 (プライベートメッセージ)、8 (ハイライト) を合計した整数値で指定したレベルを消去)
      grab_key: キーを横取り (任意引数: 最後の横取りからの遅延時間、デフォルトは 500 ミリ秒)
      grab_key_command: あるコマンドに関連してキーを横取り (任意引数: 最後の横取りからの遅延時間、デフォルトは 500 ミリ秒)
      grab_mouse: grab マウスイベントコードを横取り
      grab_mouse_area: 範囲指定のマウスイベントコードを横取り
      set_unread: 全てのバッファに対して未読マーカーを設定
      set_unread_current_buffer: 現在のバッファに対して未読マーカーを設定
      switch_active_buffer: 次のマージされたバッファに移動
      switch_active_buffer_previous: 一つ前のマージされたバッファに移動
      zoom_merged_buffer: マージされたバッファにズーム
      insert: コマンドラインにテキストを挿入 (エスケープ文字も可、/help print を参照)
      send: バッファにテキストを送信
      paste_start: ペーストの開始 (括弧付きペーストモード)
      paste_stop: ペーストの終了 (括弧付きペーストモード)

    これらのコマンドはキーバインドかプラグインで利用できます。

- `key`: キーの割り当てと割り当て解除

    /key  list|listdefault|listdiff [<context>]
          bind <key> [<command> [<args>]]
          bindctxt <context> <key> [<command> [<args>]]
          unbind <key>
          unbindctxt <context> <key>
          reset <key>
          resetctxt <context> <key>
          resetall -yes [<context>]
          missing [<context>]

           list: 現在のキーをリストアップ (引数無しの場合、このリストが表示されます)
    listdefault: デフォルトキーをリストアップ
       listdiff: デフォルトと現在のキーの違いをリストアップ (追加、再定義、削除されたキー)
        context: コンテキストの名前 ("default" または "search")
           bind: キーにコマンドを割り当てるか、キーに割り当てられたコマンドを表示 ("default" コンテキストに対する)
       bindctxt: キーにコマンドを割り当てるか、キーに割り当てられたコマンドを表示 (指定されたコンテキストに対する)
        command: コマンド (複数のコマンドはセミコロンで分けて書く)
         unbind: キーバインドを削除 ("default" コンテキストに対する)
     unbindctxt: キーバインドを削除 (指定されたコンテキストに対する)
          reset: キーをデフォルトの割り当てにリセットする ("default" コンテキストに対する)
      resetctxt: キーをデフォルトの割り当てにリセットする (指定されたコンテキストに対する)
       resetall: デフォルトの割り当てにリストアし、全ての個人的な設定を削除 (注意して使用!)
        missing: 未割り当てのキーを追加 (デフォルトの割り当てに無い)、新しい WeeChat バージョンをインストールした後に便利

    キーにコマンドを割り当てる場合、alt+k (または Esc の後に k) した後に、割り当てたいキーを押すことをお勧めします: これはコマンドラインにキーコードを入力することになります。

    "mouse" コンテント ("cursor" コンテキストの一部) に対しては、キーは以下の書式: "@area:key" または "@area1>area2:key"。ここで、area は以下の値を取れます:
              *: 画面上の任意のエリア
           chat: チャットエリア (任意のバッファ)
      chat(xxx): 名前 "xxx" を持つチャットエリア (プラグイン含む完全な名前)
         bar(*): 任意のバー
       bar(xxx): バー "xxx"
        item(*): 任意のバー要素
      item(xxx): バー要素 "xxx"
    多くのマウスイベントにマッチさせるにはワイルドカード "*" をキーに使ってください。
    "hsignal:name" という書式のコマンドに対する特別な値はマウスコンテキストに使えます、これはフォーカスハッシュテーブルを引数にして hsignal "name" を送ります。
    その他の特別な値 "-" はキーを無効化するために利用されます。(これはキーの探索時には無視されます)

    例:
      alt-t キーをニックネームリストバーに割り当てる:
        /key bind meta-t /bar toggle nicklist
      alt-r キーを #weechat IRC チャンネルへの移動に割り当てる:
        /key bind meta-r /buffer #weechat
      alt-r キーの割り当てをデフォルトに戻す:
        /key reset meta-r
      "tab" キーをバッファ検索の終了に割り当てる:
        /key bindctxt search ctrl-I /input search_stop
      ニック上でのマウスのセンターボタンをニックネームの情報取得に割り当てる:
        /key bindctxt mouse @item(buffer_nicklist):button3 /msg nickserv info ${nick}

- `layout`: バッファ/ウィンドウレイアウトの管理

    /layout  store [<name>] [buffers|windows]
             apply [<name>] [buffers|windows]
             leave
             del [<name>] [buffers|windows]
             rename <name> <new_name>

      store: レイアウトに現在のバッファ/ウィンドウを保存
      apply: 保存されたレイアウトを適用
      leave: 現在のレイアウトを保持する (レイアウトを更新しない)
        del: レイアウトとして保存されているバッファとウィンドウを削除
             (名前の後に "バッファ" や "ウィンドウ" を指定しない場合、レイアウトを削除)
     rename: レイアウトのリネーム
       name: 保存されたレイアウトの名前 (初期状態は "default")
    buffers: バッファのみに対してレイアウトを保存/適用 (バッファの順番)
    windows: ウィンドウのみに対してレイアウトを保存/適用 (それぞれのウィンドウに表示されるバッファ)

    引数を指定しなかった場合、保存されたレイアウトを表示します。

    "weechat.look.save_layout_on_exit" オプションを使えば、現在のレイアウトを /quit コマンドの実行時に保存することが可能です。

- `mouse`: マウス操作

    /mouse  enable|disable|toggle [<delay>]

     enable: マウスの有効化
    disable: マウスの無効化
     toggle: マウスの有効無効の切り替え
      delay: 初期マウス状態がリストアされてからの遅延時間 (秒単位) (一時的にマウスを無効化するときに便利)

    マウス状態はオプション "weechat.look.mouse" に保存されます。

    例:
      マウスの有効化:
        /mouse enable
      5 秒間マウスの有効無効を切り替え:
        /mouse toggle 5

- `mute`: 静かにコマンドを実行

    /mute  [-core | -current | -buffer <name>] <command>

       -core: WeeChat コアバッファへの出力を抑制
    -current: 現在のバッファへの出力を抑制
     -buffer: 指定したバッファへの出力を抑制
        name: 完全なバッファの名前 (例: "irc.server.freenode"、"irc.freenode.#weechat")
     command: 静かに実行するコマンド (最初に '/' が無い場合は自動的に追加されます)

    ターゲット (-core、-current、-buffer) が指定されなかった場合、デフォルトでは全ての出力を抑制します。

    例:
      save を行う:
        /mute save
      現在の IRC チャンネルへのメッセージ:
        /mute -current msg * hi!
      #weechat チャンネルへのメッセージ:
        /mute -buffer irc.freenode.#weechat msg #weechat hi!

- `plugin`: プラグインの表示/ロード/アンロード

    /plugin  list|listfull [<name>]
             load <filename> [<arguments>]
             autoload [<arguments>]
             reload [<name>|* [<arguments>]]
             unload [<name>]

         list: ロードされたプラグインをリストアップ
     listfull: ロードされたプラグインをリストアップ (詳細)
         load: プラグインをロード
     autoload: システムかユーザディレクトリ指定の自動ロードプラグインをロード
       reload: プラグインを再ロード (名前が指定されない場合は、全てのプラグインをアンロードし、プラグインを自動ロード)
       unload: プラグインのアンロード (名前が指定されない場合は、全てのプラグインをアンロード)
     filename: ロードするプラグイン (ファイル)
         name: プラグイン名
    arguments: ロードするプラグインに与える引数

    引数無しでは、ロードされたプラグインをリストアップ。

- `print`: バッファ内にテキストを表示

    /print  [-buffer <number>|<name>] [-core] [-escape] [-date <date>] [-tags <tags>] [-action|-error|-join|-network|-quit] [<text>]
            -stdout|-stderr [<text>]
            -beep

     -buffer: 指定したバッファにテキストを表示 (デフォルト: コマンドを実行したバッファ)
       -core: "-buffer core.weechat" のエイリアス
    -current: 現在のバッファにテキストを表示
     -escape: エスケープ文字を解釈 (例えば \a、\07、\x07)
       -date: メッセージの日付、書式:
                -n: 今から 'n' 秒前
                +n: 今から 'n' 秒後
                 n: エポックから 'n' 秒目 (man time を参照)
                日付/時間 (ISO 8601): yyyy-mm-ddThh:mm:ss、例: 2014-01-19T04:32:55
               時間: hh:mm:ss (example: 04:32:55)
       -tags: タグのコンマ区切りリスト (よく使うタグのリストは /help filter を参照)
        text: 表示するテキスト (プレフィックスとメッセージは必ず \t で区切ってください、"-" で始まるテキストは "\" を前置してください)
     -stdout: 標準出力にテキストを表示 (エスケープ文字を解釈)
     -stderr: 標準エラー出力にテキストを表示 (エスケープ文字を解釈)
       -beep: "-stderr \a" の別名

    オプション -action ... -quit をつけた場合、プレフィックスは "weechat.look.prefix_*" で定義されているものになります。

    以下のエスケープ文字を使うことができます:
      \" \\ \a \b \e \f \n \r \t \v \0ooo \xhh \uhhhh \Uhhhhhhhh

    例:
      コアバッファにハイライトを付けてリマインダを表示:
        /print -core -tags notify_highlight Reminder: buy milk
      コアバッファにエラーを表示:
        /print -core -error Some error here
      コアバッファにプレフィックス "abc" を付けてメッセージを表示:
        /print -core abc\tThe message
      チャンネル #weechat にメッセージを表示:
        /print -buffer irc.freenode.#weechat Message on #weechat
      雪だるまを表示 (U+2603):
        /print -escape \u2603
      警告を送信 (BEL):
        /print -beep

- `proxy`: プロキシの管理

    /proxy  list
            add <name> <type> <address> <port> [<username> [<password>]]
            del <name>|-all
            set <name> <option> <value>

        list: 全てのプロキシをリストアップ
         add: 新しいプロキシを追加
        name: プロキシの名前 (一意的な)
        type: http、socks4、socks5
     address: IP アドレスまたはホスト名
        port: ポート
    username: ユーザ名 (任意)
    password: パスワード (任意)
         del: プロキシの削除 (-all を付ければ全てのプロキシを削除)
         set: プロキシのプロパティを設定
      option: 変更するオプション (オプションリストを見るには、/set weechat.proxy.<proxyname>.*)
       value: オプションに設定する新しい値

    例:
      ローカルホストの 8888 番ポートで動いている http プロキシを追加:
        /proxy add local http 127.0.0.1 8888
      IPv6 プロトコルを使う http プロキシを追加:
        /proxy add local http ::1 8888
        /proxy set local ipv6 on
      ユーザ名とパスワードが必要な socks5 プロキシを追加:
        /proxy add myproxy socks5 sample.host.org 3128 myuser mypass
      プロキシを削除:
        /proxy del myproxy

- `quit`: WeeChat の終了

    /quit  [-yes] [<arguments>]

         -yes: weechat.look.confirm_quit オプションが有効な場合に必要
    arguments: "quit" シグナルと共に送られるテキスト
               (例えば irc プラグインはサーバに quit メッセージを送る際にこのテキストを使います)

    デフォルト設定では、終了時に設定ファイルを保存します (オプション "weechat.look.save_config_on_exit" 参照)。また、終了時に現在のレイアウトを保存することも可能です (オプション "weechat.look.save_layout_on_exit" 参照)。

- `reload`: ディスクから設定ファイルをリロード

    /reload  [<file> [<file>...]]

    file: リロードする設定ファイル (拡張子 ".conf" は不要)

    引数無しでは、全てのファイル (WeeChat とプラグイン) がリロードされます。

- `repeat`: 複数回コマンドを実行

    /repeat  [-interval <delay>] <count> <command>

      delay: コマンドの実行間隔 (ミリ秒単位)
      count: コマンドの実行回数
    command: 実行するコマンド (最初に '/' が無い場合は自動的に追加されます)

    全てのコマンドはこのコマンドが発行されたバッファで実行されます。

    例:
      2 ページ分上方向にスクロール:
        /repeat 2 /window page_up

- `save`: 設定をファイルに保存

    /save  [<file> [<file>...]]

    file: 保存する設定ファイル (拡張子 ".conf" は不要)

    引数無しでは、全てのファイル (WeeChat とプラグイン) が保存されます。

    デフォルト設定では、/quit コマンドの実行時にすべての設定ファイルがディスクに保存されます (オプション "weechat.look.save_config_on_exit" 参照)。

- `secure`: 保護データを管理します (パスワードやプライベートデータは暗号化されて sec.conf ファイルに保存)

    /secure  passphrase <passphrase>|-delete
             decrypt <passphrase>|-discard
             set <name> <value>
             del <name>

    passphrase: パスフレーズを変更 (パスフレーズがない場合、sec.conf ファイルに平文でデータを保存します)
       -delete: パスフレーズを削除
       decrypt: 暗号化されているデータを復号化 (起動時にパスフレーズが設定されていない場合に起きます)
      -discard: 全ての暗号化データを破棄
           set: 保護データを追加または変更
           del: 保護データを削除

    引数がない場合、新しいバッファに保護データを表示します。

    保護バッファ内で利用可能なキー:
      alt+v  値を切り替えます

    パスフレーズを利用する場合 (データが暗号化されている場合)、WeeChat は起動時にパスフレーズを尋ねます。
    環境変数 "WEECHAT_PASSPHRASE" を利用すれば入力を回避できます (WeeChat は /upgrade の時に同じ変数を利用します)。

    ${sec.data.xxx} の形で書かれた保護データは以下の様に利用できます:
      - /eval コマンド
      - コマンドライン引数 "--run-command"
      - weechat.startup.command_{before|after}_plugins オプション
      - パスワードや機密データを含むと思われるその他のオプション (例えば、プロキシ、irc サーバ、リレー); 保護データが評価されるかを確認するには各オプションの /help を御覧ください。

    例:
      パスフレーズを設定:
        /secure passphrase this is my passphrase
      freenode の SASL パスワードを暗号化:
        /secure set freenode mypassword
        /set irc.server.freenode.sasl_password "${sec.data.freenode}"
      oftc の nickserv 用パスワードを暗号化:
        /secure set oftc mypassword
        /set irc.server.oftc.command "/msg nickserv identify ${sec.data.oftc}"
      ニックネーム "mynick" を取り戻すためのエイリアス ghost を設定
        /alias add ghost /eval /msg -server freenode nickserv ghost mynick ${sec.data.freenode}

- `set`: 設定オプションと環境変数を設定

    /set  [<option> [<value>]]
          diff [<option> [<option>...]]
          env [<variable> [<value>]]

    option: オプションの名前 (ワイルドカード "*" を使うことができます)
     value: オプションに対する新しい値、以下の型に従う:
              boolean: on、off、toggle
              integer: 番号、++番号、--番号
               string: 任意の文字列 (空文字列は "")
                color: 色の名前、++色番号、--色番号
            注意: どんな型であっても、オプションの値を削除する (未定義値にする) には null が使えます。これはいくつかの特別なプラグイン変数でのみ有効です。
      diff: 変更されたオプションのみを表示
       env: 環境変数を表示または設定 (変数の値を削除するには値に "" を入れてください)

    例:
      ハイライトに関するオプションを表示:
        /set *highlight*
      highlight に単語を追加:
        /set weechat.look.highlight "word"
      変更されたオプションを表示:
        /set diff
      irc プラグインのオプションの内、変更されたオプションを表示:
        /set diff irc.*
      環境変数 LANG の値を表示:
        /set env LANG
      環境変数 LANG を設定し、これを使う:
        /set env LANG fr_FR.UTF-8
        /upgrade
      環境変数 ABC の値を削除する:
        /set env ABC ""

- `unset`: オプションのアンセット/リセット

    /unset  <option>
            -mask <option>

    option: オプションの名前
     -mask: オプション内でマスクを使う (大量のオプションをリセットするにはワイルドカード "*" を使ってください、使用に注意!)

    オプションの種類によって (一般的なオプションを) リセットまたは (サーバなどの任意な設定を) 削除が行われます。

    例:
      オプションのリセット:
        /unset weechat.look.item_time_format
      全ての色関連オプションをリセット:
        /unset -mask weechat.color.*

- `upgrade`: サーバとの接続を維持して WeeChat をアップグレード

    /upgrade  [-yes] [<path_to_binary>|-quit]

              -yes: "weechat.look.confirm_upgrade" オプションが有効化されていた場合、このオプションは必須です。
    path_to_binary: WeeChat バイナリへのパス (デフォルトは現在のバイナリ)
            -dummy: 何もしない (補完された "-quit" オプションを不用意に使わないためのオプション)
             -quit: *すべての* 接続を閉じ、セッションを保存して WeeChat を終了。遅延復帰 (詳しくは後述) が可能になります。

    このコマンドは起動中の WeeChat セッションのアップグレードとリロードを行います。このコマンドを実行する前に、新しい WeeChat バイナリをコンパイルするか、パッケージマネージャでインストールしなければいけません。

    注意: SSL 接続はアップグレード中に破棄されます、これは今のところ GnuTLS では SSL セッションのリロードができないからです。アップグレードの後に自動的に再接続されます。

    アップグレードは 4 つの手順を踏みます:
      1. コアとプラグイン (バッファ、履歴、...) のセッションをファイルに保存
      2. 全てのプラグインをアンロード (設定ファイル (*.conf) はディスクに書き込まれます)
      3. WeeChat 設定を保存 (weechat.conf)
      4. 新しい WeeChat バイナリを実行してセッションをリロード。

    オプション "-quit" を使うと、上の挙動が少し変わります:
      1. *すべての* 接続を閉じる (irc、xfer、relay、...)
      2. すべてのセッションをファイルに保存 (*.upgrade)
      3. すべてのプラグインをアンロード
      4. WeeChat 設定を保存
      5. WeeChat を終了
    この後、セッションを回復させるには weechat --upgrade を使ってください。
    重要: 完全に同一の設定で (*.conf ファイルで) セッションを回復させてください。
    "~/.weechat" ディレクトリの内容をコピーすれば異なるマシンで WeeChat のセッションを回復することも可能です。

- `uptime`: WeeChat 連続稼働時間の表示

    /uptime  [-o | -ol]

     -o: 連続稼働時間を現在のバッファの入力に送る (英語で)
    -ol: 連続稼働時間を現在のバッファの入力に送る (翻訳済み)

- `version`: WeeChat のバージョンとコンパイル日時を表示

    /version  [-o | -ol]

     -o: バージョンを現在のバッファの入力に送る (英語で)
    -ol: バージョンを現在のバッファの入力に送る (翻訳済み)

    任意のバッファでこのコマンドを実行するにはデフォルトエイリアス /v を使ってください (irc バッファでこのコマンドを実行した場合、irc コマンド /version の意味になります)。

- `wait`: コマンドの実行を予約

    /wait  <number>[<unit>] <command>

     number: 遅延時間 (整数)
       unit: 任意、値は:
               ms: ミリ秒
                s: 秒 (デフォルト)
                m: 分
                h: 時
    command: 実行するコマンド (コマンドが '/' で始まらない場合はバッファに送信するテキスト)

    注意: コマンドは /wait が実行されたバッファで実行されます (バッファが見つからない場合 (例えばコマンド実行前にバッファが閉じられた場合) は、コマンドは WeeChat コアバッファで実行されます)。

    例:
      10 秒後にチャンネルに入る:
        /wait 10 /join #test
      15 分後に離席状態に変更:
        /wait 15m /away -all I'm away
      2 分後に 'hello' と発言:
        /wait 2m hello

- `window`: ウィンドウの操作

    /window  list
             -1|+1|b#|up|down|left|right [-window <number>]
             <number>
             splith|splitv [-window <number>] [<pct>]
             resize [-window <number>] [+/-]<pct>
             balance
             merge [-window <number>] [all]
             page_up|page_down [-window <number>]
             refresh
             scroll [-window <number>] [+/-]<value>[s|m|h|d|M|y]
             scroll_horiz [-window <number>] [+/-]<value>[%]
             scroll_up|scroll_down|scroll_top|scroll_bottom|scroll_beyond_end|scroll_previous_highlight|scroll_next_highlight|scroll_unread [-window <number>]
             swap [-window <number>] [up|down|left|right]
             zoom [-window <number>]
             bare [<delay>]

             list: 開けられたウィンドウのリストアップ (引数無しの場合、このリストが表示されます)
               -1: 前のウィンドウに移動
               +1: 次のウィンドウに移動
               b#: バッファ番号 # のウィンドウに移動
               up: 現在のウィンドウの上のウィンドウに移動
             down: 現在のウィンドウの下のウィンドウに移動
             left: 左のウィンドウに移動
            right: 右のウィンドウに移動
           number: ウィンドウ番号 (/window list を参照)
           splith: 現在のウィンドウを水平分割 (/window merge で元に戻る)
           splitv: 現在のウィンドウを垂直分割 (/window merge で元に戻る)
           resize: ウィンドウサイズの変更、新しいサイズは親ウィンドウの <pct> パーセントで指定
          balance: 全てのウィンドウのサイズを均等にする
            merge: ウィンドウを他のものをマージする (all = 一つのウィンドウにまとめる)
          page_up: 1 ページ分上方向にスクロール
        page_down: 1 ページ分下方向にスクロール
          refresh: 画面のリフレッシュ
           scroll: 指定行数 (+/-N) か指定期間 (s=秒、m=分、h=時間、d=日、M=月、y=年) スクロール
     scroll_horiz: 指定列数 (+/-N) かウィンドウサイズの割合で水平方向にスクロール (フリーコンテンツを含むバッファ以外は無効)
        scroll_up: 数行分上方向にスクロール
      scroll_down: 数行分下方向にスクロール
       scroll_top: バッファの一番上にスクロール
    scroll_bottom: バッファの一番下にスクロール
    scroll_beyond_end: バッファの末尾を越えてスクロール
    scroll_previous_highlight: 一つ前のハイライトにスクロール
    scroll_next_highlight: 次のハイライトにスクロール
    scroll_unread: 未読マーカにスクロール
             swap: 2 つのウィンドウのバッファを入れ替え (ターゲットウィンドウの方向を任意指定)
             zoom: ウィンドウを拡大
             bare: 最小限表示を切り替える (自動的に標準表示モードに戻るまでの時間を秒単位で任意指定)

    splith と splitv に関しては、pct は新しいウィンドウのパーセンテージで、現在のウィンドウサイズに対する割合で計算されます。例えば 25 は size = current_size / 4 の新しいウィンドウを作成します。

    例:
      バッファ #1 を表示しているウィンドウに移動:
        /window b1
      2 行分上方向にスクロール:
        /window scroll -2
      2 日分上方向にスクロール:
        /window scroll -2d
      今日の最初にスクロール:
        /window scroll -d
      ウィンドウ #2 を拡大:
        /window zoom -window 2
      ウィンドウを水平分割 (上側ウィンドウの縦幅は現在のウィンドウの縦幅の 30%%):
        /window splith 30
      分割を元に戻す:
        /window merge
      最小限表示を 2 秒間有効にする:
        /window bare 2

## 4. プラグイン

プラグインとは動的ライブラリのことで、C 言語で書かれてコンパイルされています。プラグインは WeeChat によって読み込まれます。GNU/Linux の場合、プラグインファイルは ".so" という拡張子を持ち、Windows の場合、".dll" です。

見つかったプラグインは WeeChat の起動時に自動的に読み込まれます。WeeChat の起動時にプラグインを読み込むか否かは選択可能です。

プラグイン と スクリプト の違いを明らかにすることは重要です: プラグイン とは `/plugin` コマンドで読み込まれるコンパイル済みバイナリファイルです。これに対して、 スクリプト とは `/python` 等のコマンドで python 等のプラグインとともに読み込まれるテキストファイルです。

`/plugin` コマンドを使うことで、プラグインのロード/アンロード、ロード済みプラグインの表示を行うことができます。あるプラグインをアンロードした場合、アンロードしたプラグインが作成したバッファはすべて自動的に閉じられます。

プラグインをロード、アンロード、ロード済みプラグインを表示する例:

    /plugin load irc
    /plugin unload irc
    /plugin list

デフォルトプラグインのリスト:

プラグイン | 説明
--- | ---
alias | コマンドの別名を定義
aspell | コマンドラインのスペルチェック
charset | バッファの文字コードに従ってデコード/エンコード
exec | WeeChat 内部から外部コマンドを実行
fifo | 外部から WeeChat にコマンドを送信するための FIFO パイプ
irc | IRC チャットプロトコル
logger | バッファの内容をファイルに保存
relay | ネットワーク経由でデータを中継
script | スクリプトマネージャ
python | Python スクリプト API
perl | Perl スクリプト API
ruby | Ruby スクリプト API
lua | Lua スクリプト API
tcl | Tcl スクリプト API
guile | Guile (scheme) スクリプト API
javascript | Javascript スクリプト API
trigger | WeeChat およびプラグインが発生させたイベントに対するテキスト置換とコマンド実行
xfer | ファイル転送とダイレクトチャット

API を使ったプラグインやスクリプトの開発についてより詳しく学ぶには、WeeChat プラグイン API リファレンス または WeeChat スクリプト作成ガイド を参照してください。

### 4.1. Alias プラグイン

Alias プラグインを使うことで、コマンドの別名を定義できます (WeeChat だけでなく他のプラグインが提供するコマンドの別名を定義することもできます)。

#### 4.1.1. コマンド

- `alias`: 別名コマンドのリストアップ、追加、削除

    /alias  list [<alias>]
            add <alias> [<command>[;<command>...]]
            addcompletion <completion> <alias> [<command>[;<command>...]]
            del <alias> [<alias>...]

             list: 別名をリストアップ (引数を与えなかった場合、このリストが表示されます)
              add: 別名を追加
    addcompletion: カスタム補完を指定して別名を追加
              del: 別名を削除
       completion: 別名の補完: デフォルトでは対象のコマンドに対する補完が行われます
                   注意: %%command で既存のコマンドに対する補完を利用可能です
            alias: 別名の名前
          command: 引数を含めたコマンド名 (セミコロンで分割すれば複数のコマンドを指定できます)

    注意: command の中に含まれる特殊変数は置換されます:
            $n: 'n' 番目の引数 (1 から 9)
           $-m: 1 から 'm' 番目の引数
           $n-: 'n' 番目から最後の引数
          $n-m: 'n' から 'm' 番目の引数
            $*: 全ての引数
            $~: 最後の引数
          $var: ここで "var" とはバッファの局所変数 (/buffer localvar を参照)
                例: $nick、$channel、$server、$plugin、$name

    例:
      /split をウィンドウを水平方向に分割する別名と定義:
        /alias add split /window splith
      /hello を #weechat を除く全てのチャンネルで "hello" と発言する別名と定義:
        /alias add hello /allchan -exclude=#weechat msg * hello
      /forcejoin を /sajoin の補完候補を使い IRC コマンド "forcejoin" を送信する別名と定義:
        /alias addcompletion %%sajoin forcejoin /quote forcejoin

### 4.2. Aspell プラグイン

Aspell プラグインを使うことで、コマンドラインに入力した文字列のスペルチェックができます。バッファごとに異なる言語に対するスペルチェックを実行できます。

#### 4.2.1. オプション (aspell.conf)

セクション:

セクション | 操作コマンド | 説明
--- | --- | ---
`color` | `/set aspell.color.*` | 色
`check` | `/set aspell.check.*` | スペルチェックの操作コマンド
`dict` | `/aspell setdict /set aspell.dict.*` | バッファが利用するディレクトリ (オプションをセクションに追加/削除出来ます)
`option` | `/set aspell.option.*` | Speller オプション (オプションをセクションに追加/削除出来ます)

オプション:

- aspell.check.commands

  - 説明: スペルチェックを有効化するコマンドのコンマ区切りリスト (これ以外のコマンドではスペルチェックは無効)

  - タイプ: 文字列

  - 値: 未制約文字列

  - デフォルト値: `"ame,amsg,away,command,cycle,kick,kickban,me,msg,notice,part,query,quit,topic"`

- aspell.check.default_dict

  - 説明: バッファに辞書が定義されていない場合に使用されるデフォルト辞書 (または辞書のコンマ区切りリスト) (空のままであれば明示的に有効化されたバッファを除いて aspell を利用しない)

  - タイプ: 文字列

  - 値: 未制約文字列

  - デフォルト値: `""`

- aspell.check.during_search

  - 説明: バッファ内のテキスト検索中に単語チェックを行う

  - タイプ: ブール

  - 値: on, off

  - デフォルト値: `off`

- aspell.check.enabled

  - 説明: コマンドラインで aspell を利用する

  - タイプ: ブール

  - 値: on, off

  - デフォルト値: `off`

- aspell.check.real_time

  - 説明: 単語のリアルタイムスペルチェック (遅い、デフォルトでは無効: 単語は区切りの後にだけチェックされる)

  - タイプ: ブール

  - 値: on, off

  - デフォルト値: `off`

- aspell.check.suggestions

  - 説明: バッファ内の各辞書セットに対してバー要素 "aspell_suggest" に表示する提案の数 (-1 = サジェスト機能を無効、0 = 全ての言語を使って全てのサジェスト結果を表示)

  - タイプ: 整数

  - 値: -1 .. 2147483647

  - デフォルト値: `-1`

- aspell.check.word_min_length

  - 説明: スペルチェックを行う単語長の最小値 (0 の場合は全ての単語をチェック)

  - タイプ: 整数

  - 値: 0 .. 2147483647

  - デフォルト値: `2`

- aspell.color.misspelled

  - 説明: スペルミスのある単語に付ける色 (入力バー)

  - タイプ: 色

  - 値: WeeChat の色名 (default、black、(dark)gray、white、(light)red、(light)green、brown、yellow、(light)blue、(light)magenta、(light)cyan) 、端末色番号またはその別名; 色の前に属性を置くことができます (テキスト前景色のみ、背景色は出来ません): 太字は "*"、反転は "!"、イタリックは "/"、下線は "_"

  - デフォルト値: `lightred`

- aspell.color.suggestions

  - 説明: スペルミスのある単語に対する修正候補に付ける色 (ステータスバー)

  - タイプ: 色

  - 値: WeeChat の色名 (default、black、(dark)gray、white、(light)red、(light)green、brown、yellow、(light)blue、(light)magenta、(light)cyan) 、端末色番号またはその別名; 色の前に属性を置くことができます (テキスト前景色のみ、背景色は出来ません): 太字は "*"、反転は "!"、イタリックは "/"、下線は "_"

  - デフォルト値: `default`

#### 4.2.2. コマンド

- `aspell`: aspell プラグイン設定

    /aspell  enable|disable|toggle
             listdict
             setdict <dict>[,<dict>...]
             deldict
             addword [<dict>] <word>

      enable: aspell の有効化
     disable: aspell の無効化
      toggle: aspell の有効無効を切り替え
    listdict: インストール済み辞書を表示
     setdict: 現在のバッファ用の辞書を設定 (コンマで区切れば複数の辞書を指定可能)
     deldict: 現在のバッファ用の辞書を削除
     addword: aspell の個人辞書に単語を追加

    いくつかのコマンドを除いて '/' で始まる入力行はチェックされません (/set aspell.check.commands を参照)。

    全てのバッファで aspell を有効化するには、"default_dict" オプションを設定した後に、aspell を有効化してください。例:
      /set aspell.check.default_dict "en"
      /aspell enable

    バーの中に提案のリストを表示するには、"aspell_suggest" 要素を使ってください。

    aspell の有効無効を切り替えるデフォルトのキーは alt-s です。

#### 4.2.3. Speller オプション

Speller オプションは aspell 設定の "option" セクションにあるオプションを追加して定義します。

ここで利用するオプション名は aspell 設定オプションと同じものです。オプションのリストはシェルで以下のコマンドを実行することで確認できます:

    $ aspell config

例えば、"ignore-case" オプションを有効化するには:

    /set aspell.option.ignore-case "true"

#### 4.2.4. 修正候補

"aspell_suggest" バー要素内に修正候補が表示されます。修正候補の数は aspell.check.suggestions オプションで設定します。

修正候補を利用するには、aspell.check.suggestions オプションをゼロ以上の整数に設定し、status バーなどに "aspell_suggest" バー要素を追加してください。

英語辞書 (`en`) を用いた修正候補の例:

    │[12:55] [6] [irc/freenode] 3:#test(+n){4} [print,prone,prune]                    │
    │[@Flashy] prinr █                                                                │
    └─────────────────────────────────────────────────────────────────────────────────┘

英語とフランス語辞書 (`en,fr`) を用いた修正候補の例:

    │[12:55] [6] [irc/freenode] 3:#test(+n){4} [print,prone,prune/prime,primer,primé] │
    │[@Flashy] prinr █                                                                │
    └─────────────────────────────────────────────────────────────────────────────────┘

### 4.3. Charset プラグイン

Charset プラグインを使うことで、文字コードに従ってデータのデコードとエンコードができます。

デコード/エンコード用にデフォルトの文字コードが設定されていますが、それぞれのバッファ (バッファグループ) に対して個別に文字コードを設定することもできます。

このプラグインの導入は任意ですが、導入を推奨します: このプラグインがロードされていない場合、WeeChat が読み書きできるデータは UTF-8 データのみになります。

Charset プラグインは WeeChat によって自動的にロードされるべきです。プラグインがロードされていることを確認するには、以下のようにしてください:

    /charset

コマンドが見つからない場合、以下のコマンドでプラグインをロードしてください:

    /plugin load charset

プラグインが見つからない場合、文字コードサポートを有効化した状態で WeeChat を再コンパイルしてください。

Charset プラグインがロードされた場合、端末文字コードと内部文字コードが表示されます。端末文字コードはロケールに依存し、内部文字コードは UTF-8 です。

例:

    charset: terminal: ISO-8859-15, internal: UTF-8

#### 4.3.1. オプション (charset.conf)

セクション:

セクション | 操作コマンド | 説明
--- | --- | ---
`default` | `/set charset.default.*` | デフォルトのデコード/エンコード文字セット
`decode` | `/charset decode /set charset.decode.*` | バッファのデコード文字セット (オプションをセクションに追加/削除出来ます)
`encode` | `/charset encode /set charset.encode.*` | バッファのエンコード文字セット (オプションをセクションに追加/削除出来ます)

オプション:

- charset.default.decode

  - 説明: グローバルデコード文字セット: 不正な UTF-8 メッセージを受信した場合にこれをデコードする文字セット

  - タイプ: 文字列

  - 値: 未制約文字列

  - デフォルト値: `"iso-8859-1"`

- charset.default.encode

  - 説明: グローバルエンコード文字セット: 送信メッセージをエンコードする文字セット (空の場合、UTF-8 でエンコードされます。UTF-8 は WeeChat の内部文字セットです)

  - タイプ: 文字列

  - 値: 未制約文字列

  - デフォルト値: `""`

#### 4.3.2. コマンド

- `charset`: 現在のバッファの文字セットを変更

    /charset  decode|encode <charset>
              reset

     decode: デコード文字セットを変更
     encode: エンコード文字セットを変更
    charset: 現在のバッファの新しい文字セット
      reset: 現在のバッファの文字セットをリセット

#### 4.3.3. 文字コードの設定

グローバルデコード文字コードとエンコード文字コードを設定するには、`/set` コマンドを使ってください。

例:

    /set charset.default.decode ISO-8859-15
    /set charset.default.encode ISO-8859-15

グローバルデコード文字コードが設定されていない場合 (例えば Charset プラグインを始めてロードした場合)、これは自動的に端末の文字コードか (UTF-8 でなければ)、デフォルトの ISO-8859-1 に設定されます。

デフォルトのエンコード文字コードはありません。従って、内部文字コード (UTF-8) が使われます。

IRC サーバの文字コードを設定するには、サーババッファで `/charset` コマンドを使ってください。文字コードのみを引数として与えた場合、この文字コードがデコードとエンコードに利用されます。

例:

    /charset ISO-8859-15

これは以下と等価です:

    /charset decode ISO-8859-15
    /charset encode ISO-8859-15

IRC チャンネル (またはプライベートメッセージ) の文字コードを設定するには、サーバの文字コード設定と同様のコマンドをチャンネル (またはプライベートメッセージ) バッファで使ってください。

IRC サーバの全てのチャンネルおよびプライベートバッファに対する文字コードを設定するには:

    /set charset.encode.irc.freenode ISO-8859-15

すべての文字コード設定を確認するには、以下のコマンドを利用してください:

    /set charset.*

#### 4.3.4. トラブルシューティング

文字コードに関する問題があれば、WeeChat FAQ を参照してください。

### 4.4. exec プラグイン

`/exec` コマンドを使うことで WeeChat 内部から外部コマンドを実行し、その結果を表示したりバッファに送信することが可能になります。

#### 4.4.1. オプション (exec.conf)

セクション:

セクション | 操作コマンド | 説明
--- | --- | ---
`command` | `/set exec.command.*` | コマンドに対するオプション
`color` | `/set exec.color.*` | 色

オプション:

- exec.color.flag_finished

  - 説明: コマンドリストで使う実行完了コマンドのフラグに対するテキスト色

  - タイプ: 色

  - 値: WeeChat の色名 (default、black、(dark)gray、white、(light)red、(light)green、brown、yellow、(light)blue、(light)magenta、(light)cyan) 、端末色番号またはその別名; 色の前に属性を置くことができます (テキスト前景色のみ、背景色は出来ません): 太字は "*"、反転は "!"、イタリックは "/"、下線は "_"

  - デフォルト値: `lightred`

- exec.color.flag_running

  - 説明: コマンドリストで使う実行中コマンドのフラグに対するテキスト色

  - タイプ: 色

  - 値: WeeChat の色名 (default、black、(dark)gray、white、(light)red、(light)green、brown、yellow、(light)blue、(light)magenta、(light)cyan) 、端末色番号またはその別名; 色の前に属性を置くことができます (テキスト前景色のみ、背景色は出来ません): 太字は "*"、反転は "!"、イタリックは "/"、下線は "_"

  - デフォルト値: `lightgreen`

- exec.command.default_options

  - 説明: /exec コマンドのデフォルトオプション (/help exec を参照); 例: "-nosh -bg" は全てのコマンドをバックグラウンドで実行し (出力なし)、シェルを使わない

  - タイプ: 文字列

  - 値: 未制約文字列

  - デフォルト値: `""`

- exec.command.purge_delay

  - 説明: 接続を切ったクライアントを追い出すまでの遅延時間 (秒単位、0 = すぐにクライアントを追い出す、-1 = 追い出さない)

  - タイプ: 整数

  - 値: -1 .. 25920000

  - デフォルト値: `0`

#### 4.4.2. コマンド

- `exec`: 外部コマンドを実行

    /exec  -list
           [-sh|-nosh] [-bg|-nobg] [-stdin|-nostdin] [-buffer <name>] [-l|-o|-n|-nf] [-cl|-nocl] [-sw|-nosw] [-ln|-noln] [-flush|-noflush] [-color ansi|auto|irc|weechat|strip] [-rc|-norc] [-timeout <timeout>] [-name <name>] [-pipe <command>] [-hsignal <name>] <command>
           -in <id> <text>
           -inclose <id> [<text>]
           -signal <id> <signal>
           -kill <id>
           -killall
           -set <id> <property> <value>
           -del <id>|-all [<id>...]

       -list: コマンドをリストアップ
         -sh: コマンドを実行する際にシェルを使う (警告: このオプションを使えるのは、全ての引数が安全な場合だけです、オプション -nosh を参照)
       -nosh: コマンドを実行する際にシェルを使わない (コマンドに安全でないデータが含まれる場合に必要、例えば他のユーザからのメッセージの内容) (デフォルト)
         -bg: プロセスをバックグラウンド実行: プロセスの出力およびリターンコードを表示しない (オプション -o/-oc/-n/-nf/-pipe/-hsignal と同時に利用できません)
       -nobg: プロセスの出力を受け取り、リターンコードを表示する (デフォルト)
      -stdin: プロセスにデータを送信するパイプを作成する (/exec -in/-inclose を使う)
    -nostdin: 標準入力用にパイプを作成しない (デフォルト)
     -buffer: コマンドの出力をこのバッファに表示 / 送信する (バッファが見つからない場合、新しいバッファ "exec.exec.xxx" が作られます)
          -l: コマンドの出力をカレントバッファに表示 (デフォルト)
          -o: コマンドの出力をカレントバッファに送信、カレントバッファは受信した内容をコマンドとして実行しません (オプション -bg/-pipe/-hsignal と同時に利用できません)
         -oc: コマンドの出力をカレントバッファに送信、カレントバッファは受信した内容 (先頭に "/" もしくはそれ以外のコマンド開始文字を含む行) をコマンドとして実行します (オプション -bg/-pipe/-hsignal と同時に利用できません)
          -n: コマンドの出力を新しいバッファに表示 (オプション -bg/-pipe/-hsignal と同時に利用できません)
         -nf: コマンドの出力を自由内容 (禁則処理なし、行数制限なし) の新しいバッファに表示 (オプション -bg/-pipe/-hsignal と同時に利用できません)
         -cl: 出力を表示する前に新しいバッファをクリア
       -nocl: 新しいバッファをクリアせずに追加 (デフォルト)
         -sw: 出力バッファに移動 (デフォルト)
       -nosw: 出力バッファに移動しない
         -ln: 行数を表示 (新しいバッファに表示する場合はデフォルト)
       -noln: 行数を表示しない
      -flush: コマンドの出力をすぐに表示 (デフォルト)
    -noflush: コマンドの出力をコマンドの終了後に表示
      -color: 出力に含まれる ANSI 色に対する挙動:
                 ansi: ANSI 色をそのままにする
                 auto: ANSI 色を WeeChat/IRC 色に変換 (デフォルト)
                  irc: ANSI 色を IRC 色に変換
              weechat: ANSI 色を WeeChat 色に変換
                strip: ANSI 色を削除
         -rc: リターンコードを表示 (デフォルト)
       -norc: リターンコードを表示しない
    -timeout: コマンドのタイムアウトを設定 (秒単位)
       -name: コマンドの名前を設定 (後から名前を付けるには /exec を使う)
       -pipe: WeeChat およびプラグインコマンドに出力を送信 (1 行ごと); コマンドおよび引数に空白が含まれる場合、2 重引用符で囲ってください; 引数 $line はその行で置換されます (デフォルトではコマンドの後ろに空白を付けてから行を追加します) (オプション -bg/-o/-oc/-n/-nf と同時に利用できません)
    -hsignal: hsignal として出力を送信 (例えばトリガで使われます) (オプション -bg/-o/-oc/-n/-nf と同時に利用できません)
     command: 実行するコマンド; "url:" で始まる場合、シェルは無効化され、URL の内容がダウンロードされ、出力として送信されます
          id: コマンド識別子: 番号か名前 ("-name xxx" で設定した場合) のどちらか一方
         -in: プロセスの標準入力にテキストを送信
    -inclose: -in と同じ、ただし使用後に標準入力を閉じる (テキストは任意: テキストが無い場合、標準入力をすぐに閉じる)
     -signal: プロセスにシグナルを送信; シグナルは整数値または次の名前の 1 つ: hup、int、quit、kill、term、usr1、usr2
       -kill: "-signal <id> kill" のエイリアス
    -killall: 全ての実行中プロセスを kill する
        -set: フックプロパティを設定 (プラグイン API リファレンスの hook_set 関数を参照)
    property: フックプロパティ
       value: フックプロパティの新しい値
        -del: 中断されたコマンドを削除
        -all: 全ての中断されたコマンドを削除

    オプション exec.command.default_options でデフォルトオプションの設定が可能です。

    例:
      /exec -n ls -l /tmp
      /exec -sh -n ps xu | grep weechat
      /exec -n -norc url:http://pastebin.com/raw.php?i=xxxxxxxx
      /exec -nf -noln links -dump https://weechat.org/files/doc/devel/weechat_user.en.html
      /exec -o uptime
      /exec -pipe "/print Machine uptime:" uptime
      /exec -n tail -f /var/log/messages
      /exec -kill 0

### 4.5. Fifo プラグイン

外部から WeeChat を操作するには、FIFO パイプにコマンドやテキストを書き込んでください ("fifo.file.enabled" オプションが有効化されている必要がありますが、デフォルトで有効化されているはずです)。

FIFO パイプは ~/.weechat/ の中にあり、デフォルトで weechat_fifo という名前を付けられています。

FIFO パイプに書き込むコマンド/テキストの文法は以下の例の一つです:

      plugin.buffer *テキストまたはコマンド
      *テキストまたはコマンド

例:

- IRC サーバ freenode で使うニックネームを "newnick" に変更する:

    $ echo 'irc.server.freenode */nick newnick' >~/.weechat/weechat_fifo

- IRC チャンネル #weechat に対してテキストを送信:

    $ echo 'irc.freenode.#weechat *hello!' >~/.weechat/weechat_fifo

- 現在のバッファに対してテキストを送信:

    $ echo '*hello!' >~/.weechat/weechat_fifo

- Python スクリプトのアンロードとロードを行う 2 つのコマンドを送信 (複数のコマンドは "\n" で分割してください):

    $ printf '%b' '*/python unload\n*/python autoload\n' >~/.weechat/weechat_fifo

#### 4.5.1. オプション (fifo.conf)

セクション:

セクション | 操作コマンド | 説明
--- | --- | ---
`file` | `/set fifo.file.*` | FIFO パイプに関するオプション

オプション:

- fifo.file.enabled

  - 説明: FIFO パイプの有効化

  - タイプ: ブール

  - 値: on, off

  - デフォルト値: `on`

- fifo.file.path

  - 説明: FIFO ファイルのパス; 文字列最初の "%h" は WeeChat ホーム に置換されます (デフォルトでは "~/.weechat" に置換されます); ${info:pid} を使えば WeeChat の PID を設定することも可能です (注意: 内容は評価されます、/help eval 参照)

  - タイプ: 文字列

  - 値: 未制約文字列

  - デフォルト値: `"%h/weechat_fifo"`

#### 4.5.2. コマンド

- `fifo`: fifo プラグイン設定

    /fifo  enable|disable|toggle

     enable: FIFO パイプを有効化します
    disable: FIFO パイプを無効化します
     toggle: FIFO パイプの有効無効を切り替えます

    FIFO パイプは WeeChat をリモート操作する際に使われます: FIFO パイプを通じてシェルからコマンドやテキストを送信できます。
    デフォルトの場合 FIFO パイプは ~/.weechat/weechat_fifo です。

    書式は次のうちのどれか 1 つを使ってください:
      plugin.buffer *テキストまたはコマンド
      *テキストまたはコマンド

    freenode のニックネームを変更する例:
      echo 'irc.server.freenode */nick newnick' >~/.weechat/weechat_fifo

    詳しい情報と例はユーザーズガイドを参照してください。

    例:
      /fifo toggle

### 4.6. IRC プラグイン

IRC プラグインは IRC プロトコルに従って他の人と会話を行うために設計されています。

マルチサーバに対応し、DCC チャットとファイル転送 (xfer プラグインを使います。Xfer プラグインを参照) を含む全ての IRC コマンドをサポートしています。

#### 4.6.1. コマンドラインオプション

以下のように 1 つ以上の IRC サーバに対応する URL を引数として与えることができます:

    irc[6][s]://[nick[:password]@]irc.example.org[:port][/channel][,channel[...]]

nono というニックネームを使って chat.freenode.net ホストのデフォルトポート (6667) で稼働中の IRC サーバ上の #weechat と #toto チャンネルに参加する例:

    $ weechat irc://nono@chat.freenode.net/#weechat,#toto

#### 4.6.2. オプション (irc.conf)

セクション:

セクション | 操作コマンド | 説明
--- | --- | ---
`look` | `/set irc.look.*` | 外観
`color` | `/set irc.color.*` | 色
`network` | `/set irc.network.*` | ネットワークオプション
`msgbuffer` | `/set irc.msgbuffer.*` | IRC メッセージのターゲットバッファ (オプションをセクションに追加/削除出来ます)
`ctcp` | `/set irc.ctcp.*` | CTCP 応答 (オプションをセクションに追加/削除出来ます)
`ignore` | `/ignore` | 無視ユーザ
`server_default` | `/set irc.server_default.*` | サーバに対するデフォルト値 (サーバオプションが定義されていない場合に利用されます)
`server` | `/server /set irc.server.*` | サーバ

オプション:

- irc.color.input_nick

  - 説明: インプットバーのニックネームに使う色

  - タイプ: 色

  - 値: WeeChat の色名 (default、black、(dark)gray、white、(light)red、(light)green、brown、yellow、(light)blue、(light)magenta、(light)cyan) 、端末色番号またはその別名; 色の前に属性を置くことができます (テキスト前景色のみ、背景色は出来ません): 太字は "*"、反転は "!"、イタリックは "/"、下線は "_"

  - デフォルト値: `lightcyan`

- irc.color.item_channel_modes

  - 説明: チャンネル名付近のチャンネルモードに使う色

  - タイプ: 色

  - 値: WeeChat の色名 (default、black、(dark)gray、white、(light)red、(light)green、brown、yellow、(light)blue、(light)magenta、(light)cyan) 、端末色番号またはその別名; 色の前に属性を置くことができます (テキスト前景色のみ、背景色は出来ません): 太字は "*"、反転は "!"、イタリックは "/"、下線は "_"

  - デフォルト値: `default`

- irc.color.item_lag_counting

  - 説明: カウント中の遅延インジケータの色 (pong がサーバから返らない場合、遅延は増加する)

  - タイプ: 色

  - 値: WeeChat の色名 (default、black、(dark)gray、white、(light)red、(light)green、brown、yellow、(light)blue、(light)magenta、(light)cyan) 、端末色番号またはその別名; 色の前に属性を置くことができます (テキスト前景色のみ、背景色は出来ません): 太字は "*"、反転は "!"、イタリックは "/"、下線は "_"

  - デフォルト値: `default`

- irc.color.item_lag_finished

  - 説明: pong がサーバから返った場合の、遅延インジケータの色

  - タイプ: 色

  - 値: WeeChat の色名 (default、black、(dark)gray、white、(light)red、(light)green、brown、yellow、(light)blue、(light)magenta、(light)cyan) 、端末色番号またはその別名; 色の前に属性を置くことができます (テキスト前景色のみ、背景色は出来ません): 太字は "*"、反転は "!"、イタリックは "/"、下線は "_"

  - デフォルト値: `yellow`

- irc.color.item_nick_modes

  - 説明: "input_prompt" バー要素内のニックネームモードに付ける色

  - タイプ: 色

  - 値: WeeChat の色名 (default、black、(dark)gray、white、(light)red、(light)green、brown、yellow、(light)blue、(light)magenta、(light)cyan) 、端末色番号またはその別名; 色の前に属性を置くことができます (テキスト前景色のみ、背景色は出来ません): 太字は "*"、反転は "!"、イタリックは "/"、下線は "_"

  - デフォルト値: `default`

- irc.color.message_join

  - 説明: 参加メッセージの色

  - タイプ: 色

  - 値: WeeChat の色名 (default、black、(dark)gray、white、(light)red、(light)green、brown、yellow、(light)blue、(light)magenta、(light)cyan) 、端末色番号またはその別名; 色の前に属性を置くことができます (テキスト前景色のみ、背景色は出来ません): 太字は "*"、反転は "!"、イタリックは "/"、下線は "_"

  - デフォルト値: `green`

- irc.color.message_quit

  - 説明: 退出/終了 メッセージの色

  - タイプ: 色

  - 値: WeeChat の色名 (default、black、(dark)gray、white、(light)red、(light)green、brown、yellow、(light)blue、(light)magenta、(light)cyan) 、端末色番号またはその別名; 色の前に属性を置くことができます (テキスト前景色のみ、背景色は出来ません): 太字は "*"、反転は "!"、イタリックは "/"、下線は "_"

  - デフォルト値: `red`

- irc.color.mirc_remap

  - 説明: メッセージに含まれる mirc の定義する色に対するマッピングをハッシュテーブルで変更: キーは "fg,bg" で -1 (指定無し) から 15 までの整数、値は WeeChat 色名か色番号 (書式: "1,-1:color1;2,7:color2")、例: "1,-1:darkgray;1,2:white,blue" はテキスト色が黒のものを "darkgray" に、背景色が青でテキスト色が黒のものを "white,blue" に変更; IRC コードに対するデフォルトの WeeChat 色は、0=白、1=黒、2=青、3=緑、4=ライトレッド、5=赤、6=赤紫、7=茶色、8=黄色、9=ライトグリーン、10=シアン、11=ライトシアン、12=ライトブルー、13=ライトマゼンタ、14=灰色、15=白

  - タイプ: 文字列

  - 値: 未制約文字列

  - デフォルト値: `"1,-1:darkgray"`

- irc.color.nick_prefixes

  - 説明: モード文字を用いたニックネームプレフィックスの色 (o=オペレータ、h=halfop、v=発言、..)、書式: "o:color1;h:color2;v:color3" (モードが見つからない場合、WeeChat はサーバから受け取ったモードの次のものを試す ("PREFIX"); モードが見つからなかった場合は、特殊なモード "*" がデフォルト色として使えます)

  - タイプ: 文字列

  - 値: 未制約文字列

  - デフォルト値: `"y:lightred;q:lightred;a:lightcyan;o:lightgreen;h:lightmagenta;v:yellow;*:lightblue"`

- irc.color.notice

  - 説明: notices に含まれるテキスト "Notice" の色

  - タイプ: 色

  - 値: WeeChat の色名 (default、black、(dark)gray、white、(light)red、(light)green、brown、yellow、(light)blue、(light)magenta、(light)cyan) 、端末色番号またはその別名; 色の前に属性を置くことができます (テキスト前景色のみ、背景色は出来ません): 太字は "*"、反転は "!"、イタリックは "/"、下線は "_"

  - デフォルト値: `green`

- irc.color.reason_quit

  - 説明: 退出/終了メッセージに含まれる理由の色

  - タイプ: 色

  - 値: WeeChat の色名 (default、black、(dark)gray、white、(light)red、(light)green、brown、yellow、(light)blue、(light)magenta、(light)cyan) 、端末色番号またはその別名; 色の前に属性を置くことができます (テキスト前景色のみ、背景色は出来ません): 太字は "*"、反転は "!"、イタリックは "/"、下線は "_"

  - デフォルト値: `default`

- irc.color.topic_current

  - 説明: 現在のチャンネルトピックの色 (チャンネルに参加または /topic を使ったときに使われます)

  - タイプ: 色

  - 値: WeeChat の色名 (default、black、(dark)gray、white、(light)red、(light)green、brown、yellow、(light)blue、(light)magenta、(light)cyan) 、端末色番号またはその別名; 色の前に属性を置くことができます (テキスト前景色のみ、背景色は出来ません): 太字は "*"、反転は "!"、イタリックは "/"、下線は "_"

  - デフォルト値: `default`

- irc.color.topic_new

  - 説明: 新しいチャンネルトピックの色 (トピックが変更されたときに使われます)

  - タイプ: 色

  - 値: WeeChat の色名 (default、black、(dark)gray、white、(light)red、(light)green、brown、yellow、(light)blue、(light)magenta、(light)cyan) 、端末色番号またはその別名; 色の前に属性を置くことができます (テキスト前景色のみ、背景色は出来ません): 太字は "*"、反転は "!"、イタリックは "/"、下線は "_"

  - デフォルト値: `white`

- irc.color.topic_old

  - 説明: 古いチャンネルトピックの色 (トピックが変更されたときに使われます)

  - タイプ: 色

  - 値: WeeChat の色名 (default、black、(dark)gray、white、(light)red、(light)green、brown、yellow、(light)blue、(light)magenta、(light)cyan) 、端末色番号またはその別名; 色の前に属性を置くことができます (テキスト前景色のみ、背景色は出来ません): 太字は "*"、反転は "!"、イタリックは "/"、下線は "_"

  - デフォルト値: `default`

- irc.look.buffer_open_before_autojoin

  - 説明: 自動で参加した場合 ("autojoin" オプションで参加した場合) に、サーバから JOIN を受信する前にチャンネルバッファを開く; チャンネルとバッファ番号の対応を常に一致させたい場合に便利です

  - タイプ: ブール

  - 値: on, off

  - デフォルト値: `on`

- irc.look.buffer_open_before_join

  - 説明: 手動で参加した場合 (/join コマンドを実行した場合) に、サーバから JOIN を受信する前にチャンネルバッファを開く

  - タイプ: ブール

  - 値: on, off

  - デフォルト値: `off`

- irc.look.buffer_switch_autojoin

  - 説明: 自動で参加した場合に、自動的にチャンネルバッファを移動 (サーバオプション "autojoin" と共に使用)

  - タイプ: ブール

  - 値: on, off

  - デフォルト値: `on`

- irc.look.buffer_switch_join

  - 説明: 手動で参加した場合に、自動的にチャンネルバッファを移動 (/join コマンドを実行したとき)

  - タイプ: ブール

  - 値: on, off

  - デフォルト値: `on`

- irc.look.color_nicks_in_names

  - 説明: /names の出力にニックネーム色を使用 (またはチャンネル参加時に表示されるニックネームのリスト)

  - タイプ: ブール

  - 値: on, off

  - デフォルト値: `off`

- irc.look.color_nicks_in_nicklist

  - 説明: ニックネームリストでニックネーム色を利用

  - タイプ: ブール

  - 値: on, off

  - デフォルト値: `off`

- irc.look.color_nicks_in_server_messages

  - 説明: サーバからのメッセージにニックネーム色を利用

  - タイプ: ブール

  - 値: on, off

  - デフォルト値: `on`

- irc.look.color_pv_nick_like_channel

  - 説明: チャンネルとプライベートバッファで同じニックネーム色を利用

  - タイプ: ブール

  - 値: on, off

  - デフォルト値: `on`

- irc.look.ctcp_time_format

  - 説明: CTCP TIME メッセージに対する応答に利用される時間書式 (日付/時間指定子は strftime の man を参照)

  - タイプ: 文字列

  - 値: 未制約文字列

  - デフォルト値: `"%a, %d %b %Y %T %z"`

- irc.look.display_away

  - 説明: 離席状態が変更されたらメッセージを表示 (off: 何も表示/送信しない、local: ローカルに表示、channel: チャンネルにアクションを送信)

  - タイプ: 整数

  - 値: off, local, channel

  - デフォルト値: `local`

- irc.look.display_ctcp_blocked

  - 説明: ブロックした場合でも CTCP メッセージを表示

  - タイプ: ブール

  - 値: on, off

  - デフォルト値: `on`

- irc.look.display_ctcp_reply

  - 説明: WeeChat が返信した CTCP メッセージを表示

  - タイプ: ブール

  - 値: on, off

  - デフォルト値: `on`

- irc.look.display_ctcp_unknown

  - 説明: 解釈できない CTCP の場合も CTCP メッセージを表示

  - タイプ: ブール

  - 値: on, off

  - デフォルト値: `on`

- irc.look.display_host_join

  - 説明: 参加メッセージにホスト名を表示

  - タイプ: ブール

  - 値: on, off

  - デフォルト値: `on`

- irc.look.display_host_join_local

  - 説明: ローカルクライアントからの参加メッセージにホスト名を表示

  - タイプ: ブール

  - 値: on, off

  - デフォルト値: `on`

- irc.look.display_host_quit

  - 説明: 退出/終了 メッセージにホスト名を表示

  - タイプ: ブール

  - 値: on, off

  - デフォルト値: `on`

- irc.look.display_join_message

  - 説明: チャンネルに参加した後に表示するメッセージのコンマ区切りリスト: 324 = チャンネルモード、329 = チャンネル作成日、332 = トピック、333 = トピックを作成したニックネームおよび日付、353 = チャンネル参加者リスト、366 = 参加人数

  - タイプ: 文字列

  - 値: 未制約文字列

  - デフォルト値: `"329,332,333,366"`

- irc.look.display_old_topic

  - 説明: チャンネルトピックが変更された場合に、古いトピックを表示

  - タイプ: ブール

  - 値: on, off

  - デフォルト値: `on`

- irc.look.display_pv_away_once

  - 説明: プライベートでは離席状態の変更を 1 回以上表示しない

  - タイプ: ブール

  - 値: on, off

  - デフォルト値: `on`

- irc.look.display_pv_back

  - 説明: ユーザが戻ったら、プライベートウィンドウにメッセージを表示 (サーバとの切断を挟んで)

  - タイプ: ブール

  - 値: on, off

  - デフォルト値: `on`

- irc.look.highlight_channel

  - 説明: 現在のバッファでハイライトする単語のコンマ区切りリスト (大文字小文字を区別しない、"(?-i)" を単語の最初につければ大文字小文字を区別する; 特殊変数 $nick、$channel、$server はそれぞれの値に置換される)、これらの単語は、バッファの作成時にバッファプロパティ "highlight_words" に追加される (既存のバッファには影響なし)、空文字列はニックネームに関するデフォルトのハイライトを無効にする、例: "$nick", "(?-i)$nick"

  - タイプ: 文字列

  - 値: 未制約文字列

  - デフォルト値: `"$nick"`

- irc.look.highlight_pv

  - 説明: プライベートバッファでハイライトする単語のコンマ区切りリスト (大文字小文字を区別しない、"(?-i)" を単語の最初につければ大文字小文字を区別する; 特殊変数 $nick、$channel、$server はそれぞれの値に置換される)、これらの単語は、バッファの作成時にバッファプロパティ "highlight_words" に追加される (既存のバッファには影響なし)、空文字列はニックネームに関するデフォルトのハイライトを無効にする、例: "$nick", "(?-i)$nick"

  - タイプ: 文字列

  - 値: 未制約文字列

  - デフォルト値: `"$nick"`

- irc.look.highlight_server

  - 説明: サーババッファでハイライトする単語のコンマ区切りリスト (大文字小文字を区別しない、"(?-i)" を単語の最初につければ大文字小文字を区別する; 特殊変数 $nick、$channel、$server はそれぞれの値に置換される)、これらの単語は、バッファの作成時にバッファプロパティ "highlight_words" に追加される (既存のバッファには影響なし)、空文字列はニックネームに関するデフォルトのハイライトを無効にする、例: "$nick", "(?-i)$nick"

  - タイプ: 文字列

  - 値: 未制約文字列

  - デフォルト値: `"$nick"`

- irc.look.highlight_tags_restrict

  - 説明: irc バッファでハイライトを禁止するタグ (ユーザメッセージをハイライトして、サーバメッセージをハイライトしない); タグの区切り文字はコンマ、論理積を取る場合には "+" 使ってください; ワイルドカード "*" を使うことができます; 任意のタグをハイライトさせるには空値を指定してください

  - タイプ: 文字列

  - 値: 未制約文字列

  - デフォルト値: `"irc_privmsg,irc_notice"`

- irc.look.item_channel_modes_hide_args

  - 説明: 設定したモードのうち少なくとも 1 つがチャンネルモードに設定されていた場合、チャンネルモード引数を隠す (全ての引数を隠すには "*" を使ってください、値が空の場合は全てのチャンネルモード引数が表示されます); 例: チャンネルモードに "k" または "f" が設定されていた場合にチャンネルモード引数を隠すには "kf" と設定してください

  - タイプ: 文字列

  - 値: 未制約文字列

  - デフォルト値: `"k"`

- irc.look.item_display_server

  - 説明: IRC サーバが表示されるバー要素の名前 (ステータスバー用)

  - タイプ: 整数

  - 値: buffer_plugin, buffer_name

  - デフォルト値: `buffer_plugin`

- irc.look.item_nick_modes

  - 説明: "input_prompt" バー要素ではニックネームモードを表示

  - タイプ: ブール

  - 値: on, off

  - デフォルト値: `on`

- irc.look.item_nick_prefix

  - 説明: "input_prompt" バー要素ではニックネームプレフィックスを表示

  - タイプ: ブール

  - 値: on, off

  - デフォルト値: `on`

- irc.look.join_auto_add_chantype

  - 説明: /join コマンドに与えたチャンネル名の最初にそのサーバで有効なチャンネルタイプが付けられていなかった場合、チャンネル名の前にチャンネルタイプを自動追加する; 例: "/join weechat" とした場合、実際に送信されるコマンドは "/join #weechat" になります

  - タイプ: ブール

  - 値: on, off

  - デフォルト値: `off`

- irc.look.msgbuffer_fallback

  - 説明: ターゲットがプライベートでプライベートバッファが見つからない場合の msgbuffer オプション用のデフォルトのターゲットバッファ

  - タイプ: 整数

  - 値: current, server

  - デフォルト値: `current`

- irc.look.new_channel_position

  - 説明: バッファリスト内で新しいチャンネルの位置を固定 (none = デフォルトの位置 (一番後ろのバッファ)、next = 現在のバッファ番号 + 1、near_server = サーバの一番後ろのチャンネル/プライベートバッファ)

  - タイプ: 整数

  - 値: none, next, near_server

  - デフォルト値: `none`

- irc.look.new_pv_position

  - 説明: バッファリスト内で新しいプライベートバッファの位置を固定 (none = デフォルトの位置 (一番後ろのバッファ)、next = 現在のバッファ番号 + 1、near_server = サーバの一番後ろのチャンネル/プライベートバッファ)

  - タイプ: 整数

  - 値: none, next, near_server

  - デフォルト値: `none`

- irc.look.nick_completion_smart

  - 説明: ニックネームのスマート補完 (発言日時の新しいものから順にニックネームを補完): speakers = すべてのニックネーム (ハイライトされたニックネームを含む)、speakers_highlights = ハイライトされたニックネームのみ

  - タイプ: 整数

  - 値: off, speakers, speakers_highlights

  - デフォルト値: `speakers`

- irc.look.nick_mode

  - 説明: ニックネームの前にニックネームモード (オペレータ、voice 権) を表示する (none = 表示しない、prefix = プレフィックスだけに表示 (デフォルト)、action = アクションメッセージだけに表示、both = プレフィックスとアクションメッセージの両方に表示)

  - タイプ: 整数

  - 値: none, prefix, action, both

  - デフォルト値: `prefix`

- irc.look.nick_mode_empty

  - 説明: ニックネームモードが有効でニックネームモードを持っていない (オペレータでない、voice 権がない) 場合にはこれを空白で表示する

  - タイプ: ブール

  - 値: on, off

  - デフォルト値: `off`

- irc.look.nicks_hide_password

  - 説明: メッセージを送信する際にパスワードを隠すニックネームのコンマ区切りリスト、例えば "/msg nickserv identify password" で表示されるメッセージに含まれるパスワードを隠すために使います、例: "nickserv,nickbot"

  - タイプ: 文字列

  - 値: 未制約文字列

  - デフォルト値: `"nickserv"`

- irc.look.notice_as_pv

  - 説明: notice をプライベートメッセージとして表示 (auto の場合、プライベートバッファが見つかればそれを使用する)

  - タイプ: 整数

  - 値: auto, never, always

  - デフォルト値: `auto`

- irc.look.notice_welcome_redirect

  - 説明: ようこそ通知メッセージは対象となるバッファに自動リダイレクト; ようこそ通知の通知先はニックネームとなっていますが、通知メッセージの最初チャンネル名が含まれています、freenode サーバが送信する通知メッセージの例: "[#channel] Welcome to this channel..."

  - タイプ: ブール

  - 値: on, off

  - デフォルト値: `on`

- irc.look.notice_welcome_tags

  - 説明: ようこそ通知に使われ、チャンネルに転送するタグのコンマ区切りリスト、例: "notify_private"

  - タイプ: 文字列

  - 値: 未制約文字列

  - デフォルト値: `""`

- irc.look.notify_tags_ison

  - 説明: あるニックネームが参加またはサーバから切断した際の (ison または monitor コマンドの結果) notify が表示するメッセージで使うタグのコンマ区切りリスト、例えば: "notify_message"、"notify_highlight"、"notify_private"

  - タイプ: 文字列

  - 値: 未制約文字列

  - デフォルト値: `"notify_message"`

- irc.look.notify_tags_whois

  - 説明: ニックネームの離席状態に変化があった場合の (whois コマンドの結果)、notify によって表示されたメッセージに使われたタグのコンマ区切りリスト、例: "notify_message"、"notify_private"、"notify_highlight"

  - タイプ: 文字列

  - 値: 未制約文字列

  - デフォルト値: `"notify_message"`

- irc.look.part_closes_buffer

  - 説明: /part を実行した場合にバッファを閉じる

  - タイプ: ブール

  - 値: on, off

  - デフォルト値: `off`

- irc.look.pv_buffer

  - 説明: プライベートバッファをマージ

  - タイプ: 整数

  - 値: independent, merge_by_server, merge_all

  - デフォルト値: `independent`

- irc.look.pv_tags

  - 説明: プライベートメッセージに使われたタグのコンマ区切りリスト、例: "notify_message"、"notify_private"、"notify_highlight"

  - タイプ: 文字列

  - 値: 未制約文字列

  - デフォルト値: `"notify_private"`

- irc.look.raw_messages

  - 説明: 生データバッファが閉じられた時にメモリに保存する生メッセージの数 (生データバッファを開いたときに表示されるメッセージ)

  - タイプ: 整数

  - 値: 0 .. 65535

  - デフォルト値: `256`

- irc.look.server_buffer

  - 説明: サーババッファをマージ

  - タイプ: 整数

  - 値: merge_with_core, merge_without_core, independent

  - デフォルト値: `merge_with_core`

- irc.look.smart_filter

  - 説明: チャンネルで何分か会話のないニックネームの参加/退出/終了/ニックネームメッセージをフィルタする ("irc_smart_filter" タグのフィルタを作らなければいけません)

  - タイプ: ブール

  - 値: on, off

  - デフォルト値: `on`

- irc.look.smart_filter_delay

  - 説明: 参加/退出/終了メッセージをフィルタするまでの遅延時間 (分単位): ニックネームが N 分以上発言しなかった場合、参加/退出/終了メッセージをフィルタする

  - タイプ: 整数

  - 値: 1 .. 10080

  - デフォルト値: `5`

- irc.look.smart_filter_join

  - 説明: "join" メッセージのスマートフィルタを有効化

  - タイプ: ブール

  - 値: on, off

  - デフォルト値: `on`

- irc.look.smart_filter_join_unmask

  - 説明: "irc_smart_filter" タグでフィルタリングされる参加メッセージのマスクを外すまでの遅延時間 (分単位): 最長 N 分前にあるニックネームがあるチャンネルに参加し、そこで何か喋るか (メッセージ、通知、トピックのアップデートなど) 参加後にニックネームを変更したら、参加メッセージのマスクが外れます (0 = 無効: 参加メッセージは必ずマスクされます)

  - タイプ: 整数

  - 値: 0 .. 10080

  - デフォルト値: `30`

- irc.look.smart_filter_mode

  - 説明: "mode" メッセージに対するスマートフィルタを有効化する: すべてのモード変更メッセージをフィルタするには "*"、サーバプレフィックス (例えば "ovh") モードの変更メッセージをフィルタするには "+"、x/y/z モードの変更メッセージをフィルタするには "xyz"、x/y/z モード以外のモード変更メッセージをフィルタするには "-xyz"; 例: "ovh": o/v/h モードの変更メッセージをフィルタする、"-bkl": b/k/l モード以外のモード変更メッセージをフィルタ

  - タイプ: 文字列

  - 値: 未制約文字列

  - デフォルト値: `""+`

- irc.look.smart_filter_nick

  - 説明: "nick" メッセージに対するスマートフィルタを有効化 (ニックネームの変更通知)

  - タイプ: ブール

  - 値: on, off

  - デフォルト値: `on`

- irc.look.smart_filter_quit

  - 説明: "part" と "quit" メッセージのスマートフィルタを有効化

  - タイプ: ブール

  - 値: on, off

  - デフォルト値: `on`

- irc.look.temporary_servers

  - 説明: /connect コマンドによる一時的なサーバの自動追加を有効化する

  - タイプ: ブール

  - 値: on, off

  - デフォルト値: `off`

- irc.look.topic_strip_colors

  - 説明: トピックにつけられた色を無効化 (バッファタイルに表示される場合のみ利用)

  - タイプ: ブール

  - 値: on, off

  - デフォルト値: `off`

- irc.network.autoreconnect_delay_growing

  - 説明: サーバに自動再接続する際の遅延間隔に関する増加係数 (1 = 遅延間隔は常に同じ, 2 = リトライごとに遅延間隔を 2 倍、..)

  - タイプ: 整数

  - 値: 1 .. 100

  - デフォルト値: `2`

- irc.network.autoreconnect_delay_max

  - 説明: サーバへの自動接続の遅延時間の最大値 (秒単位、0 = 制限無し)

  - タイプ: 整数

  - 値: 0 .. 604800

  - デフォルト値: `600`

- irc.network.ban_mask_default

  - 説明: /ban、/unban、/kickban コマンドが使うデフォルトの禁止マスク; 変数 $nick、$user、$ident、$host はそれぞれの値に置換 ("nick!user@host" から展開) されます; $user が "~" で始まらない場合 $ident は $user と同じで、それ以外の場合 $ident は "*" になります; 設定したデフォルトマスクはニックネームのホスト名がわかる場合のみ利用されます

  - タイプ: 文字列

  - 値: 未制約文字列

  - デフォルト値: `"*!$ident@$host"`

- irc.network.channel_encode

  - 説明: 文字セットオプションを使ってメッセージに含まれるチャンネル名をデコードおよびエンコードする; チャンネル名に UTF-8 を使っている場合のみこれを無効化しておくことをおすすめします; チャンネル名に ISO などの文字セットを使っている場合にはこれを有効化します

  - タイプ: ブール

  - 値: on, off

  - デフォルト値: `off`

- irc.network.colors_receive

  - 説明: オフの場合、到着メッセージに含まれる色コードを無視

  - タイプ: ブール

  - 値: on, off

  - デフォルト値: `on`

- irc.network.colors_send

  - 説明: 特別なコードを使ってユーザが色を送信することを許可 (ctrl-c + 色コードと任意の色: b=太字、cxx=テキスト色、cxx,yy=テキスト色+背景色、i=イタリック、o=色や属性の無効化、r=反転、u=下線)

  - タイプ: ブール

  - 値: on, off

  - デフォルト値: `on`

- irc.network.lag_check

  - 説明: 遅延の確認間のインターバル (秒単位、0 = 確認しない)

  - タイプ: 整数

  - 値: 0 .. 604800

  - デフォルト値: `60`

- irc.network.lag_max

  - 説明: 遅延時間の最大値 (秒単位): 遅延時間がこの値よりも大きくなった場合、WeeChat はサーバからの応答 (pong) が到着しないと考え、遅延時間の計測を中止します (0 = 遅延時間の計測を中止しない)

  - タイプ: 整数

  - 値: 0 .. 604800

  - デフォルト値: `1800`

- irc.network.lag_min_show

  - 説明: 表示する最短の遅延 (ミリ秒単位)

  - タイプ: 整数

  - 値: 0 .. 86400000

  - デフォルト値: `500`

- irc.network.lag_reconnect

  - 説明: 遅延時間がこの値以上に長くなった場合は再接続 (秒単位、0 = 再接続しない); この値は必ず irc.network.lag_max 以下にしてください

  - タイプ: 整数

  - 値: 0 .. 604800

  - デフォルト値: `300`

- irc.network.lag_refresh_interval

  - 説明: 遅延時間が増加する場合、遅延要素の 2 回のリフレッシュの間のインターバル (秒単位)

  - タイプ: 整数

  - 値: 1 .. 3600

  - デフォルト値: `1`

- irc.network.notify_check_ison

  - 説明: IRC コマンド "ison" による通知の 2 回のチェックの間のインターバル (分単位)

  - タイプ: 整数

  - 値: 1 .. 10080

  - デフォルト値: `1`

- irc.network.notify_check_whois

  - 説明: IRC コマンド "whois" による通知の 2 回のチェックの間のインターバル (分単位)

  - タイプ: 整数

  - 値: 1 .. 10080

  - デフォルト値: `5`

- irc.network.sasl_fail_unavailable

  - 説明: 対象のサーバに対して SASL を要求したものの SASL が使えなかった場合に SASL 認証失敗として取り扱う; このオプションの有効化は、対象のサーバに対するオプション "sasl_fail" を "reconnect" または "disconnect" に設定した場合にのみ、効果があります

  - タイプ: ブール

  - 値: on, off

  - デフォルト値: `on`

- irc.network.send_unknown_commands

  - 説明: 未定義のコマンドをサーバに送信

  - タイプ: ブール

  - 値: on, off

  - デフォルト値: `off`

- irc.network.whois_double_nick

  - 説明: /whois コマンドの引数に 2 重のニックネームを付ける (ニックネームが 1 つだけ指定された場合)、これによりアイドル時間が返されます; 例: "/whois nick" で "whois nick nick" が送信されます

  - タイプ: ブール

  - 値: on, off

  - デフォルト値: `off`

- irc.server_default.addresses

  - 説明: サーバのホスト名/ポート番号または IP アドレス/ポート番号のリスト (コンマ区切り) (注意: 値は評価されます、/help eval を参照してください)

  - タイプ: 文字列

  - 値: 未制約文字列

  - デフォルト値: `""`

- irc.server_default.anti_flood_prio_high

  - 説明: 高優先度キュー用のアンチフロード: ユーザメッセージかコマンドを IRC サーバに送信する場合の遅延秒 (0 = アンチフロード無効)

  - タイプ: 整数

  - 値: 0 .. 60

  - デフォルト値: `2`

- irc.server_default.anti_flood_prio_low

  - 説明: 低優先度キュー用のアンチフロード: ユーザメッセージかコマンドを IRC サーバに送信する場合の遅延秒 (自動 CTCP 応答等のメッセージ) (0 = アンチフロード無効)

  - タイプ: 整数

  - 値: 0 .. 60

  - デフォルト値: `2`

- irc.server_default.autoconnect

  - 説明: WeeChat の起動時に自動的にサーバに接続

  - タイプ: ブール

  - 値: on, off

  - デフォルト値: `off`

- irc.server_default.autojoin

  - 説明: サーバに接続した後 (設定されていればさらにコマンドを実行し、遅延時間待った後) に参加するチャンネルのコンマ区切りリスト;鍵が必要なチャンネルはリストの最初に指定し、すべての鍵はチャンネルの後に指定してください (チャンネルと鍵の区切りは空白) (例: "#channel1,#channel2,#channel3 key1,key2" この場合 #channel1 と #channel2 への参加に必要な鍵はそれぞれ key1 と key2) (注意: 値は評価されます、/help eval を参照)

  - タイプ: 文字列

  - 値: 未制約文字列

  - デフォルト値: `""`

- irc.server_default.autoreconnect

  - 説明: 接続が切れたときに自動的に再接続

  - タイプ: ブール

  - 値: on, off

  - デフォルト値: `on`

- irc.server_default.autoreconnect_delay

  - 説明: サーバへの再接続の際の遅延 (秒単位) 時間

  - タイプ: 整数

  - 値: 1 .. 65535

  - デフォルト値: `10`

- irc.server_default.autorejoin

  - 説明: キックされた後のチャンネルへの最参加を自動的に行う; あるチャンネルに対して設定を上書きするにはバッファローカル変数を定義してください (変数の名前: "autorejoin"、値: "on" または "off")

  - タイプ: ブール

  - 値: on, off

  - デフォルト値: `off`

- irc.server_default.autorejoin_delay

  - 説明: 自動再参加前の遅延時間 (秒単位) (キック後)

  - タイプ: 整数

  - 値: 0 .. 86400

  - デフォルト値: `30`

- irc.server_default.away_check

  - 説明: 2 つの away チェック間のインターバル (分、0 = チェックしない)

  - タイプ: 整数

  - 値: 0 .. 10080

  - デフォルト値: `0`

- irc.server_default.away_check_max_nicks

  - 説明: 大きなニックネーム番号を持つニックネームに対しては、away 確認を行わない (0 = 制限無し)

  - タイプ: 整数

  - 値: 0 .. 1000000

  - デフォルト値: `25`

- irc.server_default.capabilities

  - 説明: サーバで利用可能ならば有効化する "client capabilities" のコンマ区切りリスト (WeeChat がサポートする機能のリストは /help cap を御覧ください) (例: "away-notify,multi-prefix")

  - タイプ: 文字列

  - 値: 未制約文字列

  - デフォルト値: `""`

- irc.server_default.command

  - 説明: サーバに接続した後、チャンネルに自動参加する前に実行するコマンド (";" で分けて 複数のコマンドを列挙できます、セミコロンは "\;" のように使ってください、特殊変数 $nick、$channel、$server はそれぞれの値に置換されます) (注意: 値は評価されます、/help eval を参照)

  - タイプ: 文字列

  - 値: 未制約文字列

  - デフォルト値: `""`

- irc.server_default.command_delay

  - 説明: コマンドを実行して、チャンネルに自動参加するまでの遅延時間 (秒単位) (例: 認証に時間がかかる場合にチャンネル参加前に少し時間を空ける)

  - タイプ: 整数

  - 値: 0 .. 3600

  - デフォルト値: `0`

- irc.server_default.connection_timeout

  - 説明: サーバとの TCP 接続と 001 メッセージ受信間のタイムアウト (秒単位)、001 メッセージ受信前にタイムアウト時間を経過した場合は、WeeChat はサーバとの接続を切断

  - タイプ: 整数

  - 値: 1 .. 3600

  - デフォルト値: `60`

- irc.server_default.ipv6

  - 説明: サーバ接続に IPv6 プロトコルを利用 (IPv6 の利用に失敗したら IPv4 を利用); 無効の場合には IPv4 を利用

  - タイプ: ブール

  - 値: on, off

  - デフォルト値: `on`

- irc.server_default.local_hostname

  - 説明: サーバで使用するカスタムホスト名/IP アドレス (任意、空の場合はローカルホスト名が使われる)

  - タイプ: 文字列

  - 値: 未制約文字列

  - デフォルト値: `""`

- irc.server_default.msg_kick

  - 説明: "/kick" と "/kickban" コマンドが使うデフォルトのキックメッセージ (注意: 値は評価されます、/help eval を参照。特殊変数 ${nick}、${channel}、${server} はそれぞれの値に置換されます)

  - タイプ: 文字列

  - 値: 未制約文字列

  - デフォルト値: `""`

- irc.server_default.msg_part

  - 説明: デフォルトの退出メッセージ (チャンネルから退出する際に送信されるメッセージ) (注意: 値は評価されます、/help eval を参照。特殊変数 ${nick}、${channel}、${server} はそれぞれの値に置換されます。${...} が文字列に含まれない場合、"%v" は WeeChat バージョン番号に置換されます)

  - タイプ: 文字列

  - 値: 未制約文字列

  - デフォルト値: `"WeeChat ${info:version}"`

- irc.server_default.msg_quit

  - 説明: デフォルトの終了メッセージ (サーバから切断する際に送信されるメッセージ) (注意: 値は評価されます、/help eval を参照。特殊変数 ${nick}、${channel}、${server} はそれぞれの値に置換されます。${...} が文字列に含まれない場合、"%v" は WeeChat バージョン番号に置換されます)

  - タイプ: 文字列

  - 値: 未制約文字列

  - デフォルト値: `"WeeChat ${info:version}"`

- irc.server_default.nicks

  - 説明: サーバで使用するニックネーム (コンマ区切り) (注意: 値は評価されます、/help eval を参照してください)

  - タイプ: 文字列

  - 値: 未制約文字列

  - デフォルト値: `""`

- irc.server_default.nicks_alternate

  - 説明: すべての指定されたニックネームがサーバで既に利用されている場合、他のニックネームを生成します: ニックネームの長さが 9 になるまで数個の "_" を追加します。その後利用されていないニックネームが見つかるまで、最後の 1 文字 (または最後の 2 文字) を 1 から 99 まで置き換えていきます

  - タイプ: ブール

  - 値: on, off

  - デフォルト値: `on`

- irc.server_default.notify

  - 説明: サーバの通知リスト (これを変更する場合は、/notify コマンドを使うこと)

  - タイプ: 文字列

  - 値: 未制約文字列

  - デフォルト値: `""`

- irc.server_default.password

  - 説明: サーバのパスワード (注意: 値は評価されます、/help eval を参照してください)

  - タイプ: 文字列

  - 値: 未制約文字列

  - デフォルト値: `""`

- irc.server_default.proxy

  - 説明: このサーバで利用するプロキシ名 (任意、プロキシは /proxy コマンドで確認してください)

  - タイプ: 文字列

  - 値: 未制約文字列

  - デフォルト値: `""`

- irc.server_default.realname

  - 説明: サーバで使用する実名 (注意: 値は評価されます、/help eval を参照してください)

  - タイプ: 文字列

  - 値: 未制約文字列

  - デフォルト値: `""`

- irc.server_default.sasl_fail

  - 説明: SASL 認証が失敗した場合の挙動: 認証の問題を無視する場合は "continue"、サーバへの再接続を予定する場合は "reconnect"、サーバから切断する場合は "disconnect" (irc.network.sasl_fail_unavailable も参照してください)

  - タイプ: 整数

  - 値: continue, reconnect, disconnect

  - デフォルト値: `continue`

- irc.server_default.sasl_key

  - 説明: "ecdsa-nist256p-challenge" メカニズム用の ECC 秘密鍵を含むファイル ("%h" は WeeChat ホームに置換されます、デフォルトでは "~/.weechat" です)

  - タイプ: 文字列

  - 値: 未制約文字列

  - デフォルト値: `""`

- irc.server_default.sasl_mechanism

  - 説明: SASL 認証メカニズム: "plain" は平文パスワード、"ecdsa-nist256p-challenge" は鍵を使ったチャレンジ認証、"external" はクライアント側の SSL 証明書を利用した認証<、"dh-blowfish" は blowfish 暗号化パスワード (危険、非推奨)、"dh-aes" は AES 暗号化パスワード (危険、非推奨)

  - タイプ: 整数

  - 値: plain, ecdsa-nist256p-challenge, external, dh-blowfish, dh-aes

  - デフォルト値: `plain`

- irc.server_default.sasl_password

  - 説明: SASL 認証のパスワード; このオプションは "ecdsa-nist256p-challenge" および "external" メカニズムの場合には利用されません (注意: 値は評価されます、/help eval を参照してください)

  - タイプ: 文字列

  - 値: 未制約文字列

  - デフォルト値: `""`

- irc.server_default.sasl_timeout

  - 説明: SASL 認証を諦める前のタイムアウト (秒単位)

  - タイプ: 整数

  - 値: 1 .. 3600

  - デフォルト値: `15`

- irc.server_default.sasl_username

  - 説明: SASL 認証のユーザ名; このオプションは "external" メカニズムの場合には利用されません (注意: 値は評価されます、/help eval を参照してください)

  - タイプ: 文字列

  - 値: 未制約文字列

  - デフォルト値: `""`

- irc.server_default.ssl

  - 説明: サーバとの通信に SSL を利用

  - タイプ: ブール

  - 値: on, off

  - デフォルト値: `off`

- irc.server_default.ssl_cert

  - 説明: 自動的にニックネームの身元確認を行うために使われる SSL 証明書ファイル ("%h" は WeeChat ホームで置換、デフォルトは "~/.weechat" です)

  - タイプ: 文字列

  - 値: 未制約文字列

  - デフォルト値: `""`

- irc.server_default.ssl_dhkey_size

  - 説明: Diffie-Hellman 鍵交換で使われる鍵長

  - タイプ: 整数

  - 値: 0 .. 2147483647

  - デフォルト値: `2048`

- irc.server_default.ssl_fingerprint

  - 説明: 信頼でき、通信を認めるサーバ証明書の指紋; 16 進数で使える文字 (0-9, a-f) 以外は指定できません: SHA-512 の場合 64 文字、SHA-256 の場合 32 文字、SHA-1 の場合 20 文字 (危険、非推奨) です。複数の指紋を設定する場合はコンマで区切ってください; このオプションを設定した場合、証明書に対する他の妥当性確認は行われません (オプション "ssl_verify") (注意: 値は評価されます、/help eval を参照してください)

  - タイプ: 文字列

  - 値: 未制約文字列

  - デフォルト値: `""`

- irc.server_default.ssl_priorities

  - 説明: gnutls の優先度を示した文字列 (構文は、gnutls マニュアルの gnutls_priority_init 関数のドキュメントを参照、通例: "PERFORMANCE", "NORMAL", "SECURE128", "SECURE256", "EXPORT", "NONE")

  - タイプ: 文字列

  - 値: 未制約文字列

  - デフォルト値: `"NORMAL:-VERS-SSL3.0"`

- irc.server_default.ssl_verify

  - 説明: SSL 接続が完全に信頼できることを確認

  - タイプ: ブール

  - 値: on, off

  - デフォルト値: `on`

- irc.server_default.usermode

  - 説明: サーバへの接続後、コマンドの実行とチャンネルへの自動参加前に設定するユーザモード; 例: "+R" (モード "R" を設定)、"+R-i" (モード "R" を設定、モード "i" を未設定); 完全なモード書式を見るには /help mode を参照してください (注意: 値は評価されます、/help eval を参照)

  - タイプ: 文字列

  - 値: 未制約文字列

  - デフォルト値: `""`

- irc.server_default.username

  - 説明: サーバで使用するユーザ名 (注意: 値は評価されます、/help eval を参照してください)

  - タイプ: 文字列

  - 値: 未制約文字列

  - デフォルト値: `""`

#### 4.6.3. コマンド

- `admin`: サーバ管理者に関する情報を探す

    /admin  [<target>]

    target: サーバ名

- `allchan`: 全てのサーバ、全てのチャンネルに対してコマンドを実行

    /allchan  [-current] [-exclude=<channel>[,<channel>...]] <command> [<arguments>]

     -current: 現在のサーバ上のチャンネルに対してコマンドを実行
     -exclude: 一部のチャンネルを除外 (ワイルドカード "*" を使うことができます)
      command: 実行するコマンド
    arguments: コマンドの引数 (特殊変数 $nick、$channel、$server はそれぞれの値に置き換えられます)

    例:
      全てのチャンネルに対して '/me is testing' を実行:
        /allchan me is testing
      #weechat 以外の全てのチャンネルで 'hello' と発言:
        /allchan -exclude=#weechat msg * hello
      #weechat と #linux で始まるチャンネルを除く全てのチャンネルで 'hello' と発言:
        /allchan -exclude=#weechat,#linux* msg * hello

- `allpv`: 全ての接続済みサーバの全てのプライベートバッファに対してコマンドを実行

    /allpv  [-current] [-exclude=<nick>[,<nick>...]] <command> [<arguments>]

     -current: 現在のサーバ上のプライベートバッファに対してコマンドを実行
     -exclude: 一部のニックネームを除外 (ワイルドカード "*" を使うことができます)
      command: 実行するコマンド
    arguments: コマンドの引数 (特殊変数 $nick、$channel、$server はそれぞれの値に置き換えられます)

    例:
      全てのプライベートバッファに対して '/me is testing' を実行:
        /allpv me is testing
      ニックネーム foo を除く全てのプライベートバッファで 'hello' と発言:
        /allpv -exclude=foo msg * hello
      ニックネーム foo と bar で始まるニックネームを除く全てのチャンネルで 'hello' と発言:
        /allpv -exclude=foo,bar* msg * hello
      全てのプライベートバッファを閉じる:
        /allpv close

- `allserv`: 全ての接続済みサーバでコマンドを実行

    /allserv  [-exclude=<server>[,<server>...]] <command> [<arguments>]

     -exclude: いくつかのサーバを除外 (ワイルドカード "*" を使うことができます)
      command: 実行するコマンド
    arguments: コマンドの引数 (特殊変数 $nick、$channel、$server はそれぞれの値に置き換えられます)

    例:
      全てのサーバでニックネーム変更:
        /allserv nick newnick
      全てのサーバで離席状態を変更:
        /allserv away I'm away
      すべてのサーバで自分のニックネームに対して whois を実行:
        /allserv whois $nick

- `ban`: ニックネームかホスト名を指定してバン

    /ban  [<channel>] [<nick> [<nick>...]]

    channel: チャンネル名
       nick: ニックネームまたはホスト名

    引数無しの場合は、現在のチャンネルのバンリストを表示。

- `cap`: クライアント機能情報の交換

    /cap  ls
          list
          req|ack [<capability> [<capability>...]]
          end

       ls: サーバがサポートする機能をリスト
     list: 現在有効化されている機能をリスト
      req: 機能情報を要求
      ack: クライアント側に承認を要求する機能を承認
      end: 機能情報交換を終了

    引数無しの場合、"ls" と "list" を送信します。

    WeeChat がサポートする機能: account-notify、away-notify、cap-notify、extended-join、multi-prefix、server-time、userhost-in-names。

    自動的に有効化する機能を設定するにはオプション irc.server_default.capabilities (または対象のサーバに関するオプション irc.server.xxx.capabilities) を使ってください。

    例:
       /cap
       /cap req multi-prefix away-notify

- `connect`: IRC サーバに接続

    /connect  <server> [<server>...] [-<option>[=<value>]] [-no<option>] [-nojoin] [-switch]
              -all|-auto|-open [-nojoin] [-switch]

        server: サーバ名、これは:
                - 内部サーバ名 (/server add で追加されたもの、利用推奨)
                - ホスト名/ポート番号または IP アドレス/ポート番号、デフォルトのポート番号は 6667
                - 次の書式に従う URL: irc[6][s]://[nickname[:password]@]irc.example.org[:port][/#channel1][,#channel2[...]]
                注意: アドレス/IP/URL を指定した場合、サーバを一時的に追加します (保存しません)、/help irc.look.temporary_servers を参照してください。
        option: サーバに関するオプション (ブール型オプションでは、value は無視される)
      nooption: ブール型オプションを 'off' にする (例: -nossl)
          -all: 設定された全てのサーバに接続
         -auto: 自動接続を有効化してサーバに接続
         -open: 現在接続されていないがオープンされているサーバに接続
       -nojoin: チャンネルに入らない (autojoin が有効化されていても)
       -switch: 次のサーバアドレスに移動

    サーバとの接続を切断するか、接続試行を中止するには /disconnect コマンドを使ってください。

    例:
      /connect freenode
      /connect irc.oftc.net/6667
      /connect irc6.oftc.net/6667 -ipv6
      /connect irc6.oftc.net/6697 -ipv6 -ssl
      /connect my.server.org/6697 -ssl -password=test
      /connect irc://nick@irc.oftc.net/#channel
      /connect -switch

- `ctcp`: CTCP メッセージの送信 (Client-To-Client Protocol)

    /ctcp  [-server <server>] <target>[,<target>...] <type> [<arguments>]

       server: 送信先サーバ名 (内部名)
       target: 送信先ニックネームまたはチャンネル ('*' の場合現在のチャンネル宛に送信)
         type: CTCP タイプ (例: "version"、"ping"、..)
    arguments: CTCP の引数

    例:
      /ctcp toto time
      /ctcp toto version
      /ctcp * version

- `cycle`: チャンネルから退出し再参加

    /cycle  [<channel>[,<channel>...]] [<message>]

    channel: チャンネル名
    message: 退出メッセージ (他のユーザに宛てる)

- `dcc`: DCC の開始 (ファイル転送かダイレクトチャット)

    /dcc  chat <nick>
          send <nick> <file>

    nick: ニックネーム
    file: ファイル名 (ローカルホスト上の)

    例:
      "toto" とチャット:
        /dcc chat toto
      ファイル "/home/foo/bar.txt" を ニックネーム "toto" に送信:
        /dcc send toto /home/foo/bar.txt

- `dehalfop`: ニックネームから half-operator 権を剥奪

    /dehalfop  <nick> [<nick>...]

    nick: ニックネームまたはマスク (ワイルドカード "*" を使うことができます)
       *: 自分以外のチャンネル参加者からチャンネルの half-operator 権を剥奪

- `deop`: ニックネームからチャンネルオペレータ権を剥奪

    /deop  <nick> [<nick>...]
           * -yes

    nick: ニックネームまたはマスク (ワイルドカード "*" を使うことができます)
       *: 自分以外のチャンネル参加者からチャンネルオペレータ権を剥奪

- `devoice`: ニックネームから発言権を剥奪

    /devoice  <nick> [<nick>...]
              * -yes

    nick: ニックネームまたはマスク (ワイルドカード "*" を使うことができます)
       *: チャンネル参加者全員から voice 状態を剥奪

- `die`: サーバのシャットダウン

    /die  [<target>]

    target: サーバ名

- `disconnect`: 特定のまたは全ての IRC サーバとの接続を切断

    /disconnect  [<server>|-all|-pending [<reason>]]

      server: 内部サーバ名
        -all: 全てのサーバとの接続を切る
    -pending: 現在再接続試行中のサーバに対する自動再接続を止める
      reason: "quit" の理由

- `halfop`: 指定したニックネームに half-operator 権を付与

    /halfop  <nick> [<nick>...]
             * -yes

    nick: ニックネームまたはマスク (ワイルドカード "*" を使うことができます)
       *: チャンネル参加者全員に half-operator 権を付与

- `ignore`: あるサーバかチャンネルで、指定したニックネーム/ホスト名を無視

    /ignore  list
             add [re:]<nick> [<server> [<channel>]]
             del <number>|-all

         list: 無視エントリをリストアップ
          add: 無視エントリを追加
         nick: ニックネームまたはホスト名 ("re:" を付けることで POSIX 拡張正規表現を使えます、"*" は 0 個以上の文字にマッチします)
          del: 無視エントリの削除
       number: 削除する無視エントリ番号 (番号はリストを参照)
         -all: 全ての無視エントリを削除
       server: 無視設定を有効にする内部サーバ名
      channel: 無視設定を有効にするチャンネル名

    注意: 正規表現で大文字小文字を区別するには "(?-i)" を最初につけてください。

    例:
      全てのサーバ上のニックネーム "toto" を無視:
        /ignore add toto
      freenode サーバ上のホスト名 "toto@domain.com" を無視:
        /ignore add toto@domain.com freenode
      freenode サーバの #weechat チャンネル上のホスト名 "toto*@*.domain.com" を無視:
        /ignore add toto*@*.domain.com freenode #weechat

- `info`: サーバに関する情報を入手

    /info  [<target>]

    target: サーバ名

- `invite`: チャンネルにニックネームを招待

    /invite  <nick> [<nick>...] [<channel>]

       nick: ニックネーム
    channel: チャンネル名

- `ison`: ニックネームが IRC 上にいるか確認

    /ison  <nick> [<nick>...]

    nick: ニックネーム

- `join`: チャンネルに参加

    /join  [-noswitch] [-server <server>] [<channel1>[,<channel2>...]] [<key1>[,<key2>...]]

    -noswitch: 新しいバッファに移動しない
       server: 送信先サーバ (内部サーバ名)
      channel: 参加するチャンネルの名前
          key: チャンネルに参加するためのキー (キーが必要なチャンネルは最初に置くこと)

    例:
      /join #weechat
      /join #protectedchan,#weechat key
      /join -server freenode #weechat
      /join -noswitch #weechat

- `kick`: チャンネルからユーザをキック

    /kick  [<channel>] <nick> [<reason>]

    channel: チャンネル名
       nick: ニックネーム
     reason: 理由 (特殊変数 $nick、$channel、$server はそれぞれの値に置換されます)

- `kickban`: チャンネルからユーザをキック、そのホストを参加禁止に

    /kickban  [<channel>] <nick> [<reason>]

    channel: チャンネル名
       nick: ニックネーム
     reason: 理由 (特殊変数 $nick、$channel、$server はそれぞれの値に置換されます)

    キックと参加禁止にマスクを使うことが可能で、"*" のマスク展開後にマッチするニックネームがこれらの対象になります。

    例:
      "*!*@host.com" を参加禁止して "toto" をキック:
        /kickban toto!*@host.com

- `kill`: クライアント - サーバの接続を閉じる

    /kill  <nick> [<reason>]

      nick: ニックネーム
    reason: 理由

- `links`: このクエリに応答するサーバが知っている全てのサーバ名をリストアップ

    /links  [[<server>] <server_mask>]

         server: このクエリに応答するべきサーバ
    server_mask: このマスクにマッチするサーバのリスト

- `list`: チャンネルとトピックをリストアップ

    /list  [<channel>[,<channel>...]] [<server>] [-re <regex>]

    channel: リストアップするチャンネル名
     server: サーバ名
      regex: 結果をフィルタする POSIX 拡張正規表現 (大文字小文字は区別しない、"(?-i)" で始めれば区別する)

    例:
      サーバ上の全てのチャンネルをリストアップ (大きなネットワークでは非常に遅い):
        /list
      #weechat チャンネルをリストアップ:
        /list #weechat
      "#weechat" で始まる全てのチャンネルをリストアップ (大きなネットワークでは非常に遅い):
        /list -re #weechat.*

- `lusers`: IRC ネットワークのサイズに関する統計を入手

    /lusers  [<mask> [<target>]]

      mask: このマスクにマッチするサーバ
    target: リクエストを送信するサーバ

- `map`: IRC ネットワークのグラフィカルマップを表示

- `me`: 現在のチャンネルに CTCP action を送信

    /me  <message>

    message: 送信メッセージ

- `mode`: チャンネルかユーザのモードを変更

    /mode  [<channel>] [+|-]o|p|s|i|t|n|m|l|b|e|v|k [<arguments>]
           <nick> [+|-]i|s|w|o

    チャンネルモード:
      channel: 変更するチャンネル名 (デフォルトは現在のチャンネル)
      o: チャンネルオペレータ権の付与/剥奪
      p: プライベートチャンネルフラグ
      s: 秘密チャンネルフラグ
      i: 招待専用チャンネルフラグ
      t: チャンネルトピックの変更をオペレータだけに許可するフラグ
      n: チャンネルに参加していないクライアントからのメッセージの送信を禁止
      m: 司会付きチャンネル
      l: クライアント数の制限値を設定
      b: ユーザの入室禁止マスクを設定
      e: 入室禁止の除外マスクを設定
      v: 司会付きチャンネルで発言権を付与/剥奪
      k: チャンネルキーを設定 (パスワード)
    ユーザモード:
      nick: 変更するユーザ名
      i: ユーザを不可視状態にする
      s: ユーザがサーバ notices を受け取る状態にする
      w: ユーザが wallops を受け取る状態にする
      o: オペレータフラグ

    上のモードのリストは完全なものではない、設定可能なモードを確認するために、サーバに関するドキュメントを読むこと。

    例:
      #weechat チャンネルのトピックを保護:
        /mode #weechat +t
      サーバ上で不可視にする:
        /mode nick +i

- `motd`: "今日のメッセージ" を取得

    /motd  [<target>]

    target: サーバ名

- `msg`: ニックネームかチャンネルにメッセージを送る

    /msg  [-server <server>] <target>[,<target>...] <text>

    server: このサーバに送信 (内部サーバ名)
    target: ニックネームまたはチャンネル名 (マスクを使えるかもしれない、'*' = 現在のチャンネル)
      text: 送信するテキスト

- `names`: チャンネルに参加しているニックネームをリストアップ

    /names  [<channel>[,<channel>...]]

    channel: チャンネル名

- `nick`: 現在のニックネームを変更

    /nick  [-all] <nick>

    -all: 全ての接続済みサーバで新しいニックネームを設定
    nick: 新しいニックネーム

- `notice`: ユーザに notice メッセージを送信

    /notice  [-server <server>] <target> <text>

    server: このサーバに送信 (内部サーバ名)
    target: ニックネームまたはチャンネル名
      text: 送信するテキスト

- `notify`: サーバ上のニックネームに対して接続か離席状態の通知を追加する

    /notify  add <nick> [<server> [-away]]
             del <nick>|-all [<server>]

       add: 通知の追加
      nick: ニックネーム
    server: 内部サーバ名 (デフォルトでは現在のサーバ)
     -away: 離席メッセージが変更されたときに通知 (ニックネームの whois を行う)
       del: 通知を削除
      -all: 全ての通知を削除

    引数無しの場合は、現在のサーバに関する通知設定を表示します (コアバッファで実行された場合は全てのサーバに関する設定)。

    例:
      "toto" が現在のサーバに接続/切断した場合に通知:
        /notify add toto
      "toto" が freenode サーバに接続/切断した場合に通知:
        /notify add toto freenode
      "toto" が freenode サーバに戻るか離席状態になった場合に通知:
        /notify add toto freenode -away

- `op`: ニックネームにオペレータ権を付与

    /op  <nick> [<nick>...]
         * -yes

    nick: ニックネームまたはマスク (ワイルドカード "*" を使うことができます)
       *: チャンネル参加者全員にチャンネルオペレータ権を付与

- `oper`: オペレータ権を入手

    /oper  <user> <password>

        user: ユーザ
    password: パスワード

- `part`: チャンネルから退出

    /part  [<channel>[,<channel>...]] [<message>]

    channel: 退出するチャンネル名
    message: 退出メッセージ (他のユーザに対して)

- `ping`: サーバにピンを送信

    /ping  <server1> [<server2>]

    server1: サーバ
    server2: このサーバにピンを転送

- `pong`: ピンメッセージに応答

    /pong  <daemon> [<daemon2>]

     daemon: ピンメッセージに応答したデーモン
    daemon2: メッセージをデーモンに転送

- `query`: ニックネーム宛にプライベートメッセージを送信

    /query  [-noswitch] [-server <server>] <nick>[,<nick>...] [<text>]

    -noswitch: 新しいバッファに切り替えない
       server: このサーバに送信 (内部サーバ名)
         nick: ニックネーム
         text: 送信するテキスト

- `quiet`: ニックネームかホストを発言禁止に

    /quiet  [<channel>] [<nick> [<nick>...]]

    channel: チャンネル名
       nick: ニックネームまたはホスト名

    引数無しの場合は、現在のチャンネルの発言禁止リストを表示。

- `quote`: パースせずにサーバ宛に生データを送信

    /quote  [-server <server>] <data>

    server: 送信先サーバ (内部サーバ名)
      data: 送信する生データ

- `reconnect`: サーバに再接続

    /reconnect  <server> [<server>...] [-nojoin] [-switch]
                -all [-nojoin] [-switch]

     server: 再接続するサーバ (内部名)
       -all: 全てのサーバに再接続
    -nojoin: チャンネルに参加しない (autojoin がサーバで有効化されていても)
    -switch: 次のサーバアドレスに移動

- `rehash`: サーバに設定ファイルのリロードを指示

    /rehash  [<option>]

    option: 追加オプション、いくつかのサーバ用

- `remove`: ユーザがチャンネルから退出することを強制

    /remove  [<channel>] <nick> [<reason>]

    channel: チャンネル名
       nick: ニックネーム
     reason: 理由 (特殊変数 $nick、$channel、$server はそれぞれの値に置換されます)

- `restart`: サーバに再起動を指示

    /restart  [<target>]

    target: サーバ名

- `sajoin`: ユーザがチャンネルへ参加することを強制

    /sajoin  <nick> <channel>[,<channel>...]

       nick: ニックネーム
    channel: チャンネル名

- `samode`: チャンネルモードを変更、オペレータ権無しに

    /samode  [<channel>] <mode>

    channel: チャンネル名
       mode: チャンネルモード

- `sanick`: 強制的にユーザのニックネームを変更

    /sanick  <nick> <new_nick>

        nick: ニックネーム
    new_nick: 新しいニックネーム

- `sapart`: 強制的にユーザをチャンネルから退出

    /sapart  <nick> <channel>[,<channel>...]

       nick: ニックネーム
    channel: チャンネル名

- `saquit`: ある理由で強制的にユーザをサーバから切断

    /saquit  <nick> <reason>

      nick: ニックネーム
    reason: 理由

- `server`: IRC サーバのリストアップ、追加、削除

    /server  list|listfull [<server>]
             add <server> <hostname>[/<port>] [-temp] [-<option>[=<value>]] [-no<option>]
             copy|rename <server> <new_name>
             reorder <server> [<server>...]
             del|keep <server>
             deloutq|jump|raw

        list: サーバをリストアップ (引数無しでは、リストが表示される)
    listfull: 詳細情報を含めてサーバをリストアップ
         add: 新しいサーバを追加
      server: サーバ名、内部的な利用と表示に利用
    hostname: サーバのホスト名か IP アドレス、ポート番号は任意 (デフォルト: 6667)、複数のアドレスはコンマで区切る
       -temp: 一時的なサーバを追加 (保存されない)
      option: サーバのオプションを設定 (ブールオプションでは値が無視される)
    nooption: ブールオプションを 'off' に設定 (例: -nossl)
        copy: サーバを複製
      rename: サーバをリネーム
     reorder: サーバリストにおける順番を入れ替える
        keep: 設定ファイルにサーバを保存 (一時的なサーバ用)
         del: サーバを削除
     deloutq: 全てのサーバにメッセージの削除を要求 (WeeChat が送信している全てのメッセージ)
        jump: サーババッファに移動
         raw: 生 IRC データを表示するバッファを開く

    例:
      /server listfull
      /server add freenode chat.freenode.net
      /server add freenode chat.freenode.net/6697 -ssl -autoconnect
      /server add chatspike irc.chatspike.net/6667,irc.duckspike.net/6667
      /server copy freenode freenode-test
      /server rename freenode-test freenode2
      /server reorder freenode2 freenode
      /server del freenode
      /server deloutq

- `service`: 新しいサービスを登録

    /service  <nick> <reserved> <distribution> <type> <reserved> <info>

    distribution: サービスの可視性
            type: 将来のために予約

- `servlist`: 現在ネットワークに接続されたサービスをリストアップ

    /servlist  [<mask> [<type>]]

    mask: マスクにマッチするサービスだけをリストアップ
    type: タイプにマッチするサービスだけをリストアップ

- `squery`: サービスにメッセージを配送

    /squery  <service> <text>

    service: サービス名
       text: 送信テキスト

- `squit`: サーバリンクを切断

    /squit  <server> <comment>

     server: サーバ名
    comment: コメント

- `stats`: サーバに関するクエリ統計

    /stats  [<query> [<server>]]

     query: c/h/i/k/l/m/o/y/u (RFC1459 を参照)
    server: サーバ名

- `summon`: IRC サーバを実行中のホストにいるユーザ宛てに、IRC に参加することを要請するメッセージを送信

    /summon  <user> [<target> [<channel>]]

       user: ユーザ名
     target: サーバ名
    channel: チャンネル名

- `time`: サーバのローカル時間を要求

    /time  [<target>]

    target: 時間を要求するサーバを指定

- `topic`: チャンネルトピックの取得/設定

    /topic  [<channel>] [<topic>|-delete]

    channel: チャンネル名
      topic: 新しいトピック
    -delete: チャンネルトピックを削除

- `trace`: 指定されたサーバへのルートを探す

    /trace  [<target>]

    target: サーバ名

- `unban`: ニックネームかホストの禁止設定を解除

    /unban  [<channel>] <nick> [<nick>...]

    channel: チャンネル名
       nick: ニックネームまたはホスト名

- `unquiet`: ニックネームまたはホスト名に対する発言禁止を解除

    /unquiet  [<channel>] <nick> [<nick>...]

    channel: チャンネル名
       nick: ニックネームまたはホスト名

- `userhost`: ニックネームに関する情報のリストを返す

    /userhost  <nick> [<nick>...]

    nick: ニックネーム

- `users`: サーバにログインしているユーザのリスト

    /users  [<target>]

    target: サーバ名

- `version`: ニックネームかサーバのバージョン情報を取得 (現在のサーバか指定したサーバ)

    /version  [<server>|<nick>]

    server: サーバ名
      nick: ニックネーム

- `voice`: ニックネームに発言権を付与

    /voice  <nick> [<nick>...]

    nick: ニックネームまたはマスク (ワイルドカード "*" を使うことができます)
       *: チャンネル参加者全員に voice 権を付与

- `wallchops`: チャンネルオペレータに notice を送信

    /wallchops  [<channel>] <text>

    channel: チャンネル名
       text: 送信テキスト

- `wallops`: ユーザモードに 'w' を設定した全ての接続済みユーザ宛てにメッセージを送信

    /wallops  <text>

    text: 送信テキスト

- `who`: 情報のリストを返すクエリを生成

    /who  [<mask> [o]]

    mask: マスクにマッチする情報
       o: マスクにマッチするオペレータだけを返す

- `whois`: ユーザに関する情報を要求

    /whois  [<server>] [<nick>[,<nick>...]]

    server: サーバ名
      nick: ニックネーム (マスクも可)

    引数が無い場合、このコマンドは以下のユーザに対する whois を行います:
    - バッファがサーバ/チャンネルの場合、自分自身のニックネーム
    - バッファがプライベートの場合、相手のニックネーム。

    オプション irc.network.whois_double_nick が有効の場合、アイドル時間を返してもらうためにニックネームを 2 つ送信します (ニックネームを 1 つ指定した場合でも)。

- `whowas`: 既に存在しないニックネームに関する情報を要求

    /whowas  <nick>[,<nick>...] [<count> [<target>]]

      nick: ニックネーム
     count: リプライの個数 (負の値で完全な検索)
    target: マスクに一致するものだけを返す

#### 4.6.4. SSL 証明書

SSL を使って IRC サーバに接続する場合、WeeChat はデフォルトで接続が完全に信頼できるものかどうかを確認します。

以下のオプションで SSL 接続を設定します:

weechat.network.gnutls_ca_file

  認証局ファイルへのパス (デフォルト: "%h/ssl/CAs.pem")

irc.server.xxx.ssl_cert

  自動的にニックネームを確認するために利用される SSL 証明書ファイル (例えば oftc サーバにおける CertFP の場合、以下を確認してください)

irc.server.xxx.ssl_dhkey_size

  Diffie-Hellman キー交換の際に利用される鍵サイズ (デフォルト: 2048)

irc.server.xxx.ssl_verify

  SSL 接続が完全に信頼できることの確認を行う (デフォルトで有効)

| "ssl_verify" オプションはデフォルトで有効です、したがって厳密な確認が行われ、0.3.1 より前のバージョンでは信頼性の確認に成功していたものが失敗する場合もあります。

##### 最初の例: oftc に接続して、証明書を確認

- シェルを使って証明書をインポート:

    $ mkdir -p ~/.weechat/ssl
    $ wget -O ~/.weechat/ssl/CAs.pem http://www.spi-inc.org/ca/spi-cacert.crt

| CAs.pem ファイル中で複数の証明書を連結することもできます。

- WeeChat では、"oftc" サーバが既に追加されています:

    /connect oftc

##### 2 番目の例: CertFP を使って oftc に接続

- シェルで証明書を作成:

    $ mkdir -p ~/.weechat/ssl
    $ cd ~/.weechat/ssl
    $ openssl req -nodes -newkey rsa:2048 -keyout nick.pem -x509 -days 365 -out nick.pem

- WeeChat では、"oftc" サーバが既に追加されています:

    /set irc.server.oftc.ssl_cert "%h/ssl/nick.pem"
    /connect oftc
    /msg nickserv cert add

より詳しい情報は http://www.oftc.net/oftc/NickServ/CertFP を確認してください。

#### 4.6.5. SASL 認証

WeeChat は SASL 認証をサポートします、以下の認証メカニズムを利用できます:

- plain: 平文パスワード (デフォルト)

- ecdsa-nist256p-challenge: 公開鍵/秘密鍵を使うチャレンジ認証

- external: クライアント側 SSL 証明書

- dh-blowfish: blowfish 暗号パスワード (危険、非推奨)

- dh-aes: AES 暗号パスワード (危険、非推奨)

| "dh-blowfish" メカニズムを利用する場合、"gcrypt" ライブラリが WeeChat のコンパイル時に必要です (依存関係を参照)。

サーバオプション:

- sasl_mechanism: 利用する認証メカニズム (上記参照)

- sasl_timeout: 認証時のタイムアウト (秒単位)

- sasl_fail: 認証に失敗した場合の挙動

- sasl_username: ユーザ名 (ニックネーム)

- sasl_password: パスワード

- sasl_key: ECC 秘密鍵を含むファイル (ecdsa-nist256p-challenge 用)

##### SASL ECDSA-NIST256P-CHALLENGE 認証

ECDSA-NIST256P-CHALLENGE を使って認証を行うためには、秘密鍵を作成してください (接続の際にパスワードは不要です)。

鍵を作成するには、以下のコマンドを使ってください:

    $ openssl ecparam -genkey -name prime256v1 >~/.weechat/ecdsa.pem

公開鍵を (base64 エンコード形式で) 作成するには、以下のコマンドを使ってください:

    $ openssl ec -noout -text -conv_form compressed -in ~/.weechat/ecdsa.pem | grep '^pub:' -A 3 | tail -n 3 | tr -d ' \n:' | xxd -r -p | base64

サーバに接続、本人確認 (例えば "nickserv identify" を使って)、nickserv を使ってアカウントに公開鍵を設定 (アカウントの公開鍵に base64 文字列を指定する):

    /connect freenode
    /msg nickserv identify your_password
    /msg nickserv set pubkey Av8k1FOGetUDq7sPMBfufSIZ5c2I/QYWgiwHtNXkVe/q

サーバの SASL オプションを設定:

    /set irc.server.freenode.sasl_mechanism ecdsa-nist256p-challenge
    /set irc.server.freenode.sasl_username "your_nickname"
    /set irc.server.freenode.sasl_key "%h/ecdsa.pem"

サーバに再接続:

    /reconnect freenode

#### 4.6.6. TOR/SASL を使って Freenode に接続する場合

SSL に加えて、Freenode サーバは TOR (https://www.torproject.org/) 経由の接続をサポートしています。TOR とはバーチャルトンネルのネットワークで、これを使うことで個人やグループがインターネット利用に伴うプライバシーとセキュリティを向上させることができます。

最初に、TOR をインストールしてください。Debian (とその派生ディストリビューション) の場合:

    $ sudo apt-get install tor

WeeChat で TOR サービスを使った socks5 プロキシを作成してください (ホスト名/IP アドレス、ポート番号は TOR の設定に依存します):

    /proxy add tor socks5 127.0.0.1 9050

そして、新しいサーバを追加します。例えば:

    /server add freenode-tor p4fsi4ockecnea7l.onion

TOR プロキシを設定:

    /set irc.server.freenode-tor.proxy "tor"

SASL 認証を設定:

    /set irc.server.freenode-tor.sasl_username "your_nickname"
    /set irc.server.freenode-tor.sasl_password "your_password"

最後に、サーバに接続してください:

    /connect freenode-tor

Freenode と TOR に関するより詳しい情報: http://freenode.net/irc_servers.shtml#tor

#### 4.6.7. 参加/退出/終了メッセージに対するスマートフィルタ

チャンネル内での発言が過去 X 分間なかった場合に参加/退出/終了メッセージをフィルタリングするスマートフィルタが利用できます。

スマートフィルタはデフォルトで有効化されていますが、バッファ内のメッセージを隠すにはフィルタを追加する必要があります。例えば:

    /filter add irc_smart * irc_smart_filter *

特定のチャンネルのみ、またはある名前で始まるチャンネルに対してフィルタを作成することもできます (`/help filter` を参照):

    /filter add irc_smart_weechat irc.freenode.#weechat irc_smart_filter *
    /filter add irc_smart_weechats irc.freenode.#weechat* irc_smart_filter *

以下のコマンドで参加メッセージだけ、または退出/終了メッセージだけを隠すこともできます:

    /set irc.look.smart_filter_join on
    /set irc.look.smart_filter_quit on

遅延時間 (分単位) を設定することもできます:

    /set irc.look.smart_filter_delay 5

過去 5 分間あるニックネームからの発言が無かった場合、このニックネームに対する参加または退出/終了メッセージがチャンネルから隠されます。

#### 4.6.8. CTCP 応答

CTCP 応答をカスタマイズしたり、いくつかの CTCP 要求をブロック (無応答) することができます。

例えば、CTCP "VERSION" 要求に対する応答をカスタマイズするには、以下のコマンドを使ってください:

    /set irc.ctcp.version "I'm running WeeChat $version, it rocks!"

CTCP "VERSION" 要求をブロックする (要求に対する応答を行わない) には、空文字列を設定してください:

    /set irc.ctcp.version ""

未定義の CTCP 要求に対する応答もカスタマイズできます。例えば CTCP "BLABLA" 要求に対する応答を以下のように設定できます:

    /set irc.ctcp.blabla "This is my answer to CTCP BLABLA"

特定のサーバに対して CTCP 応答をカスタマイズするには、CTCP 名の前に内部サーバ名をつけてください:

    /set irc.ctcp.freenode.version "WeeChat $version (for freenode)"

標準の CTCP 応答を復元するには、オプションを削除してください:

    /unset irc.ctcp.version

以下のコードを設定値に含めることが可能です。これらのコードは CTCP 応答時に自動的に WeeChat によって展開されます:

コード | 説明 | 値/例
--- | --- | ---
    $clientinfo
| サポートしている CTCP オプションのリスト | `ACTION DCC CLIENTINFO FINGER PING SOURCE TIME USERINFO VERSION`
    $version
| WeeChat バージョン | `0.4.0-dev`
    $versiongit
| WeeChat バージョン + git バージョン (1) | `0.4.0-dev (git: v0.3.9-104-g7eb5cc4)`
    $git
| git バージョン (1) | `v0.3.9-104-g7eb5cc4`
    $compilation
| WeeChat コンパイル日時 | `Dec 16 2012`
    $osinfo
| OS に関する情報 | `Linux 2.6.32-5-amd64 / x86_64`
    $site
| WeeChat ウェブサイト | `https://weechat.org/`
    $download
| WeeChat ウェブサイトのダウンロードページ | `https://weechat.org/download`
    $time
| 現在の日時 | `Sun, 16 Dec 2012 10:40:48 +0100`
    $username
| IRC サーバ上で使うユーザ名 | `name`
    $realname
| IRC サーバ上で使う実名 | `John Doe`

| (1) git バージョンとは `git describe` コマンドの出力です。git リポジトリで WeeChat をコンパイルし、git がインストールされている場合のみ値が設定されます。

CTCP オプションが設定されていない (デフォルトの) 場合、CTCP 応答は以下のようになります:

CTCP | 応答書式 | 例
--- | --- | ---
CLIENTINFO | `$clientinfo` | `ACTION DCC CLIENTINFO FINGER PING SOURCE TIME USERINFO VERSION`
FINGER | `WeeChat $versiongit` | `WeeChat 0.4.0-dev (git: v0.3.9-104-g7eb5cc4)`
SOURCE | `$download` | `https://weechat.org/download`
TIME | `$time` | `Sun, 16 Dec 2012 10:40:48 +0100`
USERINFO | `$username ($realname)` | `name (John Doe)`
VERSION | `WeeChat $versiongit ($compilation)` | `WeeChat 0.4.0-dev (git: v0.3.9-104-g7eb5cc4) (Dec 16 2012)`

#### 4.6.9. IRC メッセージのターゲットバッファ

`irc.msgbuffer.*` オプションを使えば、IRC メッセージに対するターゲットバッファ (メッセージを表示するバッファ) をカスタマイズすることができます。

一部の IRC メッセージ (以下のリストを参照) に対して、以下の値を設定できます:

current

  現在のバッファ (IRC バッファまたはサーババッファの場合のデフォルト)

private

  ニックネームに対するプライベートバッファ、見つからない場合は現在のバッファまたはサーババッファ (irc.look.msgbuffer_fallback オプションに依存)

server

  サーババッファ

weechat

  WeeChat "core" バッファ

オプションが設定されていない (デフォルトの) 場合、WeeChat は適当なバッファを選びます。通常ではサーバまたはチャンネルバッファです。

カスタマイズできる一部の IRC メッセージ、別名のリストは以下です:

メッセージ | 別名 | 説明
--- | --- | ---
`error` |  | エラー
`invite` |  | チャンネルへの招待
`join` |  | 参加
`kick` |  | キック
`kill` |  | キル
`mode` |  | モード
`notice` |  | 通知
`part` |  | 退出
`quit` |  | 終了
`topic` |  | トピック
`wallops` |  | IRC オペレータメッセージ
| `ctcp` | ctcp (プライベートまたは notice メッセージ内の、送信または受信メッセージ)
`221` |  | ユーザモード文字列
`275` | `whois` | whois (セキュアな接続)
`301` | `whois` | whois (離席状態)
`303` |  | サーバへの接続状態
`305` | `unaway` | 着席状態
`306` | `away` | 離席状態
`307` | `whois` | whois (登録済みニックネーム)
`310` | `whois` | whois (ヘルプモード)
`311` | `whois` | whois (ユーザ)
`312` | `whois` | whois (サーバ)
`313` | `whois` | whois (オペレータ)
`314` | `whowas` | whowas
`315` | `who` | who (終了)
`317` | `whois` | whois (アイドル状態)
`318` | `whois` | whois (終了)
`319` | `whois` | whois (チャンネル)
`320` | `whois` | whois (身元確認済みユーザ)
`321` | `list` | list (開始)
`322` | `list` | list (チャンネル)
`323` | `list` | list (終了)
`326` | `whois` | whois (オペレータ権限を持っているユーザ)
`327` | `whois` | whois (ホスト)
`328` |  | チャンネルの URL
`329` |  | チャンネル作成日時
`330` | `whois` | whois (ログイン時の名前)
`331` |  | トピックが未設定のチャンネル
`332` |  | チャンネルのトピック
`333` |  | トピックに関する情報
`335` | `whois` | whois (ボットが有効化されているか)
`338` | `whois` | whois (ホスト)
`341` |  | 招待中
`343` | `whois` | whois (オペレータ)
`344` | `reop` | チャンネルオペレータを復活
`345` | `reop` | チャンネルオペレータを復活 (終了)
`346` | `invitelist` | 招待リスト
`347` | `invitelist` | 招待リスト (終了)
`348` | `exceptionlist` | 除外リスト
`349` | `exceptionlist` | 除外リスト (終了)
`351` |  | サーババージョン
`352` | `who` | who
`353` | `names` | チャンネル内ユーザのリスト
`366` | `names` | チャンネル内ユーザのリストの終了
`367` | `banlist` | 禁止リスト
`368` | `banlist` | 禁止リストの終了
`369` | `whowas` | whowas (終了)
`378` | `whois` | whois (接続元)
`379` | `whois` | whois (モード)
`401` | `whois` | 指定したニックネームおよびチャンネルがありません
`402` | `whois` | 指定したサーバがありません
`432` |  | ニックネームにエラーがあります
`433` |  | ニックネームが使用されています
`438` |  | ニックネームを変更する権限がありません
`671` | `whois` | whois (セキュアな接続)
`728` | `quietlist` | 発言禁止リスト
`729` | `quietlist` | 発言禁止リストの終了
`732` | `monitor` | 監視中のニックネームのリスト
`733` | `monitor` | 監視中のニックネームのリスト (終了)
`901` |  | ログインに成功

その他の数値コマンドも同様にカスタマイズできます。

サーバ名を前につけることで、特定のサーバに対して設定することができます (例: `freenode.whois`)。

例:

- `/whois` の結果をプライベートバッファに表示:

    /set irc.msgbuffer.whois private

- whois に対する設定をデフォルトに戻す (サーババッファに表示):

    /unset irc.msgbuffer.whois

- "freenode" サーバの場合、招待メッセージを現在のバッファに表示:

    /set irc.msgbuffer.freenode.invite current

- "303" (ison) メッセージを WeeChat "core" バッファに表示:

    /set irc.msgbuffer.303 weechat

### 4.7. Logger プラグイン

Logger プラグインを使うことで、バッファの内容をファイルに保存できます。保存形式とその方法をオプションで設定できます。

#### 4.7.1. オプション (logger.conf)

セクション:

セクション | 操作コマンド | 説明
--- | --- | ---
`look` | `/set logger.look.*` | 外観
`color` | `/set logger.color.*` | 色
`file` | `/set logger.file.*` | ログファイルのオプション
`level` | `/set logger.level.*` | バッファのログレベル (オプションをセクションに追加/削除出来ます)
`mask` | `/set logger.mask.*` | バッファのファイル名マスク (オプションをセクションに追加/削除出来ます)

オプション:

- logger.color.backlog_end

  - 説明: バックログの最終行の色

  - タイプ: 色

  - 値: WeeChat の色名 (default、black、(dark)gray、white、(light)red、(light)green、brown、yellow、(light)blue、(light)magenta、(light)cyan) 、端末色番号またはその別名; 色の前に属性を置くことができます (テキスト前景色のみ、背景色は出来ません): 太字は "*"、反転は "!"、イタリックは "/"、下線は "_"

  - デフォルト値: `default`

- logger.color.backlog_line

  - 説明: バックログ行の色

  - タイプ: 色

  - 値: WeeChat の色名 (default、black、(dark)gray、white、(light)red、(light)green、brown、yellow、(light)blue、(light)magenta、(light)cyan) 、端末色番号またはその別名; 色の前に属性を置くことができます (テキスト前景色のみ、背景色は出来ません): 太字は "*"、反転は "!"、イタリックは "/"、下線は "_"

  - デフォルト値: `default`

- logger.file.auto_log

  - 説明: バッファの内容をファイルに自動的に保存 (バッファのログ保存が無効化されていない限り)

  - タイプ: ブール

  - 値: on, off

  - デフォルト値: `on`

- logger.file.flush_delay

  - 説明: ログファイルをフラッシュする間隔の秒数 (0 = 行が表示されたらすぐにログファイルに書き込み)

  - タイプ: 整数

  - 値: 0 .. 3600

  - デフォルト値: `120`

- logger.file.info_lines

  - 説明: バッファのログ保存の開始時と終了時にログファイルへ情報行を書き込む

  - タイプ: ブール

  - 値: on, off

  - デフォルト値: `off`

- logger.file.mask

  - 説明: ログファイルのデフォルトファイル名マスク (書式は "directory/to/file" または "file" で、最初に "/" が無ければ "path" オプションがファイルへの完全なパスを作るために使われます); ローカルバッファ変数を使うことも可能です (全てのバッファで定義されている変数以外を使わないでください。すなわち、$server や $channel などを使うべきではありません); 日付指定子を使うことも可能です (strftime の man を参照してください)

  - タイプ: 文字列

  - 値: 未制約文字列

  - デフォルト値: `"$plugin.$name.weechatlog"`

- logger.file.name_lower_case

  - 説明: ログファイル名に小文字だけを使う

  - タイプ: ブール

  - 値: on, off

  - デフォルト値: `on`

- logger.file.nick_prefix

  - 説明: ニックネームの前に書くテキスト (メッセージプレフィックス)、例: "<"

  - タイプ: 文字列

  - 値: 未制約文字列

  - デフォルト値: `""`

- logger.file.nick_suffix

  - 説明: ニックネームの後に書くテキスト (メッセージプレフィックス)、例: ">"

  - タイプ: 文字列

  - 値: 未制約文字列

  - デフォルト値: `""`

- logger.file.path

  - 説明: WeeChat ログファイルのパス; 文字列最初の "%h" は WeeChat ホームに置換 (デフォルトでは "~/.weechat" に置換); 日付指定子を使える (strftime の man を参照) (注意: 内容は評価されます、/help eval 参照)

  - タイプ: 文字列

  - 値: 未制約文字列

  - デフォルト値: `"%h/logs/"`

- logger.file.replacement_char

  - 説明: マスクと一緒に使われたときのファイル名に含まれる特殊文字に対応する置換文字 (ディレクトリ区切りのようなもの)

  - タイプ: 文字列

  - 値: 未制約文字列

  - デフォルト値: `"_"`

- logger.file.time_format

  - 説明: ログファイルで使用するタイムスタンプ (日付/時間指定子は strftime の man 参照)

  - タイプ: 文字列

  - 値: 未制約文字列

  - デフォルト値: `"%Y-%m-%d %H:%M:%S"`

- logger.look.backlog

  - 説明: 新規バッファの作成時にログファイルから表示する行の最大数 (0 = バックログ無し)

  - タイプ: 整数

  - 値: 0 .. 2147483647

  - デフォルト値: `20`

#### 4.7.2. コマンド

- `logger`: logger プラグイン設定

    /logger  list
             set <level>
             flush
             disable

       list: オープンされたバッファのログ保存設定を表示
        set: 現在のバッファのログ保存レベルを設定
      level: ログ保存されるメッセージのレベル (0 = ログ保存しない、1 = いくつかのメッセージ (最も重要) .. 9 = 全てのメッセージ)
      flush: 全てのログファイルに今すぐ書き込む
    disable: 現在のバッファのログ保存を無効化 (レベルを 0 に設定)

    オプション "logger.level.*" と "logger.mask.*" は任意のバッファに対するログレベルとログ保存先の設定を意味します。

    IRC プラグインで使われるログレベル:
      1: ユーザメッセージ、通知、プライベート
      2: ニックネームの変更
      3: サーバメッセージ
      4: 参加/退出/終了
      9: その他の全てのメッセージ

    例:
      現在のバッファのレベルを 5 に設定:
        /logger set 5
      現在のバッファのログ保存を無効化:
        /logger disable
      全ての IRC バッファのレベルを 3 に設定:
        /set logger.level.irc 3
      メインの WeeChat バッファのログ保存を無効化:
        /set logger.level.core.weechat 0
      IRC サーバごとのディレクトリ、チャンネルごとのファイルを使う:
        /set logger.mask.irc "$server/$channel.weechatlog"

#### 4.7.3. ログレベル

ログ保存はそれぞれのバッファに対して設定されたログレベルに従って行われます。デフォルトのレベルは 9 (バッファに表示されたメッセージをすべて保存) です。特定のバッファやバッファグループに対して個別にログレベルを設定できます。

設定可能なレベルは 0 から 9 です。0 は "保存しない"、9 は「すべてのメッセージを保存」を意味します。

それぞれのプラグインでレベルの意味が変わります。IRC プラグインに対しては以下のレベルが利用されます:

- レベル 1: ユーザからのメッセージ (チャンネルまたはプライベート)

- レベル 2: ニックネームの変更 (自身と他のユーザ)

- レベル 3: 任意のサーバメッセージ (参加/退出/終了メッセージを除く)

- レベル 4: 参加/退出/終了メッセージ

従って、IRC チャンネルに対してレベル 3 を設定した場合、WeeChat は参加/退出/終了メッセージを除いて全てのメッセージを保存します。

例:

- IRC チャンネル #weechat に対してレベル 3 を設定:

    /set logger.level.irc.freenode.#weechat 3

- freenode サーババッファに対してレベル 3 を設定:

    /set logger.level.irc.server.freenode 3

- freenode サーバの全てのチャンネルに対してレベル 3 を設定:

    /set logger.level.irc.freenode 3

- 全ての IRC バッファに対してレベル 2 を設定:

    /set logger.level.irc 2

#### 4.7.4. ファイル名マスク

バッファに対し個別にファイル名マスクを設定することができます、ファイル名にはローカルバッファ変数が利用されます。現在のバッファに設定されたローカル変数を確認するには:

    /buffer localvar

例えば "irc.freenode.#weechat" バッファの場合、WeeChat は以下の順番でオプションに設定されたファイル名マスクを検索します:

    logger.mask.irc.freenode.#weechat
    logger.mask.irc.freenode
    logger.mask.irc
    logger.file.mask

特定の IRC サーバ ("logger.mask.irc.freenode") またはプラグイン ("logger.mask.irc") のグループに対して共通のマスクを適用できます。

##### ログファイルに日付を利用する

ログファイルに日付を使うには、マスクに日時/時間指定子を利用できます (書式に関しては `man strftime` を参照してください)。例えば:

    /set logger.file.mask "%Y/%m/$plugin.$name.weechatlog"

以下のファイルが作成されます:

    ~/.weechat/
        |--- logs/
            |--- 2010/
                |--- 11/
                |       irc.server.freenode.weechatlog
                |       irc.freenode.#weechat.weechatlog
            |--- 2010/
                |--- 12/
                |       irc.server.freenode.weechatlog
                |       irc.freenode.#weechat.weechatlog

##### IRC ログファイルにサーバとチャンネル名を利用する

IRC サーバ名を使ったディレクトリに、チャンネル名を使ったファイルを作成する場合:

    /set logger.mask.irc "irc/$server/$channel.weechatlog"

以下のファイルが作成されます:

    ~/.weechat/
        |--- logs/
            |--- irc/
                |--- freenode/
                |       freenode.weechatlog
                |       #weechat.weechatlog
                |       #mychan.weechatlog
                |--- oftc/
                |       oftc.weechatlog
                |       #chan1.weechatlog
                |       #chan2.weechatlog

### 4.8. Relay プラグイン

Relay プラグインはネットワークを介して異なるプロトコルを用いてデータを中継するために利用します:

- irc: IRC プロキシ: IRC サーバに対する接続を、単一または複数の IRC クライアントで共有するために用います。

- weechat: WeeChat の表示にリモートインターフェイス (例えば QWeeChat) を使う場合に利用されるプロトコル

#### 4.8.1. オプション (relay.conf)

セクション:

セクション | 操作コマンド | 説明
--- | --- | ---
`look` | `/set relay.look.*` | 外観
`color` | `/set relay.color.*` | 色
`network` | `/set relay.network.*` | ネットワークオプション
`irc` | `/set relay.irc.*` | 特定の irc プロトコルのオプション (irc プロキシ)
`port` | `/relay add /set relay.port.*` | リレーに使うポート(irc や weechat プロトコル) (オプションをセクションに追加/削除出来ます)

オプション:

- relay.color.client

  - 説明: クライアント説明用のテキスト色

  - タイプ: 色

  - 値: WeeChat の色名 (default、black、(dark)gray、white、(light)red、(light)green、brown、yellow、(light)blue、(light)magenta、(light)cyan) 、端末色番号またはその別名; 色の前に属性を置くことができます (テキスト前景色のみ、背景色は出来ません): 太字は "*"、反転は "!"、イタリックは "/"、下線は "_"

  - デフォルト値: `cyan`

- relay.color.status_active

  - 説明: "接続済み" 状態のテキスト色

  - タイプ: 色

  - 値: WeeChat の色名 (default、black、(dark)gray、white、(light)red、(light)green、brown、yellow、(light)blue、(light)magenta、(light)cyan) 、端末色番号またはその別名; 色の前に属性を置くことができます (テキスト前景色のみ、背景色は出来ません): 太字は "*"、反転は "!"、イタリックは "/"、下線は "_"

  - デフォルト値: `lightblue`

- relay.color.status_auth_failed

  - 説明: "認証失敗" 状態のテキスト色

  - タイプ: 色

  - 値: WeeChat の色名 (default、black、(dark)gray、white、(light)red、(light)green、brown、yellow、(light)blue、(light)magenta、(light)cyan) 、端末色番号またはその別名; 色の前に属性を置くことができます (テキスト前景色のみ、背景色は出来ません): 太字は "*"、反転は "!"、イタリックは "/"、下線は "_"

  - デフォルト値: `lightred`

- relay.color.status_connecting

  - 説明: "接続中" 状態のテキスト色

  - タイプ: 色

  - 値: WeeChat の色名 (default、black、(dark)gray、white、(light)red、(light)green、brown、yellow、(light)blue、(light)magenta、(light)cyan) 、端末色番号またはその別名; 色の前に属性を置くことができます (テキスト前景色のみ、背景色は出来ません): 太字は "*"、反転は "!"、イタリックは "/"、下線は "_"

  - デフォルト値: `yellow`

- relay.color.status_disconnected

  - 説明: "接続切断" 状態のテキスト色

  - タイプ: 色

  - 値: WeeChat の色名 (default、black、(dark)gray、white、(light)red、(light)green、brown、yellow、(light)blue、(light)magenta、(light)cyan) 、端末色番号またはその別名; 色の前に属性を置くことができます (テキスト前景色のみ、背景色は出来ません): 太字は "*"、反転は "!"、イタリックは "/"、下線は "_"

  - デフォルト値: `lightred`

- relay.color.status_waiting_auth

  - 説明: "認証待ち" 状態のテキスト色

  - タイプ: 色

  - 値: WeeChat の色名 (default、black、(dark)gray、white、(light)red、(light)green、brown、yellow、(light)blue、(light)magenta、(light)cyan) 、端末色番号またはその別名; 色の前に属性を置くことができます (テキスト前景色のみ、背景色は出来ません): 太字は "*"、反転は "!"、イタリックは "/"、下線は "_"

  - デフォルト値: `brown`

- relay.color.text

  - 説明: リレーバッファ内のテキスト色

  - タイプ: 色

  - 値: WeeChat の色名 (default、black、(dark)gray、white、(light)red、(light)green、brown、yellow、(light)blue、(light)magenta、(light)cyan) 、端末色番号またはその別名; 色の前に属性を置くことができます (テキスト前景色のみ、背景色は出来ません): 太字は "*"、反転は "!"、イタリックは "/"、下線は "_"

  - デフォルト値: `default`

- relay.color.text_bg

  - 説明: リレーバッファ内の背景色

  - タイプ: 色

  - 値: WeeChat の色名 (default、black、(dark)gray、white、(light)red、(light)green、brown、yellow、(light)blue、(light)magenta、(light)cyan) 、端末色番号またはその別名; 色の前に属性を置くことができます (テキスト前景色のみ、背景色は出来ません): 太字は "*"、反転は "!"、イタリックは "/"、下線は "_"

  - デフォルト値: `default`

- relay.color.text_selected

  - 説明: リレーバッファ内の選択行のテキスト色

  - タイプ: 色

  - 値: WeeChat の色名 (default、black、(dark)gray、white、(light)red、(light)green、brown、yellow、(light)blue、(light)magenta、(light)cyan) 、端末色番号またはその別名; 色の前に属性を置くことができます (テキスト前景色のみ、背景色は出来ません): 太字は "*"、反転は "!"、イタリックは "/"、下線は "_"

  - デフォルト値: `white`

- relay.irc.backlog_max_minutes

  - 説明: IRC チャンネルごとのバックログの最大時間 (分) (0 = 制限無し、例: 1440 = 1 日、10080 = 1 週間、43200 = 1 ヶ月、525600 = 1 年間)

  - タイプ: 整数

  - 値: 0 .. 2147483647

  - デフォルト値: `1440`

- relay.irc.backlog_max_number

  - 説明: IRC チャンネルごとのバックログの最大行数 (0 = 制限無し)

  - タイプ: 整数

  - 値: 0 .. 2147483647

  - デフォルト値: `256`

- relay.irc.backlog_since_last_disconnect

  - 説明: 最後にクライアントを切断した以降のバックログを表示

  - タイプ: ブール

  - 値: on, off

  - デフォルト値: `on`

- relay.irc.backlog_since_last_message

  - 説明: 最後に自分が送信したメッセージ以降のバックログを表示

  - タイプ: ブール

  - 値: on, off

  - デフォルト値: `off`

- relay.irc.backlog_tags

  - 説明: IRC チャンネルごとのバックログに表示するメッセージタグのコンマ区切りリスト (利用可能なタグ: "irc_join"、"irc_part"、"irc_quit"、"irc_nick"、"irc_privmsg")、"*" = 利用可能な全てのタグ

  - タイプ: 文字列

  - 値: 未制約文字列

  - デフォルト値: `"irc_privmsg"`

- relay.irc.backlog_time_format

  - 説明: バックログメッセージの時間書式 (書式は man strftime を参照) (メッセージの irc タグ内に時間の情報が含まれるため、クライアントがサーバの "server-time" 機能を利用可能にした場合、これは利用されません); 空文字列 = バックログメッセージで時間を表示しない

  - タイプ: 文字列

  - 値: 未制約文字列

  - デフォルト値: `"[%H:%M] "`

- relay.look.auto_open_buffer

  - 説明: 新しいクライアントが接続したらリレーバッファを自動的に開く

  - タイプ: ブール

  - 値: on, off

  - デフォルト値: `on`

- relay.look.raw_messages

  - 説明: 生データバッファが閉じられた時にメモリに保存する生メッセージの数 (生データバッファを開いたときに表示されるメッセージ)

  - タイプ: 整数

  - 値: 0 .. 65535

  - デフォルト値: `256`

- relay.network.allow_empty_password

  - 説明: リレーで空パスワードの利用を許可します (テストおよびローカルネットワークでリレーを利用する場合を除き、これを有効化するべきではありません)

  - タイプ: ブール

  - 値: on, off

  - デフォルト値: `off`

- relay.network.allowed_ips

  - 説明: リレーの利用を許可する IP アドレスの POSIX 拡張正規表現 (大文字小文字の区別無し、最初に "(?-i)" をつければ区別有り)、例: "^(123.45.67.89|192.160.*)$"

  - タイプ: 文字列

  - 値: 未制約文字列

  - デフォルト値: `""`

- relay.network.bind_address

  - 説明: 割り当てるアドレス (空の場合、全てのインターフェイスからの接続を受け付ける、"127.0.0.1" を使えばローカルマシンからの接続のみ許可)

  - タイプ: 文字列

  - 値: 未制約文字列

  - デフォルト値: `""`

- relay.network.clients_purge_delay

  - 説明: 接続を切ったクライアントを追い出すまでの遅延時間 (分単位、0 = すぐにクライアントを追い出す、-1 = 追い出さない)

  - タイプ: 整数

  - 値: -1 .. 43200

  - デフォルト値: `0`

- relay.network.compression_level

  - 説明: WeeChat プロトコルでクライアントに送信するパケットの圧縮レベル (0 = 圧縮しない、1 = 低圧縮 ... 9 = 高圧縮)

  - タイプ: 整数

  - 値: 0 .. 9

  - デフォルト値: `6`

- relay.network.ipv6

  - 説明: デフォルトで IPv6 ソケットをリッスン (デフォルトの IPv4 に加えて); 特定のプロトコルでプロトコルに IPv4 と IPv6 (個別または両方) を強制 (/help relay を参照)

  - タイプ: ブール

  - 値: on, off

  - デフォルト値: `on`

- relay.network.max_clients

  - 説明: ポートに接続するクライアントの最大数 (0 = 制限なし)

  - タイプ: 整数

  - 値: 0 .. 2147483647

  - デフォルト値: `5`

- relay.network.password

  - 説明: このリレーを利用するためにクライアントが必要なパスワード (空の場合パスワードなし、オプション relay.network.allow_empty_password を参照してください) (注意: 値は評価されます、/help eval を参照してください)

  - タイプ: 文字列

  - 値: 未制約文字列

  - デフォルト値: `""`

- relay.network.ssl_cert_key

  - 説明: SSL 証明書と秘密鍵のファイル (SSL 接続を利用するクライアント用)

  - タイプ: 文字列

  - 値: 未制約文字列

  - デフォルト値: `"%h/ssl/relay.pem"`

- relay.network.ssl_priorities

  - 説明: gnutls の優先度を示した文字列 (構文は、gnutls マニュアルの gnutls_priority_init 関数のドキュメントを参照、通例: "PERFORMANCE", "NORMAL", "SECURE128", "SECURE256", "EXPORT", "NONE")

  - タイプ: 文字列

  - 値: 未制約文字列

  - デフォルト値: `"NORMAL:-VERS-SSL3.0"`

- relay.network.websocket_allowed_origins

  - 説明: ウェブソケットに使うことを許可する origin の "POSIX 拡張正規表現 (大文字小文字を区別しない、"(?-i)" を先頭に置くと大文字小文字を区別する)、例: "^http://(www\.)?example\.(com|org)"

  - タイプ: 文字列

  - 値: 未制約文字列

  - デフォルト値: `""`

#### 4.8.2. コマンド

- `relay`: リレー管理

    /relay  list|listfull|listrelay
            add <name> <port>
            del|stop|restart <name>
            raw
            sslcertkey

             list: リレーするクライアントをリストアップ (アクティブなもののみ)
         listfull: リレーするクライアントをリストアップ (詳細、全てのリレー)
        listrelay: リレーをリストアップ (名前とポート番号)
              add: リレーを追加 (ポートで接続を待ち受ける)
              del: リレーを削除 (クライアントとの接続は保持)
             stop: サーバソケットを閉じる (クライアントとの接続は保持)
          restart: サーバソケットを閉じて同じポートで接続を待つ (クライアントとの接続は保持)
             name: リレー名 (以下の書式を参照)
             port: リレーが使うポートの番号
              raw: 生リレーデータを表示するバッファを開く
       sslcertkey: オプション relay.network.ssl_cert_key のパスを使って SSL 証明書/鍵を指定

    リレー名の書式: [ipv4.][ipv6.][ssl.]<protocol.name>
             ipv4: IPv4 を強制的に利用
             ipv6: IPv6 を強制的に利用
              ssl: SSL を有効化
    protocol.name: リレーするプロトコルと名前:
                     - "irc" プロトコル: name は共有するサーバ名 (任意指定、指定しない場合、サーバ名は "PASS" コマンドでクライアントが送信するものと同じでなければいけません、"PASS" コマンドの書式は "PASS server:password")
                     - "weechat" プロトコル (name は使われません)

    "irc" プロトコルを指定した場合、どんな IRC クライアント (WeeChat 自身を含めて) でもポートに接続することができます。
    "weechat" プロトコルを指定した場合、リモートインターフェイスを使ってポートに接続することができます、参照: https://weechat.org/download/

    引数無しの場合、リレークライアントのリストを含むバッファを開く

    例:
      サーバ "freenode" に対する irc プロキシを設定:
        /relay add irc.freenode 8000
      サーバ "freenode" に対する SSL を有効化した irc プロキシを設定:
        /relay add ssl.irc.freenode 8001
      SSL を有効化してすべてのサーバに対する irc プロキシを設定 (クライアントがサーバを選ぶ):
        /relay add ssl.irc 8002
      weechat プロトコル:
        /relay add weechat 9000
      SSL を有効化した weechat プロトコル:
        /relay add ssl.weechat 9001
      SSL を有効にした weechat プロトコル、IPv4 だけを利用:
        /relay add ipv4.ssl.weechat 9001
      SSL を有効にした weechat プロトコル、IPv6 だけを利用:
        /relay add ipv6.ssl.weechat 9001
      SSL を有効にした weechat プロトコル、IPv4 と IPv6 を利用:
        /relay add ipv4.ipv6.ssl.weechat 9001

#### 4.8.3. パスワード

以下のコマンドを利用して、リレー用のパスワードを設定することを強くお勧めします:

    /set relay.network.password "mypass"

このパスワードは irc と weechat プロトコルで利用されます。

#### 4.8.4. SSL

証明書と秘密鍵を作り、プロトコル名の最初に "ssl." を付けることで SSL 経由でリレーを利用することができます。

証明書/秘密鍵ファイルへのデフォルトパスは ~/.weechat/ssl/relay.pem です (option relay.network.ssl_cert_key)。

以下のコマンドを使って証明書と秘密鍵ファイルを作成します:

    $ mkdir -p ~/.weechat/ssl
    $ cd ~/.weechat/ssl
    $ openssl req -nodes -newkey rsa:2048 -keyout relay.pem -x509 -days 365 -out relay.pem

WeeChat が既に起動している場合、以下のコマンドで証明書と秘密鍵をリロードできます:

    /relay sslcertkey

#### 4.8.5. IRC プロキシ

Relay プラグインは IRC プロキシとしても使えます: Relay プラグインは IRC サーバのふりをして、他の IRC クライアント (WeeChat 自身も) は WeeChat に接続できます。

IRC サーバごとに異なるポート、もしくは全てのサーバに対して共通のポートを定義することができます。

すべてのサーバに対して共通のポートを定義した場合には、クライアントからサーバの内部名を IRC の "PASS" コマンドに含めて送信するようにしてください、以下の書式を使ってください:

    PASS server:mypass

例: SSL を使い、全てのサーバに対して共通の IRC プロキシを設定 (サーバはクライアントが選択):

    /relay add ssl.irc 8000

例: SSL を使わず、内部名 "freenode" のサーバに対して IRC プロキシを設定:

    /relay add irc.freenode 8000

任意の IRC クライアントからサーバパスワード "mypass" (全てのサーバに対して共通の IRC プロキシを設定した場合には "freenode:mypass") で 8000 番ポートに接続出来ます。

#### 4.8.6. WeeChat プロトコル

Relay プラグインは WeeChat プロトコルを使ってリモートインターフェイスに対してデータを送信できます。

リモートインターフェイスを使って接続できます、ダウンロードページのリストを御覧ください: https://weechat.org/download

| このプロトコルを使った場合 WeeChat から他の WeeChat に接続することはできません。

例:

    /relay add weechat 9000

この後、リモートインターフェイスを使って 9000 番ポートに対して、パスワード "mypass" で接続することができます。

#### 4.8.7. WebSocket

Relay プラグインはすべてのプロトコルに対して WebSocket プロトコル (RFC 6455) をサポートします。

WebSocket ハンドシェイクは自動的に検知され、ハンドシェイク中に必要なヘッダが見つかり origin が許可されていれば WebSocket 用のソケットが準備されます (オプション relay.network.websocket_allowed_origins を参照)。

HTML5 を使えばたった 1 行の JavaScript で WebSocket をオープンすることが可能です:

    websocket = new WebSocket("ws://server.com:9000/weechat");

ポート番号 (例では 9000 番) は Relay プラグインで定義したものです。URI の最後には必ず "/weechat" をつけます (irc と weechat プロトコルの場合)。

### 4.9. スクリプトプラグイン

WeeChat は 7 種類のスクリプトプラグインを備えています: Python、Perl、Ruby、Lua、Tcl、Guile (scheme)、Javascript。これらのプラグインでそれぞれの言語で書かれたスクリプトのロード、実行、アンロードができます。

スクリプトマネージャを使えば、任意の言語で書かれたスクリプトをロード/アンロードしたり、WeeChat スクリプトリポジトリ (https://weechat.org/scripts から参照可能) のスクリプトをインストール/削除したりする事が可能です。

スクリプトの書き方やスクリプト用の WeeChat API についての詳しい情報は、WeeChat スクリプト作成ガイド を参照してください。

#### 4.9.1. スクリプトオプション (script.conf)

セクション:

セクション | 操作コマンド | 説明
--- | --- | ---
`look` | `/set script.look.*` | 外観
`color` | `/set script.color.*` | 色
`scripts` | `/set script.scripts.*` | スクリプトのダウンロードに関するオプション

オプション:

- script.color.status_autoloaded

  - 説明: "自動ロード" 状態 ("a") に対応する色

  - タイプ: 色

  - 値: WeeChat の色名 (default、black、(dark)gray、white、(light)red、(light)green、brown、yellow、(light)blue、(light)magenta、(light)cyan) 、端末色番号またはその別名; 色の前に属性を置くことができます (テキスト前景色のみ、背景色は出来ません): 太字は "*"、反転は "!"、イタリックは "/"、下線は "_"

  - デフォルト値: `cyan`

- script.color.status_held

  - 説明: "ホールド" 状態 ("H") に対応する色

  - タイプ: 色

  - 値: WeeChat の色名 (default、black、(dark)gray、white、(light)red、(light)green、brown、yellow、(light)blue、(light)magenta、(light)cyan) 、端末色番号またはその別名; 色の前に属性を置くことができます (テキスト前景色のみ、背景色は出来ません): 太字は "*"、反転は "!"、イタリックは "/"、下線は "_"

  - デフォルト値: `white`

- script.color.status_installed

  - 説明: "インストール済み" 状態 ("i") に対応する色

  - タイプ: 色

  - 値: WeeChat の色名 (default、black、(dark)gray、white、(light)red、(light)green、brown、yellow、(light)blue、(light)magenta、(light)cyan) 、端末色番号またはその別名; 色の前に属性を置くことができます (テキスト前景色のみ、背景色は出来ません): 太字は "*"、反転は "!"、イタリックは "/"、下線は "_"

  - デフォルト値: `lightcyan`

- script.color.status_obsolete

  - 説明: "アップデートが必要" 状態 ("N") に対応する色

  - タイプ: 色

  - 値: WeeChat の色名 (default、black、(dark)gray、white、(light)red、(light)green、brown、yellow、(light)blue、(light)magenta、(light)cyan) 、端末色番号またはその別名; 色の前に属性を置くことができます (テキスト前景色のみ、背景色は出来ません): 太字は "*"、反転は "!"、イタリックは "/"、下線は "_"

  - デフォルト値: `lightmagenta`

- script.color.status_popular

  - 説明: "人気" 状態 ("*") に対応する色

  - タイプ: 色

  - 値: WeeChat の色名 (default、black、(dark)gray、white、(light)red、(light)green、brown、yellow、(light)blue、(light)magenta、(light)cyan) 、端末色番号またはその別名; 色の前に属性を置くことができます (テキスト前景色のみ、背景色は出来ません): 太字は "*"、反転は "!"、イタリックは "/"、下線は "_"

  - デフォルト値: `yellow`

- script.color.status_running

  - 説明: "実行中" 状態 ("r") に対応する色

  - タイプ: 色

  - 値: WeeChat の色名 (default、black、(dark)gray、white、(light)red、(light)green、brown、yellow、(light)blue、(light)magenta、(light)cyan) 、端末色番号またはその別名; 色の前に属性を置くことができます (テキスト前景色のみ、背景色は出来ません): 太字は "*"、反転は "!"、イタリックは "/"、下線は "_"

  - デフォルト値: `lightgreen`

- script.color.status_unknown

  - 説明: "未定義" 状態 ("?") に対応する色

  - タイプ: 色

  - 値: WeeChat の色名 (default、black、(dark)gray、white、(light)red、(light)green、brown、yellow、(light)blue、(light)magenta、(light)cyan) 、端末色番号またはその別名; 色の前に属性を置くことができます (テキスト前景色のみ、背景色は出来ません): 太字は "*"、反転は "!"、イタリックは "/"、下線は "_"

  - デフォルト値: `lightred`

- script.color.text

  - 説明: スクリプトバッファのテキスト色

  - タイプ: 色

  - 値: WeeChat の色名 (default、black、(dark)gray、white、(light)red、(light)green、brown、yellow、(light)blue、(light)magenta、(light)cyan) 、端末色番号またはその別名; 色の前に属性を置くことができます (テキスト前景色のみ、背景色は出来ません): 太字は "*"、反転は "!"、イタリックは "/"、下線は "_"

  - デフォルト値: `default`

- script.color.text_bg

  - 説明: スクリプトバッファ内の背景色

  - タイプ: 色

  - 値: WeeChat の色名 (default、black、(dark)gray、white、(light)red、(light)green、brown、yellow、(light)blue、(light)magenta、(light)cyan) 、端末色番号またはその別名; 色の前に属性を置くことができます (テキスト前景色のみ、背景色は出来ません): 太字は "*"、反転は "!"、イタリックは "/"、下線は "_"

  - デフォルト値: `default`

- script.color.text_bg_selected

  - 説明: スクリプトバッファ内の選択行の背景色

  - タイプ: 色

  - 値: WeeChat の色名 (default、black、(dark)gray、white、(light)red、(light)green、brown、yellow、(light)blue、(light)magenta、(light)cyan) 、端末色番号またはその別名; 色の前に属性を置くことができます (テキスト前景色のみ、背景色は出来ません): 太字は "*"、反転は "!"、イタリックは "/"、下線は "_"

  - デフォルト値: `red`

- script.color.text_date

  - 説明: スクリプトバッファ内の日付のテキスト色

  - タイプ: 色

  - 値: WeeChat の色名 (default、black、(dark)gray、white、(light)red、(light)green、brown、yellow、(light)blue、(light)magenta、(light)cyan) 、端末色番号またはその別名; 色の前に属性を置くことができます (テキスト前景色のみ、背景色は出来ません): 太字は "*"、反転は "!"、イタリックは "/"、下線は "_"

  - デフォルト値: `default`

- script.color.text_date_selected

  - 説明: スクリプトバッファ内の日付が選択された場合のテキスト色

  - タイプ: 色

  - 値: WeeChat の色名 (default、black、(dark)gray、white、(light)red、(light)green、brown、yellow、(light)blue、(light)magenta、(light)cyan) 、端末色番号またはその別名; 色の前に属性を置くことができます (テキスト前景色のみ、背景色は出来ません): 太字は "*"、反転は "!"、イタリックは "/"、下線は "_"

  - デフォルト値: `white`

- script.color.text_delimiters

  - 説明: スクリプトバッファ内の区切り文字のテキスト色

  - タイプ: 色

  - 値: WeeChat の色名 (default、black、(dark)gray、white、(light)red、(light)green、brown、yellow、(light)blue、(light)magenta、(light)cyan) 、端末色番号またはその別名; 色の前に属性を置くことができます (テキスト前景色のみ、背景色は出来ません): 太字は "*"、反転は "!"、イタリックは "/"、下線は "_"

  - デフォルト値: `default`

- script.color.text_description

  - 説明: スクリプトバッファ内の説明のテキスト色

  - タイプ: 色

  - 値: WeeChat の色名 (default、black、(dark)gray、white、(light)red、(light)green、brown、yellow、(light)blue、(light)magenta、(light)cyan) 、端末色番号またはその別名; 色の前に属性を置くことができます (テキスト前景色のみ、背景色は出来ません): 太字は "*"、反転は "!"、イタリックは "/"、下線は "_"

  - デフォルト値: `default`

- script.color.text_description_selected

  - 説明: スクリプトバッファ内の説明が選択された場合のテキスト色

  - タイプ: 色

  - 値: WeeChat の色名 (default、black、(dark)gray、white、(light)red、(light)green、brown、yellow、(light)blue、(light)magenta、(light)cyan) 、端末色番号またはその別名; 色の前に属性を置くことができます (テキスト前景色のみ、背景色は出来ません): 太字は "*"、反転は "!"、イタリックは "/"、下線は "_"

  - デフォルト値: `white`

- script.color.text_extension

  - 説明: スクリプトバッファ内の拡張子のテキスト色

  - タイプ: 色

  - 値: WeeChat の色名 (default、black、(dark)gray、white、(light)red、(light)green、brown、yellow、(light)blue、(light)magenta、(light)cyan) 、端末色番号またはその別名; 色の前に属性を置くことができます (テキスト前景色のみ、背景色は出来ません): 太字は "*"、反転は "!"、イタリックは "/"、下線は "_"

  - デフォルト値: `default`

- script.color.text_extension_selected

  - 説明: スクリプトバッファ内の拡張子が選択された場合のテキスト色

  - タイプ: 色

  - 値: WeeChat の色名 (default、black、(dark)gray、white、(light)red、(light)green、brown、yellow、(light)blue、(light)magenta、(light)cyan) 、端末色番号またはその別名; 色の前に属性を置くことができます (テキスト前景色のみ、背景色は出来ません): 太字は "*"、反転は "!"、イタリックは "/"、下線は "_"

  - デフォルト値: `white`

- script.color.text_name

  - 説明: スクリプトバッファ内のスクリプト名のテキスト色

  - タイプ: 色

  - 値: WeeChat の色名 (default、black、(dark)gray、white、(light)red、(light)green、brown、yellow、(light)blue、(light)magenta、(light)cyan) 、端末色番号またはその別名; 色の前に属性を置くことができます (テキスト前景色のみ、背景色は出来ません): 太字は "*"、反転は "!"、イタリックは "/"、下線は "_"

  - デフォルト値: `cyan`

- script.color.text_name_selected

  - 説明: スクリプトバッファ内のスクリプト名が選択された場合のテキスト色

  - タイプ: 色

  - 値: WeeChat の色名 (default、black、(dark)gray、white、(light)red、(light)green、brown、yellow、(light)blue、(light)magenta、(light)cyan) 、端末色番号またはその別名; 色の前に属性を置くことができます (テキスト前景色のみ、背景色は出来ません): 太字は "*"、反転は "!"、イタリックは "/"、下線は "_"

  - デフォルト値: `lightcyan`

- script.color.text_selected

  - 説明: スクリプトバッファ内の選択行のテキスト色

  - タイプ: 色

  - 値: WeeChat の色名 (default、black、(dark)gray、white、(light)red、(light)green、brown、yellow、(light)blue、(light)magenta、(light)cyan) 、端末色番号またはその別名; 色の前に属性を置くことができます (テキスト前景色のみ、背景色は出来ません): 太字は "*"、反転は "!"、イタリックは "/"、下線は "_"

  - デフォルト値: `white`

- script.color.text_tags

  - 説明: スクリプトバッファ内のタグのテキスト色

  - タイプ: 色

  - 値: WeeChat の色名 (default、black、(dark)gray、white、(light)red、(light)green、brown、yellow、(light)blue、(light)magenta、(light)cyan) 、端末色番号またはその別名; 色の前に属性を置くことができます (テキスト前景色のみ、背景色は出来ません): 太字は "*"、反転は "!"、イタリックは "/"、下線は "_"

  - デフォルト値: `brown`

- script.color.text_tags_selected

  - 説明: スクリプトバッファ内のタグが選択された場合のテキスト色

  - タイプ: 色

  - 値: WeeChat の色名 (default、black、(dark)gray、white、(light)red、(light)green、brown、yellow、(light)blue、(light)magenta、(light)cyan) 、端末色番号またはその別名; 色の前に属性を置くことができます (テキスト前景色のみ、背景色は出来ません): 太字は "*"、反転は "!"、イタリックは "/"、下線は "_"

  - デフォルト値: `yellow`

- script.color.text_version

  - 説明: スクリプトバッファ内のバージョンのテキスト色

  - タイプ: 色

  - 値: WeeChat の色名 (default、black、(dark)gray、white、(light)red、(light)green、brown、yellow、(light)blue、(light)magenta、(light)cyan) 、端末色番号またはその別名; 色の前に属性を置くことができます (テキスト前景色のみ、背景色は出来ません): 太字は "*"、反転は "!"、イタリックは "/"、下線は "_"

  - デフォルト値: `magenta`

- script.color.text_version_loaded

  - 説明: スクリプトバッファ内のロード済みバージョンのテキスト色

  - タイプ: 色

  - 値: WeeChat の色名 (default、black、(dark)gray、white、(light)red、(light)green、brown、yellow、(light)blue、(light)magenta、(light)cyan) 、端末色番号またはその別名; 色の前に属性を置くことができます (テキスト前景色のみ、背景色は出来ません): 太字は "*"、反転は "!"、イタリックは "/"、下線は "_"

  - デフォルト値: `default`

- script.color.text_version_loaded_selected

  - 説明: スクリプトバッファ内のロード済みバージョンが選択された場合のテキスト色

  - タイプ: 色

  - 値: WeeChat の色名 (default、black、(dark)gray、white、(light)red、(light)green、brown、yellow、(light)blue、(light)magenta、(light)cyan) 、端末色番号またはその別名; 色の前に属性を置くことができます (テキスト前景色のみ、背景色は出来ません): 太字は "*"、反転は "!"、イタリックは "/"、下線は "_"

  - デフォルト値: `white`

- script.color.text_version_selected

  - 説明: スクリプトバッファ内のバージョンが選択された場合のテキスト色

  - タイプ: 色

  - 値: WeeChat の色名 (default、black、(dark)gray、white、(light)red、(light)green、brown、yellow、(light)blue、(light)magenta、(light)cyan) 、端末色番号またはその別名; 色の前に属性を置くことができます (テキスト前景色のみ、背景色は出来ません): 太字は "*"、反転は "!"、イタリックは "/"、下線は "_"

  - デフォルト値: `lightmagenta`

- script.look.columns

  - 説明: スクリプトバッファでの表示列の書式: 以下の列識別子がそれぞれの値で置き換えられます: %a=作者、%d=説明、%D=追加日、%e=拡張子、%l=言語、%L=ライセンス、%n=拡張子を含む名前、%N=名前、%r=依存、%s=状態、%t=タグ、%u=アップデート日、%v=バージョン、%V=ロード済みバージョン、%w=min_weechat、%W=max_weechat)

  - タイプ: 文字列

  - 値: 未制約文字列

  - デフォルト値: `"%s %n %V %v %u | %d | %t"`

- script.look.diff_color

  - 説明: 比較の結果を色付けする

  - タイプ: ブール

  - 値: on, off

  - デフォルト値: `on`

- script.look.diff_command

  - 説明: インストール済みのスクリプトとリポジトリにあるものの違いを表示するコマンド ("auto" = 比較コマンドの自動検出 (git または diff)、空文字列 = 比較を無効化、その他の文字列 = コマンド名、例えば "diff")

  - タイプ: 文字列

  - 値: 未制約文字列

  - デフォルト値: `"auto"`

- script.look.display_source

  - 説明: スクリプトの詳細と併せてバッファにスクリプトのソースコードを表示 (スクリプトの詳細が表示された場合、スクリプトは一時的にダウンロードされます)

  - タイプ: ブール

  - 値: on, off

  - デフォルト値: `on`

- script.look.quiet_actions

  - 説明: スクリプトバッファ内での操作に対する出力を抑制する: スクリプトがインストール / 削除 / ロード / アンロードされた場合にコアバッファにメッセージを表示しない (エラーは表示される)

  - タイプ: ブール

  - 値: on, off

  - デフォルト値: `on`

- script.look.sort

  - 説明: デフォルトのスクリプト表示ソートキー: 識別子のコンマ区切りリスト: a=作者、A=自動ロード、d=追加日、e=拡張子、i=インストール済み、l=言語、n=名前、o=アップデートが必要、p=人気、r=実行中、u=アップデート日; 識別子直前の文字 "-" は逆順でソートを意味; 例: "i,u": インストール済みが最初に来て、アップデート日の順にソート

  - タイプ: 文字列

  - 値: 未制約文字列

  - デフォルト値: `"p,n"`

- script.look.translate_description

  - 説明: スクリプトの翻訳済み説明文 (翻訳が利用できない場合は、英語で表示)

  - タイプ: ブール

  - 値: on, off

  - デフォルト値: `on`

- script.look.use_keys

  - 説明: スクリプトに対して何かアクションを行うにはスクリプトバッファで alt+X キーを使ってください (alt+i = インストール、alt+r = 削除、...); これができない場合、単一のキーを試してください: i、r、...

  - タイプ: ブール

  - 値: on, off

  - デフォルト値: `on`

- script.scripts.autoload

  - 説明: インストール済みの自動ロードスクリプト ("autoload" ディレクトリ中に親ディレクトリにあるスクリプトのリンクを作成)

  - タイプ: ブール

  - 値: on, off

  - デフォルト値: `on`

- script.scripts.cache_expire

  - 説明: ローカルキャッシュが無効になる時間、分単位 (-1 = 再取得しない、0 = 常に再取得)

  - タイプ: 整数

  - 値: -1 .. 525600

  - デフォルト値: `1440`

- script.scripts.download_timeout

  - 説明: スクリプトのダウンロードとスクリプトのリストに対するタイムアウト時間 (秒単位)

  - タイプ: 整数

  - 値: 1 .. 3600

  - デフォルト値: `30`

- script.scripts.hold

  - 説明: "ホールド" するスクリプト: コンマ区切りのスクリプトリスト、このリストに含まれるスクリプトはアップグレードされませんし、削除もされません、例: "buffers.pl,iset.pl"

  - タイプ: 文字列

  - 値: 未制約文字列

  - デフォルト値: `""`

- script.scripts.path

  - 説明: スクリプト用のローカルキャッシュディレクトリ; 文字列最初の "%h" は WeeChat ホーム に置換されます (デフォルトでは "~/.weechat" に置換されます) (注意: 内容は評価されます、/help eval 参照)

  - タイプ: 文字列

  - 値: 未制約文字列

  - デフォルト値: `"%h/script"`

- script.scripts.url

  - 説明: スクリプトのリストを含むファイルの URL; デフォルトは強制的に HTTPS を使用、オプション script.scripts.url_force_https を参照

  - タイプ: 文字列

  - 値: 未制約文字列

  - デフォルト値: `"http://weechat.org/files/plugins.xml.gz"`

- script.scripts.url_force_https

  - 説明: ダウンロード (インデックスおよびスクリプト) の際に HTTPS を使うことを強制する; ダウンロードに問題がある場合のみこのオプションを無効化してください

  - タイプ: ブール

  - 値: on, off

  - デフォルト値: `on`

#### 4.9.2. Script コマンド

- `script`: WeeChat スクリプトマネージャ

    /script  list [-o|-i]
             search <text>
             show <script>
             load|unload|reload <script> [<script>...]
             autoload|noautoload|toggleautoload <script> [<script>...]
             install|remove|installremove|hold [-q] <script> [<script>...]
             upgrade
             update

              list: ロード済みスクリプトの表示 (すべての言語)
                -o: バッファにロード済みスクリプトのリストを表示
                -i: コマンドラインにロード済みスクリプトのリストをコピー (バッファ送信用)
            search: タグ、プログラミング言語 (python、perl、...)、ファイル名拡張子(py、pl、...)、テキストに基づいてスクリプトを検索し、スクリプトバッファに結果を表示
              show: スクリプトに関する詳細を表示
              load: スクリプトのロード (複数可)
            unload: スクリプトのアンロード (複数可)
            reload: スクリプトのリロード (複数可)
          autoload: スクリプトを自動ロード
        noautoload: スクリプトを自動ロードしない
    toggleautoload: 自動ロードの切り替え
           install: スクリプトのインストール/アップグレード (複数可)
            remove: スクリプトの削除 (複数可)
     installremove: スクリプトのインストールまたは削除 (複数可)、スクリプトの状態に依存
              hold: スクリプトのホールド/アンホールド (複数可) (ホールドされたスクリプトはアップグレードされず、削除もできなくなる)
                -q: 出力を抑制するモード: メッセージを表示しない
           upgrade: 全ての古いインストール済みスクリプトをアップグレード (新バージョンが利用可能な場合)
            update: ローカルスクリプトキャッシュのアップデート

    引数がない場合、スクリプト表示用にバッファを開く

    スクリプトバッファでは、以下の状態識別子が利用できます:
      * i a H r N
      | | | | | |
      | | | | | アップデートが必要 (新バージョンが利用可能)
      | | | | 起動済み (ロード済み)
      | | | ホールド状態
      | | 自動ロード
      | インストール済み
      人気のあるスクリプト

    スクリプトバッファで利用可能なキーの組み合わせ:
      alt+i  スクリプトのインストール
      alt+r  スクリプトの削除
      alt+l  スクリプトのロード
      alt+L  スクリプトのリロード
      alt+u  スクリプトのアンロード
      alt+A  スクリプトの自動ロード
      alt+h  スクリプトの(アン)ホールド
      alt+v  スクリプトの表示

    スクリプトバッファで利用可能な入力:
      i/r/l/L/u/h  スクリプトに対するアクション (上記キーと同じ)
      q            バッファを閉じる
      $            バッファのリフレッシュ
      s:x,y        x と y をキーにしてバッファをソート (/help script.look.sort 参照)
      s:           ソート解除 (デフォルトのソート順)
      word(s)      スクリプトのフィルタ: スクリプトを単語で検索 (複数可) (説明、タグ、...)
      *            フィルタの解除

    スクリプトバッファにおけるマウス操作:
      ホイール      リストのスクロール
      左ボタン      スクリプトの選択
      右ボタン      スクリプトのインストール / 削除

    例:
      /script search url
      /script install iset.pl buffers.pl
      /script remove iset.pl
      /script hold urlserver.py
      /script reload urlserver
      /script upgrade

#### 4.9.3. Python コマンド

- `python`: スクリプトをリストアップ/ロード/アンロード

    /python  list|listfull [<name>]
             load [-q] <filename>
             autoload
             reload|unload [-q] [<name>]

        list: ロード済みスクリプトをリストアップ
    listfull: ロード済みスクリプトをリストアップ (詳細)
        load: スクリプトをロード
    autoload: "autoload" ディレクトリに含まれる全てのスクリプトをロード
      reload: スクリプトのリロード (名前を指定しなかった場合、全てのスクリプトをアンロードし、"autoload" ディレクトリに含まれる全てのスクリプトをロード)
      unload: スクリプトのアンロード (名前を指定しなかった場合、全てのスクリプトをアンロード)
    filename: ロードするスクリプト (ファイル)
        name: スクリプト名 (名前は "register" 関数を呼び出すために使われる)
          -q: 出力抑制モード: メッセージを表示しない

    引数無しの場合、全てのロード済みスクリプトをリストアップします。

#### 4.9.4. Perl コマンド

- `perl`: スクリプトをリストアップ/ロード/アンロード

    /perl  list|listfull [<name>]
           load [-q] <filename>
           autoload
           reload|unload [-q] [<name>]

        list: ロード済みスクリプトをリストアップ
    listfull: ロード済みスクリプトをリストアップ (詳細)
        load: スクリプトをロード
    autoload: "autoload" ディレクトリに含まれる全てのスクリプトをロード
      reload: スクリプトのリロード (名前を指定しなかった場合、全てのスクリプトをアンロードし、"autoload" ディレクトリに含まれる全てのスクリプトをロード)
      unload: スクリプトのアンロード (名前を指定しなかった場合、全てのスクリプトをアンロード)
    filename: ロードするスクリプト (ファイル)
        name: スクリプト名 (名前は "register" 関数を呼び出すために使われる)
          -q: 出力抑制モード: メッセージを表示しない

    引数無しの場合、全てのロード済みスクリプトをリストアップします。

#### 4.9.5. Ruby コマンド

- `ruby`: スクリプトをリストアップ/ロード/アンロード

    /ruby  list|listfull [<name>]
           load [-q] <filename>
           autoload
           reload|unload [-q] [<name>]

        list: ロード済みスクリプトをリストアップ
    listfull: ロード済みスクリプトをリストアップ (詳細)
        load: スクリプトをロード
    autoload: "autoload" ディレクトリに含まれる全てのスクリプトをロード
      reload: スクリプトのリロード (名前を指定しなかった場合、全てのスクリプトをアンロードし、"autoload" ディレクトリに含まれる全てのスクリプトをロード)
      unload: スクリプトのアンロード (名前を指定しなかった場合、全てのスクリプトをアンロード)
    filename: ロードするスクリプト (ファイル)
        name: スクリプト名 (名前は "register" 関数を呼び出すために使われる)
          -q: 出力抑制モード: メッセージを表示しない

    引数無しの場合、全てのロード済みスクリプトをリストアップします。

#### 4.9.6. Lua コマンド

- `lua`: スクリプトをリストアップ/ロード/アンロード

    /lua  list|listfull [<name>]
          load [-q] <filename>
          autoload
          reload|unload [-q] [<name>]

        list: ロード済みスクリプトをリストアップ
    listfull: ロード済みスクリプトをリストアップ (詳細)
        load: スクリプトをロード
    autoload: "autoload" ディレクトリに含まれる全てのスクリプトをロード
      reload: スクリプトのリロード (名前を指定しなかった場合、全てのスクリプトをアンロードし、"autoload" ディレクトリに含まれる全てのスクリプトをロード)
      unload: スクリプトのアンロード (名前を指定しなかった場合、全てのスクリプトをアンロード)
    filename: ロードするスクリプト (ファイル)
        name: スクリプト名 (名前は "register" 関数を呼び出すために使われる)
          -q: 出力抑制モード: メッセージを表示しない

    引数無しの場合、全てのロード済みスクリプトをリストアップします。

#### 4.9.7. Tcl コマンド

- `tcl`: スクリプトをリストアップ/ロード/アンロード

    /tcl  list|listfull [<name>]
          load [-q] <filename>
          autoload
          reload|unload [-q] [<name>]

        list: ロード済みスクリプトをリストアップ
    listfull: ロード済みスクリプトをリストアップ (詳細)
        load: スクリプトをロード
    autoload: "autoload" ディレクトリに含まれる全てのスクリプトをロード
      reload: スクリプトのリロード (名前を指定しなかった場合、全てのスクリプトをアンロードし、"autoload" ディレクトリに含まれる全てのスクリプトをロード)
      unload: スクリプトのアンロード (名前を指定しなかった場合、全てのスクリプトをアンロード)
    filename: ロードするスクリプト (ファイル)
        name: スクリプト名 (名前は "register" 関数を呼び出すために使われる)
          -q: 出力抑制モード: メッセージを表示しない

    引数無しの場合、全てのロード済みスクリプトをリストアップします。

#### 4.9.8. Guile コマンド

- `guile`: スクリプトをリストアップ/ロード/アンロード

    /guile  list|listfull [<name>]
            load [-q] <filename>
            autoload
            reload|unload [-q] [<name>]

        list: ロード済みスクリプトをリストアップ
    listfull: ロード済みスクリプトをリストアップ (詳細)
        load: スクリプトをロード
    autoload: "autoload" ディレクトリに含まれる全てのスクリプトをロード
      reload: スクリプトのリロード (名前を指定しなかった場合、全てのスクリプトをアンロードし、"autoload" ディレクトリに含まれる全てのスクリプトをロード)
      unload: スクリプトのアンロード (名前を指定しなかった場合、全てのスクリプトをアンロード)
    filename: ロードするスクリプト (ファイル)
        name: スクリプト名 (名前は "register" 関数を呼び出すために使われる)
          -q: 出力抑制モード: メッセージを表示しない

    引数無しの場合、全てのロード済みスクリプトをリストアップします。

#### 4.9.9. Javascript コマンド

- `javascript`: スクリプトをリストアップ/ロード/アンロード

    /javascript  list|listfull [<name>]
                 load [-q] <filename>
                 autoload
                 reload|unload [-q] [<name>]

        list: ロード済みスクリプトをリストアップ
    listfull: ロード済みスクリプトをリストアップ (詳細)
        load: スクリプトをロード
    autoload: "autoload" ディレクトリに含まれる全てのスクリプトをロード
      reload: スクリプトのリロード (名前を指定しなかった場合、全てのスクリプトをアンロードし、"autoload" ディレクトリに含まれる全てのスクリプトをロード)
      unload: スクリプトのアンロード (名前を指定しなかった場合、全てのスクリプトをアンロード)
    filename: ロードするスクリプト (ファイル)
        name: スクリプト名 (名前は "register" 関数を呼び出すために使われる)
          -q: 出力抑制モード: メッセージを表示しない

    引数無しの場合、全てのロード済みスクリプトをリストアップします。

### 4.10. トリガプラグイン

トリガは WeeChat の便利ツールです: 様々なもの (signal、modifier、print、…​) をフックして、データの内容を書き換えたり、複数のコマンドを実行することができます。条件をつけることで一部の場合だけトリガを実行するように設定することもできます。

トリガを使うにはシグナル、修飾子、…​ がどのように動いているかを知らなければいけません。これを知るには WeeChat プラグイン API リファレンス の フック の章を読むことをお勧めします。

#### 4.10.1. オプション (trigger.conf)

セクション:

セクション | 操作コマンド | 説明
--- | --- | ---
`look` | `/set trigger.look.*` | 外観
`color` | `/set trigger.color.*` | 色
`trigger` | `/trigger add /trigger set /set trigger.trigger.*` | トリガオプション

オプション:

- trigger.color.flag_command

  - 説明: コマンドフラグに対するテキスト色 (/trigger list 用)

  - タイプ: 色

  - 値: WeeChat の色名 (default、black、(dark)gray、white、(light)red、(light)green、brown、yellow、(light)blue、(light)magenta、(light)cyan) 、端末色番号またはその別名; 色の前に属性を置くことができます (テキスト前景色のみ、背景色は出来ません): 太字は "*"、反転は "!"、イタリックは "/"、下線は "_"

  - デフォルト値: `lightgreen`

- trigger.color.flag_conditions

  - 説明: 状態フラグに対するテキスト色 (/trigger list 用)

  - タイプ: 色

  - 値: WeeChat の色名 (default、black、(dark)gray、white、(light)red、(light)green、brown、yellow、(light)blue、(light)magenta、(light)cyan) 、端末色番号またはその別名; 色の前に属性を置くことができます (テキスト前景色のみ、背景色は出来ません): 太字は "*"、反転は "!"、イタリックは "/"、下線は "_"

  - デフォルト値: `yellow`

- trigger.color.flag_post_action

  - 説明: 実行後処遇フラグに対するテキスト色 (/trigger list 用)

  - タイプ: 色

  - 値: WeeChat の色名 (default、black、(dark)gray、white、(light)red、(light)green、brown、yellow、(light)blue、(light)magenta、(light)cyan) 、端末色番号またはその別名; 色の前に属性を置くことができます (テキスト前景色のみ、背景色は出来ません): 太字は "*"、反転は "!"、イタリックは "/"、下線は "_"

  - デフォルト値: `lightblue`

- trigger.color.flag_regex

  - 説明: 正規表現フラグに対するテキスト色 (/trigger list 用)

  - タイプ: 色

  - 値: WeeChat の色名 (default、black、(dark)gray、white、(light)red、(light)green、brown、yellow、(light)blue、(light)magenta、(light)cyan) 、端末色番号またはその別名; 色の前に属性を置くことができます (テキスト前景色のみ、背景色は出来ません): 太字は "*"、反転は "!"、イタリックは "/"、下線は "_"

  - デフォルト値: `lightcyan`

- trigger.color.flag_return_code

  - 説明: リターンコードに対するテキスト色 (/trigger list 用)

  - タイプ: 色

  - 値: WeeChat の色名 (default、black、(dark)gray、white、(light)red、(light)green、brown、yellow、(light)blue、(light)magenta、(light)cyan) 、端末色番号またはその別名; 色の前に属性を置くことができます (テキスト前景色のみ、背景色は出来ません): 太字は "*"、反転は "!"、イタリックは "/"、下線は "_"

  - デフォルト値: `lightmagenta`

- trigger.color.regex

  - 説明: 正規表現に対するテキスト色

  - タイプ: 色

  - 値: WeeChat の色名 (default、black、(dark)gray、white、(light)red、(light)green、brown、yellow、(light)blue、(light)magenta、(light)cyan) 、端末色番号またはその別名; 色の前に属性を置くことができます (テキスト前景色のみ、背景色は出来ません): 太字は "*"、反転は "!"、イタリックは "/"、下線は "_"

  - デフォルト値: `white`

- trigger.color.replace

  - 説明: 置換テキストに対するテキスト色 (正規表現用)

  - タイプ: 色

  - 値: WeeChat の色名 (default、black、(dark)gray、white、(light)red、(light)green、brown、yellow、(light)blue、(light)magenta、(light)cyan) 、端末色番号またはその別名; 色の前に属性を置くことができます (テキスト前景色のみ、背景色は出来ません): 太字は "*"、反転は "!"、イタリックは "/"、下線は "_"

  - デフォルト値: `cyan`

- trigger.color.trigger

  - 説明: トリガ名に対するテキスト色

  - タイプ: 色

  - 値: WeeChat の色名 (default、black、(dark)gray、white、(light)red、(light)green、brown、yellow、(light)blue、(light)magenta、(light)cyan) 、端末色番号またはその別名; 色の前に属性を置くことができます (テキスト前景色のみ、背景色は出来ません): 太字は "*"、反転は "!"、イタリックは "/"、下線は "_"

  - デフォルト値: `green`

- trigger.color.trigger_disabled

  - 説明: 無効化されたトリガの名前に対するテキスト色

  - タイプ: 色

  - 値: WeeChat の色名 (default、black、(dark)gray、white、(light)red、(light)green、brown、yellow、(light)blue、(light)magenta、(light)cyan) 、端末色番号またはその別名; 色の前に属性を置くことができます (テキスト前景色のみ、背景色は出来ません): 太字は "*"、反転は "!"、イタリックは "/"、下線は "_"

  - デフォルト値: `red`

- trigger.look.enabled

  - 説明: トリガサポートの有効化

  - タイプ: ブール

  - 値: on, off

  - デフォルト値: `on`

- trigger.look.monitor_strip_colors

  - 説明: モニタバッファに表示されるハッシュテーブルの値から色を削除

  - タイプ: ブール

  - 値: on, off

  - デフォルト値: `off`

#### 4.10.2. コマンド

- `trigger`: トリガ (WeeChat 用のスイスアーミーナイフ) の管理

    /trigger  list|listfull|listdefault
              add|addoff|addreplace <name> <hook> ["<arguments>" ["<conditions>" ["<regex>" ["<command>" ["<return_code>" ["<post_action>"]]]]]]
              addinput [<hook>]
              input|output|recreate <name>
              set <name> <option> <value>
              rename|copy <name> <new_name>
              enable|disable|toggle [<name>|-all [<name>...]]
              restart <name>|-all [<name>...]
              show <name>
              del <name>|-all [<name>...]
              restore <name> [<name>...]
              default -yes
              monitor [<filter>]

           list: トリガをリストアップ (引数なしの場合、このリストを表示します)
       listfull: 各トリガに関する詳細な情報を付けてトリガをリストアップ
    listdefault: デフォルトトリガをリストアップ
            add: トリガを追加
         addoff: トリガを追加 (無効状態で)
     addreplace: 追加または存在するトリガを置換
           name: トリガの名前
           hook: signal、hsignal、modifier、print、command、command_run、timer、config、focus
      arguments: フックの引数、フックの種類に依存 (セミコロンで区切る):
                 signal: シグナルの名前 (必須)
                 hsignal: hsignal の名前 (必須)
                 modifier: modifier の名前 (必須)
                 print: バッファ、タグ、メッセージ、色の削除
                 command: コマンド (必須)、説明、引数、引数の説明、補完
                 command_run: コマンド (必須)
                 timer: インターバル (必須)、秒の調節、最大呼び出し回数
                 config: オプションの名前 (必須)
                 focus: エリアの名前 (必須)
     conditions: トリガの実行条件
          regex: 変数内の文字列を置換する 1 つ以上の正規表現
        command: 実行するコマンド (複数のコマンドは ";" で区切ってください)
    return_code: コールバック内のリターンコード (ok (デフォルト)、ok_eat、error)
    post_action: トリガ実行後の処遇 (none (デフォルト、何もしない)、disable (無効化)、delete (削除))
       addinput: 入力にトリガを作る際のデフォルト引数を設定
          input: 入力にトリガを作る際に使われるコマンドを設定
         output: バッファでトリガを作る際のコマンドを送信
       recreate: "add" の代わりに "addreplace" オプションを使うことを除いて "input" と同じ
            set: トリガにオプションを設定
         option: オプションの名前: name、hook、arguments、conditions、regex、command、return_code
                 (オプションに関するヘルプを見るには: /help trigger.trigger.<name>.<option>)
          value: オプションの新しい値
         rename: トリガの名前を変更
           copy: トリガをコピー
         enable: トリガを有効化 (引数なしの場合: 大域的にトリガを有効化)
        disable: トリガを無効化 (引数なしの場合: 大域的にトリガを無効化)
         toggle: トリガの有効無効を切り替え (引数なしの場合: 大域的にトリガの有効無効を切り替え)
        restart: トリガの再開 (フックを再作成)
           show: トリガに関する情報を表示 (状態を含めて)
            del: トリガを削除
           -all: 全てのトリガに関するアクションを実行
        restore: デフォルトの値でトリガを復元 (これができるのはデフォルトトリガに限ります)
        default: 全てのトリガを削除してデフォルトのトリガを復元
        monitor: 任意でフィルタを付けてトリガ監視バッファを開く:
         filter: フックおよびトリガをフィルタして表示 (フックは必ず "@" で始めてください、たとえば "@signal")、複数のフィルタをかける場合はそれぞれをコンマで区切ってください; 各トリガ名にワイルドカード "*" を使うことができます。

    トリガコールバックを呼び出す際には、以下の順番通りにアクションを実行します:
      1. 条件を確認; 偽の場合、終了
      2. POSIX 拡張正規表現を使ってテキストを置換 (トリガに定義されている場合)
      3. コマンドを実行 (トリガに定義されている場合)
      4. リターンコードを返して終了 (modifier と focus を除く)
      5. トリガ実行後の処遇を適用

    例 (/trigger listdefault でデフォルトトリガを見ることができます):
      テキスト属性 *太字*、_下線_、/イタリック/ を追加 (ユーザメッセージのみ):
        /trigger add effects modifier weechat_print "${tg_tag_nick}" "==\*(\S+)\*==*${color:bold}${re:1}${color:-bold}*== ==_(\S+)_==_${color:underline}${re:1}${color:-underline}_== ==/(\S+)/==/${color:italic}${re:1}${color:-italic}/"
      狭い端末ではニックネームリストバーを隠す:
        /trigger add resize_small signal signal_sigwinch "${info:term_width} < 100" "" "/bar hide nicklist"
        /trigger add resize_big signal signal_sigwinch "${info:term_width} >= 100" "" "/bar show nicklist"
      設定を 1 時間毎に黙々と保存:
        /trigger add cfgsave timer 3600000;0;0 "" "" "/mute /save"
      トリガモニタを開き、修飾子と名前が "resize" から始まるトリガだけを表示:
        /trigger monitor @modifier,resize*

#### 4.10.3. トリガの構造

トリガは以下のオプションをとります (名前は `trigger.trigger.<name>.<option>`):

オプション | 値 | 説明
--- | --- | ---
`enabled` | `on`、`off` | オプションが `off` の場合、トリガは無効化され、アクションは実行されません。
`hook` | `signal`、`hsignal`、`modifier`、`print`、`command`、`command_run`、`timer`、`config`、`focus` | トリガの中で使われるフック。より詳しい情報は、WeeChat プラグイン API リファレンス の フック の章を参照してください。
`arguments` | 文字列 | フックに対する引数、指定したフックの型に依存します。
`conditions` | 文字列 | トリガを実行する条件; 内容は評価されます (コマンド /eval を参照)。
`regex` | 文字列 | 1 つ以上の POSIX 拡張正規表現、フックコールバック (とトリガプラグインによって追加されるもの) が受け取るデータに変更を加えるためのもの、正規表現を参照。
`command` | 文字列 | 実行するコマンド (複数のコマンドを使う場合には各コマンドをセミコロンで区切ってください); 内容は評価されます (コマンド /eval を参照)。
`return_code` | `ok`、`ok_eat`、`error` | コールバックの戻り値 (デフォルトは `ok`、ほとんどすべてのトリガで戻り値はこれを使うべきで、ほかの値を使うことは極めてまれです)。
`post_action` | `none` (何もしない)、`disable` (無効化)、`delete` (削除) | 実行後のトリガに対する処遇 (ほとんどすべてのトリガではデフォルトの `none` を設定するべきで、それ以外の値を設定することはほとんどありません)。

例えば、デフォルトの beep トリガは以下のオプションをとります:

    trigger.trigger.beep.enabled = on
    trigger.trigger.beep.hook = print
    trigger.trigger.beep.arguments = ""
    trigger.trigger.beep.conditions = "${tg_highlight} || ${tg_msg_pv}"
    trigger.trigger.beep.regex = ""
    trigger.trigger.beep.command = "/print -beep"
    trigger.trigger.beep.return_code = ok
    trigger.trigger.beep.post_action = none

#### 4.10.4. 実行

トリガ機能が有効になっていてさらに対象のトリガが有効化されている場合に、トリガコールバックが呼び出されると、以下のアクションがこの順番で実行されます:

1. トリガ条件の確認: 偽の場合、終了

2. 正規表現を使ってトリガ内でテキスト置換

3. コマンドを実行

4. リターンコードを付けて終了 (modifier と focus フックの場合を除く)

5. トリガ実行後の処遇を適用 (`none` 以外の場合)。

#### 4.10.5. フック引数

引数は使用するフックの種類に依存します。引数はセミコロンで区切ってください。

フック | 引数 | 例
--- | --- | ---
signal | 1. シグナル名 (優先度の指定も可) (必須) 2. シグナル名 (優先度の指定も可) 3. …​ | `*,irc_in_privmsg` `*,irc_in_privmsg;*,irc_in_notice` `signal_sigwinch`
hsignal | 1. シグナル名 (優先度の指定も可) (必須) 2. シグナル名 (優先度の指定も可) 3. …​ | `nicklist_nick_added`
modifier | 1. 修飾子名 (優先度の指定も可) (必須) 2. 修飾子名 (優先度の指定も可) 3. …​ | `weechat_print` `5000|input_text_display;5000|history_add`
print | 1. バッファ名 2. タグ 3. メッセージ 4. 色の削除 (0/1) | `irc.freenode.*` `irc.freenode.#weechat` `irc.freenode.#weechat;irc_notice` `*;;;1`
command | 1. コマンド名 (優先度の指定も可) (必須) 2. 説明 3. 引数 4. 引数の説明 5. 補完 | `test` `5000|test`
command_run | 1. コマンド (優先度の指定も可) (必須) 2. コマンド (優先度の指定も可) 3. …​ | `/cmd arguments`
timer | 1. インターバルするミリ秒数 (必須) 2. 秒の調整 (デフォルト: 0) 3. 呼び出し回数の最大値 (デフォルト: 0、「無限に」呼び出すことを意味します) | `3600000` `60000;0;5`
config | 1. オプション名 (優先度の指定も可) (必須) 2. オプション名 (優先度の指定も可) 3. …​ | `weechat.look.*`
focus | 1. エリア名 (優先度の指定も可) (必須) 2. エリア名 (優先度の指定も可) 3. …​ | `buffer_nicklist`

#### 4.10.6. 条件

条件を指定することで、トリガ内で処理を継続するか完全に止めるかを制御できます。

条件は評価され、コールバック内で利用できるデータを条件として利用できます (コールバック内のデータとコマンド /eval を参照)。

例: デフォルトの beep トリガは以下の条件を使い、ハイライトまたはプライベートメッセージの場合だけビープを鳴らすようにしています:

    ${tg_highlight} || ${tg_msg_pv}

#### 4.10.7. 正規表現

正規表現はコールバックハッシュテーブル内の変数を変更するために使われます。

書式: "/regex/replace" または "/regex/replace/var" (ここで var はハッシュテーブルの変数)。
var が指定されなかった場合、デフォルト変数を使います、これはフックの種類に依存します:

フック | デフォルト変数
--- | ---
signal | `tg_signal_data`
hsignal |
modifier | `tg_string`
print | `tg_message`
command | `tg_argv_eol1`
command_run | `tg_command`
timer | `tg_remaining_calls`
config | `tg_value`
focus |

複数の正規表現を使う場合は空白で区切ってください、例: "/regex1/replace1/var1 /regex2/replace2/var2"。

文字 "/" を任意の文字 (1 つ以上の同じ文字) に変えることができます。

マッチグループを "replace" の中で利用できます:

- `${re:0}` から `${re:99}`: `${re:0}` はマッチ部分の全体、`${re:1}` から `${re:99}` はグループ化されたマッチ部分

- `${re:}+`: 最後のマッチ部分 (最大のグループ番号を持つ)

- `${hide:c,${re:N}}`: マッチグループ "N" のすべての文字を "c" で置換した文字列 (例: `${hide:*,${re:2}}` はグループ #2 のすべての文字を `*` で置換した文字列)。

例: "*" で囲まれた文字を太字にする:

    /\*(\S+)\*/*${color:bold}${re:1}${color:-bold}*/

例: デフォルトトリガ server_pass はこの正規表現を使って、`/server` と `/connect` コマンドのパスワードを隠しています (パスワード部分の文字を `*` で置換しています):

    ==^(/(server|connect) .*-(sasl_)?password=)(\S+)(.*)==${re:1}${hide:*,${re:4}}${re:5}

| この例では、区切り文字として "==" を使っています。これは正規表現内で "/" を使うためです。

#### 4.10.8. コマンド

コマンドは正規表現を使ったテキスト置換の後に実行されます。複数のコマンドを実行するにはセミコロンで区切ってください。

コマンドは評価され (コマンド /eval を参照) コマンド内では正規表現を使って置換したテキストを使うことができます。

例: デフォルトの beep トリガは以下のコマンドを実行してビープ (BEL) を鳴らしています:

    /print -beep

#### 4.10.9. コールバック内におけるデータ

コールバック内で受け取ったデータはハッシュテーブル (ポインタと文字列) の中に保存され、以下のオプションで使うことができます:

- conditions

- regex

- command

ハッシュテーブルの内容はフックの種類に依存します。

トリガ内部におけるデータを簡単に確認するには、以下のコマンドを使ってトリガ監視バッファを開いてください:

    /trigger monitor

##### Signal

"signal" コールバックは以下の変数をハッシュテーブルに格納します:

変数 | 型 | 説明
--- | --- | ---
`tg_signal` | string | シグナル名
`tg_signal_data` | string | シグナルと一緒に送信されたデータ

シグナルが IRC メッセージを含む場合、メッセージは解析され以下のデータがハッシュテーブルに追加されます:

変数 | 型 | 説明
--- | --- | ---
`server` | string | サーバの名前 (例: "freenode")
`tags` | string | メッセージ内のタグ (使われることはまれです)
`message_without_tags` | string | タグを含まないメッセージ
`nick` | string | ニックネーム
`host` | string | ホスト名
`command` | string | IRC コマンド (例: "PRIVMSG"、"NOTICE"、…​)
`channel` | string | IRC チャンネル
`arguments` | string | コマンドの引数 (channel の値を含みます)
`text` | string | テキスト (例えばユーザメッセージ)
`pos_command` | string | メッセージ内における command のインデックス (command が見つからない場合 "-1")
`pos_arguments` | string | メッセージ内における arguments のインデックス (arguments が見つからない場合 "-1")
`pos_channel` | string | メッセージ内における channel のインデックス (channel が見つからない場合 "-1")
`pos_text` | string | メッセージ内における text のインデックス (text が見つからない場合 "-1")

データがポインタの場合、hdata の属性を読むために変数 `tg_signal_data` を以下のようにして使うことが可能です (以下の例では、バッファのポインタとして使っています):

    ${buffer[${tg_signal_data}].full_name}

##### Hsignal

"hsignal" コールバックは以下の変数をハッシュテーブルに格納します:

変数 | 型 | 説明
--- | --- | ---
`tg_signal` | string | シグナル名

ハッシュテーブルには受け取ったハッシュテーブルに含まれる全てのキーおよび値 (型: string/string) が含まれています。

##### Modifier

"modifier" コールバックは以下の変数をハッシュテーブルに格納します:

変数 | 型 | 説明
--- | --- | ---
`tg_modifier` | string | 修飾子の名前
`tg_modifier_data` | string | 修飾子と一緒に送信されたデータ
`tg_string` | string | 修正可能な文字列
`tg_string_nocolor` | string | 色コードを含まない文字列

weechat_print 修飾子では、メッセージタグを使う変数 (下の Print を参照) と以下の変数が追加されます:

変数 | 型 | 説明
--- | --- | ---
`buffer` | pointer | メッセージが表示されたバッファ
`tg_plugin` | string | メッセージが表示されたバッファのプラグイン
`tg_buffer` | string | メッセージが表示されたバッファの完全な名前
`tg_prefix` | string | 表示されたメッセージのプレフィックス
`tg_prefix_nocolor` | string | 色コードを削除したプレフィックス
`tg_message` | string | 表示されたメッセージ
`tg_message_nocolor` | string | 色コードを削除したメッセージ

修飾子が IRC メッセージを含む場合、メッセージは解析され追加のデータがハッシュテーブルに追加されます (Signal を参照)。

##### Print

"print" コールバックは以下の変数をハッシュテーブルに格納します:

変数 | 型 | 説明
--- | --- | ---
`buffer` | pointer | メッセージが表示されたバッファ
`tg_date` | string | メッセージの日付と時間 (書式: `YYYY-MM-DD hh:mm:ss`)
`tg_displayed` | string | 表示された場合 "1"、フィルタされた場合 "0"
`tg_highlight` | string | ハイライトされた場合 "1"、それ以外は "0"
`tg_prefix` | string | プレフィックス
`tg_prefix_nocolor` | string | 色コードを削除したプレフィックス
`tg_message` | string | メッセージ
`tg_message_nocolor` | string | 色コードを削除したメッセージ

メッセージのタグをもとにして変数が格納されます (変数は weechat_print 修飾子でも格納されます):

変数 | 型 | 説明
--- | --- | ---
`tg_tags` | string | メッセージのタグ (文字列の最初と最後にコンマが追加されます)
`tg_tags_count` | string | メッセージのタグの個数
`tg_tag_nick` | string | ニックネーム ("nick_xxx" タグから)
`tg_tag_prefix_nick` | string | プレフィックスで使うニックネームの色 ("prefix_nick_ccc" タグから)
`tg_tag_host` | string | ユーザ名とホスト名、書式: username@host ("host_xxx" タグから)
`tg_tag_notify` | string | 通知レベル (none、message、private、highlight)
`tg_notify` | string | 通知レベルが none 以外の場合、その通知レベル
`tg_msg_pv` | string | プライベートメッセージの場合 "1"、それ以外は "0"

##### Command

"command" コールバックは以下の変数をハッシュテーブルに格納します:

変数 | 型 | 説明
--- | --- | ---
`buffer` | pointer | バッファ
`tg_argvN` | string | N 番目の引数
`tg_argv_eolN` | string | N 番目の引数から最後の引数まで

##### Command_run

"command_run" コールバックは以下の変数をハッシュテーブルに格納します:

変数 | 型 | 説明
--- | --- | ---
`buffer` | pointer | バッファ
`tg_command` | string | 実行されたコマンド

##### Timer

"timer" コールバックは以下の変数をハッシュテーブルに格納します:

変数 | 型 | 説明
--- | --- | ---
`tg_remaining_calls` | string | 残り呼び出し回数
`tg_date` | string | 現在の日付および時間 (書式: `YYYY-MM-DD hh:mm:ss`)

##### Config

"config" コールバックは以下の変数をハッシュテーブルに格納します:

変数 | 型 | 説明
--- | --- | ---
`tg_option` | string | オプション
`tg_value` | string | 値

##### Focus

"focus" コールバックは以下の変数をハッシュテーブルに格納します:

変数 | 型 | 説明
--- | --- | ---
`window` | pointer | ウィンドウ
`buffer` | pointer | バッファ

ハッシュテーブルには受け取ったハッシュテーブルに含まれる全てのキーおよび値 (型: string/string) が含まれています。

#### 4.10.10. 例

##### URL の色

URL を緑色にする:

    /trigger add url_color modifier weechat_print "${tg_notify}" "==\S+://\S+==${color:green}${re:0}${color:reset}=="

| ここで使われている URL を検出するための単純な正規表現はすべての URL をうまく検出するものではありませんが、複雑な正規表現を使うよりも高速です。

##### ping クエリに対する自動応答

誰かがプライベートバッファで "ping" を送信した場合、このトリガは `pong` で自動的に応答します:

    /trigger add pong print "" "${type} == private && ${tg_message} == ping" "" "pong"

##### レスポンシブレイアウト

以下のトリガは端末のサイズが変更されたときに表示されている内容をカスタマイズするものです:

    /trigger add resize_small signal signal_sigwinch "${info:term_width} < 100" "" "/bar hide nicklist"
    /trigger add resize_big signal signal_sigwinch "${info:term_width} >= 100" "" "/bar show nicklist"

WeeChat は SIGWINCH を受けとたった際 (端末のサイズが変更された際) に "signal_sigwinch" シグナルを送信し、このトリガはこのシグナルをキャッチします。

`${info:term_width}` を使った条件で端末の横幅を確認します (必要であれば `${info:term_height}` を使うことも可能です)。

この例では、端末が小さくなった場合、ニックネームリストを隠します。さらに横幅が 100 文字幅以上になった場合、ニックネームリストを表示します。

##### 設定の自動保存

例えば 1 時間ごとに、設定ファイル (`*.conf`) を自動的に保存することが可能です:

    /trigger add cfgsave timer 3600000;0;0 "" "" "/mute /save"

timer フックに対する引数は:

- 3600000: 3600 * 1000 ミリ秒、コールバックは毎時間呼び出される

- 0: 秒の調整 (この場合調整しない)

- 0: 呼び出し回数の最大値 (0 = タイマーを無限に繰り返す)

コマンド `/mute /save` は無言で設定ファイルを保存します (core バッファに対して何も表示しません)。

### 4.11. Xfer プラグイン

Xfer プラグインの機能:

- ダイレクトチャット (サーバ不要の 2 ホスト間直接接続): 例えば IRC プラグイン経由の "DCC チャット"

- ファイル転送、例えば IRC プラグイン経由の "DCC"

#### 4.11.1. オプション (xfer.conf)

セクション:

セクション | 操作コマンド | 説明
--- | --- | ---
`look` | `/set xfer.look.*` | 外観
`color` | `/set xfer.color.*` | 色
`network` | `/set xfer.network.*` | ネットワークオプション
`file` | `/set xfer.file.*` | ファイルの送信/受信に関するオプション

オプション:

- xfer.color.status_aborted

  - 説明: "中止" 状態のテキスト色

  - タイプ: 色

  - 値: WeeChat の色名 (default、black、(dark)gray、white、(light)red、(light)green、brown、yellow、(light)blue、(light)magenta、(light)cyan) 、端末色番号またはその別名; 色の前に属性を置くことができます (テキスト前景色のみ、背景色は出来ません): 太字は "*"、反転は "!"、イタリックは "/"、下線は "_"

  - デフォルト値: `lightred`

- xfer.color.status_active

  - 説明: "アクティブ" 状態のテキスト色

  - タイプ: 色

  - 値: WeeChat の色名 (default、black、(dark)gray、white、(light)red、(light)green、brown、yellow、(light)blue、(light)magenta、(light)cyan) 、端末色番号またはその別名; 色の前に属性を置くことができます (テキスト前景色のみ、背景色は出来ません): 太字は "*"、反転は "!"、イタリックは "/"、下線は "_"

  - デフォルト値: `lightblue`

- xfer.color.status_connecting

  - 説明: "接続中" 状態のテキスト色

  - タイプ: 色

  - 値: WeeChat の色名 (default、black、(dark)gray、white、(light)red、(light)green、brown、yellow、(light)blue、(light)magenta、(light)cyan) 、端末色番号またはその別名; 色の前に属性を置くことができます (テキスト前景色のみ、背景色は出来ません): 太字は "*"、反転は "!"、イタリックは "/"、下線は "_"

  - デフォルト値: `yellow`

- xfer.color.status_done

  - 説明: "終了" 状態のテキスト色

  - タイプ: 色

  - 値: WeeChat の色名 (default、black、(dark)gray、white、(light)red、(light)green、brown、yellow、(light)blue、(light)magenta、(light)cyan) 、端末色番号またはその別名; 色の前に属性を置くことができます (テキスト前景色のみ、背景色は出来ません): 太字は "*"、反転は "!"、イタリックは "/"、下線は "_"

  - デフォルト値: `lightgreen`

- xfer.color.status_failed

  - 説明: "失敗" 状態のテキスト色

  - タイプ: 色

  - 値: WeeChat の色名 (default、black、(dark)gray、white、(light)red、(light)green、brown、yellow、(light)blue、(light)magenta、(light)cyan) 、端末色番号またはその別名; 色の前に属性を置くことができます (テキスト前景色のみ、背景色は出来ません): 太字は "*"、反転は "!"、イタリックは "/"、下線は "_"

  - デフォルト値: `lightred`

- xfer.color.status_waiting

  - 説明: "接続待ち" 状態のテキスト色

  - タイプ: 色

  - 値: WeeChat の色名 (default、black、(dark)gray、white、(light)red、(light)green、brown、yellow、(light)blue、(light)magenta、(light)cyan) 、端末色番号またはその別名; 色の前に属性を置くことができます (テキスト前景色のみ、背景色は出来ません): 太字は "*"、反転は "!"、イタリックは "/"、下線は "_"

  - デフォルト値: `lightcyan`

- xfer.color.text

  - 説明: xfer バッファのテキスト色

  - タイプ: 色

  - 値: WeeChat の色名 (default、black、(dark)gray、white、(light)red、(light)green、brown、yellow、(light)blue、(light)magenta、(light)cyan) 、端末色番号またはその別名; 色の前に属性を置くことができます (テキスト前景色のみ、背景色は出来ません): 太字は "*"、反転は "!"、イタリックは "/"、下線は "_"

  - デフォルト値: `default`

- xfer.color.text_bg

  - 説明: xfer バッファの背景色

  - タイプ: 色

  - 値: WeeChat の色名 (default、black、(dark)gray、white、(light)red、(light)green、brown、yellow、(light)blue、(light)magenta、(light)cyan) 、端末色番号またはその別名; 色の前に属性を置くことができます (テキスト前景色のみ、背景色は出来ません): 太字は "*"、反転は "!"、イタリックは "/"、下線は "_"

  - デフォルト値: `default`

- xfer.color.text_selected

  - 説明: xfer バッファで選択された行のテキスト色

  - タイプ: 色

  - 値: WeeChat の色名 (default、black、(dark)gray、white、(light)red、(light)green、brown、yellow、(light)blue、(light)magenta、(light)cyan) 、端末色番号またはその別名; 色の前に属性を置くことができます (テキスト前景色のみ、背景色は出来ません): 太字は "*"、反転は "!"、イタリックは "/"、下線は "_"

  - デフォルト値: `white`

- xfer.file.auto_accept_chats

  - 説明: チャット要求を自動的に許可 (注意して使用!)

  - タイプ: ブール

  - 値: on, off

  - デフォルト値: `off`

- xfer.file.auto_accept_files

  - 説明: ファイルを自動的に受信 (注意して使用!)

  - タイプ: ブール

  - 値: on, off

  - デフォルト値: `off`

- xfer.file.auto_accept_nicks

  - 説明: ファイルやチャットの受け入れを自動的に許可するニックネームのコンマ区切りリスト; 書式は "server.nick" (サーバを特定する場合) または "nick" (すべてのサーバ); 例: "freenode.FlashCode,andrew"

  - タイプ: 文字列

  - 値: 未制約文字列

  - デフォルト値: `""`

- xfer.file.auto_check_crc32

  - 説明: ファイル名に CRC32 ファイルチェックサム (8 桁の 16 進数) が含まれている場合、自動的に CRC32 ファイルチェックサムを確認

  - タイプ: ブール

  - 値: on, off

  - デフォルト値: `off`

- xfer.file.auto_rename

  - 説明: 既に存在する場合、受信ファイルをリネームする (".1"、".2"、...を追加)

  - タイプ: ブール

  - 値: on, off

  - デフォルト値: `on`

- xfer.file.auto_resume

  - 説明: リモートホストとの接続が切れた場合、自動的にファイル転送をリジュームする

  - タイプ: ブール

  - 値: on, off

  - デフォルト値: `on`

- xfer.file.convert_spaces

  - 説明: ファイルの送受信時にスペースをアンダースコアに変換

  - タイプ: ブール

  - 値: on, off

  - デフォルト値: `on`

- xfer.file.download_path

  - 説明: 受信ファイルのパス: 文字列最初の "%h" は WeeChat ホーム に置換されます (デフォルトでは "~/.weechat" に置換されます) (注意: 内容は評価されます、/help eval 参照)

  - タイプ: 文字列

  - 値: 未制約文字列

  - デフォルト値: `"%h/xfer"`

- xfer.file.upload_path

  - 説明: 送信時に読み込むファイルのパス (ユーザがパスを指定しなかった場合に使われます): 文字列最初の "%h" は WeeChat ホームに置換されます (デフォルトでは "~/.weechat" に置換されます) (注意: 内容は評価されます、/help eval 参照)

  - タイプ: 文字列

  - 値: 未制約文字列

  - デフォルト値: `"~"`

- xfer.file.use_nick_in_filename

  - 説明: ファイルを受信する際にローカルファイル名のプレフィックスとしてリモートニックネームを使用

  - タイプ: ブール

  - 値: on, off

  - デフォルト値: `on`

- xfer.look.auto_open_buffer

  - 説明: 新しい xfer がリストに追加されたら xfer バッファを自動的に開く

  - タイプ: ブール

  - 値: on, off

  - デフォルト値: `on`

- xfer.look.progress_bar_size

  - 説明: プログレスバーのサイズ、文字数単位 (0 の場合、プログレスバーを使わない)

  - タイプ: 整数

  - 値: 0 .. 256

  - デフォルト値: `20`

- xfer.look.pv_tags

  - 説明: プライベートメッセージに使われたタグのコンマ区切りリスト、例: "notify_message"、"notify_private"、"notify_highlight"

  - タイプ: 文字列

  - 値: 未制約文字列

  - デフォルト値: `"notify_private"`

- xfer.network.blocksize

  - 説明: 送信パケットのブロックサイズ、バイト単位

  - タイプ: 整数

  - 値: 1024 .. 102400

  - デフォルト値: `65536`

- xfer.network.fast_send

  - 説明: ファイル送信時に肯定応答を待たない

  - タイプ: ブール

  - 値: on, off

  - デフォルト値: `on`

- xfer.network.own_ip

  - 説明: ファイル/チャットの送信に使う IP か DNS アドレス (空の場合、ローカルインターフェイス IP を使う)

  - タイプ: 文字列

  - 値: 未制約文字列

  - デフォルト値: `""`

- xfer.network.port_range

  - 説明: ファイル/チャットを送信する際に、与えられた範囲のポートを使う (NAT で便利) ことを強制 (構文: 単一のポートを指定する場合は 5000 等、ポート範囲の場合は 5000-5015 等、空は任意のポートを意味する、1024 以下のポート番号は root 以外使えないため、1024 以上のポート番号を使うことを推奨)

  - タイプ: 文字列

  - 値: 未制約文字列

  - デフォルト値: `""`

- xfer.network.speed_limit

  - 説明: ファイル送信の速度制限、1 秒あたりのキロバイトで指定 (0 は制限無し)

  - タイプ: 整数

  - 値: 0 .. 2147483647

  - デフォルト値: `0`

- xfer.network.timeout

  - 説明: xfer 要求のタイムアウト (秒単位)

  - タイプ: 整数

  - 値: 5 .. 2147483647

  - デフォルト値: `300`

#### 4.11.2. コマンド

- `me`: CTCP action をリモートホストに送信

    /me  <message>

    message: 送信メッセージ

- `xfer`: xfer 管理

    /xfer  [list|listfull]

        list: xfer をリストアップ
    listfull: xfer をリストアップ (詳細)

    引数無しでは、xfer リストを含むバッファを開きます。

## 5. サポート

サポートを依頼する前に、必ず WeeChat に付属するドキュメントと FAQ を読んでください。

IRC を使ったサポート窓口は chat.freenode.net サーバにあります:

- 公式チャンネル (開発者もいます):

  - #weechat (英語)

  - #weechat-fr (フランス語)

- 非公式チャンネル:

  - #weechat-de (ドイツ語)

他の方法でサポートを受けるには、以下のページをご覧ください: https://weechat.org/dev/support