[[command_trigger_trigger]]
[command]*`trigger`* トリガ (WeeChat 用のスイスアーミーナイフ) の管理::

----
/trigger  list|listfull|listdefault
          add|addoff|addreplace <name> <hook> ["<arguments>" ["<conditions>" ["<regex>" ["<command>" ["<return_code>"]]]]]
          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>...]
          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)
   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: 全てのトリガに関するアクションを実行
    default: デフォルトトリガを復元
    monitor: 任意でフィルタを付けてトリガ監視バッファを開く:
     filter: フックおよびトリガをフィルタして表示 (フックは必ず "@" で始めてください、たとえば "@signal")、複数のフィルタをかける場合はそれぞれをコンマで区切ってください; 各トリガ名にワイルドカード "*" を使うことができます。

トリガコールバックを呼び出す際には、以下の順番通りにアクションを実行します:
  1. 条件を確認; 偽の場合、終了
  2. POSIX 拡張正規表現を使ってテキストを置換 (トリガに定義されている場合)
  3. コマンドを実行 (トリガに定義されている場合)
  4. リターンコードを返して終了 (modifier と focus を除く)

例 (/trigger listdefault でデフォルトトリガを見ることができます):
  テキスト属性 *太字*、_下線_、/イタリック/ を追加 (ユーザメッセージのみ):
    /trigger add effects modifier weechat_print "${tg_tag_nick}" "==\*(\S+)\*==*${color:bold}$1${color:-bold}*== ==_(\S+)_==_${color:underline}$1${color:-underline}_== ==/(\S+)/==/${color:italic}$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*
----

