summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog.adoc1
-rw-r--r--doc/de/weechat_user.de.adoc30
-rw-r--r--doc/en/weechat_user.en.adoc28
-rw-r--r--doc/fr/weechat_user.fr.adoc29
-rw-r--r--doc/it/weechat_user.it.adoc28
-rw-r--r--doc/ja/weechat_user.ja.adoc31
-rw-r--r--doc/pl/weechat_user.pl.adoc31
-rw-r--r--po/cs.po7
-rw-r--r--po/de.po8
-rw-r--r--po/es.po7
-rw-r--r--po/fr.po16
-rw-r--r--po/hu.po7
-rw-r--r--po/it.po7
-rw-r--r--po/ja.po8
-rw-r--r--po/pl.po8
-rw-r--r--po/pt.po7
-rw-r--r--po/pt_BR.po7
-rw-r--r--po/ru.po7
-rw-r--r--po/tr.po7
-rw-r--r--po/weechat.pot7
-rw-r--r--src/plugins/trigger/trigger-callback.c30
-rw-r--r--src/plugins/trigger/trigger-callback.h4
-rw-r--r--src/plugins/trigger/trigger-command.c6
-rw-r--r--src/plugins/trigger/trigger.c29
-rw-r--r--src/plugins/trigger/trigger.h1
25 files changed, 283 insertions, 68 deletions
diff --git a/ChangeLog.adoc b/ChangeLog.adoc
index e07eaaa2f..1ee2e6e45 100644
--- a/ChangeLog.adoc
+++ b/ChangeLog.adoc
@@ -30,6 +30,7 @@ New features::
* relay: add option relay.weechat.commands (issue #928)
* script: use SHA-512 instead of MD5 for script checksum
* spell: rename aspell plugin to spell (issue #1299)
+ * trigger: add hook "info"
* xfer: rename option xfer.network.speed_limit to xfer.network.speed_limit_send, add option xfer.network.speed_limit_recv (issue #269)
Bug fixes::
diff --git a/doc/de/weechat_user.de.adoc b/doc/de/weechat_user.de.adoc
index 3628cf322..04056e7f1 100644
--- a/doc/de/weechat_user.de.adoc
+++ b/doc/de/weechat_user.de.adoc
@@ -3659,7 +3659,7 @@ Liste der standardmäßigen Trigger:
Ein Trigger hat folgende Optionen (Benennung ist
`trigger.trigger.<name>.<option>`):
-[width="100%",cols="2m,2,10",options="header"]
+[width="100%",cols="2m,3,10",options="header"]
|===
| Option | Wert | Beschreibung
@@ -3667,7 +3667,7 @@ Ein Trigger hat folgende Optionen (Benennung ist
Wenn die Option auf `off` gesetzt ist, dann ist der Trigger deaktiviert und die Ausführung ist gestoppt.
| hook | `signal`, `hsignal`, `modifier`, `line`, `print`, `command`,
- `command_run`, `timer`, `config`, `focus` |
+ `command_run`, `timer`, `config`, `focus`, `info` |
Der hook welcher durch Trigger genutzt werden soll. Für weitere Informationen siehe
link:weechat_plugin_api.en.html#hooks[Anleitung für API Erweiterung / Hooks] (Englisch).
@@ -3720,7 +3720,8 @@ abgearbeitet:
. Überprüfung von Bedingungen; falls unwahr, beenden
. ersetze Text mittels erweitertem regulärer POSIX Ausdruck (sofern im Trigger definiert)
. ein oder mehrere Befehle werden ausgeführt (sofern im Trigger definiert)
-. Beendigung mit einem Rückgabewert (ausgenommen sind die Hooks _modifier_ und _focus_)
+. Beendigung mit einem Rückgabewert (ausgenommen sind die Hooks _modifier_,
+ _line_, _focus_ und _info_)
. Aktion welche nach der Abarbeitung des Triggers ausgeführt werden soll (falls der Wert abweichend von `none` sein sollte).
[[trigger_hook_arguments]]
@@ -3817,6 +3818,14 @@ ein Semikolon getrennt.
3. ... |
`+buffer_nicklist+` |
link:weechat_plugin_api.en.html#_hook_focus[hook_focus] (Englisch)
+
+// TRANSLATION MISSING
+| info |
+ 1. info name (Priorität erlaubt) (erforderlich) +
+ 2. info name (Priorität erlaubt) +
+ 3. ... |
+ `+my_info+` |
+ link:weechat_plugin_api.en.html#_hook_info[hook_info] (Englisch)
|===
[[trigger_conditions]]
@@ -3864,6 +3873,7 @@ welche abhängig von dem genutzten Hook ist:
| timer | tg_remaining_calls |
| config | tg_value |
| focus | |
+| info | tg_info | tg_info
|===
[NOTE]
@@ -4165,6 +4175,20 @@ Der Callback von "focus" legt folgende Variablen in der Hashtable an:
Das Hashtable enthält alle Schlüssel/Werte (Typ: string/string).
+// TRANSLATION MISSING
+[[trigger_data_info]]
+===== Info
+
+Der Callback von "info" legt folgende Variablen in der Hashtable an:
+
+[width="100%",cols="3m,2,14",options="header"]
+|===
+| Variable | Typ | Beschreibung
+| tg_info_name | string | Name of info.
+| tg_arguments | string | Arguments.
+| tg_info | string | Empty string (the info to return).
+|===
+
[[trigger_examples]]
==== Beispiele
diff --git a/doc/en/weechat_user.en.adoc b/doc/en/weechat_user.en.adoc
index 64c54f648..742842ce2 100644
--- a/doc/en/weechat_user.en.adoc
+++ b/doc/en/weechat_user.en.adoc
@@ -3578,7 +3578,7 @@ List of default triggers:
A trigger has the following options (names are
`trigger.trigger.<name>.<option>`):
-[width="100%",cols="2m,2,10",options="header"]
+[width="100%",cols="2m,3,10",options="header"]
|===
| Option | Values | Description
@@ -3587,7 +3587,7 @@ A trigger has the following options (names are
any more.
| hook | `signal`, `hsignal`, `modifier`, `line`, `print`, `command`,
- `command_run`, `timer`, `config`, `focus` |
+ `command_run`, `timer`, `config`, `focus`, `info` |
The hook used in trigger. For more information, see
link:weechat_plugin_api.en.html#hooks[WeeChat plugin API reference / Hooks].
@@ -3638,7 +3638,8 @@ order, if triggers are globally enabled and if the trigger itself is enabled:
. check trigger conditions: if false, exit
. replace text in trigger using regular expression(s)
. execute command(s)
-. exit with a return code (except for hooks _modifier_ and _focus_)
+. exit with a return code (except for hooks _modifier_, _line_, _focus_ and
+ _info_)
. perform post action (if different from `none`).
[[trigger_hook_arguments]]
@@ -3734,6 +3735,13 @@ The arguments depend on the hook used. They are separated by semicolons.
3. ... |
`+buffer_nicklist+` |
link:weechat_plugin_api.en.html#_hook_focus[hook_focus]
+
+| info |
+ 1. info name (priority allowed) (required) +
+ 2. info name (priority allowed) +
+ 3. ... |
+ `+my_info+` |
+ link:weechat_plugin_api.en.html#_hook_info[hook_info]
|===
[[trigger_conditions]]
@@ -3779,6 +3787,7 @@ type:
| timer | tg_remaining_calls |
| config | tg_value |
| focus | |
+| info | tg_info | tg_info
|===
[NOTE]
@@ -4075,6 +4084,19 @@ The "focus" callback sets following variables in hashtable:
The hashtable contains all keys/values from hashtable received (type:
string/string).
+[[trigger_data_info]]
+===== Info
+
+The "info" callback sets following variables in hashtable:
+
+[width="100%",cols="3m,2,14",options="header"]
+|===
+| Variable | Type | Description
+| tg_info_name | string | Name of info.
+| tg_arguments | string | Arguments.
+| tg_info | string | Empty string (the info to return).
+|===
+
[[trigger_examples]]
==== Examples
diff --git a/doc/fr/weechat_user.fr.adoc b/doc/fr/weechat_user.fr.adoc
index c13bc5ecf..0e9b783fa 100644
--- a/doc/fr/weechat_user.fr.adoc
+++ b/doc/fr/weechat_user.fr.adoc
@@ -3692,7 +3692,7 @@ Liste des triggers par défaut :
Un trigger a les options suivantes (les noms sont
`trigger.trigger.<nom>.<option>`) :
-[width="100%",cols="2m,2,10",options="header"]
+[width="100%",cols="2m,3,10",options="header"]
|===
| Option | Valeurs | Description
@@ -3701,7 +3701,7 @@ Un trigger a les options suivantes (les noms sont
plus exécutées.
| hook | `signal`, `hsignal`, `modifier`, `line`, `print`, `command`,
- `command_run`, `timer`, `config`, `focus` |
+ `command_run`, `timer`, `config`, `focus`, `info` |
Le "hook" utilisé dans le trigger. Pour plus d'information, voir la
link:weechat_plugin_api.fr.html#hooks[Référence API extension WeeChat / Hooks].
@@ -3756,7 +3756,8 @@ le trigger lui-même est activé :
. vérifier les conditions du trigger : si faux, sortir
. remplacer du texte dans le trigger en utilisant des expressions régulières
. exécuter la/les commande(s)
-. sortir avec un code retour (sauf pour les "hooks" _modifier_ et _focus_)
+. sortir avec un code retour (sauf pour les "hooks" _modifier_, _line_,
+ _focus_ et _info_)
. effectuer l'action "post" (si différente de `none`).
[[trigger_hook_arguments]]
@@ -3853,6 +3854,13 @@ points-virgules.
3. ... |
`+buffer_nicklist+` |
link:weechat_plugin_api.fr.html#_hook_focus[hook_focus]
+
+| info |
+ 1. nom de l'info (priorité autorisée) (obligatoire) +
+ 2. nom de l'info (priorité autorisée) +
+ 3. ... |
+ `+mon_info+` |
+ link:weechat_plugin_api.fr.html#_hook_info[hook_info]
|===
[[trigger_conditions]]
@@ -3901,6 +3909,7 @@ du type de hook :
| timer | tg_remaining_calls |
| config | tg_value |
| focus | |
+| info | tg_info | tg_info
|===
[NOTE]
@@ -4215,6 +4224,20 @@ hachage :
La table de hachage contient toutes les clés/valeurs de la table de hachage
reçue (type : chaîne/chaîne).
+[[trigger_data_info]]
+===== Info
+
+La fonction de rappel "info" définit les variables suivantes dans la table de
+hachage :
+
+[width="100%",cols="3m,2,14",options="header"]
+|===
+| Variable | Type | Description
+| tg_info_name | string | Nom de l'info.
+| tg_arguments | string | Paramètres.
+| tg_info | string | Chaîne vide (l'info à renvoyer).
+|===
+
[[trigger_examples]]
==== Exemples
diff --git a/doc/it/weechat_user.it.adoc b/doc/it/weechat_user.it.adoc
index 549a37979..73d57f312 100644
--- a/doc/it/weechat_user.it.adoc
+++ b/doc/it/weechat_user.it.adoc
@@ -3842,7 +3842,7 @@ List of default triggers:
A trigger has the following options (names are
`trigger.trigger.<name>.<option>`):
-[width="100%",cols="2m,2,10",options="header"]
+[width="100%",cols="2m,3,10",options="header"]
|===
| Option | Values | Description
@@ -3851,7 +3851,7 @@ A trigger has the following options (names are
any more.
| hook | `signal`, `hsignal`, `modifier`, `line`, `print`, `command`,
- `command_run`, `timer`, `config`, `focus` |
+ `command_run`, `timer`, `config`, `focus`, `info` |
The hook used in trigger. For more information, see
link:weechat_plugin_api.it.html#hooks[WeeChat plugin API reference / Hooks].
@@ -3902,7 +3902,8 @@ order, if triggers are globally enabled and if the trigger itself is enabled:
. check trigger conditions: if false, exit
. replace text in trigger using regular expression(s)
. execute command(s)
-. exit with a return code (except for hooks _modifier_ and _focus_)
+. exit with a return code (except for hooks _modifier_, _line_, _focus_ and
+ _info_)
. perform post action (if different from `none`).
[[trigger_hook_arguments]]
@@ -3998,6 +3999,13 @@ The arguments depend on the hook used. They are separated by semicolons.
3. ... |
`+buffer_nicklist+` |
link:weechat_plugin_api.it.html#_hook_focus[hook_focus]
+
+| info |
+ 1. info name (priority allowed) (required) +
+ 2. info name (priority allowed) +
+ 3. ... |
+ `+my_info+` |
+ link:weechat_plugin_api.en.html#_hook_info[hook_info]
|===
[[trigger_conditions]]
@@ -4044,6 +4052,7 @@ type:
| timer | tg_remaining_calls |
| config | tg_value |
| focus | |
+| info | tg_info | tg_info
|===
[NOTE]
@@ -4340,6 +4349,19 @@ The "focus" callback sets following variables in hashtable:
The hashtable contains all keys/values from hashtable received (type:
string/string).
+[[trigger_data_info]]
+===== Info
+
+The "info" callback sets following variables in hashtable:
+
+[width="100%",cols="3m,2,14",options="header"]
+|===
+| Variable | Type | Description
+| tg_info_name | string | Name of info.
+| tg_arguments | string | Arguments.
+| tg_info | string | Empty string (the info to return).
+|===
+
[[trigger_examples]]
==== Examples
diff --git a/doc/ja/weechat_user.ja.adoc b/doc/ja/weechat_user.ja.adoc
index 02e35ee3a..5f1744cbc 100644
--- a/doc/ja/weechat_user.ja.adoc
+++ b/doc/ja/weechat_user.ja.adoc
@@ -3576,7 +3576,7 @@ WeeChat はデフォルトで 5
トリガは以下のオプションをとります (名前は
`trigger.trigger.<name>.<option>`):
-[width="100%",cols="2m,2,10",options="header"]
+[width="100%",cols="2m,3,10",options="header"]
|===
| オプション | 値 | 説明
@@ -3585,7 +3585,7 @@ WeeChat はデフォルトで 5
の場合、トリガは無効化され、アクションは実行されません。
| hook | `signal`、`hsignal`、`modifier`、`line`, `print`、`command`、
- `command_run`、`timer`、`config`、`focus` |
+ `command_run`、`timer`、`config`、`focus`、`info` |
トリガの中で使われるフック。より詳しい情報は
link:weechat_plugin_api.ja.html#hooks[WeeChat プラグイン API リファレンス / フック]を参照してください。
@@ -3635,7 +3635,9 @@ trigger.trigger.beep.post_action = none
. トリガ条件の確認: 偽の場合、終了
. 正規表現を使ってトリガ内でテキスト置換
. コマンドを実行
-. リターンコードを付けて終了 (_modifier_ と _focus_ フックの場合を除く)
+// TRANSLATION MISSING
+. exit with a return code (except for hooks _modifier_, _line_, _focus_ and
+ _info_)
. トリガ実行後の処遇を適用 (`none` 以外の場合)。
[[trigger_hook_arguments]]
@@ -3731,6 +3733,14 @@ trigger.trigger.beep.post_action = none
3. ... |
`+buffer_nicklist+` |
link:weechat_plugin_api.ja.html#_hook_focus[hook_focus]
+
+// TRANSLATION MISSING
+| info |
+ 1. info name (優先度の指定も可) (必須) +
+ 2. info name (優先度の指定も可) +
+ 3. ... |
+ `+my_info+` |
+ link:weechat_plugin_api.ja.html#_hook_info[hook_info]
|===
[[trigger_conditions]]
@@ -3776,6 +3786,7 @@ _var_
| timer | tg_remaining_calls |
| config | tg_value |
| focus | |
+| info | tg_info | tg_info
|===
[NOTE]
@@ -4070,6 +4081,20 @@ _weechat_print_ 修飾子では、メッセージタグを使う変数 (下の
ハッシュテーブルには受け取ったハッシュテーブルに含まれる全てのキーおよび値 (型:
string/string) が含まれています。
+// TRANSLATION MISSING
+[[trigger_data_info]]
+===== Info
+
+"info" コールバックは以下の変数をハッシュテーブルに格納します:
+
+[width="100%",cols="3m,2,14",options="header"]
+|===
+| 変数 | 型 | 説明
+| tg_info_name | string | Name of info.
+| tg_arguments | string | Arguments.
+| tg_info | string | Empty string (the info to return).
+|===
+
[[trigger_examples]]
==== 例
diff --git a/doc/pl/weechat_user.pl.adoc b/doc/pl/weechat_user.pl.adoc
index e51464443..22c17b0b2 100644
--- a/doc/pl/weechat_user.pl.adoc
+++ b/doc/pl/weechat_user.pl.adoc
@@ -3612,7 +3612,7 @@ Lista domyśłnych triggerów:
Trigger posiada następujące opcje (nazwy to `trigger.trigger.<nazwa>.<opcja>`):
-[width="100%",cols="2m,2,10",options="header"]
+[width="100%",cols="2m,3,10",options="header"]
|===
| Opcja | Wartość | Opis
@@ -3621,7 +3621,7 @@ Trigger posiada następujące opcje (nazwy to `trigger.trigger.<nazwa>.<opcja>`)
więcej wykonywane.
| hook | `signal`, `hsignal`, `modifier`, `line`, `print`, `command`,
- `command_run`, `timer`, `config`, `focus` |
+ `command_run`, `timer`, `config`, `focus`, `info` |
Zdarzenia używane przez trigger. Więcej informacji można znaleźć w
link:weechat_plugin_api.en.html#hooks[WeeChat Plugin API Reference / Hooks] (Angielski).
@@ -3672,7 +3672,9 @@ kolejności, jeśli triggery są globalnie włączone i jeśli sam trigger jest
. sprawdzenie warunków triggera: jeśli nie jest spełniony następuje wyjście
. zastępowanie tekstu w triggerze za pomocą wyrażenia
. wykonanie komend(-y)
-. wyjście ze zwróceniem kodu (za wyjątkiem uchwytów _modifier_ i _focus_)
+// TRANSLATION MISSING
+. exit with a return code (except for hooks _modifier_, _line_, _focus_ and
+ _info_)
. wykonanie akcji kończącej (jeśli inna niż `none`).
[[trigger_hook_arguments]]
@@ -3768,6 +3770,14 @@ Argumenty zależą od rodzaju uchwytu. Są oddzielane średnikami.
3. ... |
`+buffer_nicklist+` |
link:weechat_plugin_api.en.html#_hook_focus[hook_focus] (Angielski)
+
+// TRANSLATION MISSING
+| info |
+ 1. info name (dozwolony priorytet) (wymagane) +
+ 2. info name (dozwolony priorytet) +
+ 3. ... |
+ `+my_info+` |
+ link:weechat_plugin_api.en.html#_hook_info[hook_info] (Angielski)
|===
[[trigger_conditions]]
@@ -3814,6 +3824,7 @@ od typu uchwytu:
| timer | tg_remaining_calls |
| config | tg_value |
| focus | |
+| info | tg_info | tg_info
|===
[NOTE]
@@ -4108,6 +4119,20 @@ Callback "focus" ustawia następujące zmienne w tablicy hashy:
Tablica zawiera wszystkie klucze/wartości z otrzymanej tablicy hashy (typ:
ciąg/ciąg).
+// TRANSLATION MISSING
+[[trigger_data_info]]
+===== Info
+
+Callback "info" ustawia następujące zmienne w tablicy hashy:
+
+[width="100%",cols="3m,2,14",options="header"]
+|===
+| Zmienna | Typ | Opis
+| tg_info_name | string | Name of info.
+| tg_arguments | string | Arguments.
+| tg_info | string | Empty string (the info to return).
+|===
+
[[trigger_examples]]
==== Przykłady
diff --git a/po/cs.po b/po/cs.po
index 5d6084f93..a5855f61f 100644
--- a/po/cs.po
+++ b/po/cs.po
@@ -21,7 +21,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
-"POT-Creation-Date: 2019-04-06 14:03+0200\n"
+"POT-Creation-Date: 2019-04-13 08:46+0200\n"
"PO-Revision-Date: 2019-03-17 18:32+0100\n"
"Last-Translator: Ondřej Súkup <mimi.vx@gmail.com>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -12060,7 +12060,7 @@ msgid ""
" addreplace: add or replace an existing trigger\n"
" name: name of trigger\n"
" hook: signal, hsignal, modifier, line, print, command, command_run, "
-"timer, config, focus\n"
+"timer, config, focus, info\n"
" arguments: arguments for the hook, depending on hook (separated by "
"semicolons):\n"
" signal: name(s) of signal (required)\n"
@@ -12075,6 +12075,7 @@ msgid ""
" timer: interval (required), align on second, max calls\n"
" config: name(s) of option (required)\n"
" focus: name(s) of area (required)\n"
+" info: name(s) of info (required)\n"
" conditions: evaluated conditions for the trigger\n"
" regex: one or more regular expressions to replace strings in "
"variables\n"
@@ -12119,7 +12120,7 @@ msgid ""
" 2. replace text using POSIX extended regular expression(s) (if defined in "
"trigger)\n"
" 3. execute command(s) (if defined in trigger)\n"
-" 4. exit with a return code (except for modifier, line and focus)\n"
+" 4. exit with a return code (except for modifier, line, focus and info)\n"
" 5. perform post action\n"
"\n"
"Examples (you can also look at default triggers with /trigger listdefault):\n"
diff --git a/po/de.po b/po/de.po
index 13b1bca71..78201defe 100644
--- a/po/de.po
+++ b/po/de.po
@@ -24,7 +24,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
-"POT-Creation-Date: 2019-04-06 14:03+0200\n"
+"POT-Creation-Date: 2019-04-13 08:46+0200\n"
"PO-Revision-Date: 2019-04-06 22:14+0200\n"
"Last-Translator: Nils Görs <weechatter@arcor.de>\n"
"Language-Team: German <kde-i18n-de@kde.org>\n"
@@ -14064,6 +14064,7 @@ msgstr ""
"<name>|-all [<name>...] || show <name> || del <name>|-all [<name>...] || "
"restore <name> [<name>...] || default -yes || monitor [<filter>]"
+#, fuzzy
msgid ""
" list: list triggers (without argument, this list is displayed)\n"
" listfull: list triggers with detailed info for each trigger\n"
@@ -14073,7 +14074,7 @@ msgid ""
" addreplace: add or replace an existing trigger\n"
" name: name of trigger\n"
" hook: signal, hsignal, modifier, line, print, command, command_run, "
-"timer, config, focus\n"
+"timer, config, focus, info\n"
" arguments: arguments for the hook, depending on hook (separated by "
"semicolons):\n"
" signal: name(s) of signal (required)\n"
@@ -14088,6 +14089,7 @@ msgid ""
" timer: interval (required), align on second, max calls\n"
" config: name(s) of option (required)\n"
" focus: name(s) of area (required)\n"
+" info: name(s) of info (required)\n"
" conditions: evaluated conditions for the trigger\n"
" regex: one or more regular expressions to replace strings in "
"variables\n"
@@ -14132,7 +14134,7 @@ msgid ""
" 2. replace text using POSIX extended regular expression(s) (if defined in "
"trigger)\n"
" 3. execute command(s) (if defined in trigger)\n"
-" 4. exit with a return code (except for modifier, line and focus)\n"
+" 4. exit with a return code (except for modifier, line, focus and info)\n"
" 5. perform post action\n"
"\n"
"Examples (you can also look at default triggers with /trigger listdefault):\n"
diff --git a/po/es.po b/po/es.po
index 1730b096d..fd3ec633a 100644
--- a/po/es.po
+++ b/po/es.po
@@ -22,7 +22,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
-"POT-Creation-Date: 2019-04-06 14:03+0200\n"
+"POT-Creation-Date: 2019-04-13 08:46+0200\n"
"PO-Revision-Date: 2019-03-17 16:04+0100\n"
"Last-Translator: Elián Hanisch <lambdae2@gmail.com>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -12342,7 +12342,7 @@ msgid ""
" addreplace: add or replace an existing trigger\n"
" name: name of trigger\n"
" hook: signal, hsignal, modifier, line, print, command, command_run, "
-"timer, config, focus\n"
+"timer, config, focus, info\n"
" arguments: arguments for the hook, depending on hook (separated by "
"semicolons):\n"
" signal: name(s) of signal (required)\n"
@@ -12357,6 +12357,7 @@ msgid ""
" timer: interval (required), align on second, max calls\n"
" config: name(s) of option (required)\n"
" focus: name(s) of area (required)\n"
+" info: name(s) of info (required)\n"
" conditions: evaluated conditions for the trigger\n"
" regex: one or more regular expressions to replace strings in "
"variables\n"
@@ -12401,7 +12402,7 @@ msgid ""
" 2. replace text using POSIX extended regular expression(s) (if defined in "
"trigger)\n"
" 3. execute command(s) (if defined in trigger)\n"
-" 4. exit with a return code (except for modifier, line and focus)\n"
+" 4. exit with a return code (except for modifier, line, focus and info)\n"
" 5. perform post action\n"
"\n"
"Examples (you can also look at default triggers with /trigger listdefault):\n"
diff --git a/po/fr.po b/po/fr.po
index f4f8629b1..324224f06 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -21,8 +21,8 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
-"POT-Creation-Date: 2019-04-06 14:03+0200\n"
-"PO-Revision-Date: 2019-04-06 14:04+0200\n"
+"POT-Creation-Date: 2019-04-13 08:46+0200\n"
+"PO-Revision-Date: 2019-04-13 08:47+0200\n"
"Last-Translator: Sébastien Helleu <flashcode@flashtux.org>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
"Language: fr\n"
@@ -13770,7 +13770,7 @@ msgid ""
" addreplace: add or replace an existing trigger\n"
" name: name of trigger\n"
" hook: signal, hsignal, modifier, line, print, command, command_run, "
-"timer, config, focus\n"
+"timer, config, focus, info\n"
" arguments: arguments for the hook, depending on hook (separated by "
"semicolons):\n"
" signal: name(s) of signal (required)\n"
@@ -13785,6 +13785,7 @@ msgid ""
" timer: interval (required), align on second, max calls\n"
" config: name(s) of option (required)\n"
" focus: name(s) of area (required)\n"
+" info: name(s) of info (required)\n"
" conditions: evaluated conditions for the trigger\n"
" regex: one or more regular expressions to replace strings in "
"variables\n"
@@ -13829,7 +13830,7 @@ msgid ""
" 2. replace text using POSIX extended regular expression(s) (if defined in "
"trigger)\n"
" 3. execute command(s) (if defined in trigger)\n"
-" 4. exit with a return code (except for modifier, line and focus)\n"
+" 4. exit with a return code (except for modifier, line, focus and info)\n"
" 5. perform post action\n"
"\n"
"Examples (you can also look at default triggers with /trigger listdefault):\n"
@@ -13860,7 +13861,7 @@ msgstr ""
" addreplace : ajouter ou remplacer un trigger existant\n"
" nom : nom du trigger\n"
" hook : signal, hsignal, modifier, line, print, command, command_run, "
-"timer, config, focus\n"
+"timer, config, focus, info\n"
" paramètres : paramètres pour le hook, dépendant du hook (séparés par des "
"points-virgules) :\n"
" signal : nom(s) de signal (obligatoire)\n"
@@ -13877,6 +13878,7 @@ msgstr ""
"nombre max d'appels\n"
" config : nom(s) de l'option (obligatoire)\n"
" focus : nom(s) de la zone (obligatoire)\n"
+" info : nom(s) de l'info (obligatoire)\n"
" conditions : conditions évaluées pour le trigger\n"
" regex : une ou plusieurs expressions régulières pour remplacer des "
"chaînes dans les variables\n"
@@ -13926,8 +13928,8 @@ msgstr ""
" 2. remplacer le texte en utilisant une/des expression(s)s régulière(s)s "
"POSIX étendue(s)s (si définie(s) dans le trigger)\n"
" 3. exécuter le(s) commande(s) (si définie(s) dans le trigger)\n"
-" 4. sortir avec le code retour (sauf pour les modificateurs, line et "
-"focus)\n"
+" 4. sortir avec le code retour (sauf pour les modificateurs, line, focus et "
+"info)\n"
" 5. effectuer l'action \"post\"\n"
"\n"
"Exemples (vous pouvez aussi regarder les triggers par défaut avec /trigger "
diff --git a/po/hu.po b/po/hu.po
index ec2954a23..07e39b053 100644
--- a/po/hu.po
+++ b/po/hu.po
@@ -20,7 +20,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
-"POT-Creation-Date: 2019-04-06 14:03+0200\n"
+"POT-Creation-Date: 2019-04-13 08:46+0200\n"
"PO-Revision-Date: 2019-02-28 20:18+0100\n"
"Last-Translator: Andras Voroskoi <voroskoi@frugalware.org>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -11329,7 +11329,7 @@ msgid ""
" addreplace: add or replace an existing trigger\n"
" name: name of trigger\n"
" hook: signal, hsignal, modifier, line, print, command, command_run, "
-"timer, config, focus\n"
+"timer, config, focus, info\n"
" arguments: arguments for the hook, depending on hook (separated by "
"semicolons):\n"
" signal: name(s) of signal (required)\n"
@@ -11344,6 +11344,7 @@ msgid ""
" timer: interval (required), align on second, max calls\n"
" config: name(s) of option (required)\n"
" focus: name(s) of area (required)\n"
+" info: name(s) of info (required)\n"
" conditions: evaluated conditions for the trigger\n"
" regex: one or more regular expressions to replace strings in "
"variables\n"
@@ -11388,7 +11389,7 @@ msgid ""
" 2. replace text using POSIX extended regular expression(s) (if defined in "
"trigger)\n"
" 3. execute command(s) (if defined in trigger)\n"
-" 4. exit with a return code (except for modifier, line and focus)\n"
+" 4. exit with a return code (except for modifier, line, focus and info)\n"
" 5. perform post action\n"
"\n"
"Examples (you can also look at default triggers with /trigger listdefault):\n"
diff --git a/po/it.po b/po/it.po
index 671fe9fdd..b8ae2056d 100644
--- a/po/it.po
+++ b/po/it.po
@@ -20,7 +20,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
-"POT-Creation-Date: 2019-04-06 14:03+0200\n"
+"POT-Creation-Date: 2019-04-13 08:46+0200\n"
"PO-Revision-Date: 2019-03-17 16:04+0100\n"
"Last-Translator: Esteban I. Ruiz Moreno <exio4.com@gmail.com>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -12565,7 +12565,7 @@ msgid ""
" addreplace: add or replace an existing trigger\n"
" name: name of trigger\n"
" hook: signal, hsignal, modifier, line, print, command, command_run, "
-"timer, config, focus\n"
+"timer, config, focus, info\n"
" arguments: arguments for the hook, depending on hook (separated by "
"semicolons):\n"
" signal: name(s) of signal (required)\n"
@@ -12580,6 +12580,7 @@ msgid ""
" timer: interval (required), align on second, max calls\n"
" config: name(s) of option (required)\n"
" focus: name(s) of area (required)\n"
+" info: name(s) of info (required)\n"
" conditions: evaluated conditions for the trigger\n"
" regex: one or more regular expressions to replace strings in "
"variables\n"
@@ -12624,7 +12625,7 @@ msgid ""
" 2. replace text using POSIX extended regular expression(s) (if defined in "
"trigger)\n"
" 3. execute command(s) (if defined in trigger)\n"
-" 4. exit with a return code (except for modifier, line and focus)\n"
+" 4. exit with a return code (except for modifier, line, focus and info)\n"
" 5. perform post action\n"
"\n"
"Examples (you can also look at default triggers with /trigger listdefault):\n"
diff --git a/po/ja.po b/po/ja.po
index 5cc5710dd..1c45a29e1 100644
--- a/po/ja.po
+++ b/po/ja.po
@@ -20,7 +20,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
-"POT-Creation-Date: 2019-04-06 14:03+0200\n"
+"POT-Creation-Date: 2019-04-13 08:46+0200\n"
"PO-Revision-Date: 2019-04-01 09:00+0900\n"
"Last-Translator: AYANOKOUZI, Ryuunosuke <i38w7i3@yahoo.co.jp>\n"
"Language-Team: Japanese <https://github.com/l/weechat/tree/master/"
@@ -13257,6 +13257,7 @@ msgstr ""
"<name>|-all [<name>...] || show <name> || del <name>|-all [<name>...] || "
"restore <name> [<name>...] || default -yes || monitor [<filter>]"
+#, fuzzy
msgid ""
" list: list triggers (without argument, this list is displayed)\n"
" listfull: list triggers with detailed info for each trigger\n"
@@ -13266,7 +13267,7 @@ msgid ""
" addreplace: add or replace an existing trigger\n"
" name: name of trigger\n"
" hook: signal, hsignal, modifier, line, print, command, command_run, "
-"timer, config, focus\n"
+"timer, config, focus, info\n"
" arguments: arguments for the hook, depending on hook (separated by "
"semicolons):\n"
" signal: name(s) of signal (required)\n"
@@ -13281,6 +13282,7 @@ msgid ""
" timer: interval (required), align on second, max calls\n"
" config: name(s) of option (required)\n"
" focus: name(s) of area (required)\n"
+" info: name(s) of info (required)\n"
" conditions: evaluated conditions for the trigger\n"
" regex: one or more regular expressions to replace strings in "
"variables\n"
@@ -13325,7 +13327,7 @@ msgid ""
" 2. replace text using POSIX extended regular expression(s) (if defined in "
"trigger)\n"
" 3. execute command(s) (if defined in trigger)\n"
-" 4. exit with a return code (except for modifier, line and focus)\n"
+" 4. exit with a return code (except for modifier, line, focus and info)\n"
" 5. perform post action\n"
"\n"
"Examples (you can also look at default triggers with /trigger listdefault):\n"
diff --git a/po/pl.po b/po/pl.po
index cbd81b057..3ad072b22 100644
--- a/po/pl.po
+++ b/po/pl.po
@@ -22,7 +22,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
-"POT-Creation-Date: 2019-04-06 14:03+0200\n"
+"POT-Creation-Date: 2019-04-13 08:46+0200\n"
"PO-Revision-Date: 2019-03-21 23:32+0100\n"
"Last-Translator: Krzysztof Korościk <soltys@soltys.info>\n"
"Language-Team: Polish <kde-i18n-doc@kde.org>\n"
@@ -13464,6 +13464,7 @@ msgstr ""
"[<nazwa>...] || show <nazwa> || del <nazwa>|-all [<nazwa>...] || restore "
"<nazwa> [<nazwa>...] || default -yes || monitor [<filtr>]"
+#, fuzzy
msgid ""
" list: list triggers (without argument, this list is displayed)\n"
" listfull: list triggers with detailed info for each trigger\n"
@@ -13473,7 +13474,7 @@ msgid ""
" addreplace: add or replace an existing trigger\n"
" name: name of trigger\n"
" hook: signal, hsignal, modifier, line, print, command, command_run, "
-"timer, config, focus\n"
+"timer, config, focus, info\n"
" arguments: arguments for the hook, depending on hook (separated by "
"semicolons):\n"
" signal: name(s) of signal (required)\n"
@@ -13488,6 +13489,7 @@ msgid ""
" timer: interval (required), align on second, max calls\n"
" config: name(s) of option (required)\n"
" focus: name(s) of area (required)\n"
+" info: name(s) of info (required)\n"
" conditions: evaluated conditions for the trigger\n"
" regex: one or more regular expressions to replace strings in "
"variables\n"
@@ -13532,7 +13534,7 @@ msgid ""
" 2. replace text using POSIX extended regular expression(s) (if defined in "
"trigger)\n"
" 3. execute command(s) (if defined in trigger)\n"
-" 4. exit with a return code (except for modifier, line and focus)\n"
+" 4. exit with a return code (except for modifier, line, focus and info)\n"
" 5. perform post action\n"
"\n"
"Examples (you can also look at default triggers with /trigger listdefault):\n"
diff --git a/po/pt.po b/po/pt.po
index 37a091b35..882ff9c4a 100644
--- a/po/pt.po
+++ b/po/pt.po
@@ -20,7 +20,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
-"POT-Creation-Date: 2019-04-06 14:03+0200\n"
+"POT-Creation-Date: 2019-04-13 08:46+0200\n"
"PO-Revision-Date: 2019-03-21 23:33+0100\n"
"Last-Translator: Vasco Almeida <vascomalmeida@sapo.pt>\n"
"Language-Team: Portuguese <>\n"
@@ -13123,7 +13123,7 @@ msgid ""
" addreplace: add or replace an existing trigger\n"
" name: name of trigger\n"
" hook: signal, hsignal, modifier, line, print, command, command_run, "
-"timer, config, focus\n"
+"timer, config, focus, info\n"
" arguments: arguments for the hook, depending on hook (separated by "
"semicolons):\n"
" signal: name(s) of signal (required)\n"
@@ -13138,6 +13138,7 @@ msgid ""
" timer: interval (required), align on second, max calls\n"
" config: name(s) of option (required)\n"
" focus: name(s) of area (required)\n"
+" info: name(s) of info (required)\n"
" conditions: evaluated conditions for the trigger\n"
" regex: one or more regular expressions to replace strings in "
"variables\n"
@@ -13182,7 +13183,7 @@ msgid ""
" 2. replace text using POSIX extended regular expression(s) (if defined in "
"trigger)\n"
" 3. execute command(s) (if defined in trigger)\n"
-" 4. exit with a return code (except for modifier, line and focus)\n"
+" 4. exit with a return code (except for modifier, line, focus and info)\n"
" 5. perform post action\n"
"\n"
"Examples (you can also look at default triggers with /trigger listdefault):\n"
diff --git a/po/pt_BR.po b/po/pt_BR.po
index 21b610f30..c7d498a8f 100644
--- a/po/pt_BR.po
+++ b/po/pt_BR.po
@@ -21,7 +21,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
-"POT-Creation-Date: 2019-04-06 14:03+0200\n"
+"POT-Creation-Date: 2019-04-13 08:46+0200\n"
"PO-Revision-Date: 2019-03-11 21:10+0100\n"
"Last-Translator: Eduardo Elias <camponez@gmail.com>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -11800,7 +11800,7 @@ msgid ""
" addreplace: add or replace an existing trigger\n"
" name: name of trigger\n"
" hook: signal, hsignal, modifier, line, print, command, command_run, "
-"timer, config, focus\n"
+"timer, config, focus, info\n"
" arguments: arguments for the hook, depending on hook (separated by "
"semicolons):\n"
" signal: name(s) of signal (required)\n"
@@ -11815,6 +11815,7 @@ msgid ""
" timer: interval (required), align on second, max calls\n"
" config: name(s) of option (required)\n"
" focus: name(s) of area (required)\n"
+" info: name(s) of info (required)\n"
" conditions: evaluated conditions for the trigger\n"
" regex: one or more regular expressions to replace strings in "
"variables\n"
@@ -11859,7 +11860,7 @@ msgid ""
" 2. replace text using POSIX extended regular expression(s) (if defined in "
"trigger)\n"
" 3. execute command(s) (if defined in trigger)\n"
-" 4. exit with a return code (except for modifier, line and focus)\n"
+" 4. exit with a return code (except for modifier, line, focus and info)\n"
" 5. perform post action\n"
"\n"
"Examples (you can also look at default triggers with /trigger listdefault):\n"
diff --git a/po/ru.po b/po/ru.po
index 57ae718ff..eea2d7514 100644
--- a/po/ru.po
+++ b/po/ru.po
@@ -21,7 +21,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
-"POT-Creation-Date: 2019-04-06 14:03+0200\n"
+"POT-Creation-Date: 2019-04-13 08:46+0200\n"
"PO-Revision-Date: 2019-03-11 21:10+0100\n"
"Last-Translator: Aleksey V Zapparov AKA ixti <ixti@member.fsf.org>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -11363,7 +11363,7 @@ msgid ""
" addreplace: add or replace an existing trigger\n"
" name: name of trigger\n"
" hook: signal, hsignal, modifier, line, print, command, command_run, "
-"timer, config, focus\n"
+"timer, config, focus, info\n"
" arguments: arguments for the hook, depending on hook (separated by "
"semicolons):\n"
" signal: name(s) of signal (required)\n"
@@ -11378,6 +11378,7 @@ msgid ""
" timer: interval (required), align on second, max calls\n"
" config: name(s) of option (required)\n"
" focus: name(s) of area (required)\n"
+" info: name(s) of info (required)\n"
" conditions: evaluated conditions for the trigger\n"
" regex: one or more regular expressions to replace strings in "
"variables\n"
@@ -11422,7 +11423,7 @@ msgid ""
" 2. replace text using POSIX extended regular expression(s) (if defined in "
"trigger)\n"
" 3. execute command(s) (if defined in trigger)\n"
-" 4. exit with a return code (except for modifier, line and focus)\n"
+" 4. exit with a return code (except for modifier, line, focus and info)\n"
" 5. perform post action\n"
"\n"
"Examples (you can also look at default triggers with /trigger listdefault):\n"
diff --git a/po/tr.po b/po/tr.po
index fe6964b27..91cedd94d 100644
--- a/po/tr.po
+++ b/po/tr.po
@@ -20,7 +20,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
-"POT-Creation-Date: 2019-04-06 14:03+0200\n"
+"POT-Creation-Date: 2019-04-13 08:46+0200\n"
"PO-Revision-Date: 2019-03-17 16:04+0100\n"
"Last-Translator: Hasan Kiran <sunder67@hotmail.com>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -10368,7 +10368,7 @@ msgid ""
" addreplace: add or replace an existing trigger\n"
" name: name of trigger\n"
" hook: signal, hsignal, modifier, line, print, command, command_run, "
-"timer, config, focus\n"
+"timer, config, focus, info\n"
" arguments: arguments for the hook, depending on hook (separated by "
"semicolons):\n"
" signal: name(s) of signal (required)\n"
@@ -10383,6 +10383,7 @@ msgid ""
" timer: interval (required), align on second, max calls\n"
" config: name(s) of option (required)\n"
" focus: name(s) of area (required)\n"
+" info: name(s) of info (required)\n"
" conditions: evaluated conditions for the trigger\n"
" regex: one or more regular expressions to replace strings in "
"variables\n"
@@ -10427,7 +10428,7 @@ msgid ""
" 2. replace text using POSIX extended regular expression(s) (if defined in "
"trigger)\n"
" 3. execute command(s) (if defined in trigger)\n"
-" 4. exit with a return code (except for modifier, line and focus)\n"
+" 4. exit with a return code (except for modifier, line, focus and info)\n"
" 5. perform post action\n"
"\n"
"Examples (you can also look at default triggers with /trigger listdefault):\n"
diff --git a/po/weechat.pot b/po/weechat.pot
index 8fdea6c30..d03b7008f 100644
--- a/po/weechat.pot
+++ b/po/weechat.pot
@@ -21,7 +21,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
-"POT-Creation-Date: 2019-04-06 14:03+0200\n"
+"POT-Creation-Date: 2019-04-13 08:46+0200\n"
"PO-Revision-Date: 2014-08-16 10:27+0200\n"
"Last-Translator: Sébastien Helleu <flashcode@flashtux.org>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -10212,7 +10212,7 @@ msgid ""
" addreplace: add or replace an existing trigger\n"
" name: name of trigger\n"
" hook: signal, hsignal, modifier, line, print, command, command_run, "
-"timer, config, focus\n"
+"timer, config, focus, info\n"
" arguments: arguments for the hook, depending on hook (separated by "
"semicolons):\n"
" signal: name(s) of signal (required)\n"
@@ -10227,6 +10227,7 @@ msgid ""
" timer: interval (required), align on second, max calls\n"
" config: name(s) of option (required)\n"
" focus: name(s) of area (required)\n"
+" info: name(s) of info (required)\n"
" conditions: evaluated conditions for the trigger\n"
" regex: one or more regular expressions to replace strings in "
"variables\n"
@@ -10271,7 +10272,7 @@ msgid ""
" 2. replace text using POSIX extended regular expression(s) (if defined in "
"trigger)\n"
" 3. execute command(s) (if defined in trigger)\n"
-" 4. exit with a return code (except for modifier, line and focus)\n"
+" 4. exit with a return code (except for modifier, line, focus and info)\n"
" 5. perform post action\n"
"\n"
"Examples (you can also look at default triggers with /trigger listdefault):\n"
diff --git a/src/plugins/trigger/trigger-callback.c b/src/plugins/trigger/trigger-callback.c
index 7170dd344..d1765afdd 100644
--- a/src/plugins/trigger/trigger-callback.c
+++ b/src/plugins/trigger/trigger-callback.c
@@ -1171,6 +1171,36 @@ end:
}
/*
+ * Callback for an info hooked.
+ */
+
+char *
+trigger_callback_info_cb (const void *pointer, void *data,
+ const char *info_name, const char *arguments)
+{
+ const char *ptr_info;
+ char *info;
+
+ TRIGGER_CALLBACK_CB_INIT(NULL);
+
+ TRIGGER_CALLBACK_CB_NEW_EXTRA_VARS;
+
+ /* add data in hashtable used for conditions/replace/command */
+ weechat_hashtable_set (extra_vars, "tg_info_name", info_name);
+ weechat_hashtable_set (extra_vars, "tg_arguments", arguments);
+ weechat_hashtable_set (extra_vars, "tg_info", "");
+
+ /* execute the trigger (conditions, regex, command) */
+ trigger_callback_execute (trigger, NULL, pointers, extra_vars, NULL);
+
+end:
+ ptr_info = weechat_hashtable_get (extra_vars, "tg_info");
+ info = (ptr_info) ? strdup (ptr_info) : NULL;
+
+ TRIGGER_CALLBACK_CB_END(info);
+}
+
+/*
* Initializes trigger callback.
*/
diff --git a/src/plugins/trigger/trigger-callback.h b/src/plugins/trigger/trigger-callback.h
index c12403bcf..2abfe5d67 100644
--- a/src/plugins/trigger/trigger-callback.h
+++ b/src/plugins/trigger/trigger-callback.h
@@ -127,6 +127,10 @@ extern int trigger_callback_config_cb (const void *pointer, void *data,
extern struct t_hashtable *trigger_callback_focus_cb (const void *pointer,
void *data,
struct t_hashtable *info);
+extern char *trigger_callback_info_cb (const void *pointer,
+ void *data,
+ const char *info_name,
+ const char *arguments);
extern void trigger_callback_init ();
extern void trigger_callback_end ();
diff --git a/src/plugins/trigger/trigger-command.c b/src/plugins/trigger/trigger-command.c
index 2569b08ca..70dd25159 100644
--- a/src/plugins/trigger/trigger-command.c
+++ b/src/plugins/trigger/trigger-command.c
@@ -1157,7 +1157,7 @@ trigger_command_init ()
" addreplace: add or replace an existing trigger\n"
" name: name of trigger\n"
" hook: signal, hsignal, modifier, line, print, command, "
- "command_run, timer, config, focus\n"
+ "command_run, timer, config, focus, info\n"
" arguments: arguments for the hook, depending on hook (separated "
"by semicolons):\n"
" signal: name(s) of signal (required)\n"
@@ -1172,6 +1172,7 @@ trigger_command_init ()
" timer: interval (required), align on second, max calls\n"
" config: name(s) of option (required)\n"
" focus: name(s) of area (required)\n"
+ " info: name(s) of info (required)\n"
" conditions: evaluated conditions for the trigger\n"
" regex: one or more regular expressions to replace strings "
"in variables\n"
@@ -1217,7 +1218,8 @@ trigger_command_init ()
" 2. replace text using POSIX extended regular expression(s) (if "
"defined in trigger)\n"
" 3. execute command(s) (if defined in trigger)\n"
- " 4. exit with a return code (except for modifier, line and focus)\n"
+ " 4. exit with a return code (except for modifier, line, focus "
+ "and info)\n"
" 5. perform post action\n"
"\n"
"Examples (you can also look at default triggers with /trigger "
diff --git a/src/plugins/trigger/trigger.c b/src/plugins/trigger/trigger.c
index 2f477a249..a25bb7c10 100644
--- a/src/plugins/trigger/trigger.c
+++ b/src/plugins/trigger/trigger.c
@@ -50,20 +50,20 @@ char *trigger_option_default[TRIGGER_NUM_OPTIONS] =
char *trigger_hook_type_string[TRIGGER_NUM_HOOK_TYPES] =
{ "signal", "hsignal", "modifier", "line", "print", "command", "command_run",
- "timer", "config", "focus" };
+ "timer", "config", "focus", "info" };
char *trigger_hook_option_values =
"signal|hsignal|modifier|line|print|command|command_run|timer|config|"
- "focus";
+ "focus|info";
char *trigger_hook_default_arguments[TRIGGER_NUM_HOOK_TYPES] =
{ "xxx", "xxx", "xxx", "", "", "cmd;desc;args;args_desc;%(buffers_names)",
- "/cmd", "60000;0;0", "xxx", "chat" };
+ "/cmd", "60000;0;0", "xxx", "chat", "xxx" };
char *trigger_hook_default_rc[TRIGGER_NUM_HOOK_TYPES] =
{ "ok,ok_eat,error", "ok,ok_eat,error", "", "", "ok,error", "ok,error",
- "ok,ok_eat,error", "ok", "ok", "" };
+ "ok,ok_eat,error", "ok", "ok", "", "" };
char *trigger_hook_regex_default_var[TRIGGER_NUM_HOOK_TYPES] =
{ "tg_signal_data", "", "tg_string", "message", "tg_message", "tg_argv_eol1",
- "tg_command", "tg_remaining_calls", "tg_value", "" };
+ "tg_command", "tg_remaining_calls", "tg_value", "", "tg_info" };
char *trigger_return_code_string[TRIGGER_NUM_RETURN_CODES] =
{ "ok", "ok_eat", "error" };
@@ -490,6 +490,25 @@ trigger_hook (struct t_trigger *trigger)
}
}
break;
+ case TRIGGER_HOOK_INFO:
+ if (argv && (argc >= 1))
+ {
+ trigger->hooks = malloc (argc * sizeof (trigger->hooks[0]));
+ if (trigger->hooks)
+ {
+ trigger->hooks_count = argc;
+ for (i = 0; i < argc; i++)
+ {
+ trigger->hooks[i] = weechat_hook_info (
+ argv[i],
+ NULL,
+ NULL,
+ &trigger_callback_info_cb,
+ trigger, NULL);
+ }
+ }
+ }
+ break;
}
if (!trigger->hooks)
diff --git a/src/plugins/trigger/trigger.h b/src/plugins/trigger/trigger.h
index b08fc82fa..ce7ec21e3 100644
--- a/src/plugins/trigger/trigger.h
+++ b/src/plugins/trigger/trigger.h
@@ -55,6 +55,7 @@ enum t_trigger_hook_type
TRIGGER_HOOK_TIMER,
TRIGGER_HOOK_CONFIG,
TRIGGER_HOOK_FOCUS,
+ TRIGGER_HOOK_INFO,
/* number of hook types */
TRIGGER_NUM_HOOK_TYPES,
};