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
|
[[command_trigger_trigger]]
[command]*`trigger`* zarządzaj triggerami, scyzorykiem WeeChat::
----
/trigger list|listfull|listdefault
add|addoff|addreplace <nazwa> <uchwyt> ["<argumenty>" ["<warunki>" ["<regex>" ["<komenda>" ["<kod powrotu>"]]]]]
addinput [<uchwyt>]
input|output|recreate <nazwa>
set <nazwa> <opcja> <wartość>
rename|copy <nazwa> <nowa nazwa>
enable|disable|toggle [<nazwa>|-all [<nazwa>...]]
restart <nazwa>|-all [<nazwa>...]
show <nazwa>
del <nazwa>|-all [<nazwa>...]
restore <nazwa> [<nazwa>...]
default -yes
monitor [<filtr>]
list: lista triggerów (jeśli nie podano argumentu, wyświetli się ta lista)
listfull: lista triggerów ze szczegółowymi informacjami
listdefault: lista domyślnych triggerów
add: dodaje trigger
addoff: dodaje trigger (wyłączony)
addreplace: dodaje lub zastępuje istniejący trigger
nazwa: nazwa triggera
uchwyt: signal, hsignal, modifier, print, command, command_run, timer, config, focus
argumenty: argumenty dla uchwytu, w zależności od jego typu (oddzielone średnikami):
signal: nazwa(-y) signal (wymagane)
hsignal: nazwa(-y) hsignal (wymagane)
modifier: nazwa(-y) modifier (wymagane)
print: bufor, tagi, wiadomość, pomiń kolory
command: komenda (wymagane), opis, argumenty, opis argumentów, dopełnienie
command_run: komenda(-y) (wymagane)
timer: interwał (wymagane), wyrównanie sekund, ilość wywołań
config: nazwa(-y) opcji (wymagane)
focus: nazwa(-y) obszarów (wymagane)
warunki: przetwarzane warunki dla triggera
regex: jedno lub więcej wyrażeń regularnych do zastępowania ciągów w zmiennych
komenda: komenda do wykonania (wiele komend można oddzielić ";"
zwracany_kod: kod zwracany w callbacku (ok (domyślne), ok_eat, error)
addinput: ustawia wejście z domyślnymi argumentami do stworzenia triggera
input: ustawia wejście z komendą użytą do stworzenia triggera
output: wysyła komendę do stworzenia triggera do buforu
recreate: tak samo jak "input", z opcją "addreplace" zamiast "add"
set: ustawia opcje triggera
opcja: nazwa opcji: name, hook, arguments, conditions, regex, command, return_code
(aby uzyskać pomoc na temat opcji możesz wpisać: /help trigger.trigger.<nazwa>.<opcja>)
wartość: nowa wartość dla opcji
rename: zmienia nazwę triggera
copy: kopiuje trigger
enable: włącza trigger(y) (bez argumentów: włącza triggery globalnie)
disable: wyłącza trigger(y) (bez argumentów: wyłącza triggery globalnie)
toggle: zmienia stan triggera(-ów) (bez argumentów: zmienia stan triggerów globalnie)
restart: restartuje trigger(y) (tworzy na nowo uchwyty)
show: pokazuje szczegółowe informacje o triggerze (z niektórymi statystykami)
del: usuwa trigger
-all: wykonaj akcję na wszystkich triggerach
restore: przywraca trigger(y) z domyślnymi wartościami (działa tylko dla domyślnych triggerów)
default: przywraca domyślne triggery
monitor: otwiera bufor monitorowania triggerów, z opcjonalnym filtrem:
filtr: filtruje uchwyty/triggery do wyświetlenia (uchwyt musi się zaczynać od "@", na przykład "@signal"), wiele filtrów może być oddzielonych przecinkiem; dzika karta "*" jest dozwolona w nazwie każdego triggera
Kiedy callback triggera jest wywoływany, wykonywane są następujące akcje, w kolejności:
1. sprawdzenie warunków; jeśli nie są spełnione, wyjście
2. zastąpienie tekstu za pomocą rozszerzonych wyrażeń regularnych POSIX (jeśli zdefiniowane)
3. wykonanie komend(y) (jeśli zdefiniowane)
4. wyjście z kodem wyjścia (poza modifiers i focus)
Przykłady (możesz też spojrzeć na domyślne triggery za pomocą /trigger listdefault):
dodaje atrybuty tekstu *bold*, _underline_ i /italic/ (tylko w wiadomościach użytkowników):
/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}/"
ukrywa pasek z nickami na małych terminalach:
/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"
cichy zapis plików konfiguracyjnych co każdą godzinę:
/trigger add cfgsave timer 3600000;0;0 "" "" "/mute /save"
otwiera monitor triggerów i pokazuje tylko modifiers i triggery, których nazwa zaczyna się od "resize":
/trigger monitor @modifier,resize*
----
|