//
// 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, 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 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*
----
