[[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>...]
          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
    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*
----

