1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
|
[[command_trigger_trigger]]
[command]*`trigger`* verwaltet Trigger, das Schweizer Armeemesser für 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
list: zeigt eine Liste aller Trigger (ohne Angabe von Argumente wird diese Liste standardmäßig ausgegeben)
listfull: zeigt eine detaillierte Liste, mit zusätzlichen Informationen, aller Trigger an
listdefault: zeigt die standardmäßig genutzen Trigger an
add: fügt einen Trigger hinzu
addoff: fügt einen Trigger hinzu (deaktiviert)
addreplace: fügt oder ersetzt einen schon existierenden Trigger
name: Name des Trigger
hook: signal, hsignal, modifier, print, command, command_run, timer, config, focus
arguments: Argumente für den Hook, abhängig vom genutzten Hook (getrennt durch Semikolon):
signal: Name(en) des signals (erforderlich)
hsignal: Name(en) des hsignal (erforderlich)
modifier: Name(en) des modifier (erforderlich)
print: buffer, tags, message, strip colors
command: Befehl (erforderlich), Beschreibung, Argumente, Beschreibung der Argumente, Vervollständigung
command_run: Befehl(e) (erforderlich)
timer: Intervall (erforderlich), Anpassung an Sekunden (erforderlich), maximale Anzahl an Aufrufen
config: Name der Option (erforderlich)
focus: Name(n) für sichtbaren Bereich (erforderlich) (z.B. "chat" für Chatbereich)
conditions: evaluierte Bedingungen für den Trigger
regex: einer oder mehrere reguläre Ausdrücke um Zeichenketten in Variablen zu ersetzen
command: Befehl welcher ausgeführt werden soll (mehrere Befehle müssen durch ";" voneinander getrennt werden
return_code: Rückgabewert für Callback (ok (standard), ok_eat, error)
addinput: erstellt einen Trigger mit einer standardmäßigen Mustervorlage
input: kopiert den kompletten Trigger-Befehl in die Eingabezeile
output: schickt den Trigger-Befehl als Text in den Buffer
recreate: wie "input", allerdings wird die Option "addreplace" anstelle von "add" genutzt
set: definiert, innerhalb eines Triggers, eine Option neu
option: Name einer Option: name, hook, arguments, conditions, regex, command, return_code
(um Hilfe über eine Option zu erhalten: /help trigger.trigger.<name>.<option>)
value: neuer Wert für Option
rename: benennt einen Trigger um
copy: kopiert einen Trigger
enable: aktiviert Trigger (ohne Angabe von Argumenten: aktiviert alle Trigger)
disable: deaktiviert Trigger (ohne Angabe von Argumenten: deaktiviert alle Trigger)
toggle: de-/aktiviert Trigger (ohne Angabe von Argumenten: de-/aktiviert alle Trigger)
restart: startet Trigger neu (Hook(s) werden neu erstellt)
show: zeigt detaillierte Informationen zu einem Trigger (inklusive einer kleinen Statistik)
del: entfernt einen Trigger
-all: führt eine Aktion aus, die alle Trigger beinhaltet
default: stellt die standardmäßigen Trigger wieder her
monitor: öffnet den Trigger-Monitor Buffer
Wenn ein Trigger-Callback aufgerufen wird, dann wird folgende Befehlskette ausgeführt:
1. Überprüfung von Bedingungen; falls unwahr, beenden
2. ersetze Text mittels erweitertem regulärer POSIX Ausdruck (sofern im Trigger definiert)
3. ein oder mehrere Befehle werden ausgeführt (sofern im Trigger definiert)
4. Beendigung mit einem Rückgabewert (ausgenommen sind modifiers und focus)
Beispiele (die standardmäßig, eingebauten Trigger kann man sich mit "/trigger listdefault" anzeigen lassen):
fügt einer Nachricht die Textattribute *fett*, _unterstrichen_ und /kursiv/ hinzu:
/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}/"
verbirgt die Nicklist auf kleineren Terminals:
/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"
speichert die Konfiguration jede Stunde ab:
/trigger add cfgsave timer 3600000;0;0 "" "" "/mute /save"
----
|