[[command_weechat_away]]
[command]*`away`* Abwesenheitsstatus ein-/ausschalten::
........................................
/away  [-all] [<message>]

   -all: Abwesenheitszustand auf allen Servern ändern
message: Abwesenheitsnachricht (ohne eine Nachricht wird der Abwesenheitszustand deaktivieren)
........................................

[[command_weechat_bar]]
[command]*`bar`* Infobars verwalten::
........................................
/bar  list|listfull|listitems
      add <name> <type>[,<condition>] <position> <size> <separator> <item1>[,<item2>...]
      default [input|title|status|nicklist]
      del <name>|-all
      set <name> <option> <value>
      hide|show|toggle <name>
      scroll <name> <window> <scroll_value>

         list: zeigt alle Infobars an
     listfull: zeigt eine detaillierte Liste aller Infobars an (ausführlich)
    listitems: zeigt alle Items an, die in den Infobars genutzt werden
          add: füge eine neue Infobar hinzu
         name: Name der Infobar (muss einmalig sein)
         type:   root: außerhalb eines Fensters,
               window: innerhalb eines Fensters, mit optionalen Merkmalen (siehe unten)
    condition: Merkmal(e) für eine Infobar (nur nutzbar mit der Type-Option "window"):
                 active: in einem aktiven Fenster
               inactive: in einem inaktiven Fenster
               nicklist: in Fenstern mit einer Nickliste
               weitere Merkmale: siehe /help weechat.bar.xxx.conditions und /help eval
               ohne Angabe von Merkmalen wird die Infobar immer angezeigt
     position: bottom (unten), top (oben), left (links) oder right (rechts)
         size: Größe der Infobar (in Zeichen)
    separator: 1 um eine Trennlinien zu zeichnen, bei 0 oder ohne eine Angabe, wird keine Trennlinien gezeichnet
    item1,...: Items die in der Infobar genutzt werden sollen (Items können durch Kommata oder Leerzeichen getrennt werden ("+" (verbindet Items))
      default: erstellt standardisierte Infobars
          del: entfernt eine Infobar (alle Infobars können mit der Option "-all" entfernt werden).
          set: setzt einen Wert für Infobar
       option: Option die verändert werden soll (für eine Liste aller möglichen Optionen, bitte folgenden Befehl nutzen: /set weechat.bar.<barname>.*)
        value: neuer Wert für Option
         hide: Infobar wird ausgeblendet
         show: zeigt eine ausgeblendete Infobar an
       toggle: zeigt/versteckt eine Infobar
       scroll: scrollt Infobar hoch/runter
       window: Nummer des Fensters (nutze '*' für aktuelles Fenster oder für die Root-Bars)
 scroll_value: Werte für Scroll-Funktion: 'x' oder 'y' (optional), gefolgt von '+', '-', 'b' (Beginn) oder 'e' (Ende), Wert (für +/-), und optional % (zum scrollen der Breite/Höhe in %, ansonsten wird dieser Wert als Anzahl der Zeichen interpretiert um die gescrollt werden soll)

Beispiele:
  erstellt eine Infobar mit den Items: time, buffer number + name, und Vervollständigung:
    /bar add mybar root bottom 1 0 [time],buffer_number+:+buffer_name,completion
  versteckt die Infobar (meinebar):
    /bar hide meinebar
  scrollt die Nickliste im aktuellen Buffer um 10 Zeilen nach unten:
    /bar scroll nicklist * y+10
  scrollt zum Ende der Nicklist im aktuellen Buffer:
    /bar scroll nicklist * ye
........................................

[[command_weechat_buffer]]
[command]*`buffer`* Buffer verwalten::
........................................
/buffer  list
         clear [<number>|<name>|-merged|-all]
         move|merge <number>
         swap <number1>|<name1> [<number2>|<name2>]
         unmerge [<number>|-all]
         close [<n1>[-<n2>]|<name>]
         notify <level>
         localvar
         set <property> <value>
         get <property>
         <number>|<name>

    list: alle geöffneten Buffer werden aufgelistet (ohne Angabe von Argumente wird diese Liste standardmäßig ausgegeben)
   clear: leert den Inhalt des Buffers (entweder durch Angabe der entsprechenden Nummer des Buffers oder "-merged " für zusammengefügte Buffer oder "-all" für alle Buffer. Ohne Angabe eines Arguments wird der aktuelle Buffer gelöscht)
    move: Buffer in der Liste verschieben (kann auch relativ sein, z.B. -1)
    swap: tauscht zwei Buffer miteinander aus (bei Angabe von nur einem Buffer (Buffernummer/-name), wird der aktuelle Buffer mit dem angegebenen Buffer getauscht)
   merge: fügt den aktuellen Buffer mit einem anderen Buffer zusammen (bei einem Chat-Buffer entsteht ein Mix aus beiden Buffern
         (Bei der Standardtastenbelegung kann mittels "CTRL-x" zwischen zusammengefügten Buffern umgeschaltet werden)
 unmerge: trennt Buffer wieder voneinander, falls zwei Buffer die selbe Nummer teilen
   close: Buffer schließen (Nummer oder Bereich ist optional)
  notify: setzt den Status der Benachrichtigung für den aktuellen Buffer. Folgende Möglichkeiten bestimmen den Grad der Benachrichtigung:
            none: keine Benachrichtigung
       highlight: Benachrichtigung bei hervorgehobenen Nachrichten (Highlights)
         message: Benachrichtigung bei Nachrichten von Usern + Highlights
             all: Benachrichtigung bei allen Nachrichten
           reset: Benachrichtigung auf Standardwert zurück setzen (all)
localvar: zeigt die lokalen Variablen für den aktuellen Buffer an
     set: setzt eine Eigenschaft für den aktuellen Buffer
     get: zeigt eine Eigenschaft für den aktuellen Buffer an
  number: wechselt von einem Buffer zu einem anderen, mögliche Optionen:
          '+': relativer Sprung um 'n'-Buffer
          '-': relativer Sprung, um 'n'-Buffer
          '*': wechselt zum Buffer mit der Nummer 'n'; nutzt die interne Option "weechat.look.jump_current_to_previous_buffer"
    name: wechselt zum Buffer mit dem angegebenen Namen

Beispiele:
  leert den aktuellen Buffer:
    /buffer clear
  verschiebt Buffer auf Position 5:
    /buffer move 5
  tauscht Buffer 1 und 3:
    /buffer swap 1 3
  tauscht Buffer #weechat und den aktuellen Buffer:
    /buffer swap #weechat
  verbindet Buffer mit dem Core-Buffer:
    /buffer merge 1
  trennt Buffer voneinander:
    /buffer unmerge
  schließt aktuellen Buffer:
    /buffer close
  schließt Buffer 5 bis 7:
    /buffer close 5-7
  wechselt zum Buffer: #weechat:
    /buffer #weechat
  wechselt zum nächsten Buffer:
    /buffer +1
........................................

[[command_weechat_color]]
[command]*`color`* definiert Farbaliase und stellt eine Palette der möglichen Farben dar::
........................................
/color  alias <color> <name>
        unalias <color>
        reset

  alias: weist einer Farbzahl einen Namen zu
unalias: entfernt einen Namen
  color: Farbnummer (>= 0, maximale Anzahl ist abhängig vom Terminal, üblicherweise 63 oder 255 Farben)
   name: Aliasname für eine Farbe (zum Beispiel: "orange")
  reset: setzt alle Farbpaarungen zurück (nützlich falls keine Farbpaarung mehr verfügbar sein sollte und die automatische Reset-Option deaktiviert ist, siehe Option: weechat.look.color_pairs_auto_reset)

Ohne Angabe von Argumenten wird in einem separaten Buffer die darstellbare Farbpalette angezeigt.

Beispiele:
  der Farbe 214 wird das Alias "orange" zugeordnet:
    /color alias 214 orange
  löscht die Farbe 214:
    /color unalias 214
........................................

[[command_weechat_command]]
[command]*`command`* führe explizit einen WeeChat Befehl oder eine Erweiterung aus::
........................................
/command  <plugin> <command>

 plugin: Name der Erweiterung ('weechat' für interne WeeChat Befehle)
command: auszuführender Befehl (es wird automatisch ein '/' vorangestellt, falls dieser nicht angegeben wurde)
........................................

[[command_weechat_cursor]]
[command]*`cursor`* Cursor kann frei auf dem Bildschirm bewegt werden, um Aktionen in bestimmten Bildschirmbereichen auszuführen::
........................................
/cursor  go chat|<bar>|<x>,<y>
         move up|down|left|right|area_up|area_down|area_left|area_right
         stop

  go: setzt den Cursor in den Chat Bereich, in eine Bar (Name der Bar muss angegeben werden) oder auf die Koordinaten "x,y"
move: Cursor wird in die entsprechende Richtung bewegt
stop: beendet den Cursor-Modus

Ohne Angabe von Argumenten wird der Cursor-Modus umgeschaltet.

Ist die Mausfunktion aktiviert (siehe /help mouse), startet man den Cursor-Modus mit der mittleren Maustaste und positioniert den Cursor auf diesen Punkt.

Beispiele:
  gehe zur Nickliste:
    /cursor go nicklist
  gehe zu den Koordinaten x=10, y=5:
    /cursor go 10,5
........................................

[[command_weechat_debug]]
[command]*`debug`* Debug-Kontrolle für Hauptprogramm und/oder Erweiterung::
........................................
/debug  list
        set <plugin> <level>
        dump [<plugin>]
        buffer|color|infolists|memory|tags|term|windows
        mouse|cursor [verbose]
        hdata [free]

     list: zeigt alle Erweiterungen mit Debuglevel an
      set: setzt den Level der Protokollierung für eine Erweiterung
   plugin: Name der Erweiterung ("core" für den WeeChat Kern)
    level: Debuglevel der Erweiterung (0 = deaktiviert das Debug)
     dump: Speicherabbild in die WeeChat Protokolldatei schreiben (wie bei einem Programmabsturz)
   buffer: speichert den Bufferinhalt als hexadezimale Ausgabe in die Protokolldatei
    color: zeigt Informationen über die aktuellen Farbpaarungen an
   cursor: schaltet den debug-Modus für den Cursor-Modus ein/aus
    hdata: zeigt Informationen zu hdata an (mittels free werden alle hdata Informationen aus dem Speicher entfernt)
    hooks: zeigt die aktiven Hooks an
infolists: zeigt Information über die Infolists an
   memory: gibt Informationen über den genutzten Speicher aus
    mouse: schaltet den debug-Modus für den Maus-Modus ein/aus
     tags: zeigt für jede einzelne Zeile die dazugehörigen Schlagwörter an
     term: gibt Informationen über das Terminal und verfügbare Farben aus
  windows: zeigt die Fensterstruktur an
........................................

[[command_weechat_eval]]
[command]*`eval`* wertet einen Ausdruck aus und gibt das Resultat im Buffer aus::
........................................
/eval  [-n] <expression>
       [-n] <expression1> <operator> <expression2>

        -n: zeigt das Ergebnis an, ohne dieses in den Buffer zu schreiben (debug Modus)
expression: Ausdruck welcher verarbeitet werden soll. Variablen im Format ${variable} werden ersetzt (siehe unten)
  operator: ein logischer oder vergleichender Operand:
            - logische Operanden:
                &&  boolean "und"
                ||  boolean "oder"
            - vergleichende Operanden:
                ==  gleichl
                !=  nicht gleich
                <=  kleiner oder gleich
                <   kleiner
                >=  größer oder gleich
                >   größer
                =~  stimmt mit regulärem Ausdruck überein
                !~  stimmt NICHT mit regulärem Ausdruck überein

Ein Ausdruck gilt als "wahr", sofern das Ergebnis nicht NULL, nicht leer und von "0" abweichend ist.
Der Vergleich findet zwischen zwei Integer statt, sofern die beiden Ausdrücke gültige Integer-Werte sind.
Um einen Vergleich zwischen zwei Zeichenketten zu erzwingen, müssen die Ausdrücke in Anführungszeichen gesetzt werden, zum Beispiel:
  50 > 100      ==> 0
  "50" > "100"  ==> 1

Einige Variablen werden im Ausdruck, mittels der Formatierung ${Variable}, ersetzt. Mögliche Variablen sind, nach Reihenfolge ihrer Priorität:
  1. der Name einer Option (file.section.option)
  2. der Name der lokalen Variablen für Buffer
  3. ein hdata Name/Variable (der Wert wird automatisch als Zeichenkette konvertiert), Standardmäßig wird für "window" und "buffer" das aktuelle Fenster/Buffer verwendet.
Das Format für hdata:
  hdata.var1.var2...: startet mit hdata (der Pointer muss bekannt sein) und fragt eine Variable nach der anderen ab (weitere hdata können folgen)
  hdata(list).var1.var2...: startet hdata mittels einer Liste, zum Beispiel:
    ${buffer[gui_buffers].full_name}: der vollständige Name des ersten Buffers, in der verknüpften Liste aller Buffer
    ${plugin[weechat_plugins].name}: Name der ersten Erweiterung, in der verknüpften Liste aller Erweiterungen
Die vorhandenen Namen für hdata und Variablen sind in der "Anleitung für API Erweiterung", Bereich "weechat_hdata_get". beschrieben

Beispiele:
  /eval -n ${weechat.look.scroll_amount}  ==> 3
  /eval -n ${window}                      ==> 0x2549aa0
  /eval -n ${window.buffer}               ==> 0x2549320
  /eval -n ${window.buffer.full_name}     ==> core.weechat
  /eval -n ${window.buffer.number}        ==> 1
  /eval -n ${window.buffer.number} > 2    ==> 0
  /eval -n ${window.win_width} > 100      ==> 1
  /eval -n (8 > 12) || (5 > 2)            ==> 1
  /eval -n (8 > 12) && (5 > 2)            ==> 0
  /eval -n abcd =~ ^ABC                   ==> 1
  /eval -n abcd =~ (?-i)^ABC              ==> 0
  /eval -n abcd =~ (?-i)^abc              ==> 1
  /eval -n abcd !~ abc                    ==> 0
........................................

[[command_weechat_filter]]
[command]*`filter`* Filterfunktion um Nachrichten in Buffern aus- oder einzublenden, dazu können Schlagwörter oder reguläre Ausdrücke verwendet werden::
........................................
/filter  list
         enable|disable|toggle [<name>]
         add <name> <buffer>[,<buffer>...] <tags> <regex>
         del <name>|-all

   list: alle Filter auflisten
 enable: Filter wird aktiviert (Filter werden standardmäßig aktiviert)
disable: Filter deaktivieren
 toggle: Filter de-/aktivieren
   name: Name des Filters
    add: Filter hinzufügen
    del: Filter entfernen
   -all: entfernt alle Filter
 buffer: durch Kommata getrennte Liste von Buffern in denen der Filter aktiv sein soll:
         - ist der vollständige Name eines Buffers inklusive seiner Erweiterung (Beispiel: "irc.freenode.#weechat")
         - "*" anwenden auf alle Buffer
         - beginnt ein Name mit '!' wird für diesen Buffer kein Filter genutzt
         - ein Name darf mit '*' beginnen oder enden um mehrere Buffer auszuwählen
   tags: durch Kommata  getrennte Liste von Schlagwörtern. Zum Beispiel: "irc_join,irc_part,irc_quit"
  regex: regulärer Ausdruck um in einer Zeile zu suchen
         - das Präfix (z.B. Nick) wird mittels '\t' von der Nachricht getrennt. Sonderzeichen wie '|' müssen mit einer Escapesequenz : '\|' eingebunden werden)
         - wird ein regulärer Ausdruck mit '!' eingeleitet dann wird das übereinstimmende Ergebnis umgekehrt  (nutze '\!' um mit '!' zu beginnen)
         - es werden zwei reguläre Ausdrücke erstellt: Der erste für den Präfix und der zweite für die eigentliche Nachricht
         - reguläre Ausdrücke unterscheiden nicht zwischen Groß- und Kleinschreibung. Um zwischen Groß- und Kleinschreibung zu unterscheiden müssen diese mit "(?-i)" eingeleitet werden.

Die Tastenvoreinstellung alt+'=' schaltet die Filterfunktion an/aus.

Die am häufigsten gebrauchten Schlagwörter lauten:
  no_filter, no_highlight, no_log, log0..log9 (log Level),
  notify_none, notify_message, notify_private, notify_highlight,
  nick_xxx (xxx ist durch den Nicknamen zu ersetzen), prefix_nick_ccc (ccc ist die Farbe mit der der Nick dargestellt wird),
  irc_xxx (xxx ist durch einen IRC-Befehl/-Nummer zu ersetzen, siehe /server raw)
  irc_numeric, irc_error, irc_action, irc_ctcp, irc_ctcp_reply, irc_smart_filter, away_info.
Mittels "/debug tags" kann man sich die Tags jeder einzelnen Zeile darstellen zu lassen.

Beispiele:
  aktiviert einen einfachen IRC Filter für join/part/quit/nick Nachrichten für alle Buffer:
    /filter add irc_smart * irc_smart_filter *
  aktiviert einen einfachen IRC Filter für join/part/quit/nick Nachrichten der für alle Buffer genutzt wird, außer Buffer die "#weechat" im Namen tragen:
    /filter add irc_smart *,!*#weechat* irc_smart_filter *
  filtert alle IRC join/part/quit Nachrichten:
    /filter add joinquit * irc_join,irc_part,irc_quit *
  filtert Nicks wenn diese den Channel betreten oder durch den Befehl "/names" angezeigt werden:
    /filter add nicks * irc_366 *
  filtert Nick "toto" im IRC Channel #weechat:
    /filter add toto irc.freenode.#weechat nick_toto *
  filtert Zeilen die "weechat sucks" im IRC Channel #weechat enthalten:
    /filter add sucks irc.freenode.#weechat * weechat sucks
........................................

[[command_weechat_help]]
[command]*`help`* Zeigt einen Hilfstext für Befehle und Optionen an::
........................................
/help  -list|-listfull [<plugin> [<plugin>...]]
       <command>
       <option>

    -list: zeigt alle Befehle, nach Erweiterungen sortiert (ohne Angabe von Argumente wird diese Liste standardmäßig ausgegeben)
-listfull: zeigt alle Befehle mit Beschreibung, nach Erweiterung
   plugin: zeigt Befehle explizit für diese Erweiterung an
  command: Name eines Befehls
   option: Name einer Option (nutze /set um Optionen anzeigen zu lassen)
........................................

[[command_weechat_history]]
[command]*`history`* Zeigt den Befehlsverlauf des Buffers::
........................................
/history  clear
          <value>

clear: löscht den Befehlsverlauf
value: Anzahl der gewünschten Einträgen im Befehlsverlauf anzeigen
........................................

[[command_weechat_input]]
[command]*`input`* Funktionen für die Befehlszeile::
........................................
/input  <action> [<arguments>]

Auflistung der möglichen Funktionen:
  return: simuliert die "enter" Taste
  complete_next: vervollständigt Wort mit nächster Komplettierung
  complete_previous: vervollständigt Word mit vorheriger Komplettierung
  search_text: sucht nach Text im Buffer
  search_switch_case: schaltet Groß-/Kleinschreibung ein und aus
  search_previous: sucht vorheriger Zeile
  search_next: sucht nächste Zeile
  search_stop: suche stoppen
  delete_previous_char: entfernt vorheriges Zeichen
  delete_next_char: entfernt nächstes Zeichen
  delete_previous_word: entfernt vorheriges Wort
  delete_next_word: entfernt nächstes Wort
  delete_beginning_of_line: entfernt alle Zeichen ab Zeilenanfang bis zum Cursor
  delete_end_of_line: entfernt alle Zeichen ab Cursor bis zum Ende der Zeile
  delete_line: löscht die komplette Eingabezeile
  clipboard_paste: fügt Zeichenkette aus der Zwischenablage ein
  transpose_chars: Zeichen austauschen
  undo: letzten Befehl in der Eingabezeile rückgängig machen
  redo: letzten Befehl in der Eingabezeile wiederherstellen
  move_beginning_of_line: springt an den Anfang der Eingabezeile
  move_end_of_line: springt ans Ende der Eingabezeile
  move_previous_char: setzt den Cursor eine Position nach links
  move_next_char: setzt den Cursor eine Position nach rechts
  move_previous_word: springt zum Anfang des vorherigen Wortes, in der Eingabezeile
  move_next_word: springt zum Anfang des nächsten Wortes, in der Eingabezeile
  history_previous: ruft vorherigen Befehl oder Nachricht aus dem Befehlsspeicher auf (im Such-Modus: rückwärts suchen)
  history_next: ruft nächsten Befehl oder Nachricht aus dem Befehlsspeicher auf (im Such-Modus: vorwärts suchen)
  history_global_previous: ruft vorherigen Befehl/Nachricht aus dem globalen Befehlsspeicher auf (für alle Buffer)
  history_global_next: ruft nächsten Befehl/Nachricht aus dem globalen Befehlsspeicher auf (für alle Buffer)
  jump_smart: wechselt zum nächsten Buffer mit Aktivität (nach Priorität: highlight, Nachricht, …)
  jump_last_buffer: springt zum letzten Buffer, in der Bufferliste
  jump_last_buffer_displayed: wechselt zum jeweils zuletzt angezeigten Buffer
  jump_previously_visited_buffer: springt zum letzten besuchten Buffer
  jump_next_visited_buffer: springt zum nächsten besuchten Buffer
  hotlist_clear: löscht Hotliste (Aktivitätsanzeige für die Buffer)
  grab_key: fängt eine Taste (optionales Argument: Verzögerung um eine Taste einzufangen. Standard sind 500 Millisekunden)
  grab_key_command: zeigt den Tastencode (inklusive des eingebundenen Befehls) einer Tastenkombination an und fügt ihn in die Befehlszeile ein (optionales Argument: Verzögerung um eine Taste einzufangen. Standard sind 500 Millisekunden)
  grab_mouse: fängt den Code einer Maus Aktivität
  grab_mouse_area: fängt den Code einer Maus Aktivität mit entsprechendem Bereich
  set_unread: setzt für alle Buffer die Markierung der ungelesen Nachrichten
  set_unread_current_buffer: setzt nur für den aktuellen Buffer eine Markierung der ungelesen Nachrichten
  switch_active_buffer: springt zum nächsten zusammengefügten Buffer
  switch_active_buffer_previous: springt zum vorherigen zusammengefügten Buffer
  zoom_merged_buffer: zoomt in zusammengefügte Buffer
  insert: fügt einen Text in die Eingabezeile ein
  paste_start: Einfügen wird gestartet (bracketed paste mode)
  paste_stop: Einfügen wird beendet (bracketed paste mode)

Dieser Befehl wird sinnvollerweise mittels Tastenbelegungen oder Erweiterungen genutzt.
........................................

[[command_weechat_key]]
[command]*`key`* Einer Taste einen Befehl zuordnen oder entfernen::
........................................
/key  list|listdefault|listdiff [<context>]
      bind <key> [<command> [<args>]]
      bindctxt <context> <key> [<command> [<args>]]
      unbind <key>
      unbindctxt <context> <key>
      reset <key>
      resetctxt <context> <key>
      resetall -yes [<context>]
      missing [<context>]

       list: zeigt die aktuelle Tastenbelegungen an (ohne Angabe von Argumente wird diese Liste standardmäßig ausgegeben)
listdefault: zeigt die Standardeinstellung der Tastenbelegung an
   listdiff: zeigt die Unterschiede zwischen der aktuell genutzten Tastaturbelegung und der Standardbelegung an (hinzugefügte/verändert/gelöschte Tastenbelegungen)
    context: Name des Kontextes ("default" oder "search")
       bind: belegt eine Taste mit einem Befehl oder zeigt an welcher Befehl auf eine Taste gelegt wurde (für Kontext  "default")
   bindctxt: belegt eine Taste mit einem Befehl oder zeigt an welcher Befehl auf eine Taste gelegt wurde, dies trifft für Kontext definierte Tasten zu
    command: Befehl (mehrere Befehle werden durch ein Semikolon getrennt)
     unbind: hebt eine Tastenbelegung auf (für Kontext "default")
 unbindctxt: hebt eine Tastenbelegung für den angegebenen Kontext auf
      reset: die Tastenbelegung wird für die ausgewählte Taste auf die Standardeinstellung zurück gesetzt (für Kontext "default")
  resetctxt: die Tastenbelegung wird für die ausgewählte Taste auf die Standardeinstellung zurück gesetzt, dies trifft für den ausgewählten Kontext zu
   resetall: die Tastenbelegung wird auf die Standardeinstellungen zurück gesetzt. Dies löscht ALLE persönlichen Tastenbelegungen (Vorsicht!)
    missing: fügt fehlende Tastenbelegungen hinzu (dazu wird die Standardbelegung genutzt). Dies kann sinnvoll sein wenn man auf eine neue WeeChat Version umgestiegen ist

Falls einer Taste ein Befehl zugeordnet werden soll ist es ratsam zuerst mit der Tastenkombination alt+k (oder Esc + k) einen Fangmodus zu aktivieren um damit die neu zu belegende Taste zu greifen. Durch diesen Schritt wird der entsprechende Tasten-Code in die Befehlszeile übernommen.

Für Kontext "mouse" (Kontext "cursor" ist auch möglich), hat der zu verwendende Schlüssel folgendes Format: "@area:Schlüssel" oder "@area1>area2:Schlussel". "area" kann folgende Werte habe:
          *: jedweder Bereich des Bildschirms
       chat: Chatbereich (für jeden Buffer)
  chat(xxx): Chatbereich für einen Buffer mit dem Namen "xxx" (vollständiger Name mit Erweiterung. Beispiel: chat(perl.iset):)
     bar(*): beliebige Bar
   bar(xxx): Bar mit dem Namen "xxx"
    item(*): beliebiges Bar-Item
  item(xxx): Bar-Item mit Namen "xxx"
Der zu nutzende Schlüssel kann mit '*' beginnen oder enden um mehrere unterschiedliche Mausereignisse auszuwählen.
Für den Kontext "mouse" kann ein besonderer Übergabewert für den zu nutzenden Befehl verwendet werden, "hsignal:name".  Dieses sendet das hsignal "name" und als Inhalt ein Hashtable als Argument.
Ein weiterer Übergabewert ist "-" und kann genutzt werden um einen Schlüssel zu deaktivieren (der Schlüssel wird bei der Durchführung übersprungen).

Beispiele:
  Mit der Tastenkombination "alt-x" wird die Nicklist-Bar an-und aus geschaltet:
    /key bind meta-x /bar toggle nicklist
  Mit der Tastenkombination "alt-r" wird direkt zum IRC #weechat Buffer gewechselt:
    /key bind meta-r /buffer #weechat
  Die Tastenkombination "alt-r" wird auf die Standardfunktion zurückgesetzt:
    /key reset meta-r
  "Tab"-Taste nutzen um im Kontext "search" die Suche innerhalb eines Buffers zu beenden:
    /key bindctxt search ctrl-I /input search_stop
  Auswahl eines Nicknamens mittels mittlerer Maustaste zeigt zusätzliche Informationen zu dem Nick an:
    /key bindctxt mouse @item(buffer_nicklist):button3 /msg nickserv info ${nick}
........................................

[[command_weechat_layout]]
[command]*`layout`* Layout für Buffer und Fenster speichern, anwenden oder zurücksetzen::
........................................
/layout  save [buffers|windows]
         apply [buffers|windows]
         reset [buffers|windows]

   save: speichert das aktuelle Layout
  apply: das gespeicherte Layout anwenden
  reset: das gespeicherte Layout entfernen
buffers: speichert bzw. verwendet nur Buffer (Reihenfolge der Buffer)
windows: speichert bzw. verwendet nur Fenster (Buffer welche im jeweiligen Fenster dargestellt werden)

Wird der Befehl ohne Argumente aufgerufen wird das gespeicherte Layout dargestellt.
........................................

[[command_weechat_mouse]]
[command]*`mouse`* Maussteuerung::
........................................
/mouse  enable|disable|toggle [<delay>]

 enable: aktiviert Maus
disable: deaktiviert Maus
 toggle: umschalten der Mausunterstützung
  delay: Verzögerung (in Sekunden) nach welcher der ursprüngliche Status wiederhergestellt wird (sinnvoll um die Mausunterstützung zeitabhängig zu deaktivieren)

Die Mausunterstützung wird in der Option  "weechat.look.mouse" gesichert.

Beispiele:
  Mausunterstützung aktivieren:
    /mouse enable
  Mausunterstützung für 5 Sekunden umschalten:
    /mouse toggle 5
........................................

[[command_weechat_mute]]
[command]*`mute`* Führt einen Befehl ohne Textausgabe aus::
........................................
/mute  [-current | -buffer <name> | -all] command

-current: Ausgabe im aktuellen Buffer wird unterdrückt
 -buffer: Ausgabe im ausgewählten Buffer wird unterdrückt
    name: vollständiger Buffername (Beispiel: "irc.server.freenode", "irc.freenode.#weechat")
    -all: Ausgabe wird in ALLEN Buffern unterdrückt
 command: Ein Befehl der ohne Textausgabe ausgeführt werden soll (das Präfix, '/', wird automatisch hinzugefügt, falls es dem Befehl nicht vorangestellt wurde)

Wird kein Buffer ausgewählt (-current, -buffer oder -all), dann wird lediglich die Textausgabe im WeeChat Core Buffer unterdrückt.

Beispiele:
  Speichern der Konfiguration:
  /mute save
  Nachricht in den aktuellen Channel senden:
  /mute -current msg * hi!
  Nachricht an den #weechat Channel senden:
  /mute -buffer irc.freenode.#weechat msg #weechat hi!
........................................

[[command_weechat_plugin]]
[command]*`plugin`* Erweiterungen verwalten (auflisten/installieren/deinstallieren)::
........................................
/plugin  list|listfull [<name>]
         load <filename> [<arguments>]
         autoload [<arguments>]
         reload [<name> [<arguments>]]
         unload [<name>]

     list: installierte Erweiterungen werden aufgelistet
 listfull: detaillierte Auflistung aller installierten Erweiterungen
     load: installiert eine Erweiterung
 autoload: installiert automatisch alle Erweiterungen aus dem System- oder Benutzerverzeichnis
   reload: installiert eine Erweiterung erneut (falls kein Name angegeben wird, werden alle Erweiterungen entfernt und neu installiert)
   unload: deinstalliere eine oder alle Erweiterungen (wird kein Name angegeben dann werden alle Erweiterung entfernt)
 filename: Erweiterung (Datei) welche installiert werden soll
     name: Name einer Erweiterung
arguments: Argumente die der Erweiterung beim installieren übergeben werden sollen

Ohne Angabe eines Arguments werden alle installierten Erweiterungen angezeigt.
........................................

[[command_weechat_proxy]]
[command]*`proxy`* Proxies verwalten::
........................................
/proxy  list
        add <name> <type> <address> <port> [<username> [<password>]]
        del <name>|-all
        set <name> <option> <value>

         list: listet alle Proxies auf
          add: fügt neuen Proxy hinzu
    name: Name des neuen Proxy (der Name darf nur einmal genutzt werden)
         type: http, socks4 oder socks5
      address: IP oder Hostname
         port: Port
     username: Username (optional)
     password: Passwort (optional)
          del: entfernt einen Proxy (-all um alle Proxies zu entfernen)
          set: setzt einen Wert für Proxy
       option: Optionen die geändert werden (für eine Liste der möglichen Optionen, bitte folgenden Befehl nutzen: /set weechat.proxy.<proxyname>.*)
        value: neuer Wert für Option

Beispiele:
  erstellt einen HTTP-Proxy, der auf einem lokalen Host läuft und den Port 8888 nutzt:
    /proxy add local http 127.0.0.1 8888
  erstellt einen HTTP-Proxy der das IPv6 Protokoll nutzt:
    /proxy add local http ::1 8888
    /proxy set local ipv6 on
  erstellt einen socks5-Proxy, mit Username und Passwort:
    /proxy add myproxy socks5 sample.host.org 3128 myuser mypass
  entferne einen Proxy:
    /proxy del myproxy
........................................

[[command_weechat_quit]]
[command]*`quit`* WeeChat beenden::
........................................
/quit  [-yes] [<arguments>]

     -yes: Option muss genutzt werden falls weechat.look.confirm_quit aktiviert sein sollte
arguments: Text der beim Signal "quit" verschickt wird
           (zum Beispiel sendet die IRC Erweiterung diesen Text als Quit-Nachricht an den Server)
........................................

[[command_weechat_reload]]
[command]*`reload`* Konfiguration neu laden::
........................................
/reload  [<file> [<file>...]]

file: Konfigurationsdatei die erneut geladen werden soll (ohne Dateinamenserweiterung ".conf")

Ohne Angabe von Argumenten werden alle Konfigurationen (WeeChat und Erweiterungen) neu geladen.
........................................

[[command_weechat_repeat]]
[command]*`repeat`* Führt einen Befehl mehrfach aus::
........................................
/repeat  [-interval <delay>] <count> <command>

  delay: Verzögerung zwischen dem Ausführen der Befehle (in Millisekunden)
  count: Anzahl wie oft der Befehl ausgeführt werden soll
command: Befehl welcher ausgeführt werden soll (das Befehlszeichen '/' wird automatisch hinzugefügt, falls es zum Befehlsbeginn nicht gefunden werden sollte)

Alle Befehle werden in dem Buffer ausgeführt, in welchem dieser Befehl genutzt wird.

Beispiel:
  scrolle zwei Seiten hoch:
    /repeat 2 /window page_up
........................................

[[command_weechat_save]]
[command]*`save`* Konfiguration abspeichern::
........................................
/save  [<file> [<file>...]]

file: Konfigurationsdatei die gesichert werden soll (ohne Dateinamenserweiterung ".conf")

Wird keine Datei angegeben dann werden alle Konfigurationen (WeeChat und Erweiterungen) gesichert.
........................................

[[command_weechat_set]]
[command]*`set`* Konfigurationsparameter setzen::
........................................
/set  [<option> [<value>]]
      diff [<option> [<option>...]]

option: Name der zu ändernden Option (um mehrere Optionen anzuzeigen, darf der Name mit einem Joker '*' beginnen oder enden)
 value: neuer Wert, den die Option erhalten soll
  diff: es werden nur Optionen angezeigt, die geändert wurden

Abhängig von der ausgewählten Option, kann die Variable folgenden Inhalt haben:
  boolean: on, off oder toggle
  integer: Anzahl, ++Anzahl oder --Anzahl
  string : jede Zeichenkette ("" für eine leere Zeichenkette)
  color  : Name einer Farbe, ++Anzahl oder --Anzahl

Für alle Typen von Variablen kann die Zeichenkette "null" (ohne "")  genutzt werden, um den Wert der Option zu löschen (undefinierter Wert). Dies kann nur auf einige besondere Variablen (Erweiterungen) angewendet werden.

Beispiele:
  Zeigt alle Optionen an, die etwas mit highlight zu tun haben:
    /set *highlight*
  Fügt ein highlight-Wort hinzu:
    /set weechat.look.highlight "word"
  zeigt geänderte Optionen an:
    /set diff
  zeigt geänderte Optionen, der IRC Erweiterung, an:
    /set diff irc.*
........................................

[[command_weechat_unset]]
[command]*`unset`* Konfigurationsparameter freigeben/zurücksetzen::
........................................
/unset  <option>

option: Name einer Option (darf mit Joker "*" beginnen oder enden um mehrere Optionen zurückzusetzen. Nutzen Sie diese Funktion mit äußerster Sorgfalt!)

Gemäß der jeweiligen Option wird diese zurückgesetzt (bei Standard-Optionen) oder komplett entfernt (bei optionalen Einstellungen, zum Beispiel die Server-Einstellungen).

Beispiele:
  Eine Option zurücksetzen:
    /unset weechat.look.item_time_format
  Alle Farboptionen zurücksetzen:
    /unset weechat.color.*
........................................

[[command_weechat_upgrade]]
[command]*`upgrade`* Aktualisiert WeeChat ohne die Verbindung zum Server zu trennen::
........................................
/upgrade  [<path_to_binary>|-quit]

path_to_binary: Pfad zu einer ausführbaren WeeChat Binärdatei (Standardeinstellung ist die aktuell ausführbare Datei)
         -quit: trennt *ALLE* Verbindungen, speichert die aktuelle Sitzung und beendet WeeChat, um den aktuellen Zustand später wiederherstellen (siehe unten)

Dieser Befehl führt ein Upgrade von WeeChat durch und startet die laufende Sitzung neu. Bevor dieser Befehl ausgeführt wird, sollte eine neue Version von WeeChat entweder vorab kompiliert, oder mit einem Paketmanager installiert worden sein.

Hinweis: SSL Verbindungen werden während eines Upgrades unterbrochen, da diese Verbindungen zur Zeit nicht mit GnuTLS gehalten werden können. Nach einem erfolgten Upgrade findet eine automatische Verbindung zu diesen Servern statt.

Der Upgrade Vorgang besteht aus vier Schritten:
  1. Sicherung der Sitzung, in Dateien für Core und Erweiterungen (buffers, history, ..)
  2. alle Erweiterungen werden ausgeschaltet (Konfigurationen *.conf werden gesichert)
  3. Sicherung der WeeChat Konfiguration (weechat.conf)
  4. ausführen der neuen Version von WeeChat und wiederherstellen der Sitzung.

Nutzt man die "-quit" Funktion ist die Abfolge geringfügig anders:
  1. es werden *ALLE* Verbindungen getrennt (irc,xfer,relay, ...)
  2. die Sitzung wird in Dateien gesichert (*.upgrade)
  3. alle Erweiterungen werden ausgeschaltet
  4. die WeeChat Konfiguration wird gesichert
  5. WeeChat wird beendet
Die Sitzung kann zu einem späteren Zeitpunkt wiederhergestellt werden: weechat-curses --upgrade
WICHTIG: Die Sitzung muss mit exakt den selben Konfigurationsdateien wiederhergestellt werden (*.conf)
Es ist möglich die WeeChat-Sitzung auf einem anderen Rechner wiederherzustellen, sofern man den Inhalt des "~/.weechat" Verzeichnisses dorthin kopiert.
........................................

[[command_weechat_uptime]]
[command]*`uptime`* Zeigt die Uptime von Weechat an::
........................................
/uptime  [-o | -ol]

 -o: sendet die WeeChat Laufzeit in den aktuellen Buffer (englisch)
-ol: sendet die WeeChat Laufzeit in den aktuellen Buffer (in der voreingestellten Landessprache)
........................................

[[command_weechat_version]]
[command]*`version`* Zeigt die WeeChat-Version und das Datum der Kompilierung an::
........................................
/version  [-o | -ol]

 -o: sendet die WeeChat Version in den aktuellen Buffer (englisch)
-ol: sendet die WeeChat Version in den aktuellen Buffer (in der Voreingestellten Landessprache)
........................................

[[command_weechat_wait]]
[command]*`wait`* Terminiere einen Befehl der ausgeführt werden soll::
........................................
/wait  <number>[<unit>] <command>

 number: die Zeit, die gewartet werden soll (dies muss eine natürlich Zahl sein)
   unit: mögliche Werte (optional):
           ms: Millisekunden
            s: Sekunden (Vorgabewert)
            m: Minuten
            h: Stunden
command: Befehl der ausgeführt werden soll (ohne das führende '/') oder ein Text der in dem Buffer ausgegeben werden soll

Hinweis: Der Befehl der Zeit verzögert gestartet werden soll wird im selben Buffer ausgeführt in dem auch der /wait  Befehl aufgerufen wurde. Falls der Buffer nicht gefunden werden kann,  da er in der Zwischenzeit zum Beispiel geschlossen wurde, wird der Befehl im WeeChat Core-Buffer ausgeführt.

Beispiele:
  Betritt nach 10 Sekunden den Channel #test:
  /wait 10 /join #test
  Setzt nach 15 Minuten eine globale Abwesenheit:
  /wait 15m /away -all Bin dann mal eben weg
  Versendet nach zwei Minuten den Text 'Hallo':
  /wait 2m Hallo
........................................

[[command_weechat_window]]
[command]*`window`* Fenster verwalten::
........................................
/window  list
         -1|+1|b#|up|down|left|right [-window <number>]
         <number>
         splith|splitv [-window <number>] [<pct>]
         resize [-window <number>] [+/-]<pct>
         balance
         merge [-window <number>] [all]
         page_up|page_down [-window <number>]
         refresh
         scroll [-window <number>] [+/-]<value>[s|m|h|d|M|y]
         scroll_horiz [-window <number>] [+/-]<value>[%]
         scroll_up|scroll_down|scroll_top|scroll_bottom|scroll_previous_highlight|scroll_next_highlight|scroll_unread [-window <number>]
         swap [-window <number>] [up|down|left|right]
         zoom[-window <number>]

         list: listet die geöffneten Fenster (ohne Angabe von Argumente wird diese Liste standardmäßig ausgegeben)
           -1: springt zum vorherigen Fenster
           +1: springt zum nächsten Fenster
           b#: springt zum nächsten Fenster, welches die Buffer Nummer # besitzt
           up: wechselt zum Fenster über dem aktuellen
         down: wechselt zum Fenster unter dem aktuellen
         left: wechselt zum linken Fenster
        right: wechselt zum rechten Fenster
       number: Nummer des Fensters (siehe /window list)
       splith: teilt das aktuelle Fenster horizontal
       splitv: teilt das aktuelle Fenster vertikal
       resize: verändert die Größe des aktuellen Fensters. Die neue Größe des Fensters ist prozentual <pct> zum Stammfensters groß
      balance: passt die Größe aller Fenster an
        merge: vereinigt Fenster miteinander (all = alle Fenster vereinigen)
      page_up: scrollt eine Seite nach oben
    page_down: scrollt eine Seite nach unten
      refresh: Seite wird neu aufgebaut
       scroll: scrollt eine Anzahl an Zeilen (+/-N) oder zu einer gewissen Zeit: s=Sekunden, m=Minuten, h=Stunden, d=Tage, M=Monate, y=Jahre
 scroll_horiz: scrollt horizontal eine Anzahl an Spalten (+/-N) oder prozentual von der Fenstergröße ausgehend (dieses scrolling ist nur in Buffern möglich die über einen freien Inhalt verfügen)
    scroll_up: scrollt ein paar Zeilen nach oben
  scroll_down: scrollt ein paar Zeilen nach unten
   scroll_top: scrollt zum Anfang des Buffers
scroll_bottom: scrollt zum Ende des  Buffers
scroll_previous_highlight: scrollt zum vorherigen Hightlight
scroll_next_highlight: scrollt zum nächsten Highlight
scroll_unread: springt zur ersten ungelesenen Zeile in einem Buffer
         swap: tauscht die Buffer von zwei Fenstern (mit optionaler Angabe für das Zielfenster)
         zoom: vergrößert ein Fenster auf 100%

Bei splith und splitv gibt "pct" die neue Größe des Fensters im Verhältnis zur aktuellen Größe an. Zum Beispiel würde ein Wert von 25 bedeuten, dass das neue Fenster nur noch ein Viertel der Größe des alten Fensters besitzt.

Beispiele:
  springt zum Fenster mit dem Buffer #1:
    /window b1
   scrollt zwei Zeilen hoch:
    /window scroll -2
  scrollt zwei Tage hoch: /window scroll -2d
    /window scroll -2d
  scrollt zum Beginn des aktuellen Tages:
    /window scroll -d
  Fenster #2 wird vergrößert:
    /window zoom -window 2
........................................

