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
76
77
78
79
80
81
82
83
84
85
86
87
88
|
//
// This file is auto-generated by script docgen.py.
// DO NOT EDIT BY HAND!
//
[[command_trigger_trigger]]
* `+trigger+`: verwaltet Trigger, das Schweizer Armeemesser für 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: 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 genutzten Trigger an
add: fügt einen Trigger hinzu
addoff: fügt einen Trigger hinzu (deaktiviert)
addreplace: erzeugt neuen Trigger oder ersetzt einen schon existierenden Trigger
name: Name des Trigger
hook: signal, hsignal, modifier, line, print, command, command_run, timer, config, focus, info, info_hashtable
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)
line: Buffertyp ("formatted", "free" oder "*"), Liste von Buffermasken, Tags
print: Buffer, Tags, Nachricht, Farben entfernen
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 Einstellung (erforderlich)
focus: Name(n) für sichtbaren Bereich (erforderlich) (z.B. "chat" für Chatbereich)
info: Name(n) der Information (erforderlich)
info_hashtable: Name(n) der Information (erforderlich)
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)
post_action: Aktion welche nach der Abarbeitung des Triggers ausgeführt werden soll (none (Standardwert), disable, delete)
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 Einstellung "addreplace" anstelle von "add" genutzt
set: definiert, innerhalb eines Triggers, eine Einstellung neu
option: Name einer Einstellung: name, hook, arguments, conditions, regex, command, return_code
(um Hilfe über eine Einstellung zu erhalten: /help trigger.trigger.<name>.<option>)
value: neuer Wert für Einstellung
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
restore: stellt Trigger mit Standardwerten wieder her (funktioniert nur bei vorgegebenen Triggern)
default: stellt die standardmäßigen Trigger wieder her
monitor: öffnet den Trigger Monitor-Buffer, mit optionaler Filterfunktion:
Filter: zeigt Hooks/Trigger an (ein Hook muss mit "@" beginnen, zum Beispiel "@signal"), mehrere Filter können durch Kommata voneinander getrennt werden; Platzhalter "*" kann im Namen des Trigger verwendet werden
Wenn ein Trigger-Callback aufgerufen wird, dann wird folgende Befehlskette ausgeführt:
1. Überprüfung von Bedingungen; falls unwahr, beenden
2. ersetze Text mittels einem oder mehreren erweiterten regulären POSIX Ausdrücken (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, line, focus, info und info_hashtable)
5. Aktion welche nach der Abarbeitung des Triggers ausgeführt werden soll
Beispiele (die standardmäßig verfügbaren 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}" "==\*([^ ]+)\*==*${color:bold}${re:1}${color:-bold}*== ==_([^ ]+)_==_${color:underline}${re:1}${color:-underline}_== ==/([^ ]+)/==/${color:italic}${re: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"
öffnet den Trigger Monitor und zeigt ausschließlich modifier und Trigger an, die mit "resize" im Namen beginnen:
/trigger monitor @modifier,resize*
----
|