Author: Sébastien Helleu

# WeeChat Benutzerhandbuch

Sébastien Helleu
flashcode@flashtux.org
version 4.3.3

Übersetzer:

- Nils Görs <weechatter@arcor.de>, 2010-2022

Diese Anleitung beschreibt den WeeChat Chat Client und ist Teil von WeeChat.

Die neueste Version dieses Dokuments finden Sie unter this page ↗.

## 1. Einleitung

WeeChat (Wee Enhanced Environment for Chat) ist ein freier, schneller und schlanker Chat-Client der für unterschiedliche Betriebssysteme entwickelt wird.

### 1.1. Funktionen

wesentliche Merkmale:

- Unterstützung verschiedener Protokolle (in der Hauptsache das IRC-Protokoll)

- mehrere Server Verbindungen sind möglich (mittels TLS, IPv6, proxy)

- klein, schnell und schlank

- den eigenen, persönlichen, Bedürfnissen anpassbar und durch Erweiterungen und Skripten in der Funktionalität erweiterbar

- IRC RFCs konform 1459 ↗, 2810 ↗, 2811 ↗, 2812 ↗, 2813 ↗ und 7194 ↗

- IRC proxy und relay für WeeChat und Remote-Schnittstellen

- Betriebssystemunabhängig (GNU/Linux, *BSD, macOS, Windows und weitere)

- 100% GPL, freie Software

Die Liste aller Funktionen finden Sie unter this page ↗.

### 1.2. Vorbereitung

Um WeeChat zu installieren wird folgendes benötigt:

- ein lauffähiges GNU/Linux System (mit Kompilierungswerkzeugen für Quellpakete), oder ein kompatibles OS

- root Privilegien (um WeeChat in das Systemverzeichnis zu installieren)

- einige Bibliotheken (siehe Abhängigkeiten).

## 2. Installation

### 2.1. Binärpaket

Binärpakete sind für folgende Distributionen erhältlich:

- Arch Linux: `pacman -S weechat`

- Cygwin (Windows): wähle das WeeChat Paket in setup.exe aus

- Debian/Ubuntu (oder Debian kompatible Distribution): `apt-get install weechat-curses weechat-plugins`
  Für neueste Versionen und nächtliche Builds: Debian repositories ↗

- Fedora Core: `dnf install weechat`

- FreeBSD: `pkg install weechat`

- Gentoo: `emerge weechat`

- Mandriva/RedHat (oder eine RPM kompatible Distribution): `rpm -i /path/to/weechat-x.y.z-1.i386.rpm`

- openSUSE: `zypper in weechat`

- Sourcemage: `cast weechat`

- macOS (mittels Homebrew ↗): `brew install weechat` (für Hilfe siehe: `brew info weechat`)

zusätzliche Pakete können bzw. sollten installiert werden. Zum Beispiel: weechat-plugins.

Für nicht aufgeführte Distributionen schauen Sie bitte in die jeweiligen Anleitung der Distribution, wie man Pakete installiert.

### 2.2. Container

Container mit WeeChat können direkt erstellt oder installiert werden von Docker Hub ↗.
Weitere Informationen finden Sie in der README in dem weechat-container ↗ Repositorium.

### 2.3. Quellpakete

WeeChat muss mit CMake erstellt werden.

| Unter macOS kann Homebrew ↗ verwendet werden: `brew install --build-from-source weechat`.

#### Abhängigkeiten

Die folgende Tabelle zeigt eine Auflistung der Pakete, die zum Erstellen von WeeChat erforderlich sind:

Paket (1) | Version | Funktionen
--- | --- | ---
C Kompiler (gcc / clang) |  | kompiliert C Quelldaten.
cmake | ≥ 3.0 | bauen.
pkg-config |  | entdeckt installierte Bibliotheken.
libncurses-dev |  | Ncurses Oberfläche.
libcurl4-gnutls-dev |  | URL Transfer.
libgcrypt20-dev |  | Geschützte Daten, IRC SASL Authentifikation.
libgnutls28-dev | ≥ 2.2.0 (2) | IRC-Erweiterung: Unterstützung von TLS Verbindungen, IRC SASL Authentifikation (ECDSA-NIST256P-CHALLENGE). Relay-Erweiterung: Untersützung von TLS Verbindungen.
zlib1g-dev |  | Logger-Erweitertung: Kompression von rotierenden Protokolldateien (gzip). Relay-Erweiterung: Kompression von Nachrichten (WeeChat → client) with zlib ↗ (api und weechat Protokollen). Script-Erweiterung: Lesen der Repository-Indexdatei (gzip).

| (1) Der Name stammt von der Debian GNU/Linux Bookworm-Distribution, Version und Name können in anderen Distributionen anders lauten. (2) GnuTLS ≥ 3.0.21 wird benötigt um eine IRC SASL Authentifizierung mittels ECDSA-NIST256P-CHALLENGE durchzuführen.

Die folgende Tabelle zeigt die Liste der Pakete, die zum Kompilieren von WeeChat optional sind:

Paket (1) | Version | Funktionen
--- | --- | ---
C++ compiler (g++ / clang++) |  | zum Erstellen der Binärdatei und um Test auszuführen, JavaScript Erweiterung.
gettext |  | Internationalisierung (Übersetzung der Mitteilungen; Hauptsprache ist englisch).
ca-certificates |  | Zertifikate für TLS Verbindungen.
libcjson-dev |  | Relay-Erweiterung: Protokoll "api" (HTTP REST API).
libzstd-dev | ≥ 0.8.1 | Logger-Erweiterung: Kompression von rotierenden Protokolldateien (zstandard). Relay-Erweiterung: Kompression von Nachrichten (WeeChat → client) with Zstandard ↗ (api and weechat protocols).
libaspell-dev / libenchant-dev |  | Spell Erweiterung.
python3-dev | ≥ 3.0 | Python Erweiterung.
libperl-dev |  | Perl Erweiterung.
ruby3.1, ruby3.1-dev | ≥ 1.9.1 | Ruby Erweiterung.
liblua5.4-dev |  | Lua Erweiterung.
tcl-dev | ≥ 8.5 | Tcl Erweiterung.
guile-3.0-dev | ≥ 2.0 | Guile (scheme) Erweiterung.
libv8-dev | ≤ 3.24.3 | JavaScript Erweiterung.
php-dev | ≥ 7.0 | PHP Erweiterung.
libphp-embed | ≥ 7.0 | PHP Erweiterung.
libxml2-dev |  | PHP Erweiterung.
libargon2-dev |  | PHP Erweiterung (wenn PHP ≥ 7.2).
libsodium-dev |  | PHP Erweiterung (wenn PHP ≥ 7.2).
asciidoctor | ≥ 1.5.4 | zum Erstellen der man page und der Dokumentation.
ruby-pygments.rb |  | Build Dokumentation.
libcpputest-dev | ≥ 3.4 | zum Erstellen und um Test auszuführen.

| (1) Der Name stammt von der Debian GNU/Linux Bookworm-Distribution, Version und Name können in anderen Distributionen anders lauten.

Falls eine Debian/Ubuntu basierte Distribution genutzt wird und man einen "deb-src" Quelleintrag in /etc/apt/sources.list eingetragen hat, dann ist es mit folgendem Befehl möglich alle notwendigen Abhängigkeiten zu installieren:

    # apt-get build-dep weechat

#### Erstellen

- Installation in das Systemverzeichnis (benötigt root Privilegien):

    $ mkdir build
    $ cd build
    $ cmake ..
    $ make
    $ sudo make install

- Installation in ein benutzerdefiniertes Verzeichnis (zum Beispiel ins Heimatverzeichnis):

    $ mkdir build
    $ cd build
    $ cmake .. -DCMAKE_INSTALL_PREFIX=/Pfad/zum/Verzeichnis
    $ make
    $ make install

Optionen für CMake können mit dem Format, `-DOPTION=VALUE`, genutzt werden.

Liste der verfügbaren Optionen:

Option | Wert | Standardwert | Beschreibung
--- | --- | --- | ---
`CMAKE_BUILD_TYPE` | `Debug`, `Release`, `RelWithDebInfo`, `MinSizeRel` |  | Art des builds: `Debug` (oder `RelWithDebInfo`) sollte verwendet werden, wenn meine eine Entwicklerversion von WeeChat nutzt.
`CMAKE_INSTALL_PREFIX` | Verzeichnis | `/usr/local` | Verzeichnis in welchem WeeChat installiert wird.
`WEECHAT_HOME` | Verzeichnis | `(empty string)` | Standard-Verzeichnis in welchem die Daten liegen. Bei einem leeren Wert (empfohlen) werden standardmäßig XDG-Verzeichnisse verwendet. Wird ein Verzeichnis angegeben, wird dieses Verzeichnis für alle Dateien verwendet. Man kann auch vier, durch Doppelpunkt, getrennten Verzeichnissen angeben. Die Reihenfolge gibt folgende Ziele an: Konfiguration, Daten, Cache, Laufzeit.
`ENABLE_ALIAS` | `ON`, `OFF` | `ON` | kompiliert Alias Erweiterung.
`ENABLE_BUFLIST` | `ON`, `OFF` | `ON` | kompiliert Buflist Erweiterung.
`ENABLE_CHARSET` | `ON`, `OFF` | `ON` | kompiliert Charset Erweiterung.
`ENABLE_CJSON` | `ON`, `OFF` | `ON` | Unterstützung von JSON mittels cJSON ↗ Bibliothek.
`ENABLE_MAN` | `ON`, `OFF` | `OFF` | erstellt die man page.
`ENABLE_DOC` | `ON`, `OFF` | `OFF` | erstellt die HTML Dokumentation.
`ENABLE_DOC_INCOMPLETE` | `ON`, `OFF` | `OFF` | Erstellung der Dokumentation erzwingen, auch wenn einige Erweiterungen nicht kompiliert sind (nicht empfohlen: Dokumente sind unvollständig).
`ENABLE_ENCHANT` | `ON`, `OFF` | `OFF` | kompiliert Spell Erweiterung mittels Enchant.
`ENABLE_EXEC` | `ON`, `OFF` | `ON` | kompiliert Exec Erweiterung.
`ENABLE_FIFO` | `ON`, `OFF` | `ON` | kompiliert Fifo Erweiterung.
`ENABLE_FSET` | `ON`, `OFF` | `ON` | kompiliert Fset Erweiterung.
`ENABLE_GUILE` | `ON`, `OFF` | `ON` | kompiliert Guile Erweiterung (Scheme).
`ENABLE_HEADLESS` | `ON`, `OFF` | `ON` | Kompilieren der headless Binärdatei.
`ENABLE_IRC` | `ON`, `OFF` | `ON` | kompiliert IRC Erweiterung.
`ENABLE_JAVASCRIPT` | `ON`, `OFF` | `OFF` | kompiliert JavaScript Erweiterung.
`ENABLE_LARGEFILE` | `ON`, `OFF` | `ON` | Unterstützung großer Dateien.
`ENABLE_LOGGER` | `ON`, `OFF` | `ON` | kompiliert Logger Erweiterung.
`ENABLE_LUA` | `ON`, `OFF` | `ON` | kompiliert Lua Erweiterung.
`ENABLE_NCURSES` | `ON`, `OFF` | `ON` | kompiliert Ncurses Oberfläche.
`ENABLE_NLS` | `ON`, `OFF` | `ON` | aktiviert NLS (Übersetzungen).
`ENABLE_PERL` | `ON`, `OFF` | `ON` | kompiliert Perl Erweiterung.
`ENABLE_PHP` | `ON`, `OFF` | `ON` | kompiliert PHP Erweiterung.
`ENABLE_PYTHON` | `ON`, `OFF` | `ON` | kompiliert Python Erweiterung.
`ENABLE_RELAY` | `ON`, `OFF` | `ON` | kompiliert Relay Erweiterung.
`ENABLE_RUBY` | `ON`, `OFF` | `ON` | kompiliert Ruby Erweiterung.
`ENABLE_SCRIPT` | `ON`, `OFF` | `ON` | kompiliert Script Erweiterung.
`ENABLE_SCRIPTS` | `ON`, `OFF` | `ON` | kompiliert Skripten-Erweiterungen (Python, Perl, Ruby, Lua, Tcl, Guile, PHP).
`ENABLE_SPELL` | `ON`, `OFF` | `ON` | kompiliert Spell Erweiterung.
`ENABLE_TCL` | `ON`, `OFF` | `ON` | kompiliert Tcl Erweiterung.
`ENABLE_TRIGGER` | `ON`, `OFF` | `ON` | kompiliert Trigger Erweiterung.
`ENABLE_TYPING` | `ON`, `OFF` | `ON` | kompiliert Typing Erweiterung.
`ENABLE_XFER` | `ON`, `OFF` | `ON` | kompiliert Xfer Erweiterung.
`ENABLE_ZSTD` | `ON`, `OFF` | `ON` | aktiviere Zstandard ↗ Kompression.
`ENABLE_TESTS` | `ON`, `OFF` | `OFF` | kompiliert Testumgebung.
`ENABLE_CODE_COVERAGE` | `ON`, `OFF` | `OFF` | kompilieren mit Optionen für Testabdeckung. Diese Option sollte nur für Testzwecke genutzt werden.

Weitere Optionen können mit folgendem Befehl angezeigt werden:

    $ cmake -LA

oder mittels der Curses-Oberfläche:

    $ ccmake ..

#### Tests

Folgende Pakete werden benötigt um Tests zu kompilieren:

- libcpputest-dev

- C++ compiler

Tests muss aktiviert werden wenn WeeChat kompiliert wird:

    $ cmake .. -DENABLE_TESTS=ON

Nach der Kompilierung wird die Testumgebung im build-Verzeichnis ausgeführt:

    $ ctest -V

### 2.4. Git Quellen

Warnung: Git Quellen sollten nur von erfahrenen Nutzern verwendet werden. Eventuell lassen sich die Quellen nicht kompilieren oder der Code ist nicht stabil. Sie sind hiermit gewarnt!

Um die Git Quellen zu beziehen nutzen Sie folgende Befehle:

    $ git clone https://github.com/weechat/weechat.git

Folgen Sie bitte der Anleitung zur Erstellung aus Quellpaketen (siehe Quellpakete).

### 2.5. Abstürze melden

Falls WeeChat abgestürzt sein sollte und Sie diesen Fehler melden möchten:

- kompilieren Sie mit:

  - Debug-Information (oder installieren Sie das Binärpaket mit Debug-Information)

  - Kompilation mit Adressbereiniger (optional)

- aktivieren Sie core Dateien auf Ihrem System

- installieren Sie gdb

#### Debug-Build

Bei der Kompilierung mit CMake muss folgende Option gesetzt werden:

    $ cmake .. -DCMAKE_BUILD_TYPE=Debug

#### Address Sanitizer

Sie können zusätzlich den Adress-Sanitizer aktivieren, der bei Problemen sofort zum Absturz von WeeChat führt:

    $ cmake .. -DCMAKE_BUILD_TYPE=Debug -DCMAKE_C_FLAGS=-fsanitize=address -DCMAKE_CXX_FLAGS=-fsanitize=address -DCMAKE_EXE_LINKER_FLAGS=-fsanitize=address

| Sie sollten die Adressbereinigung nur aktivieren, wenn Sie versuchen, einen Absturz zu provozieren. Diese Funktion wird im produktiven Einsatz nicht empfohlen.

Nach dem Kompilieren und Installieren müssen Sie WeeChat folgendermaßen ausführen:

    $ ASAN_OPTIONS="detect_odr_violation=0 log_path=asan.log" weechat

Im Falle eines Absturzes befinden sich zusätzliche Informationen in der Datei, `asan.log`.

#### Core Dateien

Um core Dateien zu aktivieren kann folgende Option genutzt werden: weechat.startup.sys_rlimit:

    /set weechat.startup.sys_rlimit "core:-1"

Wird eine WeeChat Version ≤ 0.3.8 verwendet oder man möchte die core Dateien aktivieren, bevor WeeChat gestaret wird, wird der Befehl `ulimit` benötigt.

Zum Beispiel muss unter Linux in einer bash Shell folgender Befehl in die `~/.bashrc` Datei eingetragen werden:

    ulimit -c unlimited

optional kann noch die maximale Dateigröße bestimmt werden:

    ulimit -c 200000

#### Rückverfolgung mit gdb

Sollte WeeChat abstürzen, wird durch das System eine core oder core.12345 Datei erstellt (12345 ist dabei die Prozess-ID). Dazu muss aber die entprechende Option aktiviert sein. Diese Core-Datei wird in dem Verzeichnis erzeugt aus welchem WeeChat gestartet wurde (dies ist nicht das Verzeichnis in welchem sich WeeChat befindet!).

| Auf einigen Systemen wie Archlinux, kann sich die Core-Datei in einem anderen Verzeichnis befinden, z.B. /var/lib/systemd/coredump und es muss der `coredumpctl` Befehl genutzt werden um die Datei zu lesen. Weitere Informationen finden Sie hier wiki page ↗.

Beispiel: weechat ist in /usr/bin/ installiert und die core Datei befindet sich in /home/user/. Nun wird gdb mit folgendem Befehl aufgerufen:

    gdb /usr/bin/weechat /home/user/core

Nun startet man gdb und führt den Befehl `bt full` innerhalb der gdb Umgebung aus, um die Fehlermeldung auszugeben. Eine Fehlermeldung von gdb sieht z.B. wie folgt aus:

    (gdb) set logging file /tmp/crash.txt
    (gdb) set logging on
    Copying output to /tmp/crash.txt.
    (gdb) bt full
    #0  0x00007f9dfb04a465 in raise () from /lib/libc.so.6
    #1  0x00007f9dfb04b8e6 in abort () from /lib/libc.so.6
    #2  0x0000000000437f66 in weechat_shutdown (return_code=1, crash=1)
        at /some_path/src/core/weechat.c:351
    #3  <signal handler called>
    #4  0x000000000044cb24 in hook_process_timer_cb (arg_hook_process=0x254eb90,
        remaining_calls=<value optimized out>) at /some_path/src/core/core-hook.c:1364
            hook_process = 0x254eb90
            status = <value optimized out>
    #5  0x000000000044cc7d in hook_timer_exec ()
        at /some_path/src/core/core-hook.c:1025
            tv_time = {tv_sec = 1272693881, tv_usec = 212665}
            ptr_hook = 0x2811f40
            next_hook = 0x0
    #6  0x000000000041b5b0 in gui_main_loop ()
        at /some_path/src/gui/curses/gui-curses-main.c:319
            hook_fd_keyboard = 0x173b600
            tv_timeout = {tv_sec = 0, tv_usec = 0}
            read_fds = {fds_bits = {0 <repeats 16 times>}}
            write_fds = {fds_bits = {0 <repeats 16 times>}}
            except_fds = {fds_bits = {0 <repeats 16 times>}}
            max_fd = <value optimized out>

Diese Fehlermeldung senden Sie bitte an den Entwickler mit einer Beschreibung was den Fehler ausgelöst hat.

Danke für Ihre Mithilfe!

#### Eine laufende Sitzung von WeeChat debuggen

Um eine laufende Sitzung von WeeChat zu debuggen (zum Beispiel wenn WeeChat nicht mehr reagieren sollte) sollte man gdb mit der Prozess-ID starten (12345 muss durch die PID des laufenden weechat Prozesses ersetzt werden):

    gdb /usr/bin/weechat 12345

Sollte WeeChat abgestürzt sein, muss der Befehl `bt full` genutzt werden:

    (gdb) bt full

## 3. WeeChat starten

Um WeeChat zu starten muss folgender Befehl ausgeführt werden:

    $ weechat

Wird WeeChat das erste mal ausgeführt, wird die Standardkonfiguration und die entsprechenden Dateien im Verzeichnis ~/.config/weechat erstellt. (siehe Dateien und Verzeichnisse).

### 3.1. Optionen für Befehlszeile

-a, --no-connect

  deaktiviert das automatische Verbinden mit den Servern beim Start von WeeChat.

-c, --colors

  zeigt die Standardfarben im Terminal an.

--daemon

  startet WeeChat im Hintergrund, als Deamon (funktioniert nur mit dem Befehl weechat-headless).

--stdout

  die Programmausgabe findet in der Standardausgabe an, anstatt sie in die Protokolldatei zu schreiben Display log messages on standard output instead of writing them in log file (funktioniert ausschließlich mit weechat-headless und ist nicht kompatibel mit Option "--daemon").

-d, --dir <path>

  Erzwingen Sie ein einzelnes Verzeichnis für alle WeeChat-Dateien (Verzeichnis wird erstellt, wenn es nicht gefunden wird). Es können vier Verzeichnisse angegeben werden, die durch Doppelpunkte getrennt sind (folgende Reihenfolge: Konfiguration, Daten, Cache, Laufzeit). Wird diese Option nicht genutzt, wird die Umgebungsvariable WEECHAT_HOME genutzt (sofern diese vorhanden ist).

-t, --temp-dir

  Erstellt ein temporäres WeeChat Heimatverzeichnis welches beim Beenden gelöscht wird (nicht nutzbar mit Option "-d").
  Der Name des Verzeichnisses wird automatisch durch WeeChat vergeben, die Vorgabe für den Namen lautet: "weechat_temp_XXXXXX" ("XXXXXX" ist dabei ein zufälliger Wert). Dieses Verzeichnis wird dann im ersten möglichen Verzeichnis angelegt und anhand folgender Reihenfolge bestimmt: Umgebungsvariable "TMPDIR", "/tmp" (kann abweichend sein, abhängig vom verwendeten Betriebssystem), Umgebungsvariable "HOME", aktuelles Verzeichnis.
  Das temporäre Heimatverzeichnis besitzt die Berichtigung 0700 (nur Besitzer kann lesen, schreiben und ausführen).

-h, --help

  zeigt einen Hilfstext an.

-l, --license

  zeigt die Lizenz von WeeChat an.

-p, --no-plugin

  unterbindet das Laden der Erweiterungen beim Programmstart.

-P, --plugins <plugins>

  lädt nur die angegebenen Erweiterungen, beim Start (siehe /help weechat.plugin.autoload). Wenn diese Option genutzt wird, dann wird die Option weechat.plugin.autoload ignoriert.

-r, --run-command <command>

  führt einen oder mehrere Befehle nach dem Start aus; mehrere Befehle können durch ein Semikolon getrennt werden, diese Option kann mehrfach genutzt werden.

-s, --no-script

  Skripten werden beim Programmstart nicht geladen.

--upgrade

  führt ein WeeChat Upgrade mit Sitzungsdateien durch, die mittels dem Befehl `/upgrade -quit` erstellt wurden.

-v, --version

  zeigt die Version von WeeChat an.

plugin:option

  Option für Erweiterung.

Einige zusätzliche Optionen sollten nur für Debug-Zwecke genutzt werden:

| KEINE dieser Optionen sollte für ein Produktivsystem genutzt werden!

--no-dlclose

  die Funktion dlclose wird nicht ausgeführt, nachdem Erweiterungen beendet wurden Dies ist sinnvoll für Tools wie Valgrind um den Stack für Erweiterungen anzuzeigen, welche beendet wurden.

--no-gnutls

  Es wird die init und deinit Funktion der GnuTLS Bibliothek nicht verwendet. Dies ist sinnvoll für Tools wie Valgrind und electric-fence, um GnuTLS Speicherfehler zu vermeiden.

--no-gcrypt

  Es wird die init und deinit Funktion der Gcrypt Bibliothek nicht verwendet. Dies ist sinnvoll für Tools wie Valgrind um Speicherfehler von Gcrypt zu vermeiden.

### 3.2. Umgebungsvariablen

Einige Umgebungsvariablen werden von WeeChat genutzt, sofern sie definiert wurden:

Name | Beschreibung
--- | ---
`WEECHAT_HOME` | Das WeeChat Verzeichnis (beinhaltet Konfigurationsdateien, Protokolldateien, Skripten, …​). Gleiches Verhalten wie CMake option `WEECHAT_HOME`.
`WEECHAT_PASSPHRASE` | Die Passphrase zum Entschlüsseln von schutzwürdigen Daten.
`WEECHAT_EXTRA_LIBDIR` | Ein zusätzliches Verzeichnis um Erweiterungen zu installieren (vom "plugins" Verzeichnis in dieses Verzeichnis).

### 3.3. Farbunterstützung

WeeChat kann bis zu 32767 Farbpaarungen nutzen um einen Text in Bars oder im Chatbereich darzustellen (der Terminal muss natürlich 256 Farben unterstützten).

Gemäß der Einstellung in der TERM-Umgebungsvariable bestehen folgende Einschränkungen was die Farbdarstellung in WeeChat betrifft:

$TERM | Farben | Paare
--- | --- | ---
"rxvt-unicode", "xterm", …​ | 88 | 32767
"rxvt-256color", "xterm-256color", …​ | 256 | 32767
"screen" | 8 | 64
"screen-256color" | 256 | 32767
"tmux" | 8 | 64
"tmux-256color" | 256 | 32767

Mittels `weechat --colors` oder dem internen WeeChat-Befehl `/color` kann man sich die Einschränkungen für die jeweilige Umgebungsvariable anzeigen lassen.

Folgende Werte sind für die TERM-Umgebungsvariable zu empfehlen, sofern man 256 Farben nutzen möchte:

- falls screen genutzt wird: screen-256color

- für tmux: screen-256color oder tmux-256color

- ausserhalb screen/tmux: xterm-256color, rxvt-256color, putty-256color, …​

| Es sollte das Paket "ncurses-term" installiert werden um die Werte der TERM Variable nutzen zu können.

Sollte screen genutzt werden, fügt man folgende Zeile an das Ende der Datei ~/.screenrc:

    term screen-256color

Sollte die Umgebungsvariable TERM falsch gesetzt worden sein und WeeChat wird derweil schon ausgeführt, kann die Variable mit folgenden zwei Befehlen geändert werden:

    /set env TERM screen-256color
    /upgrade

### 3.4. Dateien und Verzeichnisse

#### XDG directories

WeeChat verwendet standardmäßig XDG-Verzeichnisse (gemäß XDG Base Directory Specification ↗).
Ein einzelnes Home-Verzeichnis für alle Dateien kann durch die CMake-Option `WEECHAT_HOME`, die Umgebungsvariable `WEECHAT_HOME` oder die Befehlszeilenoption `-d` / `--dir` erzwungen werden. Wenn ein einzelnes WeeChat-Ausgangsverzeichnis nicht erzwungen wird, werden XDG-Verzeichnisse wie folgt verwendet und festgelegt:

Verzeichnis | Standardwert | Ersatzverzeichnis, falls $XDG_XXX nicht definiert wurde
--- | --- | ---
Konfiguration | `$XDG_CONFIG_HOME/weechat` | `$HOME/.config/weechat`
Daten | `$XDG_DATA_HOME/weechat` | `$HOME/.local/share/weechat`
Cache | `$XDG_CACHE_HOME/weechat` | `$HOME/.cache/weechat`
Laufzeit | `$XDG_RUNTIME_DIR/weechat` | Wie beim Cache Verzeichnis

Die Konfigurationsdateien werden beim ersten Ausführen von WeeChat mit Standardwerten erstellt.

#### WeeChat Verzeichnisse

Es gibt folgende WeeChat Verzeichnisse:

Pfad (1) | Beschreibung
--- | ---
`~/.config/weechat/` | WeeChat Konfigurationsdateien: `*.conf`, Zertifikate, etc.
`~/.local/share/weechat/` | WeeChat Daten: Protokolldateien, Skripts, Skriptdaten, xfer-Daten, etc.
`logs/` | Logdateien (eine Datei pro Buffer).
`python/` | Python-Skripten.
`autoload/` | Python-Skripten die beim Start automatisch ausgeführt werden (2).
`perl/` | Perl-Skripten.
`autoload/` | Perl-Skripten die beim Start automatisch ausgeführt werden (2).
`ruby/` | Ruby-Skripten.
`autoload/` | Ruby-Skripten die beim Start automatisch ausgeführt werden (2).
`lua/` | Lua-Skripten.
`autoload/` | Lua-Skripten die beim Start automatisch ausgeführt werden (2).
`tcl/` | Tcl-Skripten.
`autoload/` | Tcl-Skripten die beim Start automatisch ausgeführt werden (2).
`guile/` | Guile-Skripten.
`autoload/` | Guile-Skripten die beim Start automatisch ausgeführt werden (2).
`javascript/` | JavaScript-Skripten.
`autoload/` | JavaScript-Skripten die beim Start automatisch ausgeführt werden (2).
`php/` | PHP-Skripten.
`autoload/` | PHP-Skripten die beim Start automatisch ausgeführt werden (2).
`~/.cache/weechat/` | WeeChat Cache-Dateien: Skriptcache.
`/run/user/1000/weechat/` | WeeChat Laufzeitdateien: FIFO-Pipe, Relay UNIX sockets.

| (1) XDG-Verzeichnisse können je nach Umgebungsvariablen unterschiedlich sein `XDG_*`. (2) Das Verzeichnis besteht meistens aus symbolischen Links welche auf das eigentliche Skript zeigen.

#### WeeChat Dateien

Folgende Dateien befinden sich im WeeChat-Heimatverzeichnis:

Datei | Beschreibung | sensible Daten
--- | --- | ---
`weechat.conf` | Hauptkonfiguration von WeeChat | möglich (Beispiel: Auflistung der Kanäle im Buffers-Layout).
`sec.conf` | Konfigurationsdatei mit sensiblen Daten | Ja, hoch sensibel: diese Datei sollte niemals weitergegeben werden.
`plugins.conf` | Konfigurationsdatei für Erweiterungen | möglich, hängt von der Erweiterung/Skript ab.
`alias.conf` | Konfigurationsdatei: Alias-Erweiterung | möglich, hängt von den Aliases ab.
`buflist.conf` | Konfiguration für buflist-Erweiterung | Nein.
`charset.conf` | Konfiguration für charset-Erweiterung | Nein.
`exec.conf` | Konfiguration für exec-Erweiterung | Nein.
`fifo.conf` | Konfiguration für fifo-Erweiterung | Nein.
`fset.conf` | Konfiguration für fset-Erweiterung | Nein.
`guile.conf` | Konfiguration für guile-Erweiterung | Nein.
`irc.conf` | Konfiguration für irc-Erweiterung | Ja: Datei kann Passwörter für Server, Nickserv oder Kanäle enthalten (sofern diese nicht in `sec.conf` gesichert sind).
`javascript.conf` | Konfiguration für javascript-Erweiterung | Nein.
`logger.conf` | Konfiguration für logger-Erweiterung | Nein.
`lua.conf` | Konfiguration für lua-Erweiterung | Nein.
`perl.conf` | Konfiguration für perl-Erweiterung | Nein.
`php.conf` | Konfiguration für php-Erweiterung | Nein.
`python.conf` | Konfiguration für python-Erweiterung | Nein.
`relay.conf` | Konfiguration für relay-Erweiterung | Ja: es kann das Relay-Passwort und das TOTP (Einmalkennwort) enthalten (sofern nicht in `sec.conf` gesichert), erlaubt OP Adressen/Websocket und geöffnete Ports.
`ruby.conf` | Konfiguration für ruby-Erweiterung | Nein.
`script.conf` | Konfiguration für script-Erweiterung | Nein.
`spell.conf` | Konfiguration für spell-Erweiterung | Nein.
`tcl.conf` | Konfiguration für tcl-Erweiterung | Nein.
`trigger.conf` | Konfiguration für trigger-Erweiterung | möglich, hängt von den Triggern ab.
`typing.conf` | Konfiguration für typing-Erweiterung | Nein.
`xfer.conf` | Konfiguration für xfer-Erweiterung | Nein.
`weechat.log` | WeeChat Logdateien | Nein.

| Es wird nicht empfohlen die Konfigurationsdateien manuell zu editieren, da WeeChat diese Dateien zu jeder Zeit überschreiben kann (zum Beispiel: /quit) und man eine veränderte Datei mit dem Befehl /reload neu laden muss (mit dem Risiko von Datenverlust da Daten kommentarlos überschrieben werden, bevor man diese ggf. gesichert hat /save). Man sollte immer den /set Befehl nutzen, da der Befehl die Eingabe prüft und Änderungen sofort wirksam werden.

## 4. Upgrade

Wenn eine neue stabile Version von WeeChat veröffentlicht wird, ist es Zeit auf diese neue Version zu wechseln.

Zunächst müssen Sie die neue WeeChat Version als Binärdatei installieren. Entweder installieren Sie WeeChat mittels Ihrem Paketmanager oder Sie kompilieren WeeChat selber. Dadurch befindet sich die `weechat`-Binärdatei und alle erforderlichen Dateien in den selben Pfaden.
Diese Installation kann durchgeführt werden, während WeeChat ausgeführt wird.

### 4.1. Upgrade Befehl

WeeChat kann die neue Binärdatei mit Hilfe des /upgrade Befehls starten: der Bufferinhalt und nicht-TLS Verbindungen bleiben dabei erhalten.
Eine TLS-Verbindung wird während des Upgrades getrennt und wird automatisch, nach dem Beenden des Upgrades, wiederhergestellt (das aufrechterhalten einer TLS-Sitzungen ist derzeit, mit GnuTLS, nicht möglich).

Der Befehl kann auch verwendet werden, wenn Sie den Computer neu starten müssen, z.B. um den Kernel zu aktualisieren oder WeeChat auf einen anderen Computer zu verschieben:

    /upgrade -quit

Dies speichert den aktuellen Status in `*.upgrade`-Dateien. Sie können dann entweder die gesamten WeeChat-Verzeichnisse (Konfiguration, Daten, Cache) neu starten oder auf einen anderen Computer verschieben und WeeChat später mit diesem Befehl neu starten:

    $ weechat --upgrade

### 4.2. Neustart nach Upgrade

#### Versionshinweise

Nach einem Upgrade wird dringend empfohlen die, Versionshinweise ↗ zu lesen, denn dort sind wichtige Informationen zu Änderungen enthalten und ob eventuell ein manuelles Eingreifen erforderlich sein könnte.

Sie müssen die Versionshinweise aller Versionen zwischen Ihrer alten (abgelaufenen) und Ihrer neuen Version (enthalten) lesen.
Wenn Sie beispielsweise von Version 3.0 auf 3.2 wechseln, müssen Sie die Versionshinweise der Versionen 3.1 und 3.2 lesen.

#### Konfigurations-Upgrade

WeeChat hat ein automatisches Upgrade für Konfigurationsdateien (`*.conf`):

- Neue Optionen werden stillschweigend mit dem Standardwert hinzugefügt

- Veraltete Optionen werden automatisch verworfen. WeeChat zeigt eine Warnung, mit dem Wert der eingestellt war, im Core-Buffer, an.

Beispiel für eine Warnung, wenn eine Option entfernt wurde:

    =!= Warnung: /home/user/.config/weechat/sec.conf, Zeile 15: unbekannte Einstellung für Sektion "crypt": passphrase_file = ""

Das bedeutet, dass die Option "sec.crypt.passphrase_file" entfernt wurde und der Wert für diese Option eine leere Zeichenkette war. Dies war der Standardwert in der vorherigen Version (in diesem Fall ist kein manuelles Eingreifen erforderlich).

## 5. Schnittstelle

### 5.1. Bildschirmgestaltung

Beispiel des WeeChat-Terminals:

     ▼ Bar "buflist"   ▼ Bar "title"
    ┌──────────────────────────────────────────────────────────────────────────────────────┐
    │1.libera │Welcome to #test, this is a test channel                                    │
    │  weechat│12:52:27   --> | Flashy (flashcode@weechat.org) has joined #test    │@Flashy│
    │2.  #test│12:52:27    -- | Nicks #test: [@Flashy @joe +weebot peter]          │@joe   │
    │3.  #abc │12:52:27    -- | Channel #test: 4 nicks (2 ops, 1 voice, 1 normal)  │+weebot│
    │4.  #def │12:52:27    -- | Channel created on Tue Jan 27 06:30:17 2009        │peter  │
    │5.  #ghi │12:54:15 peter | hey!                                               │       │
    │         │12:55:01  @joe | hello                                              │       │
    │         │                                                                    │       │
    │         │                                                                    │       │
    │         │                                                                    │       │
    │         │                                                                    │       │
    │         │                                                                    │       │
    │         │                                                                    │       │
    │         │                                                                    │       │
    │         │                                                                    │       │
    │         │                                                                    │       │
    │         │                                                                    │       │
    │         │                                                                    │       │
    │         │[12:55] [5] [irc/libera] 2:#test(+n){4}* [H: 3:#abc(2,5), 5]                │
    │         │[@Flashy(i)] hi peter!█                                                     │
    └──────────────────────────────────────────────────────────────────────────────────────┘
                ▲ Bars "status" und "input"                               Bar "nicklist" ▲

Standardmäßig ist der Bildschirm in folgende Bereiche unterteilt:

- Chat-Bereich (in der Mitte des Bildschirms). Dieser enthält den Text und zusätzlich für jede Zeile:

  - die Uhrzeit

  - Prefix (links von dem "|")

  - Nachricht (rechts von dem "|")

- Die Bars können um den Chat-Bereich angeordnet werden. Bars, welche standardmäßig genutzt werden sind:

  - buflist Bar, auf der linken Seite

  - title Bar, über dem Chat-Bereich

  - status Bar, unter dem Chat-Bereich

  - input Bar, unter der Status-Bar

  - nicklist Bar, auf der rechten Seite

Die buflist-Bar besitzt als Standardeinträge:

Item | Beispiel | Beschreibung
--- | --- | ---
buflist | `1.weechat` | Auflistung der Buffer.

Die title-Bar besitzt als Standardeinträge:

Item | Beispiel | Beschreibung
--- | --- | ---
buffer_title | `Willkommen in #test` | Buffer-Titel.

Die status-Bar besitzt als Standardeinträge:

Item | Beispiel | Beschreibung
--- | --- | ---
time | `[12:55]` | Uhrzeit.
buffer_last_number | `[5]` | Nummer des letzten Buffers.
buffer_plugin | `[irc/libera]` | Erweiterung des aktuellen Buffers (IRC Erweiterung setzt den IRC Servername für den Buffer).
buffer_number | `2` | Aktuelle Nummer des Buffers.
buffer_name | `#test` | Name des aktuellen Buffers.
buffer_modes | `+n` | IRC Kanal-Modi.
buffer_nicklist_count | `{4}` | Anzahl der Nicks die in der Nickliste angezeigt werden.
buffer_zoom | ! | `!` bedeutet, dass ein zusammengefügter Buffer gezoomed (nur dieser Buffer wird angezeigt) wird.
buffer_filter | `*` | Filteranzeige: `*` bedeutet das Zeilen gefiltert (unterdrückt) werden. Ein leerer Eintrag zeigt an, dass alle Zeilen dargestellt werden.
scroll | `-MORE(50)-` | Scroll Indikator, zeigt an wie viele Zeilen unterhalb der zur Zeit dargestellten Zeile vorhanden sind.
lag | `[Lag: 2.5]` | Verzögerungsanzeige, in Sekunden (keine Anzeige falls Verzögerung gering).
hotlist | `[H: 3:#abc(2,5), 5]` | Liste der Buffer mit Aktivität (ungelesene Nachrichten) (für das Beispiel: 2 Highlights und 5 ungelesene Nachrichten im Kanal #abc, eine ungelesene Nachricht in Buffer #5).
completion | `abc(2) def(5)` | Liste von Wörtern für Vervollständigung, die Zahl zeigt an wie viele Varianten möglich sind.

In der input Bar lautet die Standardeinstellung:

Item | Beispiel | Beschreibung
--- | --- | ---
input_prompt | `[@Flashy(i)]` | Input prompt, für irc: Nick und Modi (Modus "+i" bedeutet auf libera, unsichtbar).
away | `(away)` | Abwesenheitsanzeige.
input_search | `[Search lines (~ str,msg)]` | Suchindikatoren (“~”: Groß-und Kleinschreibung ignorieren, “==”: Groß-und Kleinschreibung berücksichtigen, “str”: einfache Textsuche, “regex”: suche mit regulären Ausdrücken, “msg”: Suche in Nachrichten, “pre”: Suche in Präfix, “pre|msg”: Suche in Präfix und Nachrichten).
input_paste | `[Paste 7 lines ? [ctrl-y] Ja [ctrl-n] Nein]` | Nachfrage, ob sieben Zeilen eingefügt werden sollen.
input_text | `hi peter!` | Text der eingegeben wird.

Es existieren zwei Suchmodi:

- Suche in Zeilen, zum Beispiel `[Search lines (~ str,msg)]`, mit folgenden Infos:

  - `~`: Groß-und Kleinschreibung ignorieren

  - `==`: Groß-und Kleinschreibung berücksichtigen

  - `str`: einfache Textsuche

  - `regex`: suche mit regulären Ausdrücken

  - `msg`: Suche in Nachrichten

  - `pre`: Suche in Präfix

  - `pre\|msg`: Suche in Präfix und Nachrichten

- Suche im Befehlsverlauf, zum Beispiel `[Search command (~ str,local)]`, mit den folgenden Informationen:

  - `~`: Groß-und Kleinschreibung ignorieren

  - `==`: Groß-und Kleinschreibung berücksichtigen

  - `str`: einfache Textsuche

  - `regex`: suche mit regulären Ausdrücken

  - `local`: suche im lokalen Bufferverlauf

  - `global`: suche im globalen Verlauf

In der nicklist Bar lautet die Standardeinstellung:

Item | Beispiel | Beschreibung
--- | --- | ---
buffer_nicklist | `@Flashy` | Liste der Nicks für den aktuellen Buffer.

andere Items die zur Verfügung stehen (die aber nicht standardmäßig in einer Bar aktiviert sind):

Item | Beispiel | Beschreibung
--- | --- | ---
buffer_count | `10` | absolute Anzahl an geöffneten Buffern.
buffer_last_number | `10` | Nummer des letzten Buffers (kann sich unterscheiden von `buffer_count` wenn Option weechat.look.buffer_auto_renumber deaktiviert (`off`) ist).
buffer_nicklist_count_all | `4` | Anzahl der sichtbaren Gruppen und Nicks in der Nickliste.
buffer_nicklist_count_groups | `0` | Anzahl der sichtbaren Gruppen in der Nickliste.
buffer_short_name | `#test` | Kurzname des aktuellen Buffers.
buflist2 | `1.weechat` | Liste der Buffer, zweites Bar-Item (siehe Option buflist.look.use_items).
buflist3 | `1.weechat` | Liste der Buffer, drittes Bar-Item (siehe Option buflist.look.use_items).
buflist4 | `1.weechat` | Liste der Buffer, viertes Bar-Item (siehe Option buflist.look.use_items).
buflist5 | `1.weechat` | Liste der Buffer, fünftes Bar-Item (siehe Option buflist.look.use_items).
fset | `buflist.look.sort: …` | Hilfstext zur aktuell ausgewählten Option im Fset-Buffer.
irc_channel | `#test` | aktueller Name des IRC Kanals.
irc_host | `user@host.com` | aktueller IRC Host.
irc_nick | `Flashy` | aktueller IRC Nick.
irc_nick_host | `Flashy!user@host.com` | aktueller IRC Nick und Host.
irc_nick_modes | `i` | IRC Modi für den eigenen Nick.
irc_nick_prefix | `@` | IRC Nick-Präfix für den Kanal.
mouse_status | `M` | Status der Maus (keine Anzeige, falls Maus deaktiviert).
spell_dict | `de,en` | zeigt an welche Wörterbücher für die Rechtschreibung im aktuellen Buffer genutzt werden.
spell_suggest | `Glück,Glocke,Block` | Vorschläge für ein falsch geschriebenes Wort.
tls_version | `TLS1.3` | TLS Version die für den IRC Server genutzt wird.
window_number | `2` | Nummer des aktuellen Fensters.

Jeder Aspekt des Layouts kann mit den entsprechenden Befehlen angepasst werden: `/bar` um die Bars anzupassen, /buffer und `/window` um Buffer und Fenster anzupassen, und /layout um das Bildschirmlayout zu benennen, zu speichern und wiederherzustellen sowie die Zuordnung zwischen Fenstern und Buffern zu behalten.

### 5.2. Befehlszeile

In der WeeChat Befehlszeile (am unteren Rand des Fensters) können Befehle ausgeführt oder ein Text in den Buffer geschrieben werden.

#### Syntax

Ein Befehl wird durch das Zeichen "/" eingeleitet, gefolgt von dem Namen des Befehls. In folgendem Beispiel werden alle Konfigurationsoptionen angezeigt:

    /set

Jeder Text der nicht mit dem Zeichen "/" beginnt wird in den Buffer geschrieben. In folgendem Beispiel wird der Text Hallo in den aktuellen Buffer geschrieben:

    Hallo

Dennoch ist es möglich einen Text in den Buffer zu schreiben der mit dem Zeichen "/" beginnt. Dazu muss dem ersten "/" ein zweites "/" vorangestellt werden. Um den Befehl `/set` als Text zu senden:

    //set

#### Farbkodierung

Für einige Erweiterungen wie z.B. der IRC Erweiterung können Farbkodierungen und Attribute für den Text gesetzt werden. Dazu muss die Tastenkombination `Ctrl`+`c`, gefolgt von einem der folgenden Zeichen, genutzt werden:

Taste | Beschreibung
--- | ---
`Ctrl`+`c`, `b` | Text wird fett dargestellt.
`Ctrl`+`c`, `c`, `xx` | Textfarbe `xx` (siehe Farbtabelle).
`Ctrl`+`c`, `c`, `xx`, `,`, `yy` | Textfarbe `xx` und Hintergrundfarbe `yy` (siehe Farbtabelle).
`Ctrl`+`c`, `d`, `xxxxxx` | Textfarbe `xxxxxx` (RGB als hexadezimale Zahl, zum Beispiel `FF0000` für rot).
`Ctrl`+`c`, `d`, `xxxxxx`, `,`, `yyyyyy` | Textfarbe `xxxxxx` und Hintergrundfarbe `yyyyyy` (RGB als hexadezimale Zahl).
`Ctrl`+`c`, `i` | Text wird kursiv dargestellt.
`Ctrl`+`c`, `o` | deaktiviert Farben und Attribute.
`Ctrl`+`c`, `v` | Farben umkehren (kehrt Textfarbe und Hintergrundfarbe um).
`Ctrl`+`c`, `_` | Text wird mit Unterstrich dargestellt.

| Der selbe Code (ohne Nummer für `Ctrl`+`c`, `c` und `Ctrl`+`c`, `d`) kann verwendet werden, um das Attribut zu stoppen.

Farbtabelle für `Ctrl`+`c`, `c`:

IRC-Farbe | WeeChat-Farbe
--- | ---
`00` | white
`01` | black
`02` | blue
`03` | green
`04` | lightred
`05` | red
`06` | magenta
`07` | brown
`08` | yellow
`09` | lightgreen
`10` | cyan
`11` | lightcyan
`12` | lightblue
`13` | lightmagenta
`14` | darkgray
`15` | gray
`16` | 52
`17` | 94
`18` | 100
`19` | 58
`20` | 22
`21` | 29
`22` | 23
`23` | 24
`24` | 17
`25` | 54
`26` | 53
`27` | 89
`28` | 88
`29` | 130
`30` | 142
`31` | 64
`32` | 28
`33` | 35
`34` | 30
`35` | 25
`36` | 18
`37` | 91
`38` | 90
`39` | 125
`40` | 124
`41` | 166
`42` | 184
`43` | 106
`44` | 34
`45` | 49
`46` | 37
`47` | 33
`48` | 19
`49` | 129
`50` | 127
`51` | 161
`52` | 196
`53` | 208
`54` | 226
`55` | 154
`56` | 46
`57` | 86
`58` | 51
`59` | 75
`60` | 21
`61` | 171
`62` | 201
`63` | 198
`64` | 203
`65` | 215
`66` | 227
`67` | 191
`68` | 83
`69` | 122
`70` | 87
`71` | 111
`72` | 63
`73` | 177
`74` | 207
`75` | 205
`76` | 217
`77` | 223
`78` | 229
`79` | 193
`80` | 157
`81` | 158
`82` | 159
`83` | 153
`84` | 147
`85` | 183
`86` | 219
`87` | 212
`88` | 16
`89` | 233
`90` | 235
`91` | 237
`92` | 239
`93` | 241
`94` | 244
`95` | 247
`96` | 250
`97` | 254
`98` | 231
`99` | default

| Um sich alle verfügbaren Farben anzeigen zu lassen, die der Terminal unterstützt, kann man in WeeChat die Tastenkombination `Alt`+`c` im `/color` Buffer nutzen oder im Terminal den Befehl `weechat --colors` ausführen.

Beispiel: Im Buffer wird "Hallo Alice!" ausgegeben. Dabei wird "Hallo" in Fettschrift und hellblau und "Alice" rot und unterstrichen dargestellt.

    ^Cc12^CbHallo ^Cb^Cc04^C_Alice^C_^Cc!

Tastenbefehl:

`Ctrl`+`c` `c` `1` `2` `Ctrl`+`c` `b`
`H` `a` `l` `l` `o` `Space`
`Ctrl`+`c` `b` `Ctrl`+`c` `c` `0` `4` `Ctrl`+`c` `_`
`A` `l` `i` `c` `e`
`Ctrl`+`c` `_` `Ctrl`+`c` `c`
`!`

| Die Farben können in der IRC Erweiterung neu belegt werden, mittels der Option irc.color.mirc_remap.

### 5.3. Buffer und Fenster

Ein Buffer setzt sich zusammen aus einer Nummer, besitzt einem Namen, hat Zeilen die angezeigt werden (und noch anderen Daten).

Beispiele von Buffern:

- Core Buffer (wird durch WeeChat beim Programmstart erstellt und kann nicht geschlossen werden!)

- IRC Server (hier werden die Nachrichten ausgegeben die der Server verschickt)

- IRC Kanal

- IRC Privat (wird auch Query-Buffer genannt)

Ein Fenster ist ein Bildschirmbereich der Buffer darstellt. Es ist möglich den Bildschirm in mehrere Fenster aufzuteilen (Beispiele: below, siehe den Befehl /window für weitere Details).

Jedes Fenster stellt einen Buffer dar. Ein Buffer kann unsichtbar sein (er wird in einem Fenster nicht angezeigt) oder ein Buffer wird durch ein oder mehrere Fenster angezeigt.

Bildschirmlayouts und die Zuordnung zwischen Fenstern und Buffern können gespeichert und wiederhergestellt werden.

#### Beispiele

Beispiele für eine horizontal Fensteraufteilung (`/window splith`):

                                   ▼ Fenster #2 (Buffer #4)
    ┌──────────────────────────────────────────────────────────────────────────────────────┐
    │1.libera │Welcome to #def                                                             │
    │  weechat│12:55:12     Max | hi                                               │@Flashy│
    │2.  #test│12:55:20 @Flashy | hi Max!                                          │Max    │
    │3.  #abc │                                                                    │       │
    │4.  #def │                                                                    │       │
    │5.  #ghi │                                                                    │       │
    │         │                                                                    │       │
    │         │                                                                    │       │
    │         │                                                                    │       │
    │         │[12:55] [5] [irc/libera] 4:#def(+n){2}                                      │
    │         │[@Flashy]                                                                   │
    │         │────────────────────────────────────────────────────────────────────────────│
    │         │Welcome to #abc                                                             │
    │         │12:54:15 peter | hey!                                               │@Flashy│
    │         │12:55:01  @joe | hello                                              │@joe   │
    │         │                                                                    │+weebot│
    │         │                                                                    │peter  │
    │         │                                                                    │       │
    │         │                                                                    │       │
    │         │                                                                    │       │
    │         │                                                                    │       │
    │         │[12:55] [5] [irc/libera] 3:#abc(+n){4}                                      │
    │         │[@Flashy] hi peter!█                                                        │
    └──────────────────────────────────────────────────────────────────────────────────────┘
                                   ▲ Fenster #1 (Buffer #3)

Beispiele für eine vertikale Fensteraufteilung (`/window splitv`):

    ┌──────────────────────────────────────────────────────────────────────────────────────┐
    │1.libera │Welcome to #abc                      │Welcome to #def                       │
    │  weechat│12:54:15 peter | hey!        │@Flashy│12:55:12     Max | hi         │@Flashy│
    │2.  #test│12:55:01  @joe | hello       │@joe   │12:55:20 @Flashy | hi Max!    │Max    │
    │3.  #abc │                             │+weebot│                              │       │
    │4.  #def │                             │peter  │                              │       │
    │5.  #ghi │                             │       │                              │       │
    │         │                             │       │                              │       │
    │         │                             │       │                              │       │
    │         │                             │       │                              │       │
    │         │                             │       │                              │       │
    │         │                             │       │                              │       │
    │         │                             │       │                              │       │
    │         │                             │       │                              │       │
    │         │                             │       │                              │       │
    │         │                             │       │                              │       │
    │         │                             │       │                              │       │
    │         │                             │       │                              │       │
    │         │                             │       │                              │       │
    │         │                             │       │                              │       │
    │         │                             │       │                              │       │
    │         │[12:55] [5] [irc/libera] 3:#abc(+n)  │[12:55] [5] [irc/libera] 4:#def(+n)   │
    │         │[@Flashy] hi peter!█                 │[@Flashy]                             │
    └──────────────────────────────────────────────────────────────────────────────────────┘
                     ▲ Fenster #1 (Buffer #3)              ▲ Fenster #2 (Buffer #4)

Beispiele für eine vertikale und horizontale Fensteraufteilung:

                                                           ▼ Fenster #3 (Buffer #5)
    ┌──────────────────────────────────────────────────────────────────────────────────────┐
    │1.libera │Welcome to #abc                      │Welcome to #ghi                       │
    │  weechat│12:54:15 peter | hey!        │@Flashy│12:55:42 @Flashy | hi         │@Flashy│
    │2.  #test│12:55:01  @joe | hello       │@joe   │12:55:56    alex | hi Flashy  │alex   │
    │3.  #abc │                             │+weebot│                              │       │
    │4.  #def │                             │peter  │                              │       │
    │5.  #ghi │                             │       │                              │       │
    │         │                             │       │                              │       │
    │         │                             │       │                              │       │
    │         │                             │       │                              │       │
    │         │                             │       │[12:55] [5] [irc/libera] 5:#ghi(+n)   │
    │         │                             │       │[@Flashy]                             │
    │         │                             │       │──────────────────────────────────────│
    │         │                             │       │Welcome to #def                       │
    │         │                             │       │12:55:12     Max | hi         │@Flashy│
    │         │                             │       │12:55:20 @Flashy | hi Max!    │Max    │
    │         │                             │       │                              │       │
    │         │                             │       │                              │       │
    │         │                             │       │                              │       │
    │         │                             │       │                              │       │
    │         │                             │       │                              │       │
    │         │[12:55] [5] [irc/libera] 3:#abc(+n)  │[12:55] [5] [irc/libera] 4:#def(+n)   │
    │         │[@Flashy] hi peter!█                 │[@Flashy]                             │
    └──────────────────────────────────────────────────────────────────────────────────────┘
                     ▲ Fenster #1 (Buffer #3)              ▲ Fenster #2 (Buffer #4)

#### einfacher Anzeigemodus

Ein vereinfachter Anzeigemodus, mit Namen "bare", kann aktiviert werden um überlange URLs ganz einfach mit der Maus anzuklicken oder um Text mit der Maus zu markieren.

Der vereinfachte Anzeigemodus hat folgende Funktionen:

- es wird lediglich der Inhalt des aktuellen Buffers angezeigt, es findet keine Aufteilung des Fensters statt, es werden keine Bars angezeigt (Title, Nicklist, Status, Input, …​)

- die Mausunterstützung ist deaktiviert (sofern sie aktiviert war): die Maus kann wie in einem Terminal genutzt werden um URLs anzuklicken oder Text zu markieren

- ncurses wird nicht genutzt, deshalb werden URLs am Ende der Zeile nicht abgeschnitten.

Der Standardtastenbefehl um den vereinfachten Textmodus zu aktivieren ist `Alt`+`l` (`L`), mit dem selben Tastenbefehl wird dieser Modus wieder beendet (dieser Modus kann auch mit jeder beliegen Tasteneingabe beendet werden, siehe Option weechat.look.bare_display_exit_on_input).

Das Format für die Zeitanzeige kann mit folgender Option angepasst werden weechat.look.bare_display_time_format.

Der vereinfachte Anzeigemodus kann mit einer vorgegebenen Zeit gestartet werden /window.

Im normalen Modus sieht WeeChat wie folgt aus:

    ┌──────────────────────────────────────────────────────────────────────────────────────┐
    │1.libera │Welcome to #abc                                                             │
    │  weechat│12:52:27   --> | Flashy (flashcode@weechat.org) has joined #abc     │@Flashy│
    │2.  #test│12:52:27    -- | Nicks #abc: [@Flashy @joe +weebot peter]           │@joe   │
    │3.  #abc │12:52:27    -- | Channel #abc: 4 nicks (2 ops, 1 voice, 1 normal)   │+weebot│
    │4.  #def │12:52:27    -- | Channel created on Tue Jan 27 06:30:17 2009        │peter  │
    │5.  #ghi │12:54:15 peter | hey!                                               │       │
    │         │12:55:01  @joe | peter: hook_process: https://weechat.org/files/doc │       │
    │         │               | /weechat/devel/weechat_plugin_api.en.html#_weechat │       │
    │         │               | _hook_process                                      │       │
    │         │                                                                    │       │
    │         │                                                                    │       │
    │         │                                                                    │       │
    │         │                                                                    │       │
    │         │                                                                    │       │
    │         │                                                                    │       │
    │         │                                                                    │       │
    │         │                                                                    │       │
    │         │                                                                    │       │
    │         │                                                                    │       │
    │         │                                                                    │       │
    │         │                                                                    │       │
    │         │[12:55] [5] [irc/libera] 3:#abc(+n){4}                                      │
    │         │[@Flashy(i)] hi peter!█                                                     │
    └──────────────────────────────────────────────────────────────────────────────────────┘

Der selbe Bildschirm sieht im vereinfachten Anzeigemodus wie folgt aus:

    ┌──────────────────────────────────────────────────────────────────────────────────────┐
    │                                                                                      │
    │                                                                                      │
    │                                                                                      │
    │                                                                                      │
    │                                                                                      │
    │                                                                                      │
    │                                                                                      │
    │                                                                                      │
    │                                                                                      │
    │                                                                                      │
    │                                                                                      │
    │                                                                                      │
    │                                                                                      │
    │                                                                                      │
    │                                                                                      │
    │                                                                                      │
    │12:52 --> Flashy (flashcode@weechat.org) has joined #abc                              │
    │12:52 -- Nicks #abc: [@Flashy @joe +weebot peter]                                     │
    │12:52 -- Channel #abc: 4 nicks (2 ops, 1 voice, 1 normal)                             │
    │12:52 -- Channel created on Tue Jan 27 06:30:17 2009                                  │
    │12:54 <peter> hey!                                                                    │
    │12:55 <@joe> peter: hook_process: https://weechat.org/files/doc/weechat/devel/weechat_│
    │plugin_api.en.html#_weechat_hook_process                                              │
    └──────────────────────────────────────────────────────────────────────────────────────┘

Es kann nun die URL von joe ohne Probleme angeklickt werden (dies setzt natürlich voraus, dass der Terminal das Anwählen von URLs unterstützt).

### 5.4. Buffern

#### Format von Zeilen

Zeilen die in einem formatierten Buffer dargestellt werden haben folgende Felder:

Feld | Ansicht | Beschreibung
--- | --- | ---
Datum/Zeit(Nachricht) | Ja | Datum/Zeit einer Nachricht (möglicherweise die Vergangenheit).
Datum/Zeit(Ausgabe) | Nein | Datum/Zeit wenn WeeChat eine Nachricht ausgibt.
Präfix | Ja | Präfix einer Nachricht, gewöhnlich der Nick.
Nachricht | Ja | Die eigentliche Nachricht.
Ansicht | Nein | Boolean: wahr, falls Zeile angezeigt wird, unwahr, falls die Zeile if line gefiltert wird. Siehe Befehl /filter.
Highlight | Nein | Boolean: wahr, falls die Zeile ein Highlight enthält, unwahr, falls nicht.
Tags | mittels `/debug tags` | Tags die im Zusammenhang mit der Zeile stehen (siehe lines tags).

Die Darstellung von Zeilen kann mittels Optionen individualisiert werden. Zum einen mittels der "look"-Optionen (weechat.look.*) und der Color-Optionen (weechat.color.chat_*).

#### Tags in Zeilen

WeeChat nutzt Tags für unterschiedliche Aufgaben:

- highlight

- Benachrichtigungsstufe

- logging

- für Befehle /filter

Tags kann man sich mit dem Befehl `/debug tags` anzeigen lassen (den Befehl ein zweites mal ausführen um die Tags wieder unsichtbar zu machen).

Tags die häufig verwendet werden (keine vollständige Auflistung):

Tag | Beschreibung
--- | ---
`no_filter` | Zeile kann nicht gefiltert werden.
`no_highlight` | die Zeile kann nicht gehiglighted werden.
`no_log` | Zeile wird nicht in die Log-Datei geschrieben.
`log0 … log9` | Grad der Protokollierung (siehe `/help logger`).
`notify_none` | Diese Zeile wird erzeugt keinen Hotlist-Eintrag. (1)
`notify_message` | Diese Zeile ist eine User Nachricht. (1)
`notify_private` | Diese Zeile ist eine private Nachricht. (1)
`notify_highlight` | Diese Zeile beinhaltet eine Highlight Nachricht. (1)
`self_msg` | eigene Nachricht.
`nick_xxx` | Nachricht ist vom Nick "xxx".
`prefix_nick_ccc` | Präfix für den Nick mit der Farbe "ccc".
`host_xxx` | Username und Host in der Nachricht.
`irc_xxx` | IRC Nachricht "xxx" (kann ein Befehl oder eine dreistellige Zahl sein).
`irc_numeric` | IRC nummerische Nachricht.
`irc_error` | Fehler vom IRC Server.
`irc_action` | Action von einem Nick (Befehl `/me`).
`irc_ctcp` | CTCP Nachricht.
`irc_ctcp_reply` | Antwort auf eine CTCP Nachricht.
`irc_smart_filter` | IRC Nachricht die mittels "smart filter" unterdrückt werden kann.
`away_info` | Nachricht mit "away" Information.

| (1) Wenn kein "notify_xxx" Tag vorhanden ist, ist die Benachrichtigungsstufe "low". Falls ein "notify_xxx" Tag vorhanden ist, kann die tatsächliche Benachrichtigungsstufe unterschiedlich sein. Wenn beispielsweise der max hotlist level für einen Nick verwendet wird, kann die Benachrichtigungsstufe niedriger sein als der Wert im Tag.

#### lokale Variablen

Lokale Variablen können für alle Buffer definiert werden.

Eine lokale Variable besteht:

- aus einem Namen (Zeichenkette)

- und aus einem Wert (Zeichenkette, kann leer sein).

Lokale Variablen können von WeeChat, Erweiterungen, Skripten oder manuell, in der Befehlszeile eines Buffers, festgelegt werden.

So fügen Sie beispielsweise die lokale Variable "completion_default_template" hinzu:

    /buffer setvar completion_default_template %(my_completion)

um sich alle lokalen Variablen des aktuellen Buffers anzeigen zu lassen:

    /buffer listvar

So entfernen Sie die lokale Variable "completion_default_template":

    /buffer delvar completion_default_template

Standardmäßig interpretieren WeeChat und seine Standard-Erweitertungen diese Variablen:

Name | Wert | Beschreibung
--- | --- | ---
`away` | beliebige Zeichenkette | Abwesenheitsnotiz auf dem Server, wird durch IRC Erweiterung genutzt.
`channel` | beliebige Zeichenkette | Name des Kanals, wird durch irc/xfer Erweiterung und dem Debug-Buffer von relay/trigger Erweiterung genutzt.
`charset_modifier` | beliebige Zeichenkette | Charset modifier für den Server-Buffer, wird durch IRC Erweiterung genutzt.
`completion_default_template` | beliebige Zeichenkette | Vorlage für die standardmäßige Vervollständigung innerhalb eines Buffers, überschreibt die Option `weechat.completion.default_template`.
`filter` | beliebige Zeichenkette | Filter für einige Buffer definiert, zum Beispiel`/fset`, `/list` (irc), `/server raw` (irc) und `/script`.
`host` | beliebige Zeichenkette | eigener Host (sofern bekannt), wird durch IRC Erweiterung genutzt.
`lag` | beliebige Zeichenkette | Verzögerung auf dem Server, wird durch IRC Erweiterung genutzt.
`name` | beliebige Zeichenkette | Buffername (Vorsicht, dies ist nicht der vollständige Name des Buffers und reicht nicht aus, um einen Buffer zu identifizieren oder zu suchen).
`nick` | beliebige Zeichenkette | eigener Nick, wird durch IRC und xfer Erweiterung genutzt.
`no_log` | `1` (oder jede andere nicht leere Zeichenkette) | Wenn festgelegt, protokolliert die Logger-Erweiterung nichts für den Buffer.
`plugin` | beliebige Zeichenkette | Name der Erweiterung welche den Buffer erstellt hat (`core` für WeeChat-Buffer).
`script_close_cb` | beliebige Zeichenkette | Close callback, für diesen Buffer durch ein Skript definiert.
`script_close_cb_data` | beliebige Zeichenkette | Daten für ein Close callback, welches durch ein Skript für diesen Buffer definiert wurde.
`script_input_cb` | beliebige Zeichenkette | Input callback, für diesen Buffer durch ein Skript definiert.
`script_input_cb_data` | beliebige Zeichenkette | Daten für ein Input callback, welches durch ein Skript für diesen Buffer definiert wurde.
`script_name` | beliebige Zeichenkette | Name des Skriptes welches den Buffer erstellt hat.
`server` | beliebige Zeichenkette | Servername, wird durch IRC Erweiterung genutzt und durch den Debug-Buffer von relay/trigger Erweiterung.
`spell_suggest` | beliebige Zeichenkette | falsch geschriebenes Wort und Korrekturvorschläge (Format: "fehlerhaftes Wort:Korrekturvorschläge"), wird durch spell-Erweiterung definiert.
`trigger_filter` | beliebige Zeichenkette | Trigger-Filter, wird durch Trigger-Erweiterung definiert.
`type` | beliebige Zeichenkette, zum Beispiel: `channel`, `debug`, `exec`, `option`, `private`, `relay`, `script`, `server`, `user`, `xfer` | Buffertyp, festgelegt von WeeChat und vielen Erweiterungen.

| Externe Erweitertungen und Skripte können andere lokale Variablen definieren und verwenden.

### 5.5. Liste der Buffer

Die Buflist-Erweiterung dient dazu eine Liste der geöffneten Buffer in einer Bar-Item, mit Namen "buflist", darzustellen (vier weitere Bar-Items sind dabei verfügbar "buflist2", "buflist3", "buflist4" und "buflist5").
Eine Standardbar, "buflist", wird beim Programmstart automatisch mit folgendem Inhalt erstellt.

#### Befehle

- `buflist`: Bar-Item mit der Liste von Buffern

    /buflist  enable|disable|toggle
              bar
              refresh [<item>[,<item>...]]

     enable: buflist aktivieren
    disable: buflist deaktivieren
     toggle: buflist umschalten
        bar: fügt eine "buflist" Bar hinzu
    refresh: erzwingt die Aktualisierung einiger Bar-Items (wenn kein Element angegeben ist, werden alle Bar-Items aktualisiert, entsprechend der Option buflist.look.use_items)

    Jede Zeile die einen Buffer anzeigt, wird mittels Zeichenketten-Evaluation dargestellt (siehe /help eval für das Format), dazu werden folgende Optionen genutzt:
      - buflist.look.display_conditions: Bedingungen um einen Buffer in der Liste darzustellen
      - buflist.format.buffer: Format für den Buffer, der nicht der aktuell dargestellte Buffer ist
      - buflist.format.buffer_current: Format für den aktuell dargestellten Buffer

    Die folgenden Variablen können in den Optionen genutzt werden:
      - bar item data (siehe hdata "bar_item" in API Dokumentation für eine vollständige Liste), zum Beispiel:
        - ${bar_item.name}
      - window data, wo das Bar-Item dargestellt werden soll (in "root" Bars existieren keine Fenster, siehe hdata "window" in API Dokumentation für eine vollständige Liste), zum Beispiel:
        - ${window.number}
        - ${window.buffer.full_name}
      - buffer data (siehe hdata "buffer" in API Dokumentation für eine vollständige Liste), zum Beispiel:
        - ${buffer.number}
        - ${buffer.name}
        - ${buffer.full_name}
        - ${buffer.short_name}
        - ${buffer.nicklist_nicks_count}
      - irc_server: IRC Serverdaten, ausschließlich genutzt bei einem IRC Buffer (siehe hdata "irc_server" in API Dokumentation)
      - irc_channel: IRC Kanaldaten, ausschließlich genutzt bei einem IRC Kanal-Buffer (siehe hdata "irc_channel" in API Dokumentation)
      - zusätzliche Variablen die durch buflist bereitgestellt werden:
        - ${format_buffer}: der evaluierte Wert der Option buflist.format.buffer; dies kann in der Option buflist.format.buffer_current genutzt werden um zum Beispiel die Hintergrundfarbe zu verändern
        - ${current_buffer}: ein Boolean ("0" oder "1"), "1" falls es sich um den aktuellen Buffer handelt; dies kann in einer Bedingung verwendet werden: ${if:${current_buffer}?...:...}
        - ${merged}: ein Boolean ("0" oder "1"), "1" wenn der Buffer mit einem anderen zusammengefügt ist; kann innerhalb einer Bedingung genutzt werden: ${if:${merged}?...:...}
        - ${format_number}: eingerückte Nummer mit Trennzeichen (evaluiert aus Option buflist.format.number)
        - ${number}: eingerückte Nummer, zum Beispiel " 1", falls die Anzahl der Buffer zwischen 10 und 99 liegt; bei zusammengefügten Buffern enthält die Variable für den ersten Buffer die entsprechende Nummer, die weiteren Buffer enthalten ein Leerzeichen anstelle der Nummer
        - ${number2}: eingerückte Nummer, zum Beispiel " 1", falls die Anzahl der Buffer zwischen 10 und 99 liegt
        - ${number_displayed}: "1" falls Nummer angezeigt wird, ansonsten "0"
        - ${indent}: Einrücken von Name (Kanal, Privaten und List-Buffer werden eingerückt) (evaluiert aus Option buflist.format.indent)
        - ${format_nick_prefix}: Nick-Präfix mit entsprechender Farbe für einen Channel (evaluiert aus Option buflist.format.nick_prefix)
        - ${color_nick_prefix}: Farbe für den Nick-Präfix von einem Channel (wird nur genutzt wenn die Option buflist.look.nick_prefix aktiviert ist)
        - ${nick_prefix}: der Nick-Präfix für einen Channel (wird nur genutzt falls die Option buflist.look.nick_prefix aktiviert ist)
        - ${format_name}: der formatierte Name (evaluiert aus Option buflist.format.name)
        - ${name}: der Kurzname (falls einer gesetzt ist), ersatzweise wird auf den Originalnamen zurückgegriffen
        - ${color_hotlist}: die Farbe mit der höchsten Priorität für den entsprechenden Buffer (evaluiert aus Option buflist.format.hotlist_xxx wobei xxx der entsprechende Level ist)
        - ${format_hotlist}: die formatierte Hotlist (evaluiert aus Option buflist.format.hotlist)
        - ${hotlist}: die Hotlist in der Rohform
        - ${hotlist_priority}: "none", "low", "message", "private" oder "highlight"
        - ${hotlist_priority_number}: -1 = keine, 0 = niedrig, 1 = Nachricht, 2 = private, 3 = Hervorhebungen
        - ${format_lag}: die Verzögerung für einen IRC Server-Buffer, ist leer falls es keine Verzögerung gibt (evaluiert aus Option buflist.format.lag)
        - ${format_tls_version}: Indikator der TLS Version für den Serverbuffer, Channels bleiben unberührt (evaluiert aus Option buflist.format.tls_version)

#### Optionen

Sektionen in Datei buflist.conf:

Sektion | Steuerbefehl | Beschreibung
--- | --- | ---
`format` | `/set buflist.format.*` | Format für die Darstellung der Bufferliste.
`look` | `/set buflist.look.*` | Erscheinungsbild.

Optionen:

- buflist.format.buffer

  - Beschreibung: Format für eine Zeile mit einem Buffer (Hinweis: Inhalt wird evaluiert, siehe /help buflist); Beispiel: Standardformat für Bar-Item "buflist" anwenden und nur die Buffernummer in eckigen Klammern für die anderen Bar-Items ("buflist2 bis "buflist5") anzeigen: "${if:${bar_item.name}==buflist?${format_number}${indent}${format_nick_prefix}${color_hotlist}${format_name}:[${number}]}"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"${format_number}${indent}${format_nick_prefix}${color_hotlist}${format_name}"`

- buflist.format.buffer_current

  - Beschreibung: Format für die Zeile mit dem ausgewählten Buffer (Hinweis: Inhalt wird evaluiert, siehe /help buflist)

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"${color:,17}${format_buffer}"`

- buflist.format.hotlist

  - Beschreibung: Format der Hotlist (Hinweis: Inhalt wird evaluiert, siehe /help buflist)

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `" ${color:green}(${hotlist}${color:green})"`

- buflist.format.hotlist_highlight

  - Beschreibung: Format für Buffer mit der Benachrichtungsstufe "highlight" (Hinweis: Inhalt wird evaluiert, siehe /help buflist)

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"${color:magenta}"`

- buflist.format.hotlist_low

  - Beschreibung: Format für Buffer mit der Benachrichtungsstufe "low" (Hinweis: Inhalt wird evaluiert, siehe /help buflist)

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"${color:white}"`

- buflist.format.hotlist_message

  - Beschreibung: Format für Buffer mit der Benachrichtungsstufe "message" (Hinweis: Inhalt wird evaluiert, siehe /help buflist)

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"${color:brown}"`

- buflist.format.hotlist_none

  - Beschreibung: Format für Buffer die nicht in der Hotlist angezeigt werden (Hinweis: Inhalt wird evaluiert, siehe /help buflist)

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"${color:default}"`

- buflist.format.hotlist_private

  - Beschreibung: Format für Buffer mit der Benachrichtungsstufe "private" (Hinweis: Inhalt wird evaluiert, siehe /help buflist)

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"${color:green}"`

- buflist.format.hotlist_separator

  - Beschreibung: Trennzeichen for counts in hotlist (Hinweis: Inhalt wird evaluiert, siehe /help buflist)

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"${color:default},"`

- buflist.format.indent

  - Beschreibung: Zeichen, welches zum Einrücken von Kanal-, Privat- und List-Buffern genutzt wird (Hinweis: Inhalt ist evaluiert, siehe /help buflist)

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `" "`

- buflist.format.lag

  - Beschreibung: Format für die Anzeige der Verzögerungsanzeige für IRC Serverbuffer (Hinweis: Inhalt wird evaluiert, siehe /help buflist)

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `" ${color:green}[${color:brown}${lag}${color:green}]"`

- buflist.format.name

  - Beschreibung: Format für den Namen eines Buffers (Hinweis: Inhalt wird evaluiert, siehe /help buflist)

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"${name}"`

- buflist.format.nick_prefix

  - Beschreibung: Format des Nick-Präfix für einen Kanal (Hinweis: Inhalt wird evaluiert, siehe /help buflist)

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"${color_nick_prefix}${nick_prefix}"`

- buflist.format.number

  - Beschreibung: Format für die Darstellung der Buffernummer, hierbei ist die Variable ${number} die eingerückte Nummer (Hinweis: Inhalt wird evaluiert, siehe /help buflist)

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"${color:green}${number}${if:${number_displayed}?.: }"`

- buflist.format.tls_version

  - Beschreibung: Format für die TLS-Version für einen IRC-Serverbuffer (Hinweis: Inhalt wird evaluiert, siehe /help buflist)

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `" ${color:default}(${if:${tls_version}==TLS1.3?${color:green}:${if:${tls_version}==TLS1.2?${color:yellow}:${color:red}}}${translate:${tls_version}}${color:default})"`

- buflist.look.add_newline

  - Beschreibung: fügt einen Zeilenumbruch zwischen die einzelnen Buffer hinzu um pro Zeile einen Buffer anzuzeigen (empfohlen); falls deaktiviert muss ein Zeilenumbruch manuell hinzugefügt werden, "${\\n}", des Weiteren ist die Mausunterstützung nicht mehr gegeben

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `on`

- buflist.look.auto_scroll

  - Beschreibung: scrollt automatisch die buflist-Bar um den aktuellen Buffer darzustellen (dies funktioniert ausschließlich wenn die Bar links/rechts positioniert ist und als Darstellung "vertical" verwendet wird); dieser Wert ist eine prozentuale Angabe wo der aktuelle Buffer angezeigt werden soll (-1 = deaktiviert); zum Beispiel wird bei einem Wert von 50 der Buffer in der Mitte der Bar angezeigt, bei 0 wird der Buffer oben und bei 100 am unteren Rand der Bar angezeigt

  - Typ: integer

  - Werte: -1 .. 100

  - Standardwert: `50`

- buflist.look.display_conditions

  - Beschreibung: Bedingungen wann ein Buffer dargestellt werden soll (Hinweis: Inhalt ist evaluiert, siehe /help buflist); Beispielsweise werden Server-Buffer versteckt, sofern sie mit dem Core-Buffer zusammengefügt worden sind: "${buffer.hidden}==0 && ((${type}!=server && ${buffer.full_name}!=core.weechat) || ${buffer.active}==1)"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"${buffer.hidden}==0"`

- buflist.look.enabled

  - Beschreibung: Buflist aktivieren; Es wird empfohlen, diese Option zu verwenden, anstatt nur die Bar zu verstecken, da hiermit auch interne Hooks entfernt werden, die nicht benötigt werden, falls die Leiste ausgeblendet wird; Sie können auch den Befehl "/buflist toggle" verwenden oder die Standardtastenbelegung alt+shift+b

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `on`

- buflist.look.mouse_jump_visited_buffer

  - Beschreibung: ist diese Einstellung aktiviert, kann mit der linken/rechten Maustaste auf dem aktuellen Buffer zum vorherigen/nächsten Buffer gesprungen werden

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `off`

- buflist.look.mouse_move_buffer

  - Beschreibung: ist diese Einstellung aktiviert, kann mit Mausgesten (Drag & Drop) ein Buffer in der Liste verschoben werden

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `on`

- buflist.look.mouse_wheel

  - Beschreibung: ist diese Einstellung aktiviert, kann mit dem Mausrad hoch/runter zum nächsten/vorherigen Buffer in der Liste gesprungen werden

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `on`

- buflist.look.nick_prefix

  - Beschreibung: holt den Nick-Präfix und die dazugehörige Farbe aus der Nicklist um diese mit der Variable ${nick_prefix} zu nutzen; diese Option ist standardmäßig deaktiviert, da bei einer umfangreichen Nickliste es zu Verzögerungen kommen kann

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `off`

- buflist.look.nick_prefix_empty

  - Beschreibung: falls der Nick-Präfix aktiviert ist, wird ein Leerzeichen genutzt falls kein Nick-Präfix für den Buffer existiert

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `on`

- buflist.look.signals_refresh

  - Beschreibung: durch Kommata getrennte Liste von zusätzlichen Signalen die dafür sorgen das die Buffer-Liste aktualisiert wird; dies kann nützlich sein falls benutzerdefinierte Variablen genutzt werden und dadurch eine Aktualisierung erforderlich wird

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `""`

- buflist.look.sort

  - Beschreibung: durch Kommata getrennte Liste von Feldern um die Buffer zu sortieren; jedes Feld ist entweder eine hdata Variable von Buffer ("var"), eine hdata Variable vom Typ IRC Server ("irc_server.var") oder eine hdata Variable vom Typ IRC Kanal ("irc_channel.var"); wird das "-" Zeichen vor einem Feld angewendet, wird die Ausgabe umgekehrt, um bei einem Vergleich nicht zwischen Groß- und Kleinschreibung zu unterscheiden wird das Zeichen "~" verwendet; Beispiel: "-~short_name" sortiert die Buffer nach ihren Kurznamen, wobei dies invertiert passiert und nicht zwischen Groß-oder Kleinschreibung unterschieden wird, "-hotlist.priority,hotlist.time,hotlist.time_usec,number,-active" sortiert wie die Hotlist, dann nach Buffernummerfür Buffer ohne Aktivität (Hinweis: Der Inhalt wird ausgewertet, bevor die Felder geteilt werden, aber zu diesem Zeitpunkt ist "bar_item" die einzige Variable, die verwendet werden kann, um zwischen verschiedenen buflist-Elementen zu unterscheiden, zum Beispiel "${bar_item.name}")

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"number,-active"`

- buflist.look.use_items

  - Beschreibung: Anzahl der Buflist-Bar-Items, die verwendet werden können; die Item-Namen sind: "buflist", "buflist2", "buflist3", "buflist4" und "buflist5"; Seien Sie vorsichtig, wenn Sie mehr als ein Bar-Item verwenden, wird die Anzeige der Bufferliste verlangsamt

  - Typ: integer

  - Werte: 1 .. 5

  - Standardwert: `1`

### 5.6. Cursor-Modus

Mit dem Cursormodus können Sie den Cursor frei an eine beliebige Stelle auf dem Bildschirm bewegen, sowohl im Chatbereich als auch in Bars und ermöglicht das Ausführen von Aktionen an der angegebenen Position.
Sie können den Cursormodus entweder mit dem Befehl `/cursor` oder mit der mittleren Maustaste aktivieren (Maus muss mit der Taste `Alt`+`m` oder dem Befehl `/mouse enable` aktiviert worden sein).

Typischer Anwendungszweck ist das Zitieren von Nachrichten (Chat-Bereich) oder die Interaktion mit Nicks (Nicklist-Leiste).

Siehe Befehl /cursor und key bindings in cursor context, für die Liste der Aktionen, die in diesem Modus ausgeführt werden können.

## 6. Tastenbelegungen

WeeChat bietet viele Standardtastenzuordnungen, die in den folgenden Kapiteln aufgeführt sind.
Sie können mit dem Befehl /key geändert und neue hinzugefügt werden.

### 6.1. Kommandozeile

#### Cursorbewegung

Taste | Beschreibung | Befehl
--- | --- | ---
`←` `Shift`+`←` `Ctrl`+`b` | setzt den Cursor eine Position nach links. | `/input move_previous_char`
`→` `Shift`+`→` `Ctrl`+`f` | setzt den Cursor eine Position nach rechts. | `/input move_next_char`
`Shift`+`↑` | gehe zur vorherigen Zeile. | `/input move_previous_line`
`Shift`+`↓` | gehe zur nächsten Zeile. | `/input move_next_line`
`Ctrl`+`←` `Alt`+`b` | springt in der Befehlszeile zum Anfang des vorherigen Wortes. | `/input move_previous_word`
`Ctrl`+`→` `Alt`+`f` | springt in der Befehlszeile zum Anfang des nächsten Wortes. | `/input move_next_word`
`Home` `Ctrl`+`a` | Zum Anfang der aktuellen Zeile springen. | `/input move_beginning_of_line`
`Shift`+`Home` | Zum Anfang der Befehlszeile springen. | `/input move_beginning_of_input`
`End` `Ctrl`+`e` | Zum Ende der aktuellen Zeile springen. | `/input move_end_of_line`
`Shift`+`End` | Zum Ende der Befehlszeile springen. | `/input move_end_of_input`

#### Bearbeitung

Taste | Beschreibung | Befehl
--- | --- | ---
`Del` `Ctrl`+`d` | entfernt in der Befehlszeile das nächste Zeichen. | `/input delete_next_char`
`Backspace` `Ctrl`+`h` | entfernt in der Befehlszeile das vorherige Zeichen. | `/input delete_previous_char`
`Ctrl`+`k` | Vom Cursor bis zum Ende der aktuellen Zeile löschen (gelöschte Zeichenfolge wird in die interne Zwischenablage kopiert). | `/input delete_end_of_line`
`Alt`+`Ctrl`+`k` | Vom Cursor bis zum Ende der Kommandozeile löschen (gelöschter String wird in die interne Zwischenablage kopiert). | `/input delete_end_of_input`
`Ctrl`+`t` | Zeichen austauschen. | `/input transpose_chars`
`Ctrl`+`u` | Vom Cursor bis zum Anfang der aktuellen Zeile löschen (gelöschte Zeichenkette wird in die interne Zwischenablage kopiert). | `/input delete_beginning_of_line`
`Alt`+`Ctrl`+`u` | Vom Cursor bis zum Anfang der Befehlszeile löschen (gelöschte Zeichenkette wird in die interne Zwischenablage kopiert). | `/input delete_beginning_of_input`
`Alt`+`Backspace` | entfernt das Wort links vom Cursor (die Zeichenkette wird dabei in die interne Zwischenablage kopiert). | `/input delete_previous_word`
`Ctrl`+`w` | Vorheriges Wort der Befehlszeile löschen bis zum Leerzeichen (gelöschte Zeichenfolge wird in die interne Zwischenablage kopiert). | `/input delete_previous_word_whitespace`
`Ctrl`+`y` | fügt den Inhalt der internen Zwischenablage ein. | `/input clipboard_paste`
`Ctrl`+`_` | Rückgängig machen der letzten Aktion, in der Befehlszeile. | `/input undo`
`Alt`+`_` | Wiederherstellen der letzten Aktion, in der Befehlszeile. | `/input redo`
`Tab` | Vervollständigung von Befehlen oder Nicks (nochmaliges `Tab`: findet nächste Vervollständigung). | `/input complete_next`
`Shift`+`Tab` | ohne Vervollständigung: führt eine teilweise Vervollständigung durch. Bei unerledigter Vervollständigung : wird die vorherige Vervollständigung genutzt. | `/input complete_previous`
`Enter` `Ctrl`+`j` `Ctrl`+`m` | führt einen Befehl aus oder sendet den Text (im Such-Modus: stoppt Suche). | `/input return`
`Alt`+`Enter` | Zeilenvorschub einfügen. | `/input insert \n`
`Alt`+`d` | löscht das Wort rechts vom Cursor (die Zeichenkette wird dabei in die interne Zwischenablage kopiert). | `/input delete_next_word`
`Alt`+`k` | zeigt den Tastencode, einschließlich des eingebundenen Befehls, einer Tastenkombination an und fügt diesen in die Befehlszeile ein. | `/input grab_key_command`
`Alt`+`r` | Lösche aktuelle Zeile. | `/input delete_line`
`Alt`+`R` | Lösche komplette Eingabetext. | `/input delete_input`

#### Farbkodierung

Taste | Beschreibung | Befehl
--- | --- | ---
`Ctrl`+`c`, `b` | fügt Steuerzeichen für fett geschrieben Text ein. | `/input insert \x02`
`Ctrl`+`c`, `c` | fügt Steuerzeichen für Textfarbe ein. | `/input insert \x03`
`Ctrl`+`c`, `d` | fügt Steuerzeichen für Textfarbe ein (RGB Farbe, als hexadezimale Zahl). | `/input insert \x04`
`Ctrl`+`c`, `i` | fügt Steuerzeichen für kursiven Text ein. | `/input insert \x1D`
`Ctrl`+`c`, `o` | fügt Steuerzeichen für Standardfarbe ein. | `/input insert \x0F`
`Ctrl`+`c`, `v` | fügt Steuerzeichen für Hintergrundfarbe ein. | `/input insert \x16`
`Ctrl`+`c`, `_` | fügt Steuerzeichen für unterstrichenen Text ein. | `/input insert \x1F`

#### Befehlsverlauf

Taste | Beschreibung | Befehl
--- | --- | ---
`↑` | ruft vorherigen Befehl oder Nachricht aus dem Verlaufsspeicher auf (im Such-Modus: rückwärts suchen). | `/input history_previous`
`↓` | ruft nächsten Befehl oder Nachricht aus dem Verlaufsspeicher auf (im Such-Modus: vorwärts suchen). | `/input history_next`
`Ctrl`+`↑` | ruft vorherigen Befehl/Nachricht aus dem globalen Verlaufsspeicher auf (für alle Buffer). | `/input history_global_previous`
`Ctrl`+`↓` | ruft nächsten Befehl/Nachricht aus dem globalen Verlaufsspeicher auf (für alle Buffer). | `/input history_global_next`

#### System

Taste | Beschreibung | Befehl
--- | --- | ---
`Ctrl`+`z` | Breche den Weechat-Prozess ab | `/sys suspend`

### 6.2. Buffer

Taste | Beschreibung | Befehl
--- | --- | ---
`Ctrl`+`r` | sucht nach Text im Befehlsverlauf (siehe keys for context "histsearch"). | `/input search_history`
`Ctrl`+`s` | sucht nach Text in Bufferzeilen (siehe keys for context "search"). | `/input search_text_here`
`Ctrl`+`x` | Wechseln Sie den aktuellen Buffer, wenn diese zusammengefügt worden sind, z.B. zwischen IRC-Serverbuffer wechseln. | `/buffer switch`
`Alt`+`x` | Zoom eines zusammengefügten Buffers (`Alt`+`x` ein zweites mal: alle zusammengefügten Buffer werden angezeigt). | `/buffer zoom`
`PgUp` | eine Seite im Verlaufsspeicher des Buffers nach oben blättern. | `/window page_up`
`PgDn` | eine Seite im Verlaufsspeicher des Buffer nach unten blättern. | `/window page_down`
`Alt`+`PgUp` | einige Zeilen im Verlaufsspeicher des Buffer nach oben blättern. | `/window scroll_up`
`Alt`+`PgDn` | einige Zeilen im Verlaufsspeicher des Buffer nach unten blättern. | `/window scroll_down`
`Alt`+`Home` | springt zur ersten Zeile des Verlaufsspeichers des aktuellen Buffer.s | `/window scroll_top`
`Alt`+`End` | springt zur letzten Zeile des Verlaufsspeichers des aktuellen Buffers. | `/window scroll_bottom`
`Alt`+`←` `Alt`+`↑` `Ctrl`+`p` `F5` | zum vorherigen Buffer springen. | `/buffer -1`
`Alt`+`→` `Alt`+`↓` `Ctrl`+`n` `F6` | zum nächsten Buffer springen. | `/buffer +1`
`Alt`+`j`, `Alt`+`f` | wechselt zum ersten Buffer. | `/buffer -`
`Alt`+`j`, `Alt`+`l` (`L`) | wechselt zum letzten Buffer. | `/buffer +`
`Alt`+`j`, `Alt`+`r` | wechselt zum IRC RAW Buffer. | `/server raw`
`Alt`+`j`, `Alt`+`s` | wechselt zum IRC Server Buffer. | `/server jump`
`Alt`+`0…​9` | wechselt zum Buffer mit der Nummer (0 = 10). | `/buffer *N`
`Alt`+`j`, `01…​99` | wechselt zum Buffer mit der angegeben Nummer. | `/buffer *NN`
`Alt`+`n` | springt zur nächsten Highlight Nachricht. | `/window scroll_next_highlight`
`Alt`+`p` | springt zur vorherigen Highlight Nachricht. | `/window scroll_previous_highlight`
`Alt`+`u` | springt zur ersten ungelesenen Zeile im Buffer. | `/window scroll_unread`
`Alt`+`Shift`+`U` | setzt für alle Buffer die Markierung für ungelesene Nachrichten. | `/allbuf /buffer set unread`
`Alt`+`<` | springt zum letzten besuchten Buffer. | `/buffer jump prev_visited`
`Alt`+`>` | springt zum nächsten besuchten Buffer. | `/buffer jump next_visited`
`Alt`+`/` | wechselt zum jeweils zuletzt angezeigten Buffern. | `/buffer jump last_displayed`

### 6.3. Fenster

Taste | Beschreibung | Befehl
--- | --- | ---
`Ctrl`+`l` (`L`) | Fenster wird neu gezeichnet. | `/window refresh`
`Alt`+`l` (`L`) | schaltet einfachen Anzeigemodus an/aus. | `/window bare`
`F7` | zum vorherigen Fenster wechseln. | `/window -1`
`F8` | zum nächsten Fenster wechseln. | `/window +1`
`Alt`+`w`, `Alt`+`↑` | wechselt zum oberen Fenster. | `/window up`
`Alt`+`w`, `Alt`+`↓` | wechselt zum unteren Fenster. | `/window down`
`Alt`+`w`, `Alt`+`←` | wechselt zum linken Fenster. | `/window left`
`Alt`+`w`, `Alt`+`→` | wechselt zum rechten Fenster. | `/window right`
`Alt`+`w`, `Alt`+`b` | passt die Größe aller Fenster an. | `/window balance`
`Alt`+`w`, `Alt`+`s` | Wechselt Buffer von zwei Fenstern. | `/window swap`
`Alt`+`z` | Zoom für aktuelles Fenster (nochmals `Alt`+`z`: stellt die vorherigen Einstellungen wieder her). | `/window zoom`

### 6.4. Bars

Taste | Beschreibung | Befehl
--- | --- | ---
`F1` `Ctrl`+`F1` | blättert eine Seite in der buflist hoch. | `/bar scroll buflist * -100%`
`F2` `Ctrl`+`F2` | blättert eine Seite in der buflist runter. | `/bar scroll buflist * +100%`
`Alt`+`F1` | springt zum Anfang der buflist. | `/bar scroll buflist * b`
`Alt`+`F2` | springt zum Ende der buflist. | `/bar scroll buflist * e`
`F9` | Titel des Buffers nach links verschieben. | `/bar scroll title * -30%`
`F10` | Titel des Buffers nach rechts verschieben. | `/bar scroll title * +30%`
`F11` `Ctrl`+`F11` | Benutzerliste um eine Seite nach oben blättern. | `/bar scroll nicklist * -100%`
`F12` `Ctrl`+`F12` | Benutzerliste um eine Seite nach unten blättern. | `/bar scroll nicklist * +100%`
`Alt`+`F11` | springt zum Anfang der Benutzerliste. | `/bar scroll nicklist * b`
`Alt`+`F12` | springt zum Ende der Benutzerliste. | `/bar scroll nicklist * e`
`Alt`+`Shift`+`B` | buflist-Bar umschalten. | `/buflist toggle`
`Alt`+`Shift`+`N` | nicklist bar umschalten. | `/bar toggle nicklist`

### 6.5. Hotlist

Taste | Beschreibung | Befehl
--- | --- | ---
`Alt`+`a` | wechselt zum nächsten Buffer mit Aktivität (nach Priorität: highlight, Nachricht, …​). | `/buffer jump smart`
`Alt`+`h`, `Alt`+`c` | Hotlist löschen (Aktivitätsbenachrichtigung bei Buffern). | `/hotlist clear`
`Alt`+`h`, `Alt`+`m` | Aktuellen Puffer aus Hotlist entfernen. | `/hotlist remove`
`Alt`+`h`, `Alt`+`r` | stelle die letzte aus dem aktuellen Buffer entfernte Hotlist wieder her. | `/hotlist restore`
`Alt`+`h`, `Alt`+`Shift`+`R` | stelle die neueste Hotlist wieder her, die in allen Buffern entfernt wurde. | `/hotlist restore -all`

### 6.6. Tasten zum Umschalten von Funktionen

Taste | Beschreibung | Befehl
--- | --- | ---
`Alt`+`m` | schaltet Mausfunktion ein/aus. | `/mouse toggle`
`Alt`+`s` | Umschalten der Rechtschreibprüfung. | `/mute spell toggle`
`Alt`+`=` | schaltet Filterfunktion an/aus. | `/filter toggle`
`Alt`+`-` | schaltet, für den aktuellen Buffer, Filterfunktion an/aus. | `/filter toggle @`

### 6.7. Suchkontext

Diese Tasten werden im Kontext "search" verwendet (wenn `Ctrl`+`s` gedrückt wird, um Text in Bufferzeilen zu suchen).

Taste | Beschreibung | Befehl
--- | --- | ---
`Ctrl`+`x` | Wechsel des Suchmodus: einfache Textsuche (Standard), reguläre Ausdrücke. | `/input search_switch_regex`
`Alt`+`c` | auf Groß-/Kleinschreibung umschalten. | `/input search_switch_case`
`Tab` | wechselt Suche in: Nachricht (Standard), im Präfix, Präfix + Nachricht. | `/input search_switch_where`
`Ctrl`+`r` `↑` | sucht vorheriger Zeile. | `/input search_previous`
`Ctrl`+`s` `↓` | sucht nächste Zeile . | `/input search_next`
`Enter` `Ctrl`+`j` `Ctrl`+`m` | beendet Suche ab aktueller Position. | `/input search_stop_here`
`Ctrl`+`q` | Suche wird abgebrochen und der Bildlauf wird auf die Vortextsuche zurückgesetzt. | `/input search_stop`

### 6.8. Kontext der Verlaufssuche

Diese Tasten werden im Kontext "histsearch" verwendet (wenn `Ctrl`+`r` gedrückt wird, um Text im Befehlsverlauf zu suchen).

Taste | Beschreibung | Befehl
--- | --- | ---
`Ctrl`+`x` | Wechsel des Suchmodus: einfache Textsuche (Standard), reguläre Ausdrücke. | `/input search_switch_regex`
`Alt`+`c` | auf Groß-/Kleinschreibung umschalten. | `/input search_switch_case`
`Tab` | umschalten der Suche für: lokaler Bufferverlauf (Standard), globaler Verlauf. | `/input search_switch_where`
`Ctrl`+`r` `↑` | Suche in vorherigen (älteren) Verlaufseinträgen. | `/input search_previous`
`Ctrl`+`s` `↓` | Suche in nachfolgenden (neueren) Verlaufseinträgen. | `/input search_next`
`Enter` `Ctrl`+`j` `Ctrl`+`m` | Suche stoppen und übereinstimmende Eingaben verwenden. | `/input search_stop_here`
`Ctrl`+`o` | führt den im Verlauf gefundenen Befehl aus und fügt den nächsten in die Befehlszeile ein. | `/input history_use_get_next`
`Ctrl`+`q` | stoppt die Suche und stellt die Eingabe auf ihren ursprünglichen Wert zurück. | `/input search_stop`

### 6.9. Cursor-Kontext

Diese Tasten werden im Kontext "cursor" verwendet (Cursor kann frei auf dem Bildschirm bewegt werden), see Cursor mode.

Taste | Bereich | Beschreibung | Befehl
--- | --- | --- | ---
`↑` | - | bewegt den Cursor eine Zeile nach oben. | `/cursor move up`
`↓` | - | bewegt den Cursor eine Zeile nach unten. | `/cursor move down`
`←` | - | bewegt den Cursor eine Spalte nach links. | `/cursor move left`
`→` | - | bewegt den Cursor eine Spalte nach rechts. | `/cursor move right`
`Alt`+`↑` | - | bewegt den Cursor zur ersten Zeile des Bereichs. | `/cursor move edge_top`
`Alt`+`↓` | - | bewegt den Cursor zur letzten Zeile des Bereichs. | `/cursor move edge_bottom`
`Alt`+`←` | - | bewegt den Cursor zur ersten Spalte des Bereichs. | `/cursor move edge_left`
`Alt`+`→` | - | bewegt den Cursor zur letzten Spalte des Bereichs. | `/cursor move edge_right`
`Alt`+`Home` | - | bewegt den Cursor in die obere linke Ecke des Bereichs. | `/cursor move top_left`
`Alt`+`End` | - | bewegt den Cursor in die untere rechte Ecke des Bereichs. | `/cursor move bottom_right`
`Alt`+`Shift`+`↑` | - | bewegt den Cursor einen Bereich nach oben. | `/cursor move area_up`
`Alt`+`Shift`+`↓` | - | bewegt den Cursor einen Bereich nach unten. | `/cursor move area_down`
`Alt`+`Shift`+`←` | - | bewegt den Cursor einen Bereich nach links. | `/cursor move area_left`
`Alt`+`Shift`+`→` | - | bewegt den Cursor einen Bereich nach rechts. | `/cursor move area_right`
`m` | Chat | zitiert Nachricht. | `hsignal:chat_quote_message;/cursor stop`
`l` | Chat | zitiert aktuelle Zeile. | `hsignal:chat_quote_focused_line;/cursor stop`
`q` | Chat | zitiert prefix + Nachricht. | `hsignal:chat_quote_prefix_message;/cursor stop`
`Q` | Chat | zitiert Uhrzeit + prefix + Nachricht. | `hsignal:chat_quote_time_prefix_message;/cursor stop`
`b` | Benutzerliste | verbannt nick (Ban). | `/window ${_window_number};/ban ${nick}`
`k` | Benutzerliste | kickt nick. | `/window ${_window_number};/kick ${nick}`
`K` | Benutzerliste | kickt und verbannt nick. | `/window ${_window_number};/kickban ${nick}`
`q` | Benutzerliste | öffnet privaten Chat mit Nick. | `/window ${_window_number};/query ${nick};/cursor stop`
`w` | Benutzerliste | führt einen whois für Nick aus. | `/window ${_window_number};/whois ${nick}`
`Enter` `Ctrl`+`j` `Ctrl`+`m` | - | beendet den Cursor-Modus. | `/cursor stop`

### 6.10. Maus

Diese Mausaktionen sind nur möglich, wenn die Maus mit der Taste `Alt`+`m` aktiviert wurde (Befehl: `/mouse toggle`).

Maustaste/Mausrad (1) | Mausgeste | Bereich | Beschreibung | Befehl
--- | --- | --- | --- | ---
`■ □ □` | - | Chat | wechselt zum Fenster. | `/window ${_window_number}`
`■ □ □` | links | Chat | zum vorherigen Buffer springen. | `/window ${_window_number};/buffer +1`
`■ □ □` | rechts | Chat | zum nächsten Buffer springen. | `/window ${_window_number};/buffer +1`
`■ □ □` | links(lang) | Chat | wechselt zum ersten Buffer. | `/window ${_window_number};/buffer 1`
`■ □ □` | rechts(lang) | Chat | wechselt zum letzten Buffer. | `/window ${_window_number};/buffer +`
`▲` | - | Chat | mehrere Zeilen im Verlaufsspeicher des Buffer nach oben blättern. | `/window scroll_up -window ${_window_number}`
`▼` | - | Chat | mehrere Zeilen im Verlaufsspeicher des Buffer nach unten blättern. | `/window scroll_down -window ${_window_number}`
`Ctrl`+`▲` | - | Chat | horizontal, nach links scrollen. | `/window scroll_horiz -window ${_window_number} -10%`
`Ctrl`+`▼` | - | Chat | horizontal, nach rechts scrollen. | `/window scroll_horiz -window ${_window_number} +10%`
`▲` | - | chat: fset Buffer | Auswahl wird fünf Einträge nach oben bewegt, im fset Buffer. | `/fset -up 5`
`▼` | - | chat: fset buffer | Auswahl wird fünf Einträge nach unten bewegt, im fset Buffer. | `/fset -down 5`
`■ □ □` | - | chat: fset buffer | springt zu einem Eintrag im fset Buffer. | `/window ${_window_number};/fset -go ${fset_option_index}`
`□ □ ■` | - | chat: fset buffer | Boolean-Wert wird umgeschaltet (an/aus) oder editiere den Wert einer Option. | `hsignal:fset_mouse`
`□ □ ■` | left | chat: fset buffer | Integer/Farbwerte/Aufzählung werden verringert, andere Variabletypen werden in die Eingabezeile kopiert. | `hsignal:fset_mouse`
`□ □ ■` | right | chat: fset buffer | Integer/Farbwerte/Aufzählung werden erhöht, andere Variabletypen werden in die Eingabezeile kopiert. | `hsignal:fset_mouse`
`□ □ ■` | up / down | chat: fset buffer | markieren/demarkieren von mehreren Optionen. | `hsignal:fset_mouse`
`▲` | - | chat: /list buffer | gehe fünf Zeilen im /list-Buffer nach oben. | `/list -up 5`
`▼` | - | chat: /list buffer | gehe fünf Zeilen im /list-Buffer nach unten. | `/list -down 5`
`■ □ □` | - | chat: /list buffer | Zeile im /list-Buffer auswählen. | `/window ${_window_number};/list -go ${_chat_line_y}`
`□ □ ■` | - | chat: /list buffer | tritt dem IRC-Kanal, in der ausgewählten Zeile, bei. | `hsignal:irc_list_mouse`
`▲` | - | chat: script buffer | fünf Zeilen nach oben blättern, im Script-Buffer. | `/script -up 5`
`▼` | - | chat: script buffer | fünf Zeilen nach unten blättern, im Script-Buffer. | `/script -down 5`
`■ □ □` | - | chat: script buffer | wählt einen Eintrag im Script-Buffer aus. | `/script -go ${_chat_line_y}`
`□ □ ■` | - | chat: script buffer | installiert/entfernt ein Skript. | `/script -go ${_chat_line_y};/script installremove -q ${script_name_with_extension}`
`■ □ □` | up / left | buflist | verschiebt Buffer in der Reihenfolge nach unten. | Signal `buflist_mouse`.
`■ □ □` | down / right | buflist | verschiebt Buffer in der Reihenfolge nach oben. | Signal `buflist_mouse`.
`■ □ □` | - | buflist | wechselt zum Buffer (oder zum vorherigen Buffer, falls der aktuell genutzte Buffer angewählt wurde). | Signal `buflist_mouse`.
`□ □ ■` | - | buflist | wechselt zum nächsten Buffer, falls der aktuell genutzte Buffer angewählt wurde. | Signal `buflist_mouse`.
`Ctrl`+`▲` | - | buflist | wechselt zum vorherigen Buffer. | Signal `buflist_mouse`.
`Ctrl`+`▼` | - | buflist | wechselt zum nächsten Buffer. | Signal `buflist_mouse`.
`■ □ □` | hoch | Benutzerliste | Benutzerliste um eine Seite nach oben blättern. | `/bar scroll nicklist ${_window_number} -100%`
`■ □ □` | runter | Benutzerliste | Benutzerliste um eine Seite nach unten blättern. | `/bar scroll nicklist ${_window_number} +100%`
`■ □ □` | hoch(lang) | Benutzerliste | springt zum Anfang der Benutzerliste. | `/bar scroll nicklist ${_window_number} b`
`■ □ □` | runter(lang) | Benutzerliste | springt zum Ende der Benutzerliste. | `/bar scroll nicklist ${_window_number} e`
`■ □ □` | - | Benutzerliste | öffnet privaten Chat mit Nick. | `/window ${_window_number};/query ${nick}`
`□ □ ■` | - | Benutzerliste | führt einen whois für Nick aus. | `/window ${_window_number};/whois ${nick}`
`■ □ □` | links | Benutzerliste | kickt Nick. | `/window ${_window_number};/kick ${nick}`
`■ □ □` | links(lang) | Benutzerliste | kickt und verbannt Nick. | `/window ${_window_number};/kickban ${nick}`
`□ □ ■` | links | Benutzerliste | verbannt Nick. | `/window ${_window_number};/ban ${nick}`
`□ □ ■` | - | Input | fängt ein Mausereignis und fügt dieses in die Befehlszeile ein. | `/input grab_mouse_area`
`▲` | - | jede Bar | blättert Bar um 20% nach oben. | `/bar scroll ${_bar_name} ${_window_number} -20%`
`▼` | - | jede Bar | blättert Bar um 20% nach unten. | `/bar scroll ${_bar_name} ${_window_number} +20%`
`□ ■ □` | - | überall | aktiviert den Cursor-Modus an dieser Position. | `/cursor go ${_x},${_y}`

| (1) Buttons: `◼ □ □`: Klicke linke Maustaste `□ ◼ □`: Klicke mittlere Maustaste `□ □ ◼`: Klicke rechte Maustaste Mausrad: `▲`: Mausrad hoch `▼`: Mausrad runter

### 6.11. Fset Buffer

Diese Tasten und Aktionen werden im fset-Buffer verwendet (siehe Fset Erweiterung).

Taste | Action (1) | Beschreibung | Befehl
--- | --- | --- | ---
`↑` |  | einen Eintrag nach oben. | `/fset -up`
`↓` |  | einen Eintrag nach unten. | `/fset -down`
`PgUp` |  | eine Seite hoch blättern. | `/window page_up`
`PgDn` |  | eine Seite runter blättern. | `/window page_down`
`Alt`+`Home` | `<<` | springt zum ersten Eintrag. | `/fset -go 0`
`Alt`+`End` | `>>` | springt zum letzten Eintrag. | `/fset -go end`
`F11` | `<` | scrollt horizontal nach links. | `/fset -left`
`F12` | `>` | scrollt horizontal nach rechts. | `/fset -right`
`Alt`+`Space` | `t` | Boolean Wert ein/ausschalten. | `/fset -toggle`
`Alt`+`-` | `-` | subtrahiert 1 vom Wert bei Integer/Farboptionen/Aufzählung, bei anderen Typen kann der Wert editiert werden. | `/fset -add -1`
`Alt`+`+` | `+` | addiert 1 zum Wert bei Integer/Farboptionen/Aufzählung, bei anderen Typen kann der Wert editiert werden. | `/fset -add 1`
`Alt`+`f`, `Alt`+`r` | `r` | Wert resetten. | `/fset -reset`
`Alt`+`f`, `Alt`+`u` | `u` | Wert zurücksetzen. | `/fset -unset`
`Alt`+`Enter` | `s` | Wert setzen. | `/fset -set`
`Alt`+`f`, `Alt`+`n` | `n` | ein neuer Wert wird gesetzt, der alte Wert wird gelöscht. | `/fset -setnew`
`Alt`+`f`, `Alt`+`a` | `a` | dem Wert was hinzufügen. | `/fset -append`
`Alt`+`,` | `,` | markieren/demarkieren einer Option. | `/fset -mark 1`
`Shift`+`↑` |  | eine Zeile nach oben und markiert/demarkiert Option. | `/fset -up; /fset -mark`
`Shift`+`↓` |  | markiert/demarkiert Option und geht eine Zeile nach unten. | `/fset -mark; /fset -down`
| `m:xxx` | markiert Optionen welche angezeigt werden und auf die der Filter "xxx" zutrifft (jeder Filter für Option oder Wert ist erlaubt, siehe Befehl /fset). |
| `u:xxx` | demarkiert Optionen welche angezeigt werden und auf die der Filter "xxx" zutrifft (jeder Filter für Option oder Wert ist erlaubt, siehe Befehl /fset). |
`Ctrl`+`l` (`L`) |  | der Bildschirm wird neu gezeichnet. | `/fset -refresh`
| `$` | Optionen neu einlesen (markierte Optionen werden beibehalten). |
| `$$` | Optionen neu einlesen (Markierungen von Optionen werden dabei gelöscht). |
`Alt`+`p` | `p` | Umschalten der Beschreibung von Erweiterungen (`plugins.desc.*`). | `/mute /set fset.look.show_plugins_desc toggle`
`Alt`+`v` | `v` | Hilfe-Bar Ein-/Ausschalten. | `/bar toggle fset`
| `s:x,y` | sortiert Optionen nach Bereichen x,y (siehe Option fset.look.sort). | `/mute /set fset.look.sort x,y`
| `s:` | setzt Sortierung wieder auf Standardwerte (siehe Option fset.look.sort). | `/mute /unset fset.look.sort`
| `w:xxx` | exportiert Optionen in Datei "xxx". | `/fset -export xxx`
| `w-:xxx` | exportiert Optionen in Datei "xxx", ohne Hilfstext. | `/fset -export -nohelp xxx`
| `w+:xxx` | exportiert Optionen in Datei "xxx", mit Hilfstext. | `/fset -export -help xxx`
`Ctrl`+`x` | `x` | Umschalten zwischen der Darstellung von Optionen. | `/fset -format`
| `q` | fset Buffer schließen. | `/buffer close`

| (1) Die Aktion muss als Eingabe in die Befehlszeile eingegeben werden, gefolgt von `Enter`.

### 6.12. IRC /list Buffer

Diese Tastenbefehle und Aktionen können im IRC /list-Buffer genutzt werden (siehe Befehl /list).

Taste | Action (1) | Beschreibung | Befehl
--- | --- | --- | ---
`↑` |  | einen Eintrag nach oben. | `/list -up`
`↓` |  | einen Eintrag nach unten. | `/list -down`
`PgUp` |  | eine Seite hoch blättern. | `/window page_up`
`PgDn` |  | eine Seite runter blättern. | `/window page_down`
`Alt`+`Home` | `<<` | springt zum ersten Eintrag. | `/list -go 0`
`Alt`+`End` | `>>` | springt zum letzten Eintrag. | `/list -go end`
`F11` | `<` | scrollt horizontal nach links. | `/list -left`
`F12` | `>` | scrollt horizontal nach rechts. | `/list -right`
`Ctrl`+`j` | `j` | Join IRC channel on selected line. | `/list -join`
| `xxx` | zeigt nur Kanäle an mit "xxx" im Namen oder Thema (Groß- und Kleinschreibung wird ignoriert). |
| `n:xxx` | zeigt nur Kanäle mit im Namen (Groß- und Kleinschreibung wird ignoriert). |
| `t:xxx` | zeigt nur Kanäle mit "xxx" im Thema (Groß- und Kleinschreibung wird ignoriert). |
| `u:n` | zeigt nur Kanäle mit wenigstens "n" Usern. |
| `u:>n` | zeigt nur Kanäle mit mehr als "n" Usern |
| `u:<n` | zeigt nur Kanäle mit weniger als "n" Usern |
| `c:xxx` | zeigt nur Kanäle an, die der ausgewerteten Bedingung, "xxx", entsprechen , unter Verwendung folgender Variablen: name, name2, users, topic |
| `s:x,y` | sortiert Kanäle nach Feldern x,y (siehe Befehl /list). |
| `s:` | Sortierung auf den Standardwert zurücksetzen (siehe Befehl /list). |
| `$` | Liste aktualisieren (Der Befehl /list wird erneut ausgeführt). |
| `q` | Buffer schließen. | `/buffer close`

| (1) Die Aktion muss als Eingabe in die Befehlszeile eingegeben werden, gefolgt von `Enter`.

### 6.13. Skriptbuffer

Diese Tasten und Aktionen werden im fset-Buffer verwendet (siehe script manager).

Taste | Action (1) | Beschreibung | Befehl
--- | --- | --- | ---
`↑` |  | eine Zeile nach oben. | `/script -up`
`↓` |  | eine Zeile nach unten. | `/script -down`
`PgUp` |  | eine Seite hoch blättern. | `/window page_up`
`PgDn` |  | eine Seite nach unten blättern. | `/window page_down`
`Alt`+`i` | `i` | Skript installieren. | `/script install`
`Alt`+`r` | `r` | Skript entfernen. | `/script remove`
`Alt`+`l` | `l` | Skript laden. | `/script load`
`Alt`+`L` | `L` | Skript neu laden. | `/script reload`
`Alt`+`u` | `u` | Skript wird beendet. | `/script unload`
`Alt`+`Shift`+`A` | `A` | das Skript wird in das autoload-Verzeichnis eingebunden. | `/script toggleautoload`
`Alt`+`h` | `h` | Skript wird gehalten bzw. freigegeben. | `/script hold`
`Alt`+`v` | `v` | Skript Quelltext anzeigen. | `/script show`
| `s:x,y` | Sortiert Skrips nach Feldern x,y (siehe Option script.look.sort). |
| `s:` | Sortierung auf den Standardwert zurücksetzen (siehe Option script.look.sort). |
| `$` | Liste aktualisieren. |
| `q` | Buffer schließen. | `/buffer close`

| (1) Die Aktion muss als Eingabe in die Befehlszeile eingegeben werden, gefolgt von `Enter`.

## 7. Konfiguration

### 7.1. Fset

Die fset Erweiterung stellt eine Liste aller Optionen in einem Buffer dar und erleichtert die Konfiguration von WeeChat und Erweiterungen.

Beispiel des fset-Buffer, der Optionen anzeigt, die mit `weechat.look` beginnen:

    ┌──────────────────────────────────────────────────────────────────────────────────────┐
    │1.weechat│1/121 | Filter: weechat.look.* | Sort: ~name | Key(input): alt+space=toggle │
    │2.fset   │weechat.look.bare_display_exit_on_input: exit the bare display mode on any c│
    │         │hanges in input [default: on]                                               │
    │         │----------------------------------------------------------------------------│
    │         │  weechat.look.align_end_of_lines                   enum     message        │
    │         │  weechat.look.align_multiline_words                boolean  on             │
    │         │  weechat.look.bar_more_down                        string   "++"           │
    │         │  weechat.look.bar_more_left                        string   "<<"           │
    │         │  weechat.look.bar_more_right                       string   ">>"           │
    │         │  weechat.look.bar_more_up                          string   "--"           │
    │         │  weechat.look.bare_display_exit_on_input           boolean  on             │
    │         │  weechat.look.bare_display_time_format             string   "%H:%M"        │
    │         │  weechat.look.buffer_auto_renumber                 boolean  on             │
    │         │  weechat.look.buffer_notify_default                enum     all            │
    │         │  weechat.look.buffer_position                      enum     end            │
    │         │  weechat.look.buffer_search_case_sensitive         boolean  off            │
    │         │  weechat.look.buffer_search_force_default          boolean  off            │
    │         │  weechat.look.buffer_search_regex                  boolean  off            │
    │         │  weechat.look.buffer_search_where                  enum     prefix_message │
    │         │  weechat.look.buffer_time_format                   string   "%H:%M:%S"     │
    │         │  weechat.look.buffer_time_same                     string   ""             │
    │         │[12:55] [2] [fset] 2:fset                                                   │
    │         │█                                                                           │
    └──────────────────────────────────────────────────────────────────────────────────────┘

#### Befehle

- `fset`: Optionen von WeeChat und Erweiterungen schnell anpassen

    /fset  -bar
           -refresh
           -up|-down [<number>]
           -left|-right [<percent>]
           -go <line>|end
           -toggle
           -add [<value>]
           -reset
           -unset
           -set
           -setnew
           -append
           -mark
           -format
           -export [-help|-nohelp] <filename>
           -import <filename>
           <filter>

        -bar: fügt eine Hilfebar hinzu
    -refresh: der Bildschirm wird neu gezeichnet (Befehl: /window refresh)
         -up: bewegt die ausgewählte Zeile um die Anzahl an Zeilen nach oben
       -down: bewegt die ausgewählte Zeile um die Anzahl an Zeilen nach unten
       -left: der Buffer wird wird "prozentual" entsprechend der Fensterbreite nach links verschoben
      -right: der Buffer wird wird "prozentual" entsprechend der Fensterbreite nach rechts verschoben
         -go: wählt eine Zeile mit der entsprechenden Nummer aus, die erste Zeile beginnt mit 0 (mit "end" wird die letzte Zeile ausgewählt)
     -toggle: der Wert einer Variable vom Typ boolean wird umgeschaltet
        -add: addiert den "Wert" (kann auch eine negative Zahl sein) bei Ganzzahl, Farbe und Aufzählung (enum) für andere Typen wird die Variable in die Eingabezeile kopiert und der Cursor positioniert (bei negativem Wert wird der Cursor am Beginn der Variable positioniert, bei positivem Wert wird der Cursor an das Ende gesetzt)
      -reset: löscht den Wert von der Option
      -unset: Option wird zurückgesetzt
        -set: der /set Befehl wird in die Eingabezeile kopiert um den Wert der Option zu editieren (der Cursor wird auf den Anfang des Wertes gesetzt)
     -setnew: der /set Befehl wird in die Eingabezeile kopiert um den Wert einer Option zu bearbeiten
     -append: der /set Befehl wird in die Eingabezeile kopiert um einen zusätzlichen Wert einzugeben (der Cursor wird an das Ende der Variable positioniert)
       -mark: Markierung umschalten
     -format: es wird zum nächsten verfügbaren Format gewechselt
     -export: exportiert die Optionen und Werte, welche angezeigt werden, in eine Datei (jede Zeile hat das Format: "/set Name Wert" oder "/unset Name")
     -import: importiert Einstellungen aus einer Datei (Zeilen, die Befehle enthalten, werden ausgeführt)
       -help: der Hilfstext für eine Option wird in die exportierte Datei geschrieben (siehe /help fset.look.export_help_default)
     -nohelp: der Hilfetext für eine Option wird nicht in die exportierte Datei geschrieben (siehe /help fset.look.export_help_default)
      Filter: setzt einen neuen Filter um nur ausgewählte Optionen anzuzeigen (die Filterfunktion kann direkt in der Eingabezeile eingegeben werden); mögliche Formate sind:
              `*`: alle Optionen werden angezeigt (keine Filterung)
              `xxx`: zeigt nur Optionen mit "xxx" im Namen
              `f:xxx`: zeigt nur Konfigurationsdatei "xxx" an
              `t:xxx`: zeigt nur Optionen des entsprechenden Typs, "xxx" (bool/int/str/col/enum oder boolean/Ganzzahl/Zeichenkette/Farbe/Aufzählung)
              `d`: zeigt nur Optionen, die verändert wurden
              `d:xxx`: zeigt nur Optionen, die verändert wurden und "xxx" im Namen haben
              `d=xxx`: zeigt nur veränderte Optionen, die "xxx" als Wert haben
              `d==xxx`: zeigt nur veränderte Optionen die exakt "xxx" als Wert haben
              `h=xxx`: zeigt alle Optionen, die den Text "xxx" in der Beschreibung enthalten (betrifft die Übersetzung)
              `he=xxx`: zeigt alle Optionen, die den Text "xxx" in der Beschreibung enthalten (betrifft die englischen Beschreibung)
              `=xxx`: zeigt nur Optionen mit "xxx" als Wert
              `==xxx`: zeigt nur Optionen die exakt "xxx" als Wert haben
              `c:xxx`: zeigt nur Optionen auf die die evaluierte Bedingung "xxx" zutrifft, folgende Variable können verwendet werden: file, section, option, name, parent_name, type, type_en, type_short (bool/int/str/col/enum), type_tiny (b/i/s/c/e), default_value, default_value_undef, value, quoted_value, value_undef, value_changed, parent_value, min, max, description, description2, description_en, description_en2, string_values, allowed_values

    Zeilen werden mittels evaluierten Ausdrücken dargestellt (siehe /help eval für das Format), dazu werden diese Optionen verwendet:
      - fset.format.option1: erstes Format für eine Option
      - fset.format.option2: zweites Format für eine Option

    Die folgenden Variablen können in den Optionen genutzt werden:
      - Optionsdaten, mit Farbe und durch Leerzeichen auf der rechten Seite aufgefüllt:
        - ${file}: Konfigurationsdatei (zum Beispiel "weechat" oder "irc")
        - ${section}: Sektion
        - ${option}: Name der Option
        - ${name}: vollständiger Name der Option (file.section.option)
        - ${parent_name}: übergeordneter Name der Option
        - ${type}: Optionstyp (übersetzt)
        - ${type_en}: Optionstyp (auf englisch)
        - ${type_short}: Optionstyp Kurzform (bool/int/str/col/enum)
        - ${type_tiny}: Optionstyp klein (b/i/s/c/e)
        - ${default_value}: Standardwert einer Option
        - ${default_value_undef}: "1" falls Standardwert null ist, andernfalls "0"
        - ${value}: Optionswert
        - ${value_undef}: "1" wenn Wert null ist, andernfalls "0"
        - ${value_changed}: "1" wenn Wert abweichend vom Standardwert ist, andernfalls "0"
        - ${value2}: Optionswert, mit geerbtem Wert falls null
        - ${parent_value}: übergeordneter Optionswert
        - ${min}: minimaler Wert
        - ${max}: maximaler Wert
        - ${description}: Beschreibung der Option (übersetzt)
        - ${description2}: Beschreibung der Option (übersetzt), "(keine Beschreibung)" (übersetzt) falls keine Beschreibung vorhanden
        - ${description_en}: Beschreibung der Option (in englisch)
        - ${description_en2}: Beschreibung der Option (in englisch), "(keine Beschreibung)" falls keine Beschreibung vorhanden
        - ${string_values}: Zeichenketten sind für Integer Optionen erlaubt
        - ${allowed_values}: zulässige Werte
        - ${marked}: "1" wenn Option markiert ist, andernfalls "0"
        - ${index}: Index der Option in der Liste
      - Optionsdaten, mit Farbe aber ohne Leerzeichen:
        - selbe Namen, vorangestellt mit Unterstrich, zum Beispiel: ${_name}, ${_type}, ...
      - Optionsdaten, Rohformat (keine Farben/Leerzeichen):
        - selbe Namen, mit zwei vorangestellten Unterstrichen, zum Beispiel: ${__name}, ${__type}, ...
      - Optionsdaten, nur Leerzeichen:
        - selbe Namen, mit vorangestelltem "empty_", zum Beispiel: ${empty_name}, ${empty_type}
      - andere Daten:
        - ${selected_line}: "1" wenn Zeile ausgewählt ist, andernfalls "0"
        - ${newline}: fügt einen Zeilenumbruch an diese Position, dadurch wird die Option über mehrere Zeilen angezeigt

    Für Tasten, Eingaben und Mausaktionen im Buffer finden Sie unter Tastenbelegungen im Benutzeranleitung.

    Hinweis: Leerzeichen am Anfang der Eingabezeile werden ignoriert und der folgende Text wird als Filter verwendet. Ein Beispiel: "q" schließt den fset-Buffer wobei hingegen " q" alle Optionen anzeigt die ein "q" im Namen beinhalten.

    Beispiele:
      /fset d:irc.*
      /fset nicklist
      /fset =red
      /fset ==red
      /fset c:${file} == irc && ${type_en} == integer

#### Optionen

Sektionen in Datei fset.conf:

Sektion | Steuerbefehl | Beschreibung
--- | --- | ---
`color` | `/set fset.color.*` | Farben.
`format` | `/set fset.format.*` | Format um die Liste der Optionen darzustellen.
`look` | `/set fset.look.*` | Erscheinungsbild.

Optionen:

- fset.color.allowed_values

  - Beschreibung: Farbe für erlaubte Werte

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `default`

- fset.color.allowed_values_selected

  - Beschreibung: Farbe für zulässige Werte in der ausgewählten Zeile

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `white`

- fset.color.color_name

  - Beschreibung: Farbe für Farbnamen, wenn die Option fset.look.use_color_value aktiviert ist

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `246`

- fset.color.color_name_selected

  - Beschreibung: Farbe für den Farbnamen in der ausgewählten Zeile, wenn die Option fset.look.use_color_value aktiviert ist

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `default`

- fset.color.default_value

  - Beschreibung: Farbe für Standardwert

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `default`

- fset.color.default_value_selected

  - Beschreibung: Farbe für den Standardwert bei der ausgewählten Zeile

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `white`

- fset.color.description

  - Beschreibung: Farbe für Beschreibung

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `242`

- fset.color.description_selected

  - Beschreibung: Farbe für Beschreibung für die ausgewählte Zeile

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `default`

- fset.color.file

  - Beschreibung: Farbe für Datei

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `default`

- fset.color.file_changed

  - Beschreibung: Farbei für Datei, falls der Wert abweichend ist

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `brown`

- fset.color.file_changed_selected

  - Beschreibung: Farbe von Datei wenn Wert verändert ist, bei der ausgewählten Zeile

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `yellow`

- fset.color.file_selected

  - Beschreibung: Farbe der Datei für die ausgewählte Zeile

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `white`

- fset.color.help_default_value

  - Beschreibung: Farbe für Standardwert in der Hilfe-Bar

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `white`

- fset.color.help_description

  - Beschreibung: Farbe für die Beschreibung in der Hilfe-Bar

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `default`

- fset.color.help_name

  - Beschreibung: Farbe für Namen in Hilfe-Bar

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `white`

- fset.color.help_quotes

  - Beschreibung: Farbe der Anführungszeichen für Zeichenwerte

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `darkgray`

- fset.color.help_values

  - Beschreibung: Farbe für erlaubte Werte

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `default`

- fset.color.index

  - Beschreibung: Farbe für Index einer Option

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `cyan`

- fset.color.index_selected

  - Beschreibung: Farbe für Index der Option bei der ausgewählten Zeile

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `lightcyan`

- fset.color.line_marked_bg1

  - Beschreibung: Hintergrundfarbe für markierte Zeile (wird für das erste Format verwendet, siehe Option fset.format.option1)

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `17`

- fset.color.line_marked_bg2

  - Beschreibung: Hintergrundfarbe für markierte Zeile (wird für das zweite Format verwendet, siehe Option fset.format.option2)

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `17`

- fset.color.line_selected_bg1

  - Beschreibung: Hintergrundfarbe für ausgewählte Zeile (wird für das erste Format verwendet, siehe Option fset.format.option1)

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `24`

- fset.color.line_selected_bg2

  - Beschreibung: Hintergrundfarbe für ausgewählte Zeile (wird für das zweite Format verwendet, siehe Option fset.format.option2)

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `24`

- fset.color.marked

  - Beschreibung: Farbe des Markierungssymbols

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `brown`

- fset.color.marked_selected

  - Beschreibung: Farbe für das Markierungssymbol für die ausgewählte Zeile

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `yellow`

- fset.color.max

  - Beschreibung: Farbe für Maximalwert

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `default`

- fset.color.max_selected

  - Beschreibung: Farbe für Maximalwert bei der ausgewählten Zeile

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `white`

- fset.color.min

  - Beschreibung: Farbe für Minimalwert

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `default`

- fset.color.min_selected

  - Beschreibung: Farbe für Minimalwert, für ausgewählte Zeile

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `white`

- fset.color.name

  - Beschreibung: Farbe für Name

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `default`

- fset.color.name_changed

  - Beschreibung: Farbe für Namen wenn Wert verändert wurde

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `185`

- fset.color.name_changed_selected

  - Beschreibung: Farbe vom Namen, falls Wert verändert wurde bei der ausgewählten Zeile

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `yellow`

- fset.color.name_selected

  - Beschreibung: Farbe des Namens für die ausgewählte Zeile

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `white`

- fset.color.option

  - Beschreibung: Farbe für Option

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `default`

- fset.color.option_changed

  - Beschreibung: Farbe der Option wenn Wert verändert wurde

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `brown`

- fset.color.option_changed_selected

  - Beschreibung: Farbe von Option, falls Wert verändert wurde bei der ausgewählten Zeile

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `yellow`

- fset.color.option_selected

  - Beschreibung: Farbe der Option für die ausgewählte Zeile

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `white`

- fset.color.parent_name

  - Beschreibung: Farbe des Namens für übergeordnete Option

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `default`

- fset.color.parent_name_selected

  - Beschreibung: Farbe des Namens für übergeordnete Option, für ausgewählte Zeile

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `white`

- fset.color.parent_value

  - Beschreibung: Farbe des Wertes für übergeordnete Option

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `cyan`

- fset.color.parent_value_selected

  - Beschreibung: Farbe des Wertes für übergeordnete Option, für ausgewählte Zeile

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `lightcyan`

- fset.color.quotes

  - Beschreibung: Farbe der Anführungszeichen für Zeichenwerte

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `darkgray`

- fset.color.quotes_changed

  - Beschreibung: Farbe der Anführungszeichen um Zeichenketten wenn der Wert verändert wurde

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `default`

- fset.color.quotes_changed_selected

  - Beschreibung: Farbe der Anführungszeichen um Zeichenketten wenn der Wert verändert wurde, bei der ausgewählten Zeile

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `white`

- fset.color.quotes_selected

  - Beschreibung: Farbe der Anführungszeichen um Zeichenketten, bei der ausgewählten Zeile

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `default`

- fset.color.section

  - Beschreibung: Farbe für Sektion

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `default`

- fset.color.section_changed

  - Beschreibung: Farbe der Sektion wenn Wert verändert wurde

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `brown`

- fset.color.section_changed_selected

  - Beschreibung: Farbe der aktuellen Zeile für Sektion, sofern Wert verändert wurde

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `yellow`

- fset.color.section_selected

  - Beschreibung: Farbe der Sektion für ausgewählte Zeile

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `white`

- fset.color.string_values

  - Beschreibung: Farbe für Zeichen-Werte

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `default`

- fset.color.string_values_selected

  - Beschreibung: Farbe für Werte von Zeichenketten, bei der ausgewählten Zeile

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `white`

- fset.color.title_count_options

  - Beschreibung: Farbe für die Zahl die im Buffer-Titel anzeigt wie viele Optionen gefunden wurden

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `cyan`

- fset.color.title_current_option

  - Beschreibung: Farbe in welcher die Ordnungszahl der ausgewählten Option im Title angegeben werden soll

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `lightcyan`

- fset.color.title_filter

  - Beschreibung: Farbe für Filter im Buffer-Titel

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `yellow`

- fset.color.title_marked_options

  - Beschreibung: Farbe für die Zahl die im Buffer-Titel anzeigt wie viele Optionen markiert sind

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `lightgreen`

- fset.color.title_sort

  - Beschreibung: Farbe für Sortierung im Buffer-Titel

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `white`

- fset.color.type

  - Beschreibung: Farbe für den Variablentyp

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `138`

- fset.color.type_selected

  - Beschreibung: Farbe für den Variablentyp wenn Zeile ausgewählt wird

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `216`

- fset.color.unmarked

  - Beschreibung: Farbe für das Markierungssymbol wenn die Option nicht markiert ist

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `default`

- fset.color.unmarked_selected

  - Beschreibung: Farbe für das Markierungssymbol wenn die Option in der ausgewählten Zeile nicht markiert ist

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `white`

- fset.color.value

  - Beschreibung: Farbe für Wert

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `38`

- fset.color.value_changed

  - Beschreibung: Farbe für veränderten Wert (abweichend vom Standardwert)

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `185`

- fset.color.value_changed_selected

  - Beschreibung: Farbe für veränderten Wert (abweichend vom Standardwert) für die ausgewählte Zeile

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `yellow`

- fset.color.value_selected

  - Beschreibung: Farbe für Wert für die ausgewählte Zeile

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `159`

- fset.color.value_undef

  - Beschreibung: Farbe für undefinierten Wert

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `magenta`

- fset.color.value_undef_selected

  - Beschreibung: Farbe für undefinierte Werte für die ausgewählte Zeile

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `lightmagenta`

- fset.format.export_help

  - Beschreibung: Format für die Hilfezeile die vor jede Option geschrieben wird, wenn in eine Datei exportiert wird (Hinweis: Inhalt wird evaluiert, siehe /help fset)

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"# ${description2}"`

- fset.format.export_option

  - Beschreibung: Format für jede Option die in eine Datei exportiert wird (Hinweis: Inhalt wird evaluiert, siehe /help fset)

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/set ${name} ${quoted_value}"`

- fset.format.export_option_null

  - Beschreibung: Format für jede Option die "null" als Wert hat und in eine Datei exportiert wird (Hinweis: Inhalt wird evaluiert, siehe /help fset)

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/unset ${name}"`

- fset.format.option1

  - Beschreibung: erstes von zwei Formaten um Optionen anzuzeigen, wird genutzt wenn die Option fset.look.format_number auf 1 gesetzt ist (Hinweis: der Inhalt ist evaluiert, siehe /help fset); eine leere Zeichenkette nutzt die Standardeinstellung ("${marked} ${name} ${type} ${value2}"), dies findet ohne eine Evaluierung statt, was wesentlich schneller ist; zwischen den Formaten kann mittels ctrl-x umgeschaltet werden

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `""`

- fset.format.option2

  - Beschreibung: zweites von zwei Formaten um Optionen anzuzeigen,wird genutzt wenn die Option fset.look.format_number auf 1 gesetzt ist (Hinweis: der Inhalt ist evaluiert, siehe /help fset); eine leere Zeichenkette nutzt die Standardeinstellung ("${marked} ${name} ${type} ${value2}"), dies findet ohne eine Evaluierung statt, was wesentlich schneller ist; zwischen den Formaten kann mittels ctrl-x umgeschaltet werden

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"${marked} ${name} ${type} ${value2}${newline} ${empty_name} ${_default_value}${color:244} -- ${_allowed_values}${newline} ${empty_name} ${_description}"`

- fset.look.auto_refresh

  - Beschreibung: durch Kommata getrennte Liste von Optionen, die eine Aktualisierung des fset Buffers auslösen (falls dieser geöffnet sein sollte); "*" beschreibt alle Optionen (empfohlen). Beginnt der Name einer Option hingegen mit "!" erzeugt diese Option keine Aktualisierung des Buffers. Im Optionsnamen kann der Platzhalter "*" verwendet werden (Beispiel: "*,!plugin.section.*" )

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"*"`

- fset.look.auto_unmark

  - Beschreibung: die Markierung wird automatisch für alle Optionen gelöscht, sobald eine Aktion bei einer markierten Option durchgeführt wird oder die Liste neu eingelesen wird

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `off`

- fset.look.condition_catch_set

  - Beschreibung: Bedingung um den /set Befehl abzufangen und die Ausgabe im fset Buffer darzustellen; folgende Variablen können verwendet werden: ${name} (Name der Option die dem /set Befehl übergeben wurde), ${count} (Anzahl der Optionen die mit /set gefunden wurden); eine leere Zeichenkette deaktiviert die Funktion; der Wert "1", nutzt immer den fset Buffer für die Ausgabe des /set Befehls

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"${count} >= 1"`

- fset.look.export_help_default

  - Beschreibung: erstellt standardmäßig eine Hilfe für jede exportierte Option (dies kann mit dem Argumenten "-help" und "-nohelp" überschrieben werden wenn man den Befehl /fset -export nutzt)

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `on`

- fset.look.format_number

  - Beschreibung: Nummer welches Format genutzt werden soll um Optionen anzuzeigen; diese Option wird dynamisch geändert indem man ctrl-x im fset Buffer nutzt

  - Typ: integer

  - Werte: 1 .. 2

  - Standardwert: `1`

- fset.look.marked_string

  - Beschreibung: Zeichenkette welche dargestellt wird wenn eine Option markiert wurde (um eine Aktion auf mehrere Optionen durchzuführen)

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"*"`

- fset.look.scroll_horizontal

  - Beschreibung: links/rechts im fset Buffer scrollen (prozentual zur Breite)

  - Typ: integer

  - Werte: 1 .. 100

  - Standardwert: `10`

- fset.look.show_plugins_desc

  - Beschreibung: zeigt die zusätzlichen Optionen von Erweiterung an, die für die Beschreibung zuständig sind (plugins.desc.*)

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `off`

- fset.look.sort

  - Beschreibung: durch Kommata getrennte Liste von Feldern um die Optionen zu sortieren (siehe /help fset um eine Auflistung der Felder zu erhalten); wird das "-" Zeichen vor einem Feld angewendet, wird die Ausgabe umgekehrt, um bei einem Vergleich nicht zwischen Groß- und Kleinschreibung zu unterscheiden wird das Zeichen "~" verwendet; Beispiel: "-~name" sortiert die Optionsnamen in umgekehrter Reihenfolge und es wird dabei nicht zwischen Groß-und Kleinschreibung unterschieden

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"~name"`

- fset.look.unmarked_string

  - Beschreibung: Zeichen welches angezeigt wird sofern eine Option nicht markiert ist

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `" "`

- fset.look.use_color_value

  - Beschreibung: Farbe die genutzt wird um Werte für Farboptionen darzustellen

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `on`

- fset.look.use_keys

  - Beschreibung: nutzt die alt+X Tasten im fset Buffer um Aktionen durchzuführen; wenn deaktiviert sind nur Eingaben in der Eingabezeile erlaubt

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `on`

- fset.look.use_mute

  - Beschreibung: nutzt /mute Befehl wenn eine Option geändert wird

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `off`

### 7.2. Farben

#### Basisfarben

Basisfarben in WeeChat sind:

Name | Farbe
--- | ---
`default` | Standard Terminalfarbe (transparent für Hintergrund)
`black` | Schwarz
`darkgray` | Dunkelgrau
`red` | Dunkelrot
`lightred` | Hellrot
`green` | Dunkelgrün
`lightgreen` | Hellgrün
`brown` | Braun
`yellow` | Gelb
`blue` | Dunkelblau
`lightblue` | Hellblau
`magenta` | Dunkel magenta
`lightmagenta` | Hell magenta
`cyan` | Dunkel türkis
`lightcyan` | Hell türkis
`gray` | Grau
`white` | Weiß

#### erweiterte Farbpalette

WeeChat belegt Farbpaarungen dynamisch, sobald die Farbe genutzt werden soll. Zum Beispiel, um mit einer Farbe Buffer oder Bars zu nutzen.

Zu den Basisfarben können zusätzlich Farben zwischen eins und der maximalen Anzahl an Farben genutzt werden, die vom jeweiligen Terminal zur Verfügung gestellt werden.

Mit dem `/color` Befehl kann man sich sowohl die aktuelle Farbpalette anzeigen lassen als auch die Anzahl der zu nutzenden Farben. Mit `Alt`+`c` kann man vorübergehend zu den Terminalfarben wechseln, um eine Farbe auszuwählen.

Um zum Beispiel die Uhrzeit in einem Buffer in einem schönen Orange darstellen zu lassen:

    /set weechat.color.chat_time 214

oder falls man den Hintergrund der Statusleiste in einm sehr dunklen Grün haben möchte:

    /set weechat.bar.status.color_bg 22

#### Alias

Man kann einer Farbe einen Alias zuordnen um diesen Alias anstelle der Farbzahl in die Optionen einzutragen. Um einen Alias zu definieren nutzt man den Befehl `/color alias`.

Beispiel:

    /color alias 214 orange
    /set weechat.color.chat_delimiters orange

#### Attribute

Er ist möglich einer Farbe ein Attribut hinzuzufügen. Dazu wird dem Farbnamen oder der Farbnummer ein- oder mehrere Attribute vorangestellt.

- `%`: blinken

- `.`: "dim" (halb hell)

- `*` : fett

- `!` : invertierte Darstellung

- `/` : kursiven

- `_` : unterstrichen

- `|`: Attribute beibehalten: blinken/dim/fett/invertierte Darstellung/kursiv/unterstrichen nicht zurücksetzen, wenn die Farbe geändert wird

Um zum Beispiel dem eigenen Nick die Farbe weiß und unterstrichen zuzuordnen:

    /set weechat.color.chat_nick_self _white

oder um die Zeitanzeige in der Statuszeile orange, fett und unterstrichen darzustellen:

    /set weechat.color.status_time *_214

Um einer Standard-Terminalfarbe (-1) ein Attribut hinzuzufügen muss eine Zahl gewählt werden die größer ist als die letzte genutzte Farbe des Terminals. Zum Beispiel; maximale Farbwahl in WeeChat: 99999.

Um der Vordergrundfarbe des Terminals das Attribut "fett" zuzuordnen:

    /set weechat.color.status_time *99999

### 7.3. Charset

Die Charset-Erweiterung übernimmt das de-/kodieren der Zeichensätze.

Es existiert ein Standardzeichensatz zum de-/kodieren und spezielle Zeichensätze für Buffer (oder Gruppen von Buffern).

Diese Erweiterung ist optional, sie wird aber empfohlen. Wenn diese Erweiterung nicht genutzt wird steht WeeChat lediglich UTF-8 zur Verfügung.

Die Charset Erweiterung wird automatisch von WeeChat geladen. Um sicher zu gehen dass diese Erweiterung geladen wurde führen Sie folgenden Befehl aus:

    /charset

Wird der Befehl nicht gefunden dann kann die Erweiterung mit dem nachfolgenden Befehl nachgeladen werden:

    /plugin load charset

Wird die Erweiterung nicht geladen dann sollten Sie WeeChat nochmals mit allen Erweiterungen und der Charset Unterstützung kompilieren.

Wird die Charset Erweiterung gestartet dann wird der Terminal und der interne Zeichensatz genutzt. Welcher Terminal Zeichensatz genutzt wird hängt davon ab welchen Zeichensatz Sie lokal nutzen. Intern wird UTF-8 genutzt.

Beispiel:

    charset: terminal: ISO-8859-15, internal: UTF-8

#### Zeichensatz auswählen

Um einen Zeichensatz zum de-/kodieren zu bestimmen wird der Befehl `/set` genutzt.

Beispiel:

    /set charset.default.decode ISO-8859-15
    /set charset.default.encode ISO-8859-15

Wenn der globale Zeichensatz zum dekodieren nicht gesetzt ist (dies tritt beim ersten Aufruf des Charset Erweiterung auf) dann wird automatisch der Zeichensatz genutzt der vom Terminal verwendet wird (sofern dieser nicht UTF-8 ist) oder der Standardzeichensatz ISO-8859-1.

Der Standardwert zum kodieren ist nicht gesetzt. Deshalb wird der interne Zeichensatz (UTF-8) genutzt.

Um einen Zeichensatz für IRC Server einzustellen wird der Befehl `/charset` im Server Buffer ausgeführt. Wird nur der Zeichensatz als Argument übergeben wird dieser sowohl zum kodieren als auch dekodieren genutzt.

Beispiel:

    /charset ISO-8859-15

ist identisch mit den Befehlen:

    /charset decode ISO-8859-15
    /charset encode ISO-8859-15

Um den Zeichensatz in einem IRC-Kanal (oder in einem privaten Buffer) zu ändern wird der selbe Befehl im entsprechenden Buffer genutzt.

Um die Zeichenkodierung für alle Kanäle und privaten Buffer eines IRC Server zu ändern:

    /set charset.encode.irc.libera ISO-8859-15

Um sich alle genutzten Zeichensätze anzeigen zu lassen wird folgender Befehl genutzt:

    /set charset.*

#### Fehlersuche

Sollten Probleme bei der Zeichensatzdarstellung auftreten dann werfen Sie bitte einen Blick in die WeeChat FAQ / Charset ↗.

#### Befehle

- `charset`: Ändert den Zeichensatz für aktuellen Buffer

    /charset  decode|encode <charset>
              reset

         decode: ändere Zeichensatz zum dekodieren
         encode: ändere Zeichensatz zum kodieren
    Zeichensatz: Ändert den Zeichensatz für aktuellen Buffer
          reset: setze im aktuellen Buffer den Zeichensatz zurück

#### Optionen

Sektionen in Datei charset.conf:

Sektion | Steuerbefehl | Beschreibung
--- | --- | ---
`default` | `/set charset.default.*` | Vorgegebener Zeichensatz zum De-/kodieren.
`decode` | `/charset decode /set charset.decode.*` | Zeichensatz zum dekodieren (Optionen können in Sektion hinzugefügt/entfernt werden).
`encode` | `/charset encode /set charset.encode.*` | Zeichensatz zum kodieren (Optionen können in Sektion hinzugefügt/entfernt werden).

Optionen:

- charset.default.decode

  - Beschreibung: globale Zeichendekodierung: Zeichendekodierung die für eingehende Nachrichten genutzt werden soll, falls diese nicht UTF-8 gültig ist

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"iso-8859-1"`

- charset.default.encode

  - Beschreibung: globale Zeichenkodierung: Zeichenkodierung die für ausgehende Nachrichten genutzt werden soll (sollte keine Zeichenkodierung angegeben werden, wird UTF-8 verwendet, da WeeChat UTF-8 zur internen Kodierung nutzt)

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `""`

### 7.4. Benachrichtigungsstufen

#### Benachrichtigungsstufen einstellen

Es gibt vier Benachrichtigungsstufen für Nachrichten, welche in Buffern dargestellt werden. Nachfolgend eine Liste, sortiert von niedrig nach hoch:

- low: Nachricht mit einer geringen Wertigkeit (zum Beispiel: IRC join/part/quit)

- message: Nachricht von einem User

- private: Nachricht in einem privaten Buffer

- highlight: wenn es sich um eine highlight Nachricht handelt

Jeder Buffer besitzt eine Benachrichtigungsstufe, um festzulegen, bei welchen Nachrichten der entsprechende Buffer in der Hotlist angezeigt werden soll.

Der Wert für die Benachrichtigungsstufe kann mittels folgender Option festgelegt werden: weechat.look.buffer_notify_default, Der Standardwert ist all.

Benachrichtigungsstufe | Welche Nachrichten Berücksichtigung in der Hotlist finden
--- | ---
`none` | (keine)
`highlight` | highlight + private Nachrichten
`message` | highlight + private Nachrichten + normale Nachrichten
`all` | highlight + private Nachrichten + normal Nachrichten + Nachrichten mit einer niedrigen Priorität

Benachrichtigungsstufen können für mehrere Buffer definiert werden. Zum Beispiel für alle Buffer des IRC Servers "libera":

    /set weechat.notify.irc.libera message

Setzt die Benachrichtigungsstufe ausschließlich für den Kanal "#weechat", auf die Stufe highlight:

    /set weechat.notify.irc.libera.#weechat highlight

Die Benachrichtigungsstufe für einen Buffer kann mittels dem `/buffer` Befehl festgelegt werden:

    /buffer notify highlight

#### Maximaler Hotlist-Level für Nicks

Es ist möglich den sogenannten maximalen Hotlist-Level für einzele Nicks einzustellen, per Buffer oder für mehrere Gruppen (wie IRC Server).

Die Buffer-Eigenschaft "hotlist_max_level_nicks" kann mit einer Anzahl von Nicks genutzt werden und für jeden einzelen Nick kann ein maximler Hotlist-Level eingestellt wertden. Mögliche Stufen sind:

- -1: keine Änderungen an der Hotlist für den entsprechenden Nick

- 0: niedrige Priorität (zum Beispiel join/part Nachrichten)

- 1: Nachricht

- 2: private Nachricht

- 3: Highlight (eigentlich unnötig, da es standardmäßig die höchste Stufe für alle Nachrichten ist)

Um zum Beispiel Highlights von "joe" und "mike" im aktuellen Buffer zu deaktivieren:

    /buffer setauto hotlist_max_level_nicks_add joe:2,mike:2

### 7.5. Hervorhebungen

#### Hervorhebungen deaktivieren

Hervorhebungen können mit der Option weechat.look.highlight_disable_regex (regulärer Ausdruck) deaktiviert werden.
Wenn eine Hervorhebung mit dieser Option deaktiviert wird, werden die anderen Hervorhebungsoptionen ignoriert.

Zum Beispiel, Nachrichten die eine Hervorhebung besitzen, wo die Nachricht mit "flash" zwischen spitzen Klammern beginnt:

    /set weechat.look.highlight_disable_regex "<flash.*>"

Dies kann auch mit der Buffereigenschaft „highlight_disable_regex“ eingestellt werden.

Gleiches Beispiel, spezifisch für den aktuellen Buffer:

    /buffer setauto highlight_disable_regex <flash.*>

#### Worte als Highlights hinzufügen

Standardmäßig werden in WeeChat alle Nachrichten von anderen Personen als highlight deklariert, falls diese den eigenen Nick beinhalten. Deshalb ist ein highlight abhängig vom jeweiligen Buffer (ein Nick kann je nach Buffer unterschiedlich sein)

Es können weitere Wörter zu den highlights hinzugefügt werden, mit der Option weechat.look.highlight, zum Beispiel um neben dem eigenen Nick auch die Wörter "Wort1","Wort2" und alle Wörter die mit "Test" beginnen zu highlighten:

    /set weechat.look.highlight "Wort1,Wort2,Test*"

Wird eine spezielle Regel benötigt, dann können reguläre Ausdrücke verwendet werden. Dazu sollte man folgende Option nutzen: weechat.look.highlight_regex, um zum Beispiel die Wörter "flashcode", "flashcöde" und "flashy" zu highlighten:

    /set weechat.look.highlight_regex "flashc[oö]de|flashy"

Die Trennzeichen die Wörter umschließen können angepasst werden, mit der Option: weechat.look.word_chars_highlight.

#### Tags zu highlight hinzufügen

Zeilen die in einem Buffer dargestellt werden enthalten "tags" welche zusätzliche Informationen über die Herkunft der Nachricht oder über die Nachricht selbst beinhalten. + Diese "tags" können mit dem Befehl `/debug tags` dargestellt werden (um die Anzeige wieder zu entfernen, nochmals den Befehl ausführen).

Um Tags als Highlights zu nutzen wird folgende Option verwendet: weechat.look.highlight_tags. Tags werden durch Kommata getrennt und mehrere Tags können mit `+` genutzt werden um ein logischen "und" zu erstellen.

Zum Beispiel um alle Nachrichten vom Nick "FlashCode" und alle notice-Nachrichten von Nicks die mit "toto" beginnen zu highlighten:

    /set weechat.look.highlight_tags "nick_flashcode,irc_notice+nick_toto*"

#### Highlights mit regulärem Ausdruck für einen Buffer nutzen

Man kann reguläre Ausdrücke für Highlights in einem Buffer nutzen, indem man die Eigenschaft des Buffers mittels "highlight_regex" anpasst.

Um zum Beispiel jede Nachricht im aktuellen Buffer als Highlight-Nachricht einzustufen:

    /buffer setauto highlight_regex .*

### 7.6. Bufferprotokollierung

Die Logger Erweiterung erlaubt es den Inhalt von Buffern in Dateien zu sichern. Dabei kann man über Optionen Einfluss darauf nehmen was gesichert und wie etwas gesichert werden soll.

#### Log-Level

Die Protokollierung wird durch einen sogenannten Level für jeden Buffer sichergestellt. Der Standardlevel ist dabei 9 (damit werden alle Nachrichten die im Buffer angezeigt werden protokolliert). Der Grad einer Protokollierung kann separat für jeden einzelnen Buffer oder aber für eine Anzahl von Buffern festgelegt werden.

Mögliche Level sind hierbei 0 bis 9. Null bedeutet, es findet keine Protokollierung statt und neun, dass alle Nachrichten protokolliert werden.

Erweiterungen nutzen unterschiedliche Level um Nachrichten anzuzeigen. Die IRC Erweiterung nutzt folgende Level:

- Level 1: Nachrichten eines Users (im Kanal oder privat)

- Level 2: Nick wurde geändert (der eigene oder von einer anderen Person)

- Level 3: jedwede Server Nachricht (ausgenommen join/part/quit)

- Level 4: Server Nachrichten join/part/quit

Setzen Sie also den Grad der Protokollierung für einen IRC Kanal auf "3" wird WeeChat alle Nachrichten protokollieren, ausgenommen join/part/quit Nachrichten.

weitere Beispiele:

- Level 3 für IRC Kanal #weechat nutzen:

    /set logger.level.irc.libera.#weechat 3

- Level 3 für libera Server Buffer nutzen:

    /set logger.level.irc.server.libera 3

- Level 3 für alle Kanäle auf dem Server libera nutzen:

    /set logger.level.irc.libera 3

- Level 2 für alle IRC Buffers nutzen:

    /set logger.level.irc 2

#### Dateinamenmaske

Es ist möglich eine Dateinamenmaske für jeden Buffer zu erstellen und diese Maske mit lokalen Buffervariablen zu füllen. Um sich die verfügbaren lokalen Variablen für den aktuellen Buffer anzeigen zu lassen:

    /buffer listvar

Masken werden in absteigender Reihenfolge abgeglichen, beginnend mit `logger.mask.$plugin.*`, dabei fungiert `logger.file.mask` als Fallback-Option.

Zum Beispiel für den Buffer "irc.libera.#weechat". WeeChat sucht in dieser Reihenfolge nach einer Maske:

    logger.mask.irc.libera.#weechat
    logger.mask.irc.libera
    logger.mask.irc
    logger.file.mask

Dies bedeutet dass man eine Maske speziell für einen IRC Server ("logger.mask.irc.libera") anlegen kann oder aber global für die Erweiterung ("logger.mask.irc").

##### Protokolldatei nach Datum

Um Protokolldateien mit einer Datumsrelevanz zu erstellen müssen Datumsspezifikationen in der Maske genutzt werden (siehe `man strftime` für das Format). Zum Beispiel:

    /set logger.file.mask "%Y/%m/$plugin.$name.weechatlog"

Erstellt eine Struktur in folgender Form:

    ~/.local/share/weechat
    └── logs
        ├── 2010
        │   ├── 11
        │   │   ├── irc.server.libera.weechatlog
        │   │   └── irc.libera.#weechat.weechatlog
        │   └── 12
        │       ├── irc.server.libera.weechatlog
        │       └── irc.libera.#weechat.weechatlog
        ├── 2011
        │   ├── 01
        │   │   ├── irc.server.libera.weechatlog
        │   │   └── irc.libera.#weechat.weechatlog
        │   ├── 02
        ...

##### Protokolldateien nach Server und Kanälen

Soll für jeden IRC Server ein Verzeichnis erstellt werden mit jeweils einer Protokolldatei für jeden Kanal:

    /set logger.mask.irc "irc/$server/$channel.weechatlog"

Erstellt eine Struktur in folgender Form:

    ~/.local/share/weechat
    └── logs
        └── irc
            ├── libera
            │   ├── libera.weechatlog
            │   ├── #weechat.weechatlog
            │   └── #mychan.weechatlog
            ├── oftc
            │   ├── oftc.weechatlog
            │   ├── #channel1.weechatlog
            │   └── #channel2.weechatlog
            ...

#### Rotation und Kompressions

Es ist möglich, eine maximale Größe für Protokolldateien zu definieren, und wenn diese erreicht ist, findet eine automatische Rotation der Protokolldatei statt.

Die rotierenden Protokolldateien können mit gzip kompromiert werden oder mit zstd ↗.

| Da die Komprimierung einer Datei einige Zeit in Anspruch nehmen kann, wird diese Aktion im Hintergrund durchgeführt.

Beispiel mit einer maximalen Größe von 2 GB und einer Komprimierung mittels gzip unter Verwendung einer guten Komprimierungsstufe (langsamer als die Standardeinstellung):

    /set logger.file.rotation_compression_type gzip
    /set logger.file.rotation_compression_level 80
    /set logger.file.rotation_size_max "2g"

Wenn Sie eine Dezimalzahl verwenden möchten, können Sie die unten stehende Einheit verwenden und mit 1000 multiplizieren, um beispielsweise die maximale Größe auf 2,5 GB festzulegen:

    /set logger.file.rotation_size_max "2500m"

Mit diesen Einstellungen erhalten Sie eine Dateisktruktur wie die folgende (in diesem Beispiel gibt es nur eine Rotation für das Protokoll des #weechat-Kanals):

    ~/.local/share/weechat
    └── logs
        ├── core.weechat.weechatlog
        ├── irc.server.libera.weechatlog
        ├── irc.libera.#weechat.weechatlog
        ├── irc.libera.#weechat.weechatlog.1.gz
        ├── irc.libera.#weechat.weechatlog.2.gz
        └── irc.libera.#weechat.weechatlog.3.gz

#### Befehle

- `logger`: Konfiguration für "logger" Erweiterung (dient zum protokollieren der Buffer)

    /logger  list
             set <level>
             flush
             disable

       list: zeigt von allen geöffneten Buffern den Status der Protokollierung an
        set: legt den Level fest, nach dem der aktuelle Buffer protokolliert werden soll
      Level: Level der Protokollierung (0 = nichts protokollieren, 1 = nur die wichtigsten Nachrichten protokollieren .. 9 = protokolliere alle Nachrichten)
      flush: sichert alle Protokolle umgehend
    disable: die Protokollierung wird für den aktuellen Buffer deaktiviert (der Level wird auf 0 gestellt)

    Die Einstellungen "logger.level.*" und "logger.mask.*" können genutzt werden um den Level der Protokollierung festzulegen und um eine Maske für einen oder mehrere Buffer zu definieren.

    Level der Protokollierung, die die IRC Erweiterung unterstützt:
      1: Nachrichten von Usern (private und öffentliche Nachrichten), notice (Server und Kanal)
      2: Wechsel von Nicks (/nick)
      3: Nachrichten vom Server
      4: join/part/quit Nachrichten
      9: alle anderen Nachrichten

    Beispiele:
      setzt den Level der Protokollierung, für den aktuellen Buffer, auf 5:
        /logger set 5
      deaktiviert die Protokollierung für den aktuellen Buffer:
        /logger disable
      setzt den Level der Protokollierung, für alle IRC Buffer, auf 3:
        /set logger.level.irc 3
      deaktiviert die Protokollierung für den WeeChat Buffer:
        /set logger.level.core.weechat 0
      Für jeden IRC-Server wird ein separates Verzeichnis erstellt und darin eine eigene Protokoll-Datei, für jeden Kanal:
        /set logger.mask.irc "$server/$channel.weechatlog"

#### Optionen

Sektionen in Datei logger.conf:

Sektion | Steuerbefehl | Beschreibung
--- | --- | ---
`look` | `/set logger.look.*` | Erscheinungsbild.
`color` | `/set logger.color.*` | Farben.
`file` | `/set logger.file.*` | Optionen für Protokolldateien.
`level` | `/set logger.level.*` | Protokollierungslevel pro Buffer (Optionen können in Sektion hinzugefügt/entfernt werden).
`mask` | `/set logger.mask.*` | Dateinamenmaske pro buffer (Optionen können in Sektion hinzugefügt/entfernt werden).

Optionen:

- logger.color.backlog_end

  - Beschreibung: Farbe für die letzte Zeile im Verlaufsspeicher

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `246`

- logger.color.backlog_line

  - Beschreibung: Farbe der Zeilen des Verlaufspeichers; wird nur dann angewandt, wenn die Option logger.file.color_lines = off ist

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `246`

- logger.file.auto_log

  - Beschreibung: speichert automatisch den Inhalt eines Buffers in eine Datei (sofern das Protokollieren für den Buffer nicht deaktiviert sein sollte); Falls deaktiviert, wird die Protokollierung für alle Buffer deaktiviert

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `on`

- logger.file.color_lines

  - Beschreibung: Nutze ANSI-Farbcodes für die in Logdateien geschriebenen Zeilen und zeige die Zeilen aus dem Verlaufspeicher in diesen Farben an

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `off`

- logger.file.flush_delay

  - Beschreibung: Zeit, in Sekunden, die verstreicht bis eine Protokolldatei gesichert wird (0 = Protokolldatei wird unmittelbar gesichert, nachdem eine neue Zeile dargestellt wurde)

  - Typ: integer

  - Werte: 0 .. 3600

  - Standardwert: `120`

- logger.file.fsync

  - Beschreibung: es wird fsync verwendet um die Protokolldateien mit dem Datenträger zu synchronisieren (siehe man fsync); dies verlangsamt das Sichern der Daten, soll aber zum Beispiel bei einem Stromausfall dafür sorgen, dass keine Daten verloren gehen

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `off`

- logger.file.info_lines

  - Beschreibung: fügt eine Information in die Protokoll-Datei ein, wenn die Protokollierung gestartet oder beendet wird

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `off`

- logger.file.log_conditions

  - Beschreibung: Bedingungen zum Speichern von Bufferinhalten in Dateien (Hinweis: Inhalt wird evaluiert, siehe /help eval); leerer Wert speichert Inhalt von allen Buffern; Beispiel um nur private Buffer zu protokollieren: „${type} == private“

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `""`

- logger.file.mask

  - Beschreibung: Standardmaske für Protokolldateien (Format: "Verzeichnis/zur/Datei" oder "Datei", ohne ein führendes "/", da die "Verzeichnis" Einstellung genutzt wird um vollständige Verzeichnisstrukturen zu erstellen); lokale Buffer Variablen und Datumsspezifikationen (siehe: man strftime) sind zulässig (es sollten aber nur solche Variablen genutzt werden die auf alle Buffer angewendet werden können. Zum Beispiel sollten NICHT die Variablen $server oder $channel genutzt werden)

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"$plugin.$name.weechatlog"`

- logger.file.name_lower_case

  - Beschreibung: Protokolldateien werden ausschließlich in Kleinschreibung erstellt

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `on`

- logger.file.nick_prefix

  - Beschreibung: Zeichenkette, die dem Nick vorangestellt werden soll. Beispiel: "<"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `""`

- logger.file.nick_suffix

  - Beschreibung: Zeichenkette, die nach dem Nick eingefügt werden soll. Beispiel: ">"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `""`

- logger.file.path

  - Beschreibung: Pfad für WeeChat-Protokolldateien; Datumsangaben sind zulässig (siehe man strftime) (Pfad ist evaluiert, siehe Funktion string_eval_path_home in der Plugin-API-Referenz)

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"${weechat_data_dir}/logs"`

- logger.file.replacement_char

  - Beschreibung: Ersatzzeichen für Dateinamen, falls der Dateiname Sonderzeichen beinhaltet (z.B. das Trennzeichen bei Verzeichnissen "/")

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"_"`

- logger.file.rotation_compression_level

  - Beschreibung: Komprimierungsstufe für rotierende Protokolldateien (mit Dateierweiterung „.1“, „.2“,etc.), falls die Option logger.file.rotation_compression_type aktiviert ist: 1 = niedrigeKomprimierung / schnell ... 100 = beste Komprimierung / langsam; Der Wert des Prozentsatzes wird umgewandelt in 1-9 für gzip und 1-19 für zstd; der Standardwert wird hierbei empfohlen, denn er bietet einen guten Kompromiss zwischen Komprimierung und Geschwindigkeit

  - Typ: integer

  - Werte: 1 .. 100

  - Standardwert: `20`

- logger.file.rotation_compression_type

  - Beschreibung: Komprimierungstyp für rotierende Protokolldateien; wenn "none" genutzt wird, findet keine Komprimierung der Protokolldateien statt; WARNUNG: wenn die Rotation mit einer anderen Stufe der Komprimierung (oder gar keiner Komprimierung) aktiviert wurde, muss zuerst die Logger-Erweiterung beendet werden, dann de-komprimieren Sie die Dateien mit dem neuen Typ, danach muss die Option in der Datei logger.conf angepasst werden, bevor die Logger-Erweiterung neu geladen wird

  - Typ: Aufzählung

  - Werte: none, gzip, zstd

  - Standardwert: `none`

- logger.file.rotation_size_max

  - Beschreibung: Wenn diese Größe erreicht ist, wird eine Rotation der Protokolldateien durchgeführt: dievorhandene rotierte Protokolldateien werden umbenannt (.1 wird zu .2, .2 wird zu .3 usw.).Die aktuelle Datei erhält wird umbenannt und erhält .1 als Erweiterung; eine ganze Zahl mitSuffix ist erlaubt: b = Bytes (Standard, wenn keine Einheit angegeben ist), k = Kilobytes, m =Megabyte, g = Gigabyte, t = Terabyte; Beispiel: "2g" bewirkt eine Rotationsobald die Dateigröße > 2.000.000.000 Byte ist; wenn auf „0“ gesetzt, erfolgt keine Rotation der Dateien (unbegrenzte Protokollgröße); WARNUNG: Bevor Sie diese Option ändern,sollte sie zuerst den Komprimierungstyp über die Option logger.file festlegen.rotation_compression_type

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"0"`

- logger.file.time_format

  - Beschreibung: Zeitstempel, der in Protokolldateien verwendet wird (siehe man strftime, welche Platzhalter für Datum und Uhrzeit verwendet werden können, es können zusätzliche Platzhalter genutzt werden, siehe Funktion util_strftimeval in der Anleitung für API Erweiterung)

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"%Y-%m-%d %H:%M:%S"`

- logger.look.backlog

  - Beschreibung: maximale Anzahl der letzten Zeilen die aus der Protokolldatei dargestellt werden sollen, sobald ein Buffer geöffnet wird (0 = kein Darstellung)

  - Typ: integer

  - Werte: 0 .. 2147483647

  - Standardwert: `20`

- logger.look.backlog_conditions

  - Beschreibung: Bedingungen um die Protokolldatei anzuzeigen (Hinweis: Der Inhalt ist evaluiert, siehe /help eval); wird kein Wert angegeben, wird die Protokolldatei bei allen Buffern angezeigt ; Beispiel: um nur bei privaten Buffern die Protokolldatei anzuzeigen: "${type} == private"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `""`

### 7.7. Mausunterstützung

WeeChat unterstützt Maustasten als auch Mausgesten. Dies funktioniert sowohl im lokalen Terminal wie auch über eine Remote Verbindung via SSH.

#### Mausunterstützung aktivieren

Um die Mausunterstützung beim Programmstart zu aktivieren:

    /set weechat.look.mouse on

Um die Mausunterstützung direkt zu aktivieren, kann man den Tastenkurzbefehl `Alt`+`m` nutzen oder folgenden Befehl ausführen:

    /mouse enable

Es ist möglich die Mausunterstützung kurzzeitig zu deaktivieren und dies auf einen Tastenkurzbefehl zu legen. Zum Beispiel soll über den Tastenkurzbefehl `Alt`+`%` die Mausunterstützung für 10 Sekunden deaktiviert werden:

    /key bind meta-% /mouse toggle 10

| Ist die Maus in WeeChat aktiviert werden alle Mausereignisse duch WeeChat gefangen. Dadurch werden Aktionen wie Kopieren+Einfügen oder Klicks auf URLs nicht an das Terminal weitergereicht. + Mittels der `Shift` Taste kann aber das Mausereignis an das Terminal weitergeleitet werden, als ob die Maus deaktiviert wäre (bei einigen Terminals, wie z.B. iTerm, muß die Taste `Alt` anstelle von `Shift` verwendet werden).

| Sollten Probleme bei der Mausunterstützung auftreten, dann sollte Bitte die WeeChat FAQ / Mausunterstützung ↗.

#### Befehle einem Maus-Ereignis zuweisen

Es gibt eine Anzahl von Maus-Ereignissen, die standardmäßig durch WeeChat definiert sind (siehe mouse actions).

Man kann mit dem Befehl `/key` im Kontext "mouse" aber auch eigene Befehle zuweisen und löschen (für die Syntax, siehe Befehl /key).

Der Name eines Ereignisses besteht aus einem Modifier (optional), einer Maustaste/Mausrad und der Mausgeste (optional). Die unterschiedlichen Elemente werden durch ein `-` getrennt.

Liste der Modifikatoren (in der Reihenfolge des Ereignisnamens):

Modifier | Beschreibung
--- | ---
`alt` | Taste `Alt`
`ctrl` | Taste `Ctrl`
`shift` | Taste `Shift` (1)

| (1) Der `shift` Modifikator sollte in WeeChat selten verwendet werden, da es viele Terminals gibt die diesen Modifikator nutzen, um Mausereignisse direkt abzufangen.

Verschiedene Modifikatoren können kombiniert werden, zum Beispiel:

- `alt-ctrl`

- `ctrl-shift`

- `alt-ctrl-shift`

Liste der Maustasten/Mausrad:

Maustaste/-rad | Beschreibung
--- | ---
`button1` | Linker Mausknopf wird gedrückt
`button2` | Rechter Mausknopf wird gedrückt
`button3` | Mittlerer Mausknopf wird gedrückt (häufig der Druck auf das Mausrad)
`button4 …​ button11` | Ein zusätzlicher Mausknopf wird gedrückt
`wheelup` | Mausrad wird nach oben gescrollt
`wheeldown` | Mausrad wird nach unten gescrollt

Liste der Mausgesten (nur für Maustasten, nicht für das Mausrad, anwendbar):

Mausgeste | Distanz
--- | ---
`gesture-up` | 3 …​ 19
`gesture-up-long` | ≥ 20
`gesture-down` | 3 …​ 19
`gesture-down-long` | ≥ 20
`gesture-left` | 3 …​ 39
`gesture-left-long` | ≥ 40
`gesture-right` | 3 …​ 39
`gesture-right-long` | ≥ 40

Liste von unvollständigen Ereignissen (nur für Mausknopf, nützlich für Erweiterungen/Skripten):

Ereignis | Beschreibung
--- | ---
`event-down` | Mausknopf ist gedrückt
`event-drag` | Maus wurde mit gedrücktem Mausknopf bewegt

Bespiele von Ereignissen:

- `button1`

- `ctrl-button1`

- `button1-gesture-right`

- `button1-event-down`

- `button1-event-drag`

- `alt-button2-gesture-down-long`

- `wheelup`

- `alt-ctrl-wheeldown`

| Wird eine Funktion im "mouse"-Kontext hinzufügt ist es möglich, mehrere Mausereignisse mittels `*` abzufangen. Zum Beispiel fängt `button1-gesture-*` alle Mausgesten ab, die mit der linken Maustaste eingeleitet werden.

| Den Namen eines Mausereignisses kann man mittels des Befehls `/input grab_mouse` erfragen. Man führt den Befehl in der Eingabezeile aus und startet das Ereignis. Als Ergebnis erhält man in der Eingabezeile den Namen des ausgeführten Mausereignisses.

### 7.8. Rechtschreibprüfung

Mit der Spell Erweiterung findet eine Rechtschreibprüfung Einzug in WeeChat. Dabei ist es möglich mehrere Wörterbücher für einen Buffer zu nutzen.

Die Rechtschreibprüfung ist standardmäßig deaktiviert und kann mittels dem Tastenbefehl [Alt+s] umgeschaltet werden.

#### Wörterbücher

Um die Rechtschreibprüfung nutzen zu können muss vorab ein Wörterbuch definiert werden, welches genutzt werden soll. Dies kann entweder global oder per Buffer geschehen.

Verschiedene Wörterbücher können parallel verwendet werden. WeeChat gleicht dann die Wörter mit allen Wörterbüchern ab,

Um zum Beispiel Englisch und Deutsch zu nutzen:

    /set spell.check.default_dict "en,de"

Es ist möglich ein anderes Wörterbuch für einen speziellen Buffer zu verwenden, zum Beispiel in einem französischen Kanal:

    /spell setdict fr

Um einer Gruppe von Buffern das selbe Wörterbuch zuzuordnen, zum Beispiel das deutsche Wörterbuch für alle Kanäle auf dem libera IRC Server:

    /set spell.dict.irc.libera de

Für weitere Informationen, siehe den Befehl /spell.

#### Optionen für Rechtschreibprüfung

Optionen für die Rechtschreibprüfung können definiert werden indem man die entsprechende Option in die Sektion "option" der Aspell-Konfiguration hinzufügt.

Den Name der Option findet man in der ASpell-Konfigurationsdatei. Eine Auflistung aller möglichen Optionen erhält man durch:

    $ aspell config

Um zum Beispiel die Option "ignore-case" einzuschalten:

    /set spell.option.ignore-case "true"

#### Rechtschreibkorrektur

Eine Rechtschreibkorrektur wird in der Bar-Item "spell_suggest" angezeigt. Die Anzahl an Vorschlägen, für die Rechtschreibkorrektur, kann mit der Option spell.check.suggestions bestimmt werden.

Um die Rechtschreibkorrektur zu aktivieren, muss für die Option spell.check.suggestions ein Wert ≥ 0 eingestellt werden und das Bar-Item "spell_suggest" zu einer Bar, zum Beispiel status, hinzufügt werden.

Beispiel der Rechtschreibkorrektur, mit einem deutschen Wörterbuch (`de`):

    │[12:55] [6] [irc/libera] 3:#test(+n){4} [dies,Diebs,Viehs]                       │
    │[@Flashy] diehs █                                                                │
    └─────────────────────────────────────────────────────────────────────────────────┘

Beispiel der Rechtschreibkorrektur, mit zwei Wörterbüchern (`en,de`):

    │[12:55] [6] [irc/libera] 3:#test(+n){4} [print,prone,prune/Prinz]                │
    │[@Flashy] prinr █                                                                │
    └─────────────────────────────────────────────────────────────────────────────────┘

#### Befehle

- `spell`: Konfiguration für spell-Erweiterung

    /spell  enable|disable|toggle
            listdict
            setdict -|<dict>[,<dict>...]
            deldict
            addword [<dict>] <word>

      enable: Rechtschreibprüfung wird aktiviert
     disable: Rechtschreibprüfung wird deaktiviert
      toggle: Funktionalität der Rechtschreibprüfung umschalten
    listdict: Auflistung der installierten Wörterbücher
     setdict: Wörterbuch für aktuellen Buffer festlegen (mehrere Wörterbücher könnendurch ein Komma getrennt werden, das Sonderzeichen "-" deaktiviert die Rechtschreibprüfungfür den aktuellen Buffer)
     deldict: Wörterbuch für den aktuellen Buffer entfernen
     addword: fügt ein Wort in das persönliche Wörterbuch hinzu

    Eingaben die mit '/' beginnen, werden nicht überprüft. Davon ausgenommen sind einige Befehle (siehe /set spell.check.commands).

    Um die Rechtschreibprüfung auf allen Buffer anzuwenden, sollte die Einstellung "default_dict" genutzt und die Rechtschreibprüfung aktiviert werden:
      /set spell.check.default_dict "en"
      /spell enable

    Um eine Liste mit Vorschlägen in einer Bar anzuzeigen, Item "spell_suggest" verwenden.

    Die Standardtastenbelegung, zum Umschalten der Rechtschreibprüfung lautet alt-s.

#### Optionen

Sektionen in Datei spell.conf:

Sektion | Steuerbefehl | Beschreibung
--- | --- | ---
`color` | `/set spell.color.*` | Farben.
`check` | `/set spell.check.*` | Optionen um Einstellungen an der Rechtschreibprüfung vorzunehmen.
`dict` | `/spell setdict /set spell.dict.*` | Wörterbücher für Buffer (Optionen können in Sektion hinzugefügt/entfernt werden).
`look` | `/set spell.look.*` | Erscheinungsbild.
`option` | `/set spell.option.*` | Optionen für Rechtschreibprüfung (Optionen können in Sektion hinzugefügt/entfernt werden).

Optionen:

- spell.check.commands

  - Beschreibung: durch Kommata getrennte Liste der Befehle, für die eine Rechtschreibprüfung gelten soll (Rechtschreibprüfung ist für andere Befehle deaktiviert)

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"away,command,cycle,kick,kickban,me,msg,notice,part,query,quit,topic"`

- spell.check.default_dict

  - Beschreibung: Voreingestelltes Wörterbuch (oder durch Kommata getrennte Liste der Wörterbücher) welche(s) genutzt werden soll, sofern kein Wörterbuch für einen Buffer definiert wurde (wird kein Wörterbuch angegeben dann ist die Rechtschreibprüfung in allen Buffer deaktiviert, außer es wird für einen Buffer explizit ein Wörterbuch angegeben)

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `""`

- spell.check.during_search

  - Beschreibung: Überprüfe Wörter während im Buffer nach einem Text gesucht wird

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `off`

- spell.check.enabled

  - Beschreibung: Rechtschreibprüfung wird für die Eingabezeile aktiviert

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `off`

- spell.check.real_time

  - Beschreibung: Eine Korrektur findet während der Texteingabe statt (da dies langsamer ist, ist diese Funktion standardmäßig deaktiviert. Wörter werden erst überprüft sobald ein Leerzeichen dem vorangegangenen Wort folgt)

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `off`

- spell.check.suggestions

  - Beschreibung: legt die Anzahl an Vorschlägen, für ein falsch geschriebenes Wort, fest. Die Vorschläge werden mittels der Bar-Item "spell_suggest", für die jeweilige(n) Sprache(n), die für den Buffer augewählt wurden, angezeigt (-1 = deaktiviert die Funktion, 0 = zeigt alle verfügbaren Vorschläge, für alle ausgewählten Sprachen, an)

  - Typ: integer

  - Werte: -1 .. 2147483647

  - Standardwert: `-1`

- spell.check.word_min_length

  - Beschreibung: Mindestlänge für ein Wort, welches auf Rechtschreibung überprüft werden soll (bei 0 werden alle Wörter überprüft)

  - Typ: integer

  - Werte: 0 .. 2147483647

  - Standardwert: `2`

- spell.color.misspelled

  - Beschreibung: Farbe in der ein Wort mit einem Rechtschreibfehler hervorgehoben werden soll (Eingabezeile)

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `lightred`

- spell.color.suggestion

  - Beschreibung: Textfarbe für die Vorschläge der Rechtsschreibkorrektur in der Bar-Item "spell_suggest"

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `default`

- spell.color.suggestion_delimiter_dict

  - Beschreibung: Textfarbe für das Trennzeichen welches zwischen zwei Wörterbüchern dargestellt wird, im Bar-Item "spell_suggest"

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `cyan`

- spell.color.suggestion_delimiter_word

  - Beschreibung: Textfarbe für das Trennzeichen zwischen zwei Wörtern in der Bar-Item "spell_suggest"

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `cyan`

- spell.look.suggestion_delimiter_dict

  - Beschreibung: Trennzeichen, im Bar-Item "spell_suggest", welches zwischen zwei Wörterbücher dargestellt wird

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `" / "`

- spell.look.suggestion_delimiter_word

  - Beschreibung: Trennzeichen, im Bar-Item "spell_suggest", welches zwischen zwei Wörtern dargestellt wird

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `","`

### 7.9. Bars

Eine Bar ist ein Bereich der parallel, zum Chatfenster, jedwede Art von Text enthalten kann.

Eine Bar kann mittels `weechat.bar.name.option` konfiguriert werden. Dabei steht `name`, für den Namen der Bar und `option` für die Option dieser Bar.

Aufzählung von Bar-Optionen:

Option | Wert | Beschreibung
--- | --- | ---
`type` | `root`, `window` | Eine Bar vom Typ `root` wird nur einmal auf dem Bildschirm dargestellt und dies außerhalb von Fenstern. Die Standardbar buflist ist vom Typ `root`. Eine Bar vom Typ `window` wird hingegen in jedem Fenster dargestellt, zum Beispiel wenn man den Bildschirm teilt (mit `/window splith` oder `/window splitv`). Diese Bar wird nun in jedem einzelnen Fenster angezeigt. Die Standardbar title, status, input und nicklist sind vom Typ `window`.
`position` | `top`, `bottom`, `left`, `right` | Position der Bar: ober- oder unterhalb des Chatfensters, oder links/rechts davon.
`priority` | integer ≥ 0 | Priorität für die Bar: legt die Reihenfolge fest in der die Bars angeordnet werden sollen, wenn mehrere Bars den selben Typ und Position besitzen. Die Bars werden vom Rand zur Mitte des Bildschirms gezeichnet. Eine höhere Priorität bewirkt, dass die Bar näher am Rand gezeichnet wird. Beispiel: Die input Bar hat eine Priorität von 1000 und wird somit vor der status Bars gezeichnet, da diese lediglich eine Priorität von 500 besitzt.
`size` | integer ≥ 0 | Die Größe der Bar: Anzahl der Spalten, falls die Bar links/rechts bzw. Anzahl an Zeilen falls die Bar oben/unten dargestellt wird. Wird eine Größe `0` gewählt, dann wird die Größe der Bar automatisch bestimmt.
`size_max` | integer ≥ 0 | Die maximale Größe der Bar, `0` = keine Limitierung (diese Option wird nur genutzt, falls die Option `size` = `0` ist).
`color_bg` | color | Hintergrundfarbe, für die Bar.
`color_fg` | color | Textfarbe, für die Bar.
`color_delim` | color | Farbe der Trennzeichen, in der Bar.
`hidden` | `on`, `off` | Ist diese Option `on`, wird die Bar versteckt. Hinweis: anstelle dieser Option sollte vorzugsweise der `/bar` Befehl genutzt werden. Beispiel: `/bar toggle nicklist` (siehe Befehl /bar).
`separator` | `on`, `off` | Ist diese Option `on`, wird ein Separator (Linie) gezeichnet die eine Bar von anderen Bars oder dem Chatbereich trennt.
`items` | string | Eine Aufzählung von items (siehe items für weitere Informationen).
`filling_left_right` | `horizontal`, `vertical`, `columns_horizontal`, `columns_vertical` | Art, wie der Inhalt der Bar die `links` oder `rechts` gezeichnet wird, dargestellt wird (siehe filling für weitere Informationen).
`filling_top_bottom` | `horizontal`, `vertical`, `columns_horizontal`, `columns_vertical` | Art, wie der Inhalt der Bar die `oben` oder `unten` gezeichnet wird, dargestellt wird (siehe filling für weitere Informationen).
`conditions` | string | Bedingungen, wann die Bar angezeigt wird (siehe conditions für weitere Informationen).

#### Items

Die Option items ist ein String, mit einer Anzahl von Bar-Items. Diese werden durch Kommata voneinander getrennt (auf dem Bildschirm wird das Komma durch ein Leerzeichen ersetzt). Möchte man die Items ohne Leerzeichen darstellen, nutzt man ein `+` um die Items zu trennen.

Eine Liste von Bar-Items kann man sich mit dem Befehl `/bar listitems` anzeigen lassen.

Vor oder nach dem Item können Zeichen eingefügt werden. Diese dürfen nicht alphanumerisch, `-` oder `_` sein. Die Zeichen werden mit der entsprechenden Farbe, für Trennzeichen, dargestellt (Option color_delim).

Beispiel einer Bar mit den Items, "[time],buffer_number+:+buffer_plugin+.+buffer_name,[buffer_last_number]":

    ┌───────────────────────────────────────────────────────────────────────────┐
    │[12:55] 3:irc/libera.#weechat [9]                                          │
    └───────────────────────────────────────────────────────────────────────────┘

##### Spacer Item

Ein Item namens `spacer` (Abstandshalter) kann verwendet werden, um Items auszurichten (links, mittig, rechts).

Wenn mindestens ein `spacer` in einer Bar verwendung findet, wird die gesamte Breite der Bar verwendet: Die Abstandshalter werden automatisch mit der gleichen Größe (oder fast) erweitert.+ Falls eine Bar nicht groß genug für alle Elemente ist, werden keine Abstandshalter angezeigt.

| Ein `spacer` Bar-Item kann nur in Bars verwendet werden die die Position `top` oder `bottom` besitzen, sowie eine `horizontal` Ausrichtung haben, sowie eine Größe von `1`.

Beipiel einer Bar mit den Items "[time],spacer,buffer_number+:+buffer_plugin+.+buffer_name,spacer,[buffer_last_number]":

    ┌───────────────────────────────────────────────────────────────────────────┐
    │[12:55]                      3:irc/libera.#weechat                      [9]│
    └───────────────────────────────────────────────────────────────────────────┘

##### Force buffer

Eine Besonderheit stellt die Möglichkeit dar, ein Item eines bestimmten Buffers anzuzeigen. Syntax: "@buffer:item" ("buffer" ist der vollständige Name des Buffers und "item" der Name der Bar-Item)

Dies ist für root-Bars sinnvoll, um gezielt ein Item eines bestimmten Buffers anzuzeigen, welcher nicht im aktuellen Fenster oder überhaupt nicht sichtbar ist.

Beispiel: Benutzerliste von bitlbee permanent in einer root-Bar darstellen (die Bar heißt hierbei bitlist und der Name des bitlbee Servers bitlbee):

    /set weechat.bar.bitlist.items "@irc.bitlbee.&bitlbee:buffer_nicklist"

##### Benutzerdefinierte Bar-Items

Benutzerdefinierte Bar-Items können mit dem /item Befehl angelegt werden. Dabei hat jedes neue Element zwei Eigenschaften, die über Konfigurationsoptionen definiert werden:

- `conditions`: evaluierte Bedingung um das Element anzuzeigen. Zum Beispiel um das Element nur in bestimmten Buffern anzuzeigen (falls leer, wird das Element in allen Buffern angezeigt)

- `content`: evaluierter Inhalt des Elements.

In beiden Optionen können die folgenden Variablen verwendet werden:

- `window`: Zeiger auf das Fenster, in dem die Bar angezeigt wird (`NULL` für root-Bars).

- `buffer`: Zeiger auf den Buffer, in dem die Bar angezeigt wird (aktueller Bar für root-Bars.

Beispiele für Bedingungen:

Bedingung | Beschreibung
--- | ---
`${window}` | Wird nur in Fenster-Bars angezeigt
`${buffer.number} == 1` | Wird in allem Buffern angezeigt, wo die Nummer =1 ist
`${buffer.plugin.name} == irc` | Wird in allen IRC Buffern angezeigt
`${type} == channel` | Element wird in den Buffern angezeigt wo die lokale Variable `type` vom Typ `channel` gesetzt ist (Beispiel: alle IRC Kanäle)
`${type} == private` | Element wird in den Buffern angezeigt wo die lokale Variable `type` vom Typ `private` gesetzt ist (Beispiel: alle privaten IRC Buffer)

| Es gibt keine integrierte Möglichkeit, die benutzerdefinierten Elemente zu aktualisieren. Dazu muss die Trigger Erweitertung genutzt werden, beispielsweise über einen oder mehrere Signale die abgefragt werden.

Weitere Informationen und Beispiele finden Sie unter dem Befehl /item.

#### Darstellung innerhalb einer Bar

Es gibt folgende vier Möglichkeiten um Text innerhalb einer Bar darzustellen:

- `horizontal`: die Items werden horizontal, von links nach rechts, dargestellt. Sollten neue Zeilen dargestellt werden, dann werden diese durch ein Leerzeichen von der vorherigen getrennt.

- `vertical`: die Items werden von oben nach unten dargestellt. Neue Zeilen werden neben der vorherigen dargestellt.

- `columns_horizontal`: Item werden in Spalten dargestellt, wobei der Text linksbündig ausgerichtet ist. Das erste Item wird in der linken oberen Ecke angezeigt und das zweite Item ist in der selben Zeile, auf der rechten Seite.

- `columns_vertical`: Item werden in Spalten dargestellt, wobei der Text linksbündig ausgerichtet ist. Das erste Item wird in der linken oben Ecke angezeigt und das zweite Item wird eine Zeile darunter angezeigt.

Die Standard-Bars title, status und input nutzen eine horizontal Darstellung und die Standard-Bar nicklist nutzt eine vertical Darstellung.

Einige Beispiele, wie die Bar nicklist dargestellt werden kann:

    ┌───────────────────────────────────────────────────────────────────────┐
    │Welcome to #test, this is a test channel                               │
    │12:54:15 peter | hey!                                         │@carl   │
    │12:55:01  +Max | hello                                        │@jessika│
    │                                                              │@maddy  │
    │                                                              │%Diego  │
    │                                                              │%Melody │
    │                                                              │+Max    │
    │                                                              │ celia  │
    │                                                              │ Eva    │
    │                                                              │ freddy │
    │                                                              │ Harold^│
    │                                                              │ henry4 │
    │                                                              │ jimmy17│
    │                                                              │ jodie ▼│
    │[12:55] [6] [irc/libera] 3:#test(+n){24}                               │
    │[@carl] █                                                              │
    └───────────────────────────────────────────────────────────────────────┘
                                         filling_left_right = vertical ▲

    ┌───────────────────────────────────────────────────────────────────────┐
    │Welcome to #test, this is a test channel                               │
    │12:54:15 peter | hey!                                │@carl     lee    │
    │12:55:01  +Max | hello                               │@jessika  louise │
    │                                                     │@maddy    mario  │
    │                                                     │%Diego    mark   │
    │                                                     │%Melody   peter  │
    │                                                     │+Max      Rachel │
    │                                                     │ celia    richard│
    │                                                     │ Eva      sheryl │
    │                                                     │ freddy   Vince  │
    │                                                     │ Harold^  warren │
    │                                                     │ henry4   zack   │
    │                                                     │ jimmy17         │
    │                                                     │ jodie           │
    │[12:55] [6] [irc/libera] 3:#test(+n){24}                               │
    │[@carl] █                                                              │
    └───────────────────────────────────────────────────────────────────────┘
                                 filling_left_right = columns_vertical ▲

    ┌───────────────────────────────────────────────────────────────────────┐
    │@carl    %Diego    celia    Harold^  jodie    mario    Rachel   Vince  │
    │@jessika %Melody   Eva      henry4   lee      mark     richard  warren │
    │@maddy   +Max      freddy   jimmy17  louise   peter    sheryl   zack   │
    │───────────────────────────────────────────────────────────────────────│
    │                                                                       │
            filling_top_bottom = columns_vertical ▲

    ┌───────────────────────────────────────────────────────────────────────┐
    │@carl    @jessika @maddy   %Diego   %Melody  +Max      celia    Eva    │
    │ freddy   Harold^  henry4   jimmy17  jodie    lee      louise   mario  │
    │ mark     peter    Rachel   richard  sheryl   Vince    warren   zack   │
    │───────────────────────────────────────────────────────────────────────│
    │                                                                       │
          filling_top_bottom = columns_horizontal ▲

#### Bedingungen

Der Inhalt der Option conditions ist evaluiert um festzulegen ob die entsprechende Bar angezeigt werden soll oder nicht.

Folgende Zeichenketten sind möglich:

- active : das Fenster muss das aktive Fenster sein

- inactive: das Fenster muss ein inaktives Fenster sein

- nicklist: der Buffer der in einem Fenster dargestellt wird, muss eine Benutzerliste anzeigen.

- ein Ausdruck: wird als boolescher Wert ausgewertet (siehe Befehl /eval)

Für den Ausdruck sind folgende Variablen verfügbar:

- `${active}` : wahr, wenn Fenster aktiv ist

- `${inactive}`: wahr, wenn Fenster inaktiv ist

- `${nicklist}`: wahr, wenn der Buffer im Fenster eine Nicklist anzeigt.

Folgende Zeiger sind verfügbar:

- `${window}`: das Fenster in dem der Zustand ausgewertet wird

- `${buffer}`: der Buffer eines Fensters in dem der Zustand ausgewertet wird

Beispiel für die Anzeige der Nicklist-Bar in allen Buffern mit einer Benutzerliste, allerdings nur dann, wenn die Breite des Terminals größer >100 ist:

    /set weechat.bar.nicklist.conditions "${nicklist} && ${info:term_width} > 100"

Die selben Bedingungen wie oben, aber diesmal wird die Benutzerliste immer für den Buffer &bitlbee angezeit (auch dann, wenn das Terminal kleiner ist, als der angegebene Wert):

    /set weechat.bar.nicklist.conditions "${nicklist} && (${info:term_width} > 100 || ${buffer.full_name} == irc.bitlbee.&bitlbee)"

### 7.10. sensible Daten

#### Archivierung

WeeChat kann Passwörter oder sensible Daten verschlüsseln und in der Datei sec.conf speichern.

Diese Konfigurationsdatei wird vor allen anderen Dateien geladen und die gespeicherten Daten können in verschiedenen WeeChat Optionen bzw. Erweiterungen und Skripten genutzt werden.

Es kann eine Passphrase genutzt werden um die Daten in sec.conf zu verschlüsseln. Dies ist nicht obligatorisch wird aber dringend empfohlen, da ansonsten die Daten in Klartext gesichert werden.

    /secure passphrase Dies ist meine Passphrase

##### Passphrase beim Programmstart

Wenn eine Passphrase festgelegt ist, werden Sie von WeeChat aufgefordert, diese beim Start einzugeben (aber nicht bei `/upgrade`).

Wenn Sie einen Passwortmanager verwenden, können Sie ein externes Programm ausführen, um die Passphrase zu lesen, anstatt sie beim Start von WeeChat manuell eingeben zu müssen. Zum Beispiel mit Passwortspeicher (Befehl `pass`):

    /set sec.crypt.passphrase_command "/usr/bin/pass show weechat/passphrase"

Das Programm fordert Sie möglicherweise auf, Ihren GPG-Schlüssel zu entsperren oder eine andere Passphrase einzugeben, um das Passwort lesen zu können. WeeChat wartet auf das Ende des Befehls, um die Passphrase in der Standardausgabe auszuwerten (die Passphrase muss in der ersten Zeile, ohne zusätzliches Zeichen, stehen).

Wenn die Ausgabe keine Passphrase enthält oder falsch ist, werden Sie von WeeChat aufgefordert, diese manuell einzugeben.

##### Verschlüsselung

Die Daten werden in drei Schritten verschlüsselt:

1. erstellt einen Schlüssel anhand der Passphrase (optional mit Salt).

2. errechnet einen Hash über die Daten die verschlüsselt werden soll.

3. verschlüsselt den Hash + Daten (Ausgabe ist: Salt + Hash/Daten verschlüsselt)

| Der Cipher Block Modus ist CFB.

Das Ergebnis wird als hexadezimale Zeichenkette in sec.conf gesichert. Zum Beispiel:

    [data]
    __passphrase__ = on
    libera = "53B1C86FCDA28FC122A95B0456ABD79B5AB74654F21C3D099A6CCA8173239EEA59533A1D83011251F96778AC3F5166A394"

##### Entschlüsselung

Die Entschlüsselung findet in drei Schritten statt:

1. erstellt einen Schlüssel mittels Salt und Passphrase.

2. entschlüsselt Hash + Daten.

3. überprüft ob der entschlüsselte Hash mit dem Hash der entschlüsselten Daten übereinstimmt.

#### Umgang mit sensiblen Daten

Um sensible Daten zu schützen wird der Befehl `/secure set` verwendet. Es folgt ein Beispiel wie man das Passwort für den IRC Server libera schützt:

    /secure set libera meinPasswort

Um einen Überblick über seine schutzwürdigen Daten zu erhalten kann ein gesonderter Buffer geöffnet werden. In diesem Buffer kann man sich mittels `Alt`+`v` seine Passwörter anzeigen lassen. Um den Buffer zu öffnen nutzt man:

    /secure

Verschlüsselte Daten können in einigen Optionen verwendet werden, die z.B. Passwörter beinhalten. Dies dient dazu Passwörter nicht im Klartext als Wert einer Option zu sichern. Dazu wird folgendes Format, anstelle des Passwortes, verwendet: "${sec.data.xxx}". "xxx" ist hierbei der Name den man dem Passwort zugeordnet hat (siehe oben, mittels `/secure set xxx …​`).
Für eine vollständige Liste aller unterstützten Optionen, siehe `/help secure`.

Um z.B. das oben eingestellte libera Passwort für eine SASL Authentifizierung zu nutzen:

    /set irc.server.libera.sasl_password "${sec.data.libera}"

### 7.11. Kurzbefehle

Die Alias-Erweiterung erlaubt es, für Befehle, sogenannte Kurzbefehle (einen Alias) zu erstellen.

Einige Aliase existieren standardmäßig, deren Namen sind in Großbuchstaben erstellt (um sie von Standardbefehlen zu unterscheiden); bei Befehlen wird in WeeChat nicht zwischen Groß- und Kleinschreinung unterschieden, der Befehl `/close` führt den Alias `/CLOSE` aus.

Liste der standardmäßigen Aliase:

Alias | Befehl | Vervollständigung
--- | --- | ---
`/aaway` | `/allserv /away` | -
`/anick` | `/allserv /nick` | -
`/beep` | `/print -beep` | -
`/bye` | `/quit` | -
`/c` | `/buffer clear` | -
`/cl` | `/buffer clear` | -
`/close` | `/buffer close` | -
`/chat` | `/dcc chat` | -
`/exit` | `/quit` | -
`/ig` | `/ignore` | -
`/j` | `/join` | -
`/k` | `/kick` | -
`/kb` | `/kickban` | -
`/leave` | `/part` | -
`/m` | `/msg` | -
`/mub` | `/unban *` | -
`/msgbuf` | `/command -buffer $1 * /input send $2-` | %(buffers_plugins_names)
`/n` | `/names` | -
`/q` | `/query` | -
`/redraw` | `/window refresh` | -
`/say` | `/msg *` | -
`/signoff` | `/quit` | -
`/t` | `/topic` | -
`/ub` | `/unban` | -
`/umode` | `/mode $nick` | -
`/v` | `/command core version` | -
`/w` | `/who` | -
`/wc` | `/window close` | -
`/wi` | `/whois` | -
`/wii` | `/whois $1 $1` | -
`/wm` | `/window merge` | -
`/ww` | `/whowas` | -

#### Befehle

- `alias`: auflisten, hinzufügen oder entfernen von Alternativnamen

    /alias  list [<name>]
            add <name> [<command>[;<command>...]]
            addcompletion <completion> <name> [<command>[;<command>...]]
            del <name>|<mask> [<name>|<mask>...]
            rename <name> <new_name>
            missing

                 list: listet Alternativbefehle auf (ohne Angabe von Argumenten wird  diese Liste dargestellt)
                  add: fügt einen Alternativbefehl hinzu
                 Name: Name des Alternativbefehls
        addcompletion: fügt einen Alternativbefehl, mit einer benutzerdefinierten Vervollständigung, hinzu
                  del: entfernt einen Alternativbefehl
                Maske: Name, wobei der Platzhalter "*" zulässig ist
               rename: ein Alias umbenennen
              missing: fehlende Aliase hinzufügen (unter Verwendung der Standardaliasen)
    Vervollständigung: Vervollständigung für Alternativbefehl: standardmäßig wird die Vervollständigung auf den Zielbefehl angewendet (Mit der Variablen "%%command" kann eine Vervollständigung eines vorhandenen Befehls durchgeführt werden)
               Befehl: Name des Befehls, mit Argumenten (mehrere Befehle können durch Semikolon voneinander getrennt werden)

    Im Befehl können Variablen genutzt werden, die dann durch den entsprechenden Wert ersetzt werden:
      $n: Argument 'n' (zwischen 1 und 9)
      $-m: Argumente von 1 bis 'm'
      $n-: Argumente von 'n' bis zum letzten Argument
      $n-m: Argumente von 'n' bis 'm'
      $*: alle Argumente
      $&: alle Argumente, mit " werden ersetzt durch \"
      $~: letztes Argument
      $var: "var" ist eine lokale Variable für den jeweiligen Buffer (siehe /buffer listvar). Beispiele: $nick, $channel, $server, $plugin, $name

    Beispiele:
      /alias add split /window splith
      /alias add hello /allchan -exclude=#weechat hello
      /alias rename hello Hello
      /alias addcompletion %%sajoin forcejoin /quote forcejoin

#### Optionen

Sektionen in Datei alias.conf:

Sektion | Steuerbefehl | Beschreibung
--- | --- | ---
`cmd` | `/alias /set alias.cmd.*` | Befehle für Alias.
`completion` | `/alias /set alias.completion.*` | Vervollständigung für Alias.

### 7.12. Befehle und Optionen

#### WeeChat Befehle

- `allbuf`: führt einen Befehl in allen Buffern aus

    /allbuf  <Befehl>

    Befehl: Befehl der ausgeführt werden soll (oder Text welcher in den Buffer gesendet werden soll, sofern dem Befehl kein "/" vorangestellt ist)

    Beispiel:
      Lesemarkierung für alle Buffer setzen:
        /allbuf /buffer set unread

- `away`: Abwesenheitsstatus setzen oder entfernen

    /away  [-all] [<message>]

         -all: Abwesenheitsstatus auf allen verbundenen Server setzen oder entfernen
    Nachricht: Abwesenheitsnachricht (ohne Angabe einer Nachricht wird der Abwesenheitszustand entfernt)

- `bar`: Infobars verwalten

    /bar  list|listfull|listitems
          add <name> <type>[,<conditions>] <position> <size> <separator> <item1>[,<item2>...]
          default [input|title|status|nicklist]
          rename <name> <new_name>
          del <name>|<mask> [<name>|<mask>...]
          set <name> <option> <value>
          hide|show|toggle <name>
          scroll <name> <window> <scroll_value>

            list: listet alle Bars auf
        listfull: listet alle Bars auf (ausführlich)
       listitems: listet alle Bar-Items auf
             add: fügt eine neue Bar hinzu
            name: Name der Bar (muss einzigartig sein)
            type: Typ der Bar:
                  root: Außerhalb von Fenstern
                  window: innerhalb von Fenstern, mit optionalen Bedingungen (siehe unten)
      conditions: Bedingungen für die Anzeige der Bar (ohne Bedingungen, wird die Bar).immer angezeigt:
                  active: im aktiven Fenster
                  inactive: im inaktiven Fenster
                  nicklist: bei Fenstern mit Nickliste
                  andere Bedingungen: siehe /help weechat.bar.xxx.conditions und /help eval
        Position: unten, oben, links oder rechts
            size: Größe der Bar (in Zeichen)
       separator: 1 für die Verwendung eines Trennzeichens (pro Zeile), 0 oder keine Angabe, bedeutet kein Trennzeichen
       item1,...: Elemente (Items) für diese Leiste (Elemente können durch Komma getrennt werden (auf dem Bildschirm wird das Komma durch ein Leerzeichen ersetzt)  oder „+“ (um die Elemente ohne Leerzeichen darzustellen))
         default: Erstellt eine Standardleiste (alle Standardleisten werden erstellt, wenn kein Bar-Name angegeben ist)
          rename: Eine Bar umbenennen
             del: entfernt Bars
           Maske: Name, wobei der Platzhalter "*" zulässig ist
             set: legt einen Wert für eine Bar-Eigenschaft fest
          option: Option die geändert werden soll (eine Liste der möglichen Optionen findet man unter /set weechat.bar.<barname>.*)
            Wert: neuer Wert für die Option
            hide: eine Bar verstecken
            show: eine versteckte Bar anzeigen
          toggle: eine Bar ein-/ausblenden
          scroll: eine Bar scrollen
          window: Nummer eines Fensters ("*" für aktuelles Fenster oder für 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 Items für Uhrzeit, Buffernummer + name, und Vervollständigung:
        /bar add mybar root bottom 1 0 [time],buffer_number+:+buffer_name,completion
      scrollt die Benutzerliste 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

- `buffer`: Buffer verwalten

    /buffer  list
             add [-free] [-switch] <name>
             clear [<number>|<name>|-merged|-all [<number>|<name>...]]
             move <number>|-|+
             swap <number1>|<name1> [<number2>|<name2>]
             cycle <number>|<name> [<number>|<name>...]
             merge <number>|<name>
             unmerge [<number>|-all]
             hide [<number>|<name>|-all [<number>|<name>...]]
             unhide [<number>|<name>|-all [<number>|<name>...]]
             switch [-previous]
             zoom
             renumber [<number1> [<number2> [<start>]]]
             close [<n1>[-<n2>]|<name>...]
             notify [<level>]
             listvar [<number>|<name>]
             setvar <name> [<value>]
             delvar <name>
             set <property> [<value>]
             setauto <property> [<value>]
             get <property>
             jump smart|last_displayed|prev_visited|next_visited
             <number>|-|+|<name>

        list: Liste von Buffer (ohne Angabe von Argumente, wird diese Liste ausgegeben)
         add: öffnet einen neuen Buffer (dieser kann mit "/buffer close" oder "q" in der Eingabezeile, beendet werden)
       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); "-" = auf erste Position verschieben, "+" = auf letzte Position + 1 verschieben
        swap: tauscht zwei Buffer miteinander aus (bei Angabe von nur einem Buffer (Buffernummer/-name), wird der aktuelle Buffer mit dem angegebenen Buffer getauscht)
       cycle: springt in einer Schleife von einem Buffer zum nächsten, die in einer Liste angegeben werden
       merge: fügt den aktuellen Buffer mit einem anderen Buffer zusammen (bei einem Chat-Buffer werden zwei Buffer zusammengefügt (bei der Standardtastenbelegung wird mittels "ctrl-x" zwischen zusammengefügten Buffern umgeschaltet)
     unmerge: trennt Buffer wieder voneinander, falls zwei Buffer die selbe Nummer teilen
        hide: versteckt einen Buffer
      unhide: Buffer wieder sichtbar machen
      switch: wechselt zum nächsten zusammengeführten Buffer (oder zum vorherigen Buffer mit "-previous")
        zoom: zoomen eines zusammengeführten Buffers
    renumber: Buffer werden umnummeriert (Einstellung weechat.look.buffer_auto_renumber muss deaktiviert sein)
       close: Buffer schließen (Nummer oder Bereich ist optional)
      notify: Benachrichtigungsstufe für den aktuellen Buffer anzeigen oder einstellen. Folgende Möglichkeiten bestimmen den Grad der Benachrichtigung und ob der Buffer in der Hotlist angezeigt wird:
              none: keine Benachrichtigung
              highlight: Benachrichtigung bei hervorgehobenen Nachrichten (Highlights)
              message: Benachrichtigung bei Nachrichten von Usern + Highlights
              all: für alle Nachrichten
              reset: Benachrichtigung auf Standardwert zurück setzen (all)
     listvar: zeigt die lokalen Variablen für den aktuellen Buffer an
      setvar: legt eine lokale Variable für den aktuellen Buffer an
      delvar: löscht eine lokale Variable des aktuellen Buffers
         set: setzt eine Eigenschaft für den aktuellen Buffer
     setauto: wie „set“ und definiert zusätzlich die Option „weechat.buffer.<name>.<eigenschaft>“, damit die entsprechende Eigenschaft in der Konfiguration gespeichert und Anwendung findet, sobald dieser Buffer geöffnet wird
         get: zeigt eine Eigenschaft für den aktuellen Buffer an
        jump: springt zu einem anderen Buffer:
              smart: nächster Buffer mit Aktivität
              last_displayed: letzter angezeigter Buffer (vor dem letzten Sprung zu einem Buffer)
              prev_visited: zuvor besuchter Buffer
              next_visited: zum nächsten besuchten Buffer springen
      number: wechsel zu einem Buffer, mittels Nummer, mögliche Optionen:
              "+": positiver, relativer Sprung um 'n'-Buffer
              "-": negativer, relativer Sprung, um 'n'-Buffer
              "*": wechselt zum Buffer mit der Nummer 'n'; nutzt die interne Einstellung "weechat.look.jump_current_to_previous_buffer"
           -: springt zum ersten Buffer
           +: springt zum letzten Buffer
        name: Mittels (Teil-)Namen zu einem Buffer wechseln; wenn der Name mit "(?i)" beginnt, wird bei der Suche die Groß-/Kleinschreibung nicht beachtet (zum Beispiel findet "(?i)upper" den Buffer „irc.libera.#UPPERCASE“)

    Beispiele:
      /buffer move 5
      /buffer swap 1 3
      /buffer swap #weechat
      /buffer cycle #chan1 #chan2 #chan3
      /buffer merge 1
      /buffer merge #weechat
      /buffer close 5-7
      /buffer #weechat
      /buffer +1
      /buffer +

- `color`: definiert Farbaliase und stellt eine Palette der möglichen Farben dar

    /color  alias <color> <name>
            unalias <color>
            reset
            term2rgb <color>
            rgb2term <rgb> [<limit>]
            -o

       alias: weist einer Farbzahl einen Namen zu
     unalias: entfernt einen Namen
       color: Farbnummer (größer oder gleich 0, maximale Anzahl ist abhängig vom Terminal, üblicherweise 63 oder 255 Farben)
        name: Alternativname 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 Einstellung: "weechat.look.color_pairs_auto_reset")
    term2rgb: konvertiert eine Terminalfarbe (0-255) in eine RGB Farbe
    rgb2term: konvertiert eine RGB Farbe in eine Terminalfarbe (0-255)
       limit: Anzahl an Farben die aus der Terminalpalette genutzt werden sollen (beginnend von 0); Standardwert: 256
          -o: sendet Terminal-/Farbinformationen in den aktuellen Buffer

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

    Beispiele:
      /color alias 214 orange
      /color unalias 214

- `command`: führe explizit einen WeeChat Befehl oder eine Erweiterung aus

    /command  [-buffer <name>] <plugin> <command>
              -s <command>[;<command>...]

        -buffer: Befehl wird in diesem Buffer ausgeführt
    Erweiterung: Befehl der angegeben Erweiterung wird ausgeführt; "core" für einen internen WeeChat Befehl, "*" automatisierte Auswahl (entscheidend ist der Buffer in welchem der Befehl ausgeführt wird)
        command: auszuführender Befehl (es wird automatisch ein '/' vorangestellt, falls dieser nicht angegeben wurde)
             -s: führt einen oder mehrere, durch Semikolons getrennte, Befehle aus (einSemikolon kann mit "\;" maskiert werden.)

- `cursor`: Cursor kann frei auf dem Bildschirm bewegt werden, um Aktionen in bestimmten Bildschirmbereichen auszuführen

    /cursor  go chat|<bar> [top_left|top_right|bottom_left|bottom_right]
             go <x>,<y>
             move up|down|left|right|top_left|top_right|bottom_left|bottom_right|edge_top|edge_bottom|edge_left|edge_right|area_up|area_down|area_left|area_right
             stop

      go: bewegt den Cursor zum Chat-Bereich, zu einer Bar (unter Verwendung des Bar-Namens) oder zu den Koordinaten "x,y"
    move: Cursor wird in die entsprechende Richtung bewegt
    stop: beendet den Cursor Modus

    Ohne Angabe von Argumenten, schaltet dieser Befehl den Cursormodus um.

    Wenn die Maus aktiviert ist (siehe /help mouse), wird standardmäßig mit der mittleren Maustaste der Cursor an die entsprechende Position gesetzt.

    Im Benutzerhandbuch, Kapitel Tastenbelegungen, gibt es eine Liste der Tasten, die man im Cursor-Modus nutzen kann.

    Beispiele:
      /cursor go chat bottom_left
      /cursor go nicklist
      /cursor go 10,5

- `debug`: Debug-Funktionen

    /debug  list
            set <plugin> <level>
            dump|hooks [<plugin>]
            buffer|certs|color|dirs|infolists|key|libs|memory|tags|term|url|windows
            callbacks <duration>[<unit>]
            mouse|cursor [verbose]
            hdata [free]
            time <command>
            unicode <string>

           list: zeigt alle Erweiterungen mit Debuglevel an
            set: setzt den Level der Protokollierung für eine Erweiterung
    Erweiterung: Name der Erweiterung ("core" for WeeChat core)
          Level: Debuglevel der Erweiterung (0 = deaktiviert Debug)
           dump: Speicherabbild in die WeeChat Protokolldatei schreiben (wie bei einem Programmabsturz)
          hooks: zeigt die aktiven Hooks an (bei einer Erweiterung: detaillierte Informationen über Hooks werden angezeigt, die von der Erweiterung erstellt wurden)
         buffer: speichert den Bufferinhalt als hexadezimale Ausgabe in die Protokolldatei
      callbacks: schreibt Hook und Bar-Item Callbacks, welche länger als die angegebene "Dauer", ausgeführt werden in die WeeChat Protokolldatei (0 = deaktiviert), wobei dabei eine der optionalen Einheiten genutzt wird:
                 us: Mikrosekunden (Standard)
                 ms: Millisekunden
                 s: Sekunden
                 m: Minuten
                 h: Stunden
          certs: gibt die Anzahl geladener vertrauenswürdiger Zertifizierungsstellen aus
          color: zeigt Informationen über die aktuellen Farbpaarungen an
         cursor: umschalten des Debug-Informationen, für den Cursor-Modu
           dirs: Verzeichnisse werden angezeigt
          hdata: zeigt Informationen zu hdata an (bei free: werden alle hdata Informationen aus dem Speicher entfernt)
      infolists: zeigt Information über die Infolists an
            key: Tastatur- und Maus-Debug-Modus aktivieren: Rohwerte, erweiterte Tastennamen und zugehörige Befehle anzeigen ('q' zum Verlassen des Modus)
           libs: zeigt an welche externen Bibliotheken verwendet werden
         memory: gibt Informationen über den genutzten Speicher aus
          mouse: umschalten des Debug-Informationen, für die Maus
           tags: schaltet für jede Zeile die dazugehörigen Schlagwörter an / aus
           term: zeigt Informationen über das Terminal an
            url: schaltet Debug-Informationen für hook_url Aufrufe an / aus (Ausgabe als Hashtable)
        windows: zeigt die Fensterstruktur an
           time: misst die Zeit um einen Befehl auszuführen oder um einen Text in den aktuellen Buffer zu senden
        unicode: zeigt Informationen über Unicode-Zeichen in der angegebenen Zeichenkette an (evaluiert, siehe /help eval)

    Beispiele:
      /debug set irc 1
      /debug mouse verbose
      /debug time /filter toggle
      /debug unicode ${chars:${\u26C0}-${\u26CF}}

- `eval`: evaluierter Ausdruck

    /eval  [-n|-s] [-d] <expression>
           [-n] [-d [-d]] -c <expression1> <operator> <expression2>

            -n: gibt das Ergebnis aus, ohne dass dieses in den Buffer gesendet wird (Debug Modus)
            -s: teilt Ausdrücke, bevor sie evaluiert werden (mehrere Befehle können durch Semikolon getrennt werden)
            -d: eine Debug-Ausgabe nach Auswertung anzeigen (Nutzung von zwei -d: ausführliche Debug-Ausgabe)
            -c: Auswertung als Bedingung: nutzt Operatoren und runde Klammern, Rückgabewert als Boolean-Wert ("0" oder "1")
    expression: Ausdruck welcher ausgewertet werden soll, Variablen mit dem Format ${variable} werdenersetzt (siehe unten)
      operator: ein logischer Operator oder Vergleichsoperator (siehe unten)

    Ein Ausdruck gilt als "wahr" sofern das Ergebnis weder NULL, nicht leer und von "0" abweichend ist.
    Für einen Vergleich werden Fließkommazahlen genutzt, insofern es sich bei beiden Ausdrücken um gültige Zahlen handelt, folgende Formate werden unterstützt: Ganzzahl (Beispiele: 5,-7), Gleitkommazahl (Beispiele: 5,2, -7,5, 2,83e-2), hexadezimale Zahl (Beispiele: 0xA3, -0xA3).
    Um einen Vergleich zwischen zwei Zeichenketten zu erzwingen, müssen die Ausdrücke in Anführungszeichen gesetzt werden, zum Beispiel: 50 > 100 == 0 und "50" > "100" == 1

    Einige Variablen werden im Ausdruck durch das Format ${variable} ersetzt.Die folgende Reihenfolge, entsprechend ihrer Priorität, wird berücksichtigt:
      - ${raw_hl:string}: eine Zeichenkette, ohne das dieser ausgewertet wird, aber mit Syntax-Hervorhebung
      - ${raw:string}:  eine Zeichenkette, ohne das dieser ausgewertet wird
      - ${hl:string}:  eine Zeichenkette, mit Syntax-Hervorhebung
      - ${name}: eine Anwender definierte Variable
      - ${weechat_config_dir}: WeeChat Konfigurationsverzeichnis
      - ${weechat_data_dir}: WeeChat Datenverzeichnis
      - ${weechat_state_dir}: WeeChat-Statusverzeichnis
      - ${weechat_cache_dir}: WeeChat Cache Verzeichnis
      - ${weechat_runtime_dir}: WeeChat-Laufzeitverzeichnis
      - ${eval:string}: die evaluierte Zeichenkette
      - ${eval_cond:string}: die evaluierte Bedingung
      - ${esc:string} oder ${\string}: die Zeichenfolge mit maskierten Zeichen
      - ${chars:range}: der Bereich von Zeichenketten, "range" ist dabei: "digit", "xdigit", "lower", "upper", "alpha", "alnum" oder "c1-c2" ("c1" und "c2" sind Codepunkte mit c1 ≤ c2)
      - ${lower:string}: Zeichenfolge welche in Kleinbuchstaben umgewandelt wurde
      - ${upper:string}: Zeichenfolge welche in Großbuchstaben umgewandelt wurde
      - ${hide:char,string}: Zeichenfolge mit verborgenen Zeichen
      - ${cut:max,suffix,string}: die Zeichenfolge mit max. Zeichen (Suffix wird nicht berücksichtigt)
      - ${cut:+max,suffix,string}: die Zeichenfolge mit max. Zeichen (Suffix wird berücksichtigt)
      - ${cutscr:max,suffix,string}: die auf dem Bildschirm angezeigte Zeichenfolge mit der maximalen Anzahl an Zeichen (Suffix wird nicht berücksichtigt)
      - ${cutscr:+max,suffix,string}: die auf dem Bildschirm angezeigte Zeichenfolge mit der maximalen Anzahl an Zeichen (Suffix wird berücksichtigt)
      - ${rev:string}: Zeichenfolge wird umgekehrt
      - ${revscr:string}:  Zeichenfolge wird zur Darstellung umgekehrt (Farbkodierung wird dabei ignoriert)
      - ${repeat:count,string}: Zeichenfolge welche wiederholt wird
      - ${length:string}:  die Länge der Zeichenfolge (Anzahl der UTF-8-Zeichen)
      - ${lengthscr:string}: die Länge der Zeichenfolge welche dargestellt wird (Summe der Breite jedes auf dem Bildschirm angezeigten UTF-8-Zeichens, Farbkodierung wird ignoriert)
      - ${split:N,separators,flags,string}: N-tes Element der geteilten Zeichenfolge (N isteine Ganzzahl ≥ 1 oder ≤ -1, wenn negativ, gezählt wird ab dem letzten Element)
      - ${split:random,separators,flags,string}: zufälliges Element der geteilten Zeichenfolge
      - ${split:count,separators,flags,string}: Anzahl der Elemente der aufgeteilten Zeichenfolge
      - ${split_shell:N,string}: N-tes Element der aufgeteilten Shell-Argumente (N ist eineGanzzahl ≥ 1 oder ≤ -1, wenn negativ, zählt ab dem letzten Element)
      - ${split_shell:random,string}: Zufälliges Element der aufgeteilten Shell-Argumente
      - ${split_shell:count,string}: Anzahl der Element der aufgeteilten Shell-Argumente
      - ${color:name}: die Farben (siehe "Anleitung für API Erweiterung", Funktion"color")
      - ${modifier:name,data,string}: der Modifikator
      - ${info:name,arguments}: eine Information (Argumente sind optional)
      - ${base_encode:base,string}:  Zeichenfolge die codiert wird, mittels base: 16, 32, 64 oder64url
      - ${base_decode:base,string}: Zeichenfolge welche dekodierte wird, von base: 16, 32, 64 oder64url
      - ${date} or ${date:format}: aktuelles Datum/Uhrzeit
      - ${env:NAME}: die Umgebungsvariable
      - ${if:condition?value_if_true:value_if_false}:  das Ergebnis eines dreifachOperator
      - ${calc:expression}: das Ergebnis des Ausdrucks mit Klammern undOperatoren (+, -, *, /, //, %, **)
      - ${random:min,max}: eine zufällige ganze Zahl zwischen "min" und"max" (einschließlich)
      - ${translate:string}: die übersetzte Zeichenkette
      - ${define:name,value}: Deklaration einer Benutzervariablen (gibt eine leere Zeichenkette zurück)
      - ${sec.data.xxx}: der Wert von geschützten Daten "xxx"
      - ${file.section.option}: der Wert der Konfigurationsoption
      - ${name}:  die lokale Variable im Buffer
      - hdata/Variable (der Wert wird automatisch in eine Zeichenkette konvertiert), standardmäßig verweist "window" und "buffer" auf das aktuelle Fenster/Buffer.

    Das Format von hdata kann folgendermaßen sein :
      - ${hdata.var1.var2...}: beginnt mit einem hdata (der Zeiger muss bekannt sein) und fragt eine Variablen nach der anderen ab (andere hdata können folgen)
      - ${hdata[list].var1.var2...}: beginnt mit einem hdata unter Verwendung einer Liste/eines Zeigers/Zeigername, zum Beispiel:
        - ${buffer[gui_buffers].full_name}: Vollständiger Name des ersten Buffers in der verknüpftenListe aller Buffer
        - ${plugin[weechat_plugins].name}: vollständiger Name der ersten Erweiterung in der verknüpftenListe aller Erweiterungen
      - ${hdata[pointer].var1.var2...}: beginnt mit einem hdata, wobei ein Zeiger genutzt wird, zum Beispiel:
        - ${buffer[0x1234abcd].full_name}: vollständiger Namen des Buffers, welcher auf diesen Zeiger zeigt (kann in einem Trigger verwendet werden)
        - ${buffer[my_pointer].full_name}: vollständiger Namen des Buffers, welcher auf diesen Zeigernamen zeigt (kann in einem Trigger verwendet werden)
      - ${hdata[pointer].var1.method()}: wenn var1 eine Hashtabelle ist, können folgende Methoden aufgerufen werden: "keys()", "values()", "keys_sorted()", "keys_values()"und "keys_values_sorted()"
    Die Namen der hdata und Variablen finden man unter "Anleitung für API Erweiterung",Funktion "weechat_hdata_get".

    Logische Operatoren (in der Reihenfolge ihrer Priorität):
      &&   boolean "und"
      ||   boolean "oder"

    Vergleichsoperatoren (nach Priorität):
      =~   stimmt mit der erweiterten POSIX-Regex überein
      !~   stimmt NICHT mit der erweiterten POSIX-Regex überein
      ==*  stimmt mit der Maske überein, Groß-/Kleinschreibung beachten (Platzhalter "*" ist zulässig)
      !!*  stimmt NICHT mit der Maske überein, Groß-/Kleinschreibung beachten (Platzhalter "*" ist zulässig)
      =*    stimmt mit der Maske überein, Groß- und Kleinschreibung wird nicht beachtet (Platzhalter "*" ist zulässig)
      !*   stimmt NICHT mit der Maske überein, Groß- und Kleinschreibung wird nicht beachtet (Platzhalter "*" ist zulässig)
      ==- ist enthalten, Groß- und Kleinschreibung wird berücksichtigt
      !!-  ist NICHT enthalten, Groß- und Kleinschreibung wird berücksichtigt
      =-   ist enthalten, Groß- und Kleinschreibung wird nicht berücksichtigt
      !-   ist NICHT enthalten, Groß- und Kleinschreibung wird nicht berücksichtigt
      ==   gleich
      !=   nicht gleich
      <=   kleiner oder gleich
      <    kleiner
      >=   größer oder gleich
      >    größer

    Beispiele (einfache Zeichenketten):
      /eval -n ${raw:${info:version}}                  ==> ${info:version}
      /eval -n ${eval_cond:${window.win_width}>100}    ==> 1
      /eval -n ${info:version}                         ==> 4.3.3
      /eval -n ${env:HOME}                             ==> /home/user
      /eval -n ${weechat.look.scroll_amount}           ==> 3
      /eval -n ${sec.data.password}                    ==> secret
      /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 ${buffer.local_variables.keys_values()} ==> plugin:core,name:weechat
      /eval -n ${buffer.local_variables.plugin}        ==> core
      /eval -n ${\t}                                   ==> <tab>
      /eval -n ${chars:digit}                          ==> 0123456789
      /eval -n ${chars:J-T}                            ==> JKLMNOPQRST
      /eval -n ${lower:TEST}                           ==> test
      /eval -n ${upper:test}                           ==> TEST
      /eval -n ${hide:-,${relay.network.password}}     ==> --------
      /eval -n ${cut:3,+,test}                         ==> tes+
      /eval -n ${cut:+3,+,test}                        ==> te+
      /eval -n ${date:%H:%M:%S}                        ==> 07:46:40
      /eval -n ${if:${info:term_width}>80?big:small}   ==> big
      /eval -n ${rev:Hello}                            ==> olleH
      /eval -n ${repeat:5,-}                           ==> -----
      /eval -n ${length:test}                          ==> 4
      /eval -n ${split:1,,,abc,def,ghi}                ==> abc
      /eval -n ${split:-1,,,abc,def,ghi}               ==> ghi
      /eval -n ${split:count,,,abc,def,ghi}            ==> 3
      /eval -n ${split:random,,,abc,def,ghi}           ==> def
      /eval -n ${split_shell:1,"arg 1" arg2}           ==> arg 1
      /eval -n ${split_shell:-1,"arg 1" arg2}          ==> arg2
      /eval -n ${split_shell:count,"arg 1" arg2}       ==> 2
      /eval -n ${split_shell:random,"arg 1" arg2}      ==> arg2
      /eval -n ${calc:(5+2)*3}                         ==> 21
      /eval -n ${random:0,10}                          ==> 3
      /eval -n ${base_encode:64,test}                  ==> dGVzdA==
      /eval -n ${base_decode:64,dGVzdA==}              ==> test
      /eval -n ${define:len,${calc:5+3}}${len}x${len}  ==> 8x8

    Beispiele (Bedingungen):
      /eval -n -c ${window.buffer.number} > 2 ==> 0
      /eval -n -c ${window.win_width} > 100   ==> 1
      /eval -n -c (8 > 12) || (5 > 2)         ==> 1
      /eval -n -c (8 > 12) && (5 > 2)         ==> 0
      /eval -n -c abcd =~ ^ABC                ==> 1
      /eval -n -c abcd =~ (?-i)^ABC           ==> 0
      /eval -n -c abcd =~ (?-i)^abc           ==> 1
      /eval -n -c abcd !~ abc                 ==> 0
      /eval -n -c abcd =* a*d                 ==> 1
      /eval -n -c abcd =- bc                  ==> 1

- `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>|<mask>|@ [<name>|<mask>|@...]]
             add|addreplace <name> <buffer>[,<buffer>...] <tags> <regex>
             rename <name> <new_name>
             recreate <name>
             del <name>|<mask> [<name>|<mask>...]

          list: alle Filter auflisten
        enable: Filter wird aktiviert (Filter werden standardmäßig aktiviert)
       disable: Filter deaktivieren
        toggle: Filter umschalten
          mask: Name der Maske, dabei ist der Platzhalter "*" zulässig ("@" = de-/aktiviert alle Filter im aktuellen Buffer)
           add: Filter anlegen
    addreplace: neuen Filter anlegen oder einen schon existierenden Filter ersetzen
          Name: Name des Filters
        rename: benennt einen Filter um
      recreate: in die Eingabezeile wird der entsprechende Filter übernommen, um diese dann editieren zu können
           del: Filter löschen
        buffer: durch Kommata getrennte Liste von Buffer in denen der Filter aktiv sein soll:
                - ist der vollständige Name eines Buffer inklusive seiner Erweiterung (Beispiel: "irc.libera.#weechat" oder "irc.server.libera")
                - "*" betrifft alle Buffer
                beginnt der Name mit '!', wird für diesen Buffer kein Filter angewendet
                - Platzhalter "*" kann verwendet werden
          tags: durch Kommata getrennte Liste von Schlagwörtern. (Zum Beispiel: "irc_join,irc_part,irc_quit"):
                - logisch "und": mittels "+" zwischen den Tags (zum Beispiel: "nick_toto+irc_action")
                - Platzhalter "*" kann verwendet werden
                - wird ein Tag mit '!' eingeleitet, dann muss dieser Tag NICHT in der Nachricht enthalten sein
         Regex: Erweiterte reguläre POSIX Ausdrücke nutzen um in Zeilen zu suchen:
                - das Präfix (z.B. Nick) wird mittels '	' 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

    Mit der Tastenvoreinstellung alt+'=' kann die globale Filterfunktion (de-)aktiviert werden und alt+'-' (de-)aktiviert die Filterfunktion für den aktuellen Buffer.

    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, self_msg, nick_xxx (xxx ist der Nick in Nachrichten), prefix_nick_ccc (ccc ist die Farbe, in der der Nick dargestellt wird), host_xxx (xxx ist der Username + Host in Nachricht), irc_xxx (xxx ist durch einen IRC Befehl/Nummer zu ersetzen, siehe /server raw oder /debug tags), irc_numeric, irc_error, irc_action, irc_ctcp, irc_ctcp_reply, irc_smart_filter, away_info.
    Mittels "/debug tags" kann man sich die Schlagwörter jeder einzelnen Zeile darstellen lassen

    Beispiele:
      aktiviert den intelligenten IRC Filter für alle Buffer:
        /filter add irc_smart * irc_smart_filter *
      aktiviert den intelligenten IRC Filter für alle Buffer, 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.libera.#weechat nick_toto *
      filtert IRC join/action Nachrichten von Nick "toto":
        /filter add toto * nick_toto+irc_join,nick_toto+irc_action *
      filtert Zeilen die "weechat sucks" im IRC Channel #weechat enthalten:
        /filter add sucks irc.libera.#weechat * weechat sucks
      filtert in allen Buffern die Zeilen, die exakt "WeeChat sucks" lauten:
        /filter add sucks2 * * (?-i)^WeeChat sucks$

- `help`: Zeigt einen Hilfstext für Befehle und Einstellungen 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
       Befehl: Name eines Befehls
       Option: Name einer Option (nutze /set um eine Liste zu erhalten)

- `history`: Zeigt den Befehlsverlauf des Buffers

    /history  clear
              <value>

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

- `hotlist`: Hotlist verwalten

    /hotlist  add [low|message|private|highlight]
              clear [<level>]
              remove
              restore [-all]

        add: füge den aktuellen Buffer zur Hotlist (Standardlevel: "low", Bedingungen die in Option weechat.look.hotlist_add_conditions definiert sind, werden NICHT überprüft)
      clear: lösche Hotlist
      level: "lowest" um die niedrigste Benachrichtigungsstufe in der Hotlist zu löschen, "highest" um die höchste Benachrichtigungsstufe in der Hotlist zu löschen, oder mit einer Levelmaske: Ganzzahl, aus einer Kombination von 1=join/part, 2=message, 4=private, 8=highlight
     remove: entferne aktuellen Buffer aus Hotlist
    restore: stellt die letzte Hotlist wieder her, die im aktuellen Buffer entfernt wurde (oder alle Buffer mit -all)

- `input`: Funktionen für die Befehlszeile

    /input  <action> [<arguments>]

       action: Auflistung der möglichen Aktionen:
               return: simuliert die "Eingabetaste"(Enter)-Taste
               split_return: teilt Eingabe bei Zeilenumbrüchen, simuliert dann die "Eingabetaste" für jede Zeile
               complete_next: vervollständigt Wort mit nächster Komplettierung
               complete_previous: vervollständigt Word mit vorheriger Komplettierung
               search_text_here: Textsuche, im Buffer, ab aktueller Position
               search_text: Textsuche im Buffer
               search_history: suche Text im Befehlszeilenverlauf
               search_switch_case: schaltet Groß-/Kleinschreibung ein und aus
               search_switch_regex: Wechsel des Suchmodus: einfache Textsuche/reguläre Ausdrücke
               search_switch_where: wechselt Suche in Nachricht oder Präfix
               search_previous: sucht vorheriger Zeile
               search_next: sucht nächste Zeile
               search_stop_here: beendet Suche bei aktueller Position
               search_stop: suche beenden
               delete_previous_char: entfernt vorheriges Zeichen
               delete_next_char: entfernt nächstes Zeichen
               delete_previous_word: entfernt vorheriges Wort
               delete_previous_word_whitespace: vorheriges Wort löschen (bis zum Leerzeichen)
               delete_next_word: entfernt nächstes Wort
               delete_beginning_of_line: entfernt alle Zeichen ab Zeilenanfang bis zum Cursor
               delete_beginning_of_input: entfernt alle Zeichen vom Beginn der Eingabe bis zum Cursor
               delete_end_of_line:  entfernt alle Zeichen, ab Cursor bis zum Ende der Zeile
               delete_end_of_input: vom Cursor bis zum Ende der Eingabe löschen
               delete_line: löscht die komplette Eingabezeile
               delete_input: gesamte Eingabe löschen
               clipboard_paste: fügt Zeichenkette aus der internen 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_beginning_of_input: bewegt den Cursor zum Anfang der Eingabe
               move_end_of_line: springt ans Ende der Eingabezeile
               move_end_of_input: bewegt den Cursor zum Ende der Eingabe
               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
               move_previous_line: bewegt den Cursor in die vorherige Zeile
               move_next_line: bewegt den Cursor in die nächste Zeile
               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)
               history_use_get_next: sendet den aktuellen Verlaufseintrag (welcher mit der Suche gefunden wurde oder mit der „Auf“-Taste ausgewählt wurde) und fügt den nächsten Verlaufseintrag in die Befehlszeile ein, ohne diesen zu senden
               grab_key: fängt eine Taste (optionales Argument: Verzögerung um eine Taste einzufangen. Standardwert ist 500 Millisekunden)
               grab_key_command: zeigt den Tastencode (inklusive des eingebundenen Befehls) einer Tastenkombination an und fügt diesen in die Befehlszeile ein (optionales Argument: Verzögerung um eine Taste einzufangen. Standardwert ist 500 Millisekunden)
               grab_mouse: fängt den Code einer Mausaktivität
               grab_mouse_area: fängt den Code einer Mausaktivität, mit entsprechendem Bereich
               insert: fügt einen Text in die Eingabezeile ein (Escapesequenzen sind möglich, siehe /help print)
               send: schickt Text an einen Buffer
    arguments: optionale Argumente für eine Aktion

    Dieser Befehl wird sinnvollerweise mittels Tastenbelegungen oder Erweiterungen genutzt.

- `item`: Verwalten von benutzerdefinierten Bar-Items

    /item  list
           add|addreplace <name> "<conditions>" "<content>"
           rename <name> <new_name>
           refresh <name> [<name>...]
           recreate <name>
           del <name>|<mask> [<name>|<mask>...]

          list: zeigt alle benutzerdefinierten Bar-Elemente an
           add: fügt ein benutzerdefiniertes Bar-Element hinzu
    addreplace: erzeugt neues Bar-Item oder ersetzt ein schon existierendes Bar-Item
          Name: Name für benutzerdefiniertes Bar-Element
    conditions: evaluierte Bedingungen um ein Bar-Item anzuzeigen (zum Beispiel, um ein Bar-Item nur in einem bestimmten Buffer anzuzeigen)
        Inhalt: Inhalt (evaluiert, siehe /help eval)
        rename: Umbenennen eines benutzerdefinierten Bar-Elementes
       refresh: aktualisiert den Inhalt des Items in allen Bars, in denen das Item angezeigt wird; jedes Item kann aktualisiert werden: standard/Erweiterung/benutzerdefiniertes Bar-Item
      recreate: kopiert den Befehl in die Eingabezeile, um das benutzerdefinierte Bar-Item zu editieren
           del: entfernt ein benutzerdefiniertes Bar-Elementes
         Maske: Name, wobei der Platzhalter "*" zulässig ist

    Beispiele:
      Item welches die Terminalgröße anzeigt wird hinzugefügt, aber nur für Buffern mit Nummer = 1:
        /item add terminfo "${buffer.number} == 1" "term:${info:term_width}x${info:term_height}"
      fügt ein Element hinzu, welches Informationen zum Buffer anzeigt:
        /item add bufinfo "" "${buffer.number}:${buffer.name}${if:${buffer.zoomed}?(Z)}"
      fügt ein Item mit Datum/Uhrzeit hinzu, dabei wird das Format "Dec 25, 12:34 +0100" verwendet. Aktualisierung, jede Minute:
        /item add datetime "" "${date:%b %d, %H:%M %z}"
        /trigger add datetime_refresh timer "60000;60" "" "" "/item refresh datetime"
      fügt ein Item mit der Anzahl der Zeilen für den Buffer hinzu (sichtbar/total), jeweils aktualisiert, wenn eine neue Zeile dargestellt wird oder wenn sich der Status der gefilterten Zeilen geändert hat:
        /item add lines_count "" "${calc:${buffer.lines.lines_count}-${buffer.lines.lines_hidden}}/${buffer.lines.lines_count} lines"
        /trigger add lines_count_refresh_print print "" "" "" "/item refresh lines_count"
        /trigger add lines_count_refresh_signal signal "window_switch;buffer_switch;buffer_lines_hidden;filters_*" "" "" "/item refresh lines_count"
      erzwingt die Aktualisierung des Items "lines_count":
        /item refresh lines_count
      erstellt das Item "lines_count" neu, mit anderen Bedingungen oder Inhalten:
        /item recreate lines_count
      entfernt das Item "lines_count":
        /item del lines_count

- `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>]
          legacy <key> [<key>...]

           list: zeigt die aktuelle Tastenbelegungen an
    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, welcher genutzt werden soll ("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); Anführungszeichen können verwendet werden, um Leerzeichen am Anfang/Ende des Befehls beizubehalten
         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
         legacy: zeigt den neuen Namen für legale Tasten an

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

    Für einige Tasten muss möglicherweise /debug key verwendet werden. Damit wird der Rohwert der Tastenbelegung angezeigt, der verwendet werden kann (zum Beispiel könnte der Wert für die Strg+Rücktaste, sowohl "ctrl-H" oder "ctrl-? " lauten, abhängig von Ihrem Terminal und anderen Einstellungen).

    Zulässige Modifikatortasten (in dieser Reihenfolge, wenn mehrere verwendet werden):
      "meta-": Alttaste
      "ctrl-": Strg-Steuertaste
      "shift-": Umschalttaste, kann nur mit den unten aufgeführten Tastennamen verwendet werden

    Zulässige Tastennamen: f0 bis f20, Pos1, Einfügen, Löschen, Ende, Rücktaste, Bild auf, Bild ab, hoch, runter, rechts, links, Tab, Return, Komma, Leerzeichen.

    Tastenkombinationen müssen durch ein Komma getrennt werden.

    Für "mouse"-Kontext ("cursor" Kontext ist auch möglich), hat der zu verwendende Schlüssel folgendes Format: "@area:Schlüssel" oder "@area1>area2:Schlüssel". "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)
      bar(*): beliebige Bar
      bar(xxx): Bar mit dem Namen "xxx"
      item(*): beliebiges Bar-Item
      item(xxx): Bar-Item mit Namen "xxx"
    Der Platzhalter "*" kann verwendet werden 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 eine Hashtabelle als Argument.
    Ein weiterer besonderer Übergabewert ist "-" und kann genutzt werden um einen Schlüssel zu deaktivieren (der Schlüssel wird bei der Durchführung übersprungen).

    Beispiele:
      /key bind meta-r /buffer #weechat
      /key reset meta-r
      /key bind meta-v,f1 /help
      /key bindctxt search f12 /input search_stop
      /key bindctxt mouse @item(buffer_nicklist):button3 /msg nickserv info ${nick}

- `layout`: Verwaltet Buffer/Fenster Layouts

    /layout  store [<name>] [buffers|windows]
             apply [<name>] [buffers|windows]
             leave
             del [<name>] [buffers|windows]
             rename <name> <new_name>

      store: erstellt ein Layout der zur Zeit verwendeten Buffer/Fenster
      apply: erstelltes Layout verwenden
      leave: belässt das aktuelle Layout (es wird kein Layout aktualisiert)
        del: entfernt Buffer und/oder Fenster in einem erstellten Layout (falls weder "buffers" noch "windows" angegeben wird, dann wird das Layout entfernt)
     rename: ein Layout umbenennen
       name: Name unter welchem das Layout erstellt werden soll (Standard-Layou´t heißt "default")
    buffers: erstellt bzw. verwendet nur Buffer (Reihenfolge der Buffer)
    windows: erstellt bzw. verwendet nur Fenster (Buffer welche im jeweiligen Fenster dargestellt werden)

    Wird der Befehl ohne Argumente aufgerufen, werden die erstellten Layout dargestellt.

    Das aktuelle Layout kann beim Ausführen des /quit Befehls mit der Option "weechat.look.save_layout_on_exit" gesichert werden.

    Hinweis: Das Layout merkt sich nur Fenstereinteilungen und die Positionsnummern von Buffern, es werden keine Buffer automatisch geöffnet. Das bedeutet zum Beispiel, dass IRC-Kanäle immer noch automatisch betreten müssen, um die Buffer zu öffnen. Das gespeicherte Layout wird erst verwendet, wenn die Buffer geöffnet sind.

- `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 Einstellung "weechat.look.mouse" gesichert.

    Beispiele:
      /mouse enable
      /mouse toggle 5

- `mute`: führt einen Befehl ohne Textausgabe aus

    /mute  [-core | -current | -buffer <name>] <command>

       -core: Ausgabe im WeeChat Core Buffer wird unterdrückt
    -current: Ausgabe im aktuellen Buffer wird unterdrückt
     -buffer: Ausgabe im ausgewählten Buffer wird unterdrückt
        name: vollständiger Buffername (Beispiel: "irc.server.libera", "irc.libera.#weechat")
     command: 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 ("-core", "-current" oder "-buffer"), dann wird die Textausgabe generell unterdrückt.

    Beispiele:
      /mute save
      /mute -current msg * hi!
      /mute -buffer irc.libera.#weechat msg #weechat hi!

- `plugin`: Erweiterungen verwalten (auflisten/installieren/beenden)

    /plugin  list [-o|-ol|-i|-il|<name>]
             listfull [<name>]
             load <filename> [<arguments>]
             autoload [<arguments>]
             reload [<name>|* [<arguments>]]
             unload [<name>]

         list: installierte Erweiterungen werden aufgelistet
           -o: sende Liste der geladenen Erweiterungen an den Buffer (Ausgabe in englisch)
          -ol: sende Liste der geladenen Erweiterungen an den Buffer (übersetzte Ausgabe)
           -i: Liste der geladenen Erweiterungen in die Befehlszeile kopieren (zum Senden an den Buffer) (Ausgabe in englisch)
          -il: Liste der geladenen Erweiterungen in die Befehlszeile kopieren (zum Senden an den Buffer) (übersetzte Ausgabe)
         Name: Namen einer Erweiterungen
     listfull: geladene Erweiterungen auflisten (ausführlich)
         load: Laden einer Erweiterung
     filename: Erweiterung (Dateiname) welche installiert werden soll
    arguments: Argumente die der Erweiterung beim Installieren übergeben werden sollen
     autoload: installiert automatisch alle Erweiterungen aus dem System- oder Benutzerverzeichnis
       reload: startet eine Erweiterung erneut (falls kein Name angegeben wird, werden alle Erweiterungen beendet und neu gestartet)
       unload: beendet eine, oder alle, Erweiterungen (wird kein Name angegeben dann werden alle Erweiterung beendet)

    Ohne Angabe eines Argumentes, werden alle installierten Erweiterungen angezeigt.

- `print`: gibt einen Text in einem Buffer aus

    /print  [-buffer <number>|<name>] [-newbuffer <name>] [-free] [-switch] [-core|-current] [-y <line>] [-escape] [-date <date>] [-tags <tags>] [-action|-error|-join|-network|-quit] [<text>]
            -stdout|-stderr [<text>]
            -beep

       -buffer: Buffer in welchem der Text ausgegeben werden soll (standardmäßig: aktueller Buffer)
    -newbuffer: erstellt einen neuen Buffer und stellt Text in diesem Buffer dar
         -free: erstellt einen Buffer mit freiem Inhalt (nur mit -newbuffer möglich)
       -switch: wechselt zum Buffer
         -core: Alternativname für "-buffer core.weechat"
      -current: Text wird im aktuell genutzten Buffer ausgegeben
            -y: schreibt den Text in die angegebene Zeile (nur bei Buffern mit freiem Inhalt)
          line: Zeilennummer bei einem Buffer mit freiem Inhalt (erste Zeile ist 0, bei einer negative Zahl wird der Text nach der letzten Zeile eingefügt: -1 = nach der letzten Zeile, -2 = zwei Zeilen, nach der letzten Zeile, usw.)
       -escape: Escapesequenzen werden umgewandelt (zum Beispiel \a, \07, \x07)
         -date: Datum der Nachricht, mögliche Formatierung:
                -n: "n" Sekunden, vor dem jetzigen Zeitpunkt
                +n: "n" Sekunden, in der Zukunft
                n: "n" Sekunden seit der Epoche (siehe man time)
                Datum und/oder Uhrzeit (ISO 8601): siehe Funktion "util_parse_time" in der Anleitung für API Erweiterung(Beispiele: "11:29:09", "2023-12-25T10:29:09.456789Z")
         -tags: durch Kommata getrennte Liste von Tags (siehe /help filter für eine Liste von Tags die häufig genutzt werden)
          text: Text der ausgegeben werden soll (Präfix und Nachricht muss durch "\t" getrennt werden, sollte der Text mit "-" beginnen, muss ein "\" vorangestellt werden)
       -stdout: Text wird an stdout geschickt (Escapesequenzen werden umgewandelt)
       -stderr: Text wird an stderr geschickt (Escapesequenzen werden umgewandelt)
         -beep: Alias für "-stderr \a"

    Das Argument -action ... -quit nutzt den Präfix der in der Einstellung "weechat.look.prefix_*" definiert ist.

    Folgende Escapesequenzen werden unterstützt:
      \" \\ \a \b \e \f \n \r \t \v \0ooo \xhh \uhhhh \Uhhhhhhhh

    Beispiele:
      zeigt eine Erinnerung, mit Highlight, im Core-Buffer an:
        /print -core -tags notify_highlight Erinnerung: Milch kaufen
      zeigt eine Fehlernachricht im Core-Buffer an:
        /print -core -error Irgendein Fehler hier
      zeigt eine Nachricht im Core-Buffer an, mit Präfix "abc":
        /print -core abc\tMeine Nachricht
      es wird eine Nachricht im Channel #weechat ausgegeben:
        /print -buffer irc.libera.#weechat Nachricht an #weechat
      gibt einen Schneemann aus (U+2603):
        /print -escape \u2603
      verschickt Alarm (BEL):
        /print -beep

- `proxy`: Proxys verwalten

    /proxy  list
            add <name> <type> <address> <port> [<username> [<password>]]
            del <name>|<mask> [<name>|<mask>...]
            set <name> <option> <value>

        list: Auflistung aller Proxys
         add: fügt neuen Proxy hinzu
        name: Name des neuen Proxy (der Name darf nur einmal genutzt werden)
         Typ: http, socks4 oder socks5
     Adresse: IP oder Hostname
        Port: Nummer des Port
    Username: Username (optional)
    Passwort: Passwort (optional)
         del: entfernt einen oder mehrere Proxy
       Maske: Name, wobei der Platzhalter "*" zulässig ist
         set: setzt einen Wert für Proxy-Eigenschaft
      Option: Option, die geändert werden soll (für eine Liste der möglichen Optionen, bitte folgenden Befehl nutzen: /set weechat.proxy.<proxyname>.*)
        Wert: neuer Wert für die 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

- `quit`: WeeChat beenden

    /quit  [-yes] [<arguments>]

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

    Standardmäßig werden alle Konfigurationsdateien beim Beenden gespeichert (siehe Option "weechat.look.save_config_on_exit") und das aktuelle Layout kann gesichert werden (siehe Option "weechat.look.save_layout_on_exit").

- `reload`: Konfiguration neu laden

    /reload  [<file> [<file>...]]

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

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

- `repeat`: führt einen Befehl mehrfach aus

    /repeat  [-interval <delay>[<unit>]] <count> <command>

    Verzögerung: Verzögerung zwischen dem Ausführen der Befehle (Minimum: 1 Millisekunde)
        Einheit: optional, Werte sind:
                 us: Mikrosekunden
                 ms: Millisekunden
                 s: Sekunden (Vorgabewert)
                 m: Minuten
                 h: Stunden
         Anzahl: Häufigkeit, wie oft der Befehl ausgeführt werden soll
         Befehl: Befehl der ausgeführt werden soll (oder Text welcher in den Buffer gesendet werden soll, sofern dem Befehl kein '/' vorangestellt ist), dieser Befehl ist evaluiert und die folgenden Variablen werden zur Laufzeit des Befehls ausgeführt:
                 ${buffer}: Buffer-Pointer
                 ${repeat_count}: wie oft der Befehl ausgeführt wird
                 ${repeat_index}: aktueller Index (von 1 bis "Einheit")
                 ${repeat_index0}: aktueller Index (von 0  bis "Einheit" - 1)
                 ${repeat_revindex}: aktueller Index vom Ende (von "Einheit" bis 1)
                 ${repeat_revindex0}: aktueller Index vom Ende (von "Einheit" - 1 bis 0)
                 ${repeat_first}: "1" für die erste Ausführung, "0" für die anderen
                 ${repeat_last}: "1" für die letzte Ausführung. "0" für die anderen

    Hinweis: Der Befehl wird in dem Buffer ausgeführt, in welchem der /repeat Befehl ausgeführt wurde (sollte der Buffer nicht mehr existieren, wird der Befehl nicht ausgeführt).

    Beispiele:
      scrollt zwei Seiten hoch:
        /repeat 2 /window page_up
      Gebe einen Countdown aus, beginnend mit 5:
        /repeat -interval 1 6 /print ${if:${repeat_last}?Boom!:${repeat_revindex0}}

- `reset`: Konfigurationsoptionen zurücksetzen

    /reset  <option>
            -mask <option>

    Option: Name einer Option
     -mask: nutzt eine Maske um Optionen auszuwählen (Platzhalter "*" kann verwendet werden um viele Optionen in einem Arbeitsschritt zurückzusetzen. Diese Funktion sollte mit äußerster Sorgfalt genutzt werden!)

    Beispiele:
      /reset weechat.look.item_time_format
      /reset -mask weechat.color.*

- `save`: Konfiguration abspeichern

    /save  [<file> [<file>...]]

    Datei: Konfigurationsdatei welche gesichert werden soll (ohne Dateinamenserweiterung ".conf")

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

    Standardmäßig werden alle Konfigurationsdateien beim Ausführen des /quit Befehls gespeichert (siehe Option "weechat.look.save_config_on_exit").

- `secure`: verwaltet zu schützende Daten (Passwörter oder private Daten werden in der Datei sec.conf verschlüsselt)

    /secure  passphrase <passphrase>|-delete
             decrypt <passphrase>|-discard
             set <name> <value>
             del <name>

    passphrase: ändern der Passphrase (ohne Passphrase, werden die Daten in der Datei sec.conf in Klartext gesichert)
       -delete: löscht Passphrase
       decrypt: Daten nachträglich entschlüsseln (dies passiert nur falls die Passphrase beim Start nicht angegeben wurde)
      -discard: verwirft alle verschlüsselten Daten
           set: fügt eine schutzwürdige Information hinzu oder ändert eine bestehende
           del: entfernt eine schutzwürdige Information

    Ohne Angabe von Argumenten wird ein neuer Buffer geöffnet und die schutzwürdigen Informationen können dort eingesehen werden.

    Tastenbefehle für den secure-Buffer:
      alt+v, Werte werden in Klartext angezeigt bzw. verborgen

    Wird eine Passphrase verwendet (Daten liegen verschlüsselt vor), fragt WeeChat beim Start die Passphrase ab.
    Setzt man die Umgebungsvariable "WEECHAT_PASSPHRASE", kann die Eingabeaufforderung der Passphrase beim Programmstart vermieden werden (diese Variable wird von WeeChat auch beim /upgrade verwendet). Es ist auch möglich mittels der Option sec.crypt.passphrase_command die Passphrase aus der Ausgabe eines externen Befehls, wie eines Passwort-Managers zu lesen (siehe /help sec.crypt.passphrase_command).

    Schutzwürdige Daten können, mit dem Format ${sec.data.xxx}, können verwendet werden in:
      - Befehl /eval
      - Argument in der Befehlszeile für "--run-command"
      - In den Optionen weechat.startup.command_{before|after}_plugins
      - weitere Optionen die Passwörter oder sensible Daten beinhalten können (zum Beispiel: proxy, irc server und relay); siehe /help mit der entsprechenden Option um zu überprüfen ob die Daten evaluiert werden).

    Beispiele:
      festlegen eine Passphrase:
        /secure passphrase Dies ist meine Passphrase
      nutze Programm "pass" um die Passphrase beim Start auszulesen:
        /set sec.crypt.passphrase_command "/usr/bin/pass show weechat/passphrase"
      verschlüsselt libera SASL Passwort:
        /secure set libera MeinPasswort
        /set irc.server.libera.sasl_password "${sec.data.libera}"
      verschlüsselt oftc Passwort für nickserv:
        /secure set oftc MeinPasswort
        /set irc.server.oftc.command "/msg nickserv identify ${sec.data.oftc}"
      Alternativbefehl um den eigenen Nick zu ghosten:
        /alias add ghost /eval /msg -server libera nickserv ghost MeinNick ${sec.data.libera}

- `set`: um Konfigurationsoptionen und Umgebungsvariablen zu setzen

    /set  [<option> [<value>]]
          diff [<option> [<option>...]]
          env [<variable> [<value>]]

    Option: Name einer Option (Platzhalter "*" kann verwendet werden um Optionen anzuzeigen, falls kein Wert angegebenen wurde)
      Wert: neuer Wert den die Option erhalten soll. Abhängig von der ausgewählten Option, kann die Variable folgenden Inhalt haben:
            boolean: on, off oder toggle
            Ganzzahl: Nummer, ++Nummer oder --Nummer
            Zeichenkette: beliebige Zeichenkette ("" für eine leere Zeichenkette)
            Farbe: Farbwert, ++Nummer oder --Nummer
      Diff: es werden nur Einstellungen angezeigt, die geändert wurden
       env: setzt oder zeigt eine Umgebungsvariable an (um eine Variable zu entfernen muss der Wert "" genutzt werden)

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

    Beispiele:
      /set *highlight*
      /set weechat.look.highlight "word"
      /set diff
      /set diff irc.*
      /set env LANG
      /set env LANG fr_FR.UTF-8
      /set env ABC ""

- `sys`: Systemaktionen

    /sys  get rlimit|rusage
          malloc_trim [<size>]
          suspend
          waitpid <number>

            get: Systeminformationen anzeigen
         rlimit: Ressourcengrenzen anzeigen (siehe /help weechat.startup.sys_rlimit und "man getrlimit")
         rusage: Ressourcennutzung anzeigen (siehe "man getrusage")
    malloc_trim: ruft die Funktion malloc_trim auf, um freien Speicher vom Heap freizugeben
           size: Menge an freiem Speicherplatz, der oben auf dem Heap ungekürzt bleiben soll (Standard ist 0: Nur die minimale Speichermenge wird oberhalb des Heap beibehalten)
        suspend: Beendet WeeChat und kehrt zur Shell zurück, indem das Signal SIGTSTP an den WeeChat-Prozess gesendet wird
        waitpid: Bestätigt das Ende von untergeordneten Prozessen (um „Zombie“ Prozesse zu verhindern)
         Anzahl: Anzahl der zu bereinigenden Prozesse

- `toggle`: den Wert einer Konfigurationsoption umschalten

    /toggle  <option> [<value> [<value>...]]

    Option: Name einer Option
      Wert: Mögliche Werte für die Option (Werte werden wie bei der Shell aufgeteiltBefehlsargumente: Anführungszeichen können verwendet werden, um Leerzeichen am Anfang / Ende eines Wertes beizubehalten)

    Verhalten:
      - nur eine Option vom Typ Boolean oder Zeichenkette kann ohne Wert umgeschaltet werden:
        - boolean: zwischen Ein/Aus Status umschalten, entsprechend dem aktuellen Wert
        - Zeichenkette: Umschalten zwischen leerer Zeichenkette und Standardwert (funktioniert nur, wenn für die Option eine leere Zeichenkette erlaubt ist)
      - mit einem vorgegeben einzelnen Wert, zwischen diesem Wert und dem Standardwert der Option umschalten
      - sind mehrere Werte angegeben, wird zwischen diesen Werten umgeschaltet: Der verwendete Wert ist der, der dem aktuellen Wert der Option folgt; wenn der aktuelle Wert der Option nicht in der Liste enthalten ist, wird der erste Wert aus der Liste verwendet
      - der Sonderwert "null" kann genutzt werden, jedoch nur als erster Wert in der Liste und ohne Anführungszeichen.

    Beispiele:
      die Uhrzeit im Chat-Bereich umschalten (die Ausgabe des neuen Wertes wird unterdrückt):
        /mute /toggle weechat.look.buffer_time_format
      Zeitformat im Chat-Bereich ändern (mit Sekunden, ohne Sekunden, deaktiviert):
        /toggle weechat.look.buffer_time_format "%H:%M:%S" "%H:%M" ""
      den automatischen Beitritt des #weechat-Kanals auf dem libera-Server umschalten:
        /toggle irc.server.libera.autojoin null #weechat

- `unset`: Konfigurationsparameter freigeben/zurücksetzen

    /unset  <option>
            -mask <option>

    Option: Name einer Option
     -mask: nutzt eine Maske um Optionen auszuwählen (Platzhalter "*" kann verwendet werden um viele Optionen in einem Arbeitsschritt zurückzusetzen. Diese Funktion sollte mit äußerster Sorgfalt genutzt werden!)

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

    Beispiele:
      /unset weechat.look.item_time_format
      /unset -mask weechat.color.*

- `upgrade`: Speichern der WeeChat-Sitzung und laden der WeeChat-Binärdatei, ohne die Verbindung zu Servern zu trennen

    /upgrade  [-yes] [<path_to_binary>|-save|-quit]
              -o|-ol

                   -yes: wird benötigt, sobald Option "weechat.look.confirm_upgrade" aktiviert ist
    Pfad_zur_Binärdatei: Pfad zu einer ausführbaren WeeChat Binärdatei (Standardeinstellung ist die aktuell ausführbare Datei)
                 -dummy: ohne Funktion (dient ausschließlich dazu, um nicht versehentlich die "-quit" Funktion auszuführen)
                  -save: speichert nur die aktuelle Sitzung, WeeChat wird weder beendet noch neu gestartet. Die Konfigurationsdateien werden hierbei nicht gespeichert (falls dies gewünscht wird, nutze vorher /save)
                  -quit: trennt *ALLE* Verbindungen, speichert die aktuelle Sitzung und beendet WeeChat, um den aktuellen Zustand später wiederherstellen (siehe unten)
                     -o: kopiert die Anzahl der durchgeführten Upgrades, sowie Datum des ersten und letzten Starts in die Eingabezeile den aktuellen Buffers (in englischer Sprache)
                    -ol: kopiert die Anzahl der durchgeführten Upgrades, sowie Datum des ersten und letzten Starts in die Eingabezeile den aktuellen Buffers (in der voreingestellten Landessprache)

    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: TLS 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.

    Wichtig: Die Verwendung der Option "-save" kann gefährlich sein. Für ein Standard-Upgrade oder einen Neustart wird empfohlen, nur den /upgrade (oder mit "-quit") Befehl zu nutzen. Mit der Option "-save" kann eine Sitzung regelmäßig gespeichert und dann wiederhergestellt werden, falls Weechat abnormal beendet wurde (Stromausfall, Absturz etc.).

    Der Upgrade Vorgang besteht aus vier Schritten:
      1. Sicherung der Sitzung, in Dateien für Core und Erweiterungen (buffers, history, ..)
      2. alle Erweiterungen werden entfernt (Konfigurationsdateien (*.conf) werden dabei 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 entfernt
      4. die WeeChat Konfiguration wird gesichert
      5. WeeChat wird beendet

    Mit der Option "-save" ist der Ablauf:
      1. Die Sitzung wird in Dateien (*.upgrade) gesichert, allerdings mit dem Status das IRC und Client Verbindungen unterbrochen sind (es findet aber keine Trennung der Verbindung statt!)

    Durch nutzen von -quit oder -save kann eine Sitzung zu einem späteren Zeitpunkt wiederhergestellt werden:weechat --upgrade
    WICHTIG: Die Sitzung muss mit exakt den selben Konfigurationsdateien wiederhergestellt werden (*.conf) und wenn möglich mit der selben Version von WeeChat (oder einer neueren Version).
    Es ist möglich, die WeeChat-Sitzung auf einem anderen Computer wiederherzustellen, wenn Sie den Inhalt der WeeChat Verzeichnisse kopieren (siehe /debug dirs).

- `uptime`: Zeigt die Uptime von WeeChat an

    /uptime  [-o|-ol]

     -o: die Laufzeit von WeeChat wird in den aktuellen Buffer geschrieben (in englischer Sprache)
    -ol: die Laufzeit von WeeChat wird in den aktuellen Buffer geschrieben (in der voreingestellten Landessprache)

- `version`: Zeigt die WeeChat-Version und das Datum der Kompilierung an

    /version  [-o|-ol]

     -o: die Version von WeeChat wird in den aktuellen Buffer geschrieben (in englischer Sprache)
    -ol: die Version von WeeChat wird in den aktuellen Buffer ausgegeben (in der voreingestellten Landessprache)

    Um diesen Befehl in jedem Buffer ausführen zu können, kann der Standardkurzbefehl /v genutzt werden (andernfalls wird der IRC Befehl /version in einem IRC Buffer ausgeführt).

- `wait`: Terminiere einen Befehl der ausgeführt werden soll

    /wait  <number>[<unit>] <command>

     Nummer: die Zeit, die gewartet werden soll (Minimum: 1 Millisekunde)
    Einheit: optional, Werte sind:
             us: Mikrosekunden
             ms: Millisekunden
             s: Sekunden (Vorgabewert)
             m: Minuten
             h: Stunden
     Befehl: Befehl der ausgeführt werden soll (oder Text welcher in den Buffer gesendet werden soll, sofern dem Befehl kein "/" vorangestellt ist)

    Hinweis: Der Befehl wird in dem Buffer ausgeführt, in welchem der /wait Befehl ausgeführt wurde (sollte der Buffer nicht mehr existieren, wird der Befehl nicht ausgeführt).

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

- `window`: Fenster verwalten

    /window  list
             -1|+1|b#|up|down|left|right [-window <number>]
             <number>
             splith|splitv [-window <number>] [<pct>]
             resize [-window <number>] [h|v][+|-]<pct>
             balance
             merge [-window <number>] [all]
             close [-window <number>]
             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_beyond_end|scroll_previous_highlight|scroll_next_highlight|scroll_unread [-window <number>]
             swap [-window <number>] [up|down|left|right]
             zoom [-window <number>]
             bare [<delay>]

                         list: Auflistung der 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
                       Nummer: Nummer des Fensters (siehe /window list)
                       splith: teilt das aktuelle Fenster horizontal (um den Vorgang rückgängig zu machen: /window merge)
                       splitv: teilt das aktuelle Fenster vertikal (um den Vorgang rückgängig zu machen: /window merge)
                       resize: verändert die Größe des aktuellen Fensters. Die neue Größe des Fensters ist prozentual <pct> zum Stammfensters groß. Wird "h" oder "v" angegeben, findet eine Größenanpassung des Stammfenster statt, sofern es vom selben Typ ist (horizontal/vertikal)
                      balance: passt die Größe aller Fenster an
                        merge: vereinigt Fenster miteinander (all = alle Fenster zu einem einzigen Fenster vereinigen)
                        close: Fenster wird geschlossen
                      page_up: scrollt eine Seite nach oben
                    page_down: scrollt eine Seite nach unten
                      refresh: Seite wird neu aufgebaut
                       scroll: blättert eine Anzahl an Zeilen (+/-N) oder zu einer angegebenen Zeit: s=Sekunden, m=Minuten, h=Stunden, d=Tage, M=Monate, y=Jahre
                 scroll_horiz: blättert horizontal eine Anzahl an Spalten (+/-N) oder prozentual von der Fenstergröße ausgehend (dieses blättern ist nur in Buffern möglich die über einen freien Inhalt verfügen)
                    scroll_up: blättert ein paar Zeilen nach oben
                  scroll_down: blättert ein paar Zeilen nach unten
                   scroll_top: blättert zum Anfang des Buffers
                scroll_bottom: blättert zum Ende des Buffers
            scroll_beyond_end: blättert über das Ende des Buffers hinaus
    scroll_previous_highlight: blättert zum vorherigen Hightlight
        scroll_next_highlight: blättert 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%
                         bare: wechselt zum einfachen Anzeigemodus (optional kann eine Wartezeit in Sekunden angegeben werden, wann wieder zum Standardmodus zurück gewechselt werden soll)

    Für splith und splitv gibt "pct" die Größe des neuen 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:
      /window b1
      /window scroll -2
      /window scroll -2d
      /window scroll -d
      /window zoom -window 2
      /window splith 30
      /window resize 75
      /window resize v+10
      /window bare 2

#### Optionen für schutzwürdige Daten

Sektionen in Datei sec.conf:

Sektion | Steuerbefehl | Beschreibung
--- | --- | ---
`crypt` | `/set sec.crypt.*` | Optionen für Verschlüsselung.
`data` | `/secure` | geschützte Daten.

Optionen:

- sec.crypt.cipher

  - Beschreibung: zu nutzendes Chiffre zum Verschlüsseln von Daten (die Zahl hinter dem Algorithmus bestimmt die Größe des Schlüssels, in Bits)

  - Typ: Aufzählung

  - Werte: aes128, aes192, aes256

  - Standardwert: `aes256`

- sec.crypt.hash_algo

  - Beschreibung: Hash-Algorithmus zur Überprüfung der entschlüsselten Daten; einige von ihnen erfordern eine bestimmte libgcrypt-Version: sha3-*: libgcrypt >= 1.7.0, blake2*: libgcrypt >= 1.8.0, sha512-*: libgcrypt >= 1.9.4

  - Typ: Aufzählung

  - Werte: sha224, sha256, sha384, sha512, sha512-224, sha512-256, sha3-224, sha3-256, sha3-384, sha3-512, blake2b-160, blake2b-256, blake2b-384, blake2b-512, blake2s-128, blake2s-160, blake2s-224, blake2s-256

  - Standardwert: `sha256`

- sec.crypt.passphrase_command

  - Beschreibung: Auslesen der Passphrase aus der Ausgabe des angegebenen Befehls (nur die erste Zeile wird verwendet und darf kein zusätzliches Zeichen enthalten); Diese Option wird nur verwendet, wenn die Datei sec.conf gelesen wird und wenn die Umgebungsvariable "WEECHAT_PASSPHRASE" nicht festgelegt ist (die Umgebungsvariable hat eine höhere Priorität); Beispiel mit Passwortspeicher: "/usr/bin/pass show weechat / passphrase"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `""`

- sec.crypt.salt

  - Beschreibung: nutzt salt bei der Schlüsselerstellung für die Verschlüsselung (wird für maximale Sicherheit empfohlen); wenn aktiviert, ist der Inhalt der verschlüsselten Daten bei jeder Sicherung in die Datei sec.conf verschieden. Wird die Datei sec.conf in eine Versionsverwaltung eingepflegt kann die Einstellung deaktiviert werden, um immer den selben Dateiinhalt zu erhalten

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `on`

#### WeeChat Optionen

Sektion in Datei weechat.conf:

Sektion | Steuerbefehl | Beschreibung
--- | --- | ---
`debug` | `/debug set /set weechat.debug.*` | Debug level, für Core und Erweitertungen (Optionen können in Sektion hinzugefügt/entfernt werden).
`startup` | `/set weechat.startup.*` | Optionen die nach dem Programmstart ausgeführt werden.
`look` | `/set weechat.look.*` | Erscheinungsbild.
`palette` | `/color alias /set weechat.palette.*` | Alternativnamen für Farben (Optionen können in Sektion hinzugefügt/entfernt werden).
`color` | `/set weechat.color.*` | Farben.
`completion` | `/set weechat.completion.*` | Optionen für Vervollständigung.
`history` | `/set weechat.history.*` | Optionen für Befehlsverlauf (Befehle und Buffer).
`proxy` | `/proxy /set weechat.proxy.*` | Proxy Optionen.
`network` | `/set weechat.network.*` | Netzwerk/TLS Optionen.
`plugin` | `/set weechat.plugin.*` | Optionen für Erweiterungen.
`signal` | `/set weechat.signal.*` | Optionen für Signale.
`bar` | `/bar /set weechat.bar.*` | Optionen für die Bars.
`layout` | `/layout` | Layouts.
`buffer` | `/buffer setauto` | Eigenschaften, die beim Öffnen des Buffers automatisch angewendet werden.
`notify` | `/buffer notify` | Benachrichtigungsstufe für Buffer (Optionen können in Sektion hinzugefügt/entfernt werden).
`filter` | `/filter` | Filter.
`key` | `/key` | Tastenbefehle in default context.
`key_search` | `/key` | Tastenbefehle in search context.
`key_cursor` | `/key` | Tastenbefehle in cursor context.
`key_mouse` | `/key` | Tastenbefehle in mouse context.

Optionen:

- weechat.color.bar_more

  - Beschreibung: Farbe des "+" beim Scrollen von Info-Bars

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `lightmagenta`

- weechat.color.chat

  - Beschreibung: Farbe des Chat-Textes

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `default`

- weechat.color.chat_bg

  - Beschreibung: Hintergrundfarbe des Chats

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `default`

- weechat.color.chat_buffer

  - Beschreibung: Textfarbe für den Namen des Buffers

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `white`

- weechat.color.chat_channel

  - Beschreibung: Farbe für den Kanalnamen

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `white`

- weechat.color.chat_day_change

  - Beschreibung: Textfarbe für die Nachricht die beim Datumswechsel angezeigt wird

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `cyan`

- weechat.color.chat_delimiters

  - Beschreibung: Farbe der Infobar-Trennzeichen

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `22`

- weechat.color.chat_highlight

  - Beschreibung: Textfarbe für Highlight-Präfix

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `yellow`

- weechat.color.chat_highlight_bg

  - Beschreibung: Hintergrundfarbe für Highlight-Präfix

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `124`

- weechat.color.chat_host

  - Beschreibung: Textfarbe für Host-Namen

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `cyan`

- weechat.color.chat_inactive_buffer

  - Beschreibung: Textfarbe für inaktive Zeilen im Chatfenster (Buffer wurde mit anderen Buffern zusammengefügt und der Buffer ist nicht aktiv)

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `default`

- weechat.color.chat_inactive_window

  - Beschreibung: Textfarbe für Chat wenn das Fenster inaktiv ist (betrifft nicht das aktuell ausgewählte Fenster)

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `240`

- weechat.color.chat_nick

  - Beschreibung: Textfarbe für Nicks im Chatfenster: Farbe wird für einige Server-Nachrichten verwendet und als Ersatz falls eine Farbe für einen Nick nicht gefunden wird; normalerweise wird die Farbe von der Option weechat.color.chat_nick_colors bereitgestellt

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `lightcyan`

- weechat.color.chat_nick_colors

  - Beschreibung: Textfarbe für Nicks (durch Kommata getrennte Liste von Farben. Eine Hintergrundfarbe kann durch das folgende Format genutzt werden: "fg:bg". Zum Beispiel: "lightred:blue")

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"cyan,magenta,green,brown,lightblue,lightcyan,lightmagenta,lightgreen,31,35,38,40,49,63,70,80,92,99,112,126,130,138,142,148,160,162,167,169,174,176,178,184,186,210,212,215,248"`

- weechat.color.chat_nick_offline

  - Beschreibung: Textfarbe für Nicks die nicht angemeldet sind (nicht in der Benutzerliste aufgeführt sind); diese Farbeinstellung wird aber nur verwendet wenn die Einstellung weechat.look.color_nick_offline aktiviert ist

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `242`

- weechat.color.chat_nick_offline_highlight

  - Beschreibung: Textfarbe bei Highlights für Nicks die nicht angemeldet sind; diese Farbeinstellung wird aber nur verwendet wenn die Einstellung weechat.look.color_nick_offline aktiviert ist

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `default`

- weechat.color.chat_nick_offline_highlight_bg

  - Beschreibung: Hintergrundfarbe bei Highlights für Nicks die nicht angemeldet sind, diese Farbeinstellung wird aber nur verwendet wenn die Einstellung weechat.look.color_nick_offline aktiviert ist

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `17`

- weechat.color.chat_nick_other

  - Beschreibung: Farbe des anderen Nicknamens in einem privaten Buffer

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `cyan`

- weechat.color.chat_nick_prefix

  - Beschreibung: Farbe für den Nick-Präfix (Zeichenkette die vor dem Nick steht)

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `green`

- weechat.color.chat_nick_self

  - Beschreibung: Textfarbe für den eigenen Nicknamen, im lokalen Chat-Fenster

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `white`

- weechat.color.chat_nick_suffix

  - Beschreibung: Farbe für den Nick-Suffix (Zeichenkette die nach dem Nick steht)

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `green`

- weechat.color.chat_prefix_action

  - Beschreibung: Textfarbe für Action-Präfix

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `white`

- weechat.color.chat_prefix_buffer

  - Beschreibung: Textfarbe des Buffer-Namens (vor dem Präfix, wenn mehrere Buffer mit der selben Nummer zusammengefügt worden sind)

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `180`

- weechat.color.chat_prefix_buffer_inactive_buffer

  - Beschreibung: Textfarbe für den inaktiven Namen des Buffer (vor dem Präfix, falls mehrere Buffer zu einem zusammengefügt worden sind und der Buffer nicht ausgewählt ist)

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `default`

- weechat.color.chat_prefix_error

  - Beschreibung: Textfarbe für Fehler-Präfix

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `yellow`

- weechat.color.chat_prefix_join

  - Beschreibung: Textfarbe für Join-Präfix

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `lightgreen`

- weechat.color.chat_prefix_more

  - Beschreibung: Farbe des "+" Zeichens, falls Präfix zu lang sein sollte

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `lightmagenta`

- weechat.color.chat_prefix_network

  - Beschreibung: Textfarbe für Netzwerk-Präfix

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `magenta`

- weechat.color.chat_prefix_quit

  - Beschreibung: Textfarbe für Quit-Präfix

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `lightred`

- weechat.color.chat_prefix_suffix

  - Beschreibung: Textfarbe für den Suffix (senkrechter Strich)

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `24`

- weechat.color.chat_read_marker

  - Beschreibung: Farbe in der das Lesezeichen dargestellt werden soll

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `magenta`

- weechat.color.chat_read_marker_bg

  - Beschreibung: Hintergrundfarbe für das Lesezeichen

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `default`

- weechat.color.chat_server

  - Beschreibung: Textfarbe für den Namen des Servers

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `brown`

- weechat.color.chat_status_disabled

  - Beschreibung: Textfarbe für den Status "deaktiviert"

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `red`

- weechat.color.chat_status_enabled

  - Beschreibung: Textfarbe für den Status "aktiviert"

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `green`

- weechat.color.chat_tags

  - Beschreibung: Textfarbe in der die Schlagwörter, die nach der jeweiligen Nachricht angezeigt werden, dargestellt werden sollen (wird durch den Befehl "/debug tags" angezeigt)

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `red`

- weechat.color.chat_text_found

  - Beschreibung: Farbe zur Hervorhebung des gesuchten Textes in einer Zeile

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `yellow`

- weechat.color.chat_text_found_bg

  - Beschreibung: Hintergrundfarbe zur Hervorhebung des gesuchten Textes in einer Zeile

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `lightmagenta`

- weechat.color.chat_time

  - Beschreibung: Textfarbe der Zeit im Chatfenster

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `default`

- weechat.color.chat_time_delimiters

  - Beschreibung: Farbe in der das Trennzeichen für die Uhrzeit dargestellt werden soll

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `brown`

- weechat.color.chat_value

  - Beschreibung: Farbe für Werte

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `cyan`

- weechat.color.chat_value_null

  - Beschreibung: Textfarbe für null-Werte (undefiniert)

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `blue`

- weechat.color.emphasized

  - Beschreibung: Textfarbe um Text hervorzuheben (zum Beispiel bei der Textsuche); wird ausschließlich dann genutzt, falls die Einstellung weechat.look.emphasized_attributes keinen Eintrag besitzt (Standardwert)

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `yellow`

- weechat.color.emphasized_bg

  - Beschreibung: Hintergrundfarbe um Textpassagen hervorzuheben (zum Beispiel bei der Textsuche); wird ausschließlich dann genutzt, falls die Einstellung weechat.look.emphasized_attributes keinen Eintrag besitzt (Standardwert)

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `54`

- weechat.color.eval_syntax_colors

  - Beschreibung: Textfarbe für Syntax zur Hervorhebung in ausgewerteten Zeichenfolgen, mittels "${raw_hl:...}" und "${hl:...}" (durch Kommata getrennte List von Farben, Hintergrundfarbe wird durch das Format "fg:bg" ermöglicht, Zum Beispiel: "lightred:blue")

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"green,lightred,lightblue,lightmagenta,yellow,cyan"`

- weechat.color.input_actions

  - Beschreibung: Textfarbe in der Eingabezeile bei Aktivität (z.B. beim Einfügen von Zeilen)

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `lightgreen`

- weechat.color.input_text_not_found

  - Beschreibung: Textfarbe in der Eingabezeile bei einer erfolglosen Textsuche

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `red`

- weechat.color.item_away

  - Beschreibung: Textfarbe für das Abwesenheitsitem

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `yellow`

- weechat.color.nicklist_away

  - Beschreibung: Textfarbe von abwesenden Nicknamen

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `240`

- weechat.color.nicklist_group

  - Beschreibung: Textfarbe für Gruppen in Benutzerliste

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `green`

- weechat.color.separator

  - Beschreibung: Farbe der Trennlinie von Fenstern (bei Fenster geteilt sind) und Bars (wie z.B. Nicklist)

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `236`

- weechat.color.status_count_highlight

  - Beschreibung: Farbe für die Anzahl der Highlight-Nachrichten die in der Hotlist dargestellt werden (Statusbar)

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `magenta`

- weechat.color.status_count_msg

  - Beschreibung: Farbe für die Anzahl der Nachrichten die in der Hotlist dargestellt werden (Statusbar)

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `brown`

- weechat.color.status_count_other

  - Beschreibung: Farbe für die Anzahl aller anderen Nachrichten die in der Hotlist dargestellt werden (Statusbar)

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `default`

- weechat.color.status_count_private

  - Beschreibung: Farbe für die Anzahl der privaten Nachrichten die in der Hotlist dargestellt werden (Statusbar)

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `green`

- weechat.color.status_data_highlight

  - Beschreibung: Farbe eines Buffers mit Highlight-Nachricht (Statusbar)

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `lightmagenta`

- weechat.color.status_data_msg

  - Beschreibung: Farbe eines Buffers der neue Nachrichten enthält (Statusbar)

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `yellow`

- weechat.color.status_data_other

  - Beschreibung: Farbe eines Buffers mit neuen Daten (keine Nachrichten) (Statusbar)

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `default`

- weechat.color.status_data_private

  - Beschreibung: Farbe eines Buffers mit privater Nachricht (Statusbar)

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `lightgreen`

- weechat.color.status_filter

  - Beschreibung: Farbe des Filterkennzeichens in der Statuszeile

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `green`

- weechat.color.status_modes

  - Beschreibung: Farbe für Buffer-Modi in der Statuszeile

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `default`

- weechat.color.status_more

  - Beschreibung: Farbe eines Buffers mit neuen Daten (Statusbar)

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `yellow`

- weechat.color.status_mouse

  - Beschreibung: Farbe des Zeichens welches den Status der Maus anzeigt

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `lightgreen`

- weechat.color.status_name

  - Beschreibung: Farbe des aktuellen Buffer-Namens in der Statuszeile

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `white`

- weechat.color.status_name_insecure

  - Beschreibung: Farbe in der der aktuelle Buffer-Name in der Statuszeile angezeigt werden soll, sofern eine Verbindung nicht durch ein Protokoll, zum Beispiel TLS, geschützt ist

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `lightmagenta`

- weechat.color.status_name_tls

  - Beschreibung: Farbe in der der aktuelle Buffer-Name in der Statuszeile angezeigt werden soll, sofern die Verbindung durch ein Protokoll, zum Beispiel, TLS geschützt ist

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `white`

- weechat.color.status_nicklist_count

  - Beschreibung: Textfarbe für die Anzahl der Nicks in der Benutzerliste (Statusbar)

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `default`

- weechat.color.status_number

  - Beschreibung: Farbe des aktuellen Kanals in der Statuszeile

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `yellow`

- weechat.color.status_time

  - Beschreibung: Textfarbe für die Uhrzeit (Statusbar)

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `default`

- weechat.completion.base_word_until_cursor

  - Beschreibung: ist diese Einstellung aktiviert wird ein zu vervollständigendes Wort in den fließenden Text, mit einem Leerzeichen, hinzugefügt. Ist diese Einstellung deaktiviert, muss in den fließenden Text ein Leerzeichen manuell einfügt werden, um eine Vervollständigung durchführen zu können (Beispiel: In einen schon geschriebenen Text, einen Nick einzufügen)

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `on`

- weechat.completion.case_sensitive

  - Beschreibung: Wenn diese Option aktiviert ist, wird bei der Vervollständigung, standardmäßig, die Groß-/Kleinschreibung beachtet

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `on`

- weechat.completion.command_inline

  - Beschreibung: ist diese Einstellung aktiviert werden Befehle innerhalb der Eingabezeile vervollständigt (ein Befehl zu Beginn der Eingabezeile besitzt die höhere Priorität und wird zuerst verwendet). Hinweis: die Vervollständigung von Verzeichnissen, die mit "/" beginnen, funktioniert außerhalb von Befehlen nicht mehr

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `on`

- weechat.completion.default_template

  - Beschreibung: Standardvorlage für die automatische Vervollständigung (in der API-Dokumentation findet man die vorgegebenen Codes und Werte, Funktion "weechat_hook_command")

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"%(nicks)|%(irc_channels)"`

- weechat.completion.nick_add_space

  - Beschreibung: fügt ein Leerzeichen hinter die Nick-Vervollständigung ein (sofern der Nickname nicht das erste Wort in einer Kommandozeile darstellt)

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `on`

- weechat.completion.nick_case_sensitive

  - Beschreibung: Groß-und Kleinschreibung wird bei Vervollständigung von Nicks berücksichtigt

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `off`

- weechat.completion.nick_completer

  - Beschreibung: fügt eine Zeichenkette hinter die Nick-Vervollständigung ein (sofern ein Nickname das erste Wort in der Kommandozeile ist)

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `": "`

- weechat.completion.nick_first_only

  - Beschreibung: es wird ausschließlich mit dem ersten, passendem Nick-Namen vervollständigt

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `off`

- weechat.completion.nick_ignore_chars

  - Beschreibung: Zeichen, die bei der Vervollständigung von Nicks ignoriert werden

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"[]`_-^"`

- weechat.completion.partial_completion_alert

  - Beschreibung: erzeugt eine Mitteilung (BEL) wenn eine teilweise Vervollständigung auftritt

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `on`

- weechat.completion.partial_completion_command

  - Beschreibung: teilweise Vervollständigung von Befehlen (bricht ab, falls zu viele Befehle mit dem selben Buchstaben beginnen)

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `off`

- weechat.completion.partial_completion_command_arg

  - Beschreibung: teilweise Vervollständigung von Befehls-Argumenten (bricht ab, falls zu viele Befehle mit dem selben Präfix beginnen)

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `off`

- weechat.completion.partial_completion_count

  - Beschreibung: zeigt bei einer teilweisen Vervollständigung die Anzahl der jeweiligen Möglichkeiten in der Bar-Item an

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `on`

- weechat.completion.partial_completion_other

  - Beschreibung: teilweise Vervollständigung von externen Befehlen (bricht ab, falls zu viele Befehle mit dem selben Buchstaben beginnen)

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `off`

- weechat.completion.partial_completion_templates

  - Beschreibung: durch Kommata getrennte Liste der Vorgaben für die eine teilweise Vervollständigung standardmäßig aktiv ist (mittels TAB Taste, anstelle von shift-TAB); eine Auflistung möglicher Vorgaben findet man in der Dokumentation: Anleitung für API Erweiterung, Funktion "weechat_hook_command"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"config_options"`

- weechat.history.display_default

  - Beschreibung: Wert für die maximale Anzahl der angezeigten Befehle im Verlaufsspeicher, die mittels /history angezeigt werden (0: unbegrenzt)

  - Typ: integer

  - Werte: 0 .. 2147483647

  - Standardwert: `5`

- weechat.history.max_buffer_lines_minutes

  - Beschreibung: Dauer in Minuten, wie lange die Zeilen im Verlaufsspeicher, pro Buffer, gehalten werden sollen (0 = unbegrenzt); Beispiele: 1440 = einen Tag, 10080 = eine Woche, 43200 = einen Monat, 525600 = ein Jahr; 0 sollte nur genutzt werden sofern weechat.history.max_buffer_lines_number nicht ebenfalls 0 ist

  - Typ: integer

  - Werte: 0 .. 2147483647

  - Standardwert: `0`

- weechat.history.max_buffer_lines_number

  - Beschreibung: maximale Anzahl an Zeilen im Verlaufsspeicher, dies gilt pro Buffer (0: keine Zeilenbegrenzung); 0 sollte nur genutzt werden sofern weechat.history.max_buffer_lines_minutes nicht ebenfalls 0 ist

  - Typ: integer

  - Werte: 0 .. 2147483647

  - Standardwert: `4096`

- weechat.history.max_commands

  - Beschreibung: maximale Anzahl an Befehlen im Verlaufsspeicher (0: kein Begrenzung, NICHT EMPFOHLEN: keine Begrenzung des Speicherverbrauches)

  - Typ: integer

  - Werte: 0 .. 2147483647

  - Standardwert: `100`

- weechat.history.max_visited_buffers

  - Beschreibung: maximale Anzahl an besuchten Buffern, welche im Speicher gehalten werden sollen

  - Typ: integer

  - Werte: 0 .. 1000

  - Standardwert: `50`

- weechat.key.backspace

  - Beschreibung: key "backspace" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/input delete_previous_char"`

- weechat.key.ctrl-_

  - Beschreibung: key "ctrl-_" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/input undo"`

- weechat.key.ctrl-a

  - Beschreibung: key "ctrl-a" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/input move_beginning_of_line"`

- weechat.key.ctrl-b

  - Beschreibung: key "ctrl-b" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/input move_previous_char"`

- weechat.key.ctrl-c,_

  - Beschreibung: key "ctrl-c,_" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/input insert \x1F"`

- weechat.key.ctrl-c,b

  - Beschreibung: key "ctrl-c,b" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/input insert \x02"`

- weechat.key.ctrl-c,c

  - Beschreibung: key "ctrl-c,c" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/input insert \x03"`

- weechat.key.ctrl-c,d

  - Beschreibung: key "ctrl-c,d" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/input insert \x04"`

- weechat.key.ctrl-c,i

  - Beschreibung: key "ctrl-c,i" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/input insert \x1D"`

- weechat.key.ctrl-c,o

  - Beschreibung: key "ctrl-c,o" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/input insert \x0F"`

- weechat.key.ctrl-c,v

  - Beschreibung: key "ctrl-c,v" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/input insert \x16"`

- weechat.key.ctrl-d

  - Beschreibung: key "ctrl-d" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/input delete_next_char"`

- weechat.key.ctrl-down

  - Beschreibung: key "ctrl-down" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/input history_global_next"`

- weechat.key.ctrl-e

  - Beschreibung: key "ctrl-e" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/input move_end_of_line"`

- weechat.key.ctrl-f

  - Beschreibung: key "ctrl-f" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/input move_next_char"`

- weechat.key.ctrl-f1

  - Beschreibung: key "ctrl-f1" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/bar scroll buflist * -100%"`

- weechat.key.ctrl-f11

  - Beschreibung: key "ctrl-f11" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/bar scroll nicklist * -100%"`

- weechat.key.ctrl-f12

  - Beschreibung: key "ctrl-f12" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/bar scroll nicklist * +100%"`

- weechat.key.ctrl-f2

  - Beschreibung: key "ctrl-f2" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/bar scroll buflist * +100%"`

- weechat.key.ctrl-k

  - Beschreibung: key "ctrl-k" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/input delete_end_of_line"`

- weechat.key.ctrl-l

  - Beschreibung: key "ctrl-l" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/window refresh"`

- weechat.key.ctrl-left

  - Beschreibung: key "ctrl-left" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/input move_previous_word"`

- weechat.key.ctrl-n

  - Beschreibung: key "ctrl-n" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/buffer +1"`

- weechat.key.ctrl-o

  - Beschreibung: key "ctrl-o" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/input history_use_get_next"`

- weechat.key.ctrl-p

  - Beschreibung: key "ctrl-p" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/buffer -1"`

- weechat.key.ctrl-r

  - Beschreibung: key "ctrl-r" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/input search_history"`

- weechat.key.ctrl-right

  - Beschreibung: key "ctrl-right" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/input move_next_word"`

- weechat.key.ctrl-s

  - Beschreibung: key "ctrl-s" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/input search_text_here"`

- weechat.key.ctrl-t

  - Beschreibung: key "ctrl-t" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/input transpose_chars"`

- weechat.key.ctrl-u

  - Beschreibung: key "ctrl-u" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/input delete_beginning_of_line"`

- weechat.key.ctrl-up

  - Beschreibung: key "ctrl-up" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/input history_global_previous"`

- weechat.key.ctrl-w

  - Beschreibung: key "ctrl-w" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/input delete_previous_word_whitespace"`

- weechat.key.ctrl-x

  - Beschreibung: key "ctrl-x" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/buffer switch"`

- weechat.key.ctrl-y

  - Beschreibung: key "ctrl-y" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/input clipboard_paste"`

- weechat.key.ctrl-z

  - Beschreibung: key "ctrl-z" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/sys suspend"`

- weechat.key.delete

  - Beschreibung: key "delete" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/input delete_next_char"`

- weechat.key.down

  - Beschreibung: key "down" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/input history_next"`

- weechat.key.end

  - Beschreibung: key "end" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/input move_end_of_line"`

- weechat.key.f1

  - Beschreibung: key "f1" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/bar scroll buflist * -100%"`

- weechat.key.f10

  - Beschreibung: key "f10" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/bar scroll title * +30%"`

- weechat.key.f11

  - Beschreibung: key "f11" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/bar scroll nicklist * -100%"`

- weechat.key.f12

  - Beschreibung: key "f12" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/bar scroll nicklist * +100%"`

- weechat.key.f2

  - Beschreibung: key "f2" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/bar scroll buflist * +100%"`

- weechat.key.f5

  - Beschreibung: key "f5" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/buffer -1"`

- weechat.key.f6

  - Beschreibung: key "f6" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/buffer +1"`

- weechat.key.f7

  - Beschreibung: key "f7" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/window -1"`

- weechat.key.f8

  - Beschreibung: key "f8" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/window +1"`

- weechat.key.f9

  - Beschreibung: key "f9" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/bar scroll title * -30%"`

- weechat.key.home

  - Beschreibung: key "home" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/input move_beginning_of_line"`

- weechat.key.left

  - Beschreibung: key "left" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/input move_previous_char"`

- weechat.key.meta--

  - Beschreibung: key "meta--" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/filter toggle @"`

- [[option_weechat.key.meta-/]] weechat.key.meta-/

  - Beschreibung: key "meta-/" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/buffer jump last_displayed"`

- weechat.key.meta-0

  - Beschreibung: key "meta-0" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/buffer *10"`

- weechat.key.meta-1

  - Beschreibung: key "meta-1" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/buffer *1"`

- weechat.key.meta-2

  - Beschreibung: key "meta-2" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/buffer *2"`

- weechat.key.meta-3

  - Beschreibung: key "meta-3" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/buffer *3"`

- weechat.key.meta-4

  - Beschreibung: key "meta-4" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/buffer *4"`

- weechat.key.meta-5

  - Beschreibung: key "meta-5" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/buffer *5"`

- weechat.key.meta-6

  - Beschreibung: key "meta-6" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/buffer *6"`

- weechat.key.meta-7

  - Beschreibung: key "meta-7" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/buffer *7"`

- weechat.key.meta-8

  - Beschreibung: key "meta-8" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/buffer *8"`

- weechat.key.meta-9

  - Beschreibung: key "meta-9" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/buffer *9"`

- [[option_weechat.key.meta-<]] weechat.key.meta-<

  - Beschreibung: key "meta-<" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/buffer jump prev_visited"`

- [[option_weechat.key.meta-=]] weechat.key.meta-=

  - Beschreibung: key "meta-=" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/filter toggle"`

- [[option_weechat.key.meta→]] weechat.key.meta->

  - Beschreibung: key "meta->" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/buffer jump next_visited"`

- weechat.key.meta-B

  - Beschreibung: key "meta-B" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/buflist toggle"`

- weechat.key.meta-N

  - Beschreibung: key "meta-N" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/bar toggle nicklist"`

- weechat.key.meta-R

  - Beschreibung: key "meta-R" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/input delete_input"`

- weechat.key.meta-U

  - Beschreibung: key "meta-U" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/allbuf /buffer set unread"`

- weechat.key.meta-_

  - Beschreibung: key "meta-_" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/input redo"`

- weechat.key.meta-a

  - Beschreibung: key "meta-a" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/buffer jump smart"`

- weechat.key.meta-b

  - Beschreibung: key "meta-b" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/input move_previous_word"`

- weechat.key.meta-backspace

  - Beschreibung: key "meta-backspace" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/input delete_previous_word"`

- weechat.key.meta-ctrl-k

  - Beschreibung: key "meta-ctrl-k" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/input delete_end_of_input"`

- weechat.key.meta-ctrl-u

  - Beschreibung: key "meta-ctrl-u" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/input delete_beginning_of_input"`

- weechat.key.meta-d

  - Beschreibung: key "meta-d" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/input delete_next_word"`

- weechat.key.meta-down

  - Beschreibung: key "meta-down" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/buffer +1"`

- weechat.key.meta-end

  - Beschreibung: key "meta-end" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/window scroll_bottom"`

- weechat.key.meta-f

  - Beschreibung: key "meta-f" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/input move_next_word"`

- weechat.key.meta-f1

  - Beschreibung: key "meta-f1" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/bar scroll buflist * b"`

- weechat.key.meta-f11

  - Beschreibung: key "meta-f11" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/bar scroll nicklist * b"`

- weechat.key.meta-f12

  - Beschreibung: key "meta-f12" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/bar scroll nicklist * e"`

- weechat.key.meta-f2

  - Beschreibung: key "meta-f2" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/bar scroll buflist * e"`

- weechat.key.meta-h,meta-R

  - Beschreibung: key "meta-h,meta-R" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/hotlist restore -all"`

- weechat.key.meta-h,meta-c

  - Beschreibung: key "meta-h,meta-c" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/hotlist clear"`

- weechat.key.meta-h,meta-m

  - Beschreibung: key "meta-h,meta-m" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/hotlist remove"`

- weechat.key.meta-h,meta-r

  - Beschreibung: key "meta-h,meta-r" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/hotlist restore"`

- weechat.key.meta-home

  - Beschreibung: key "meta-home" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/window scroll_top"`

- weechat.key.meta-j,0,1

  - Beschreibung: key "meta-j,0,1" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/buffer *1"`

- weechat.key.meta-j,0,2

  - Beschreibung: key "meta-j,0,2" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/buffer *2"`

- weechat.key.meta-j,0,3

  - Beschreibung: key "meta-j,0,3" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/buffer *3"`

- weechat.key.meta-j,0,4

  - Beschreibung: key "meta-j,0,4" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/buffer *4"`

- weechat.key.meta-j,0,5

  - Beschreibung: key "meta-j,0,5" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/buffer *5"`

- weechat.key.meta-j,0,6

  - Beschreibung: key "meta-j,0,6" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/buffer *6"`

- weechat.key.meta-j,0,7

  - Beschreibung: key "meta-j,0,7" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/buffer *7"`

- weechat.key.meta-j,0,8

  - Beschreibung: key "meta-j,0,8" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/buffer *8"`

- weechat.key.meta-j,0,9

  - Beschreibung: key "meta-j,0,9" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/buffer *9"`

- weechat.key.meta-j,1,0

  - Beschreibung: key "meta-j,1,0" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/buffer *10"`

- weechat.key.meta-j,1,1

  - Beschreibung: key "meta-j,1,1" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/buffer *11"`

- weechat.key.meta-j,1,2

  - Beschreibung: key "meta-j,1,2" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/buffer *12"`

- weechat.key.meta-j,1,3

  - Beschreibung: key "meta-j,1,3" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/buffer *13"`

- weechat.key.meta-j,1,4

  - Beschreibung: key "meta-j,1,4" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/buffer *14"`

- weechat.key.meta-j,1,5

  - Beschreibung: key "meta-j,1,5" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/buffer *15"`

- weechat.key.meta-j,1,6

  - Beschreibung: key "meta-j,1,6" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/buffer *16"`

- weechat.key.meta-j,1,7

  - Beschreibung: key "meta-j,1,7" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/buffer *17"`

- weechat.key.meta-j,1,8

  - Beschreibung: key "meta-j,1,8" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/buffer *18"`

- weechat.key.meta-j,1,9

  - Beschreibung: key "meta-j,1,9" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/buffer *19"`

- weechat.key.meta-j,2,0

  - Beschreibung: key "meta-j,2,0" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/buffer *20"`

- weechat.key.meta-j,2,1

  - Beschreibung: key "meta-j,2,1" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/buffer *21"`

- weechat.key.meta-j,2,2

  - Beschreibung: key "meta-j,2,2" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/buffer *22"`

- weechat.key.meta-j,2,3

  - Beschreibung: key "meta-j,2,3" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/buffer *23"`

- weechat.key.meta-j,2,4

  - Beschreibung: key "meta-j,2,4" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/buffer *24"`

- weechat.key.meta-j,2,5

  - Beschreibung: key "meta-j,2,5" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/buffer *25"`

- weechat.key.meta-j,2,6

  - Beschreibung: key "meta-j,2,6" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/buffer *26"`

- weechat.key.meta-j,2,7

  - Beschreibung: key "meta-j,2,7" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/buffer *27"`

- weechat.key.meta-j,2,8

  - Beschreibung: key "meta-j,2,8" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/buffer *28"`

- weechat.key.meta-j,2,9

  - Beschreibung: key "meta-j,2,9" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/buffer *29"`

- weechat.key.meta-j,3,0

  - Beschreibung: key "meta-j,3,0" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/buffer *30"`

- weechat.key.meta-j,3,1

  - Beschreibung: key "meta-j,3,1" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/buffer *31"`

- weechat.key.meta-j,3,2

  - Beschreibung: key "meta-j,3,2" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/buffer *32"`

- weechat.key.meta-j,3,3

  - Beschreibung: key "meta-j,3,3" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/buffer *33"`

- weechat.key.meta-j,3,4

  - Beschreibung: key "meta-j,3,4" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/buffer *34"`

- weechat.key.meta-j,3,5

  - Beschreibung: key "meta-j,3,5" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/buffer *35"`

- weechat.key.meta-j,3,6

  - Beschreibung: key "meta-j,3,6" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/buffer *36"`

- weechat.key.meta-j,3,7

  - Beschreibung: key "meta-j,3,7" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/buffer *37"`

- weechat.key.meta-j,3,8

  - Beschreibung: key "meta-j,3,8" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/buffer *38"`

- weechat.key.meta-j,3,9

  - Beschreibung: key "meta-j,3,9" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/buffer *39"`

- weechat.key.meta-j,4,0

  - Beschreibung: key "meta-j,4,0" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/buffer *40"`

- weechat.key.meta-j,4,1

  - Beschreibung: key "meta-j,4,1" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/buffer *41"`

- weechat.key.meta-j,4,2

  - Beschreibung: key "meta-j,4,2" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/buffer *42"`

- weechat.key.meta-j,4,3

  - Beschreibung: key "meta-j,4,3" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/buffer *43"`

- weechat.key.meta-j,4,4

  - Beschreibung: key "meta-j,4,4" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/buffer *44"`

- weechat.key.meta-j,4,5

  - Beschreibung: key "meta-j,4,5" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/buffer *45"`

- weechat.key.meta-j,4,6

  - Beschreibung: key "meta-j,4,6" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/buffer *46"`

- weechat.key.meta-j,4,7

  - Beschreibung: key "meta-j,4,7" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/buffer *47"`

- weechat.key.meta-j,4,8

  - Beschreibung: key "meta-j,4,8" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/buffer *48"`

- weechat.key.meta-j,4,9

  - Beschreibung: key "meta-j,4,9" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/buffer *49"`

- weechat.key.meta-j,5,0

  - Beschreibung: key "meta-j,5,0" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/buffer *50"`

- weechat.key.meta-j,5,1

  - Beschreibung: key "meta-j,5,1" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/buffer *51"`

- weechat.key.meta-j,5,2

  - Beschreibung: key "meta-j,5,2" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/buffer *52"`

- weechat.key.meta-j,5,3

  - Beschreibung: key "meta-j,5,3" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/buffer *53"`

- weechat.key.meta-j,5,4

  - Beschreibung: key "meta-j,5,4" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/buffer *54"`

- weechat.key.meta-j,5,5

  - Beschreibung: key "meta-j,5,5" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/buffer *55"`

- weechat.key.meta-j,5,6

  - Beschreibung: key "meta-j,5,6" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/buffer *56"`

- weechat.key.meta-j,5,7

  - Beschreibung: key "meta-j,5,7" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/buffer *57"`

- weechat.key.meta-j,5,8

  - Beschreibung: key "meta-j,5,8" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/buffer *58"`

- weechat.key.meta-j,5,9

  - Beschreibung: key "meta-j,5,9" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/buffer *59"`

- weechat.key.meta-j,6,0

  - Beschreibung: key "meta-j,6,0" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/buffer *60"`

- weechat.key.meta-j,6,1

  - Beschreibung: key "meta-j,6,1" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/buffer *61"`

- weechat.key.meta-j,6,2

  - Beschreibung: key "meta-j,6,2" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/buffer *62"`

- weechat.key.meta-j,6,3

  - Beschreibung: key "meta-j,6,3" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/buffer *63"`

- weechat.key.meta-j,6,4

  - Beschreibung: key "meta-j,6,4" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/buffer *64"`

- weechat.key.meta-j,6,5

  - Beschreibung: key "meta-j,6,5" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/buffer *65"`

- weechat.key.meta-j,6,6

  - Beschreibung: key "meta-j,6,6" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/buffer *66"`

- weechat.key.meta-j,6,7

  - Beschreibung: key "meta-j,6,7" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/buffer *67"`

- weechat.key.meta-j,6,8

  - Beschreibung: key "meta-j,6,8" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/buffer *68"`

- weechat.key.meta-j,6,9

  - Beschreibung: key "meta-j,6,9" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/buffer *69"`

- weechat.key.meta-j,7,0

  - Beschreibung: key "meta-j,7,0" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/buffer *70"`

- weechat.key.meta-j,7,1

  - Beschreibung: key "meta-j,7,1" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/buffer *71"`

- weechat.key.meta-j,7,2

  - Beschreibung: key "meta-j,7,2" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/buffer *72"`

- weechat.key.meta-j,7,3

  - Beschreibung: key "meta-j,7,3" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/buffer *73"`

- weechat.key.meta-j,7,4

  - Beschreibung: key "meta-j,7,4" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/buffer *74"`

- weechat.key.meta-j,7,5

  - Beschreibung: key "meta-j,7,5" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/buffer *75"`

- weechat.key.meta-j,7,6

  - Beschreibung: key "meta-j,7,6" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/buffer *76"`

- weechat.key.meta-j,7,7

  - Beschreibung: key "meta-j,7,7" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/buffer *77"`

- weechat.key.meta-j,7,8

  - Beschreibung: key "meta-j,7,8" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/buffer *78"`

- weechat.key.meta-j,7,9

  - Beschreibung: key "meta-j,7,9" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/buffer *79"`

- weechat.key.meta-j,8,0

  - Beschreibung: key "meta-j,8,0" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/buffer *80"`

- weechat.key.meta-j,8,1

  - Beschreibung: key "meta-j,8,1" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/buffer *81"`

- weechat.key.meta-j,8,2

  - Beschreibung: key "meta-j,8,2" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/buffer *82"`

- weechat.key.meta-j,8,3

  - Beschreibung: key "meta-j,8,3" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/buffer *83"`

- weechat.key.meta-j,8,4

  - Beschreibung: key "meta-j,8,4" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/buffer *84"`

- weechat.key.meta-j,8,5

  - Beschreibung: key "meta-j,8,5" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/buffer *85"`

- weechat.key.meta-j,8,6

  - Beschreibung: key "meta-j,8,6" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/buffer *86"`

- weechat.key.meta-j,8,7

  - Beschreibung: key "meta-j,8,7" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/buffer *87"`

- weechat.key.meta-j,8,8

  - Beschreibung: key "meta-j,8,8" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/buffer *88"`

- weechat.key.meta-j,8,9

  - Beschreibung: key "meta-j,8,9" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/buffer *89"`

- weechat.key.meta-j,9,0

  - Beschreibung: key "meta-j,9,0" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/buffer *90"`

- weechat.key.meta-j,9,1

  - Beschreibung: key "meta-j,9,1" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/buffer *91"`

- weechat.key.meta-j,9,2

  - Beschreibung: key "meta-j,9,2" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/buffer *92"`

- weechat.key.meta-j,9,3

  - Beschreibung: key "meta-j,9,3" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/buffer *93"`

- weechat.key.meta-j,9,4

  - Beschreibung: key "meta-j,9,4" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/buffer *94"`

- weechat.key.meta-j,9,5

  - Beschreibung: key "meta-j,9,5" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/buffer *95"`

- weechat.key.meta-j,9,6

  - Beschreibung: key "meta-j,9,6" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/buffer *96"`

- weechat.key.meta-j,9,7

  - Beschreibung: key "meta-j,9,7" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/buffer *97"`

- weechat.key.meta-j,9,8

  - Beschreibung: key "meta-j,9,8" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/buffer *98"`

- weechat.key.meta-j,9,9

  - Beschreibung: key "meta-j,9,9" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/buffer *99"`

- weechat.key.meta-j,meta-f

  - Beschreibung: key "meta-j,meta-f" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/buffer -"`

- weechat.key.meta-j,meta-l

  - Beschreibung: key "meta-j,meta-l" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/buffer +"`

- weechat.key.meta-j,meta-r

  - Beschreibung: key "meta-j,meta-r" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/server raw"`

- weechat.key.meta-j,meta-s

  - Beschreibung: key "meta-j,meta-s" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/server jump"`

- weechat.key.meta-k

  - Beschreibung: key "meta-k" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/input grab_key_command"`

- weechat.key.meta-l

  - Beschreibung: key "meta-l" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/window bare"`

- weechat.key.meta-left

  - Beschreibung: key "meta-left" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/buffer -1"`

- weechat.key.meta-m

  - Beschreibung: key "meta-m" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/mute mouse toggle"`

- weechat.key.meta-n

  - Beschreibung: key "meta-n" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/window scroll_next_highlight"`

- weechat.key.meta-p

  - Beschreibung: key "meta-p" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/window scroll_previous_highlight"`

- weechat.key.meta-pgdn

  - Beschreibung: key "meta-pgdn" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/window scroll_down"`

- weechat.key.meta-pgup

  - Beschreibung: key "meta-pgup" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/window scroll_up"`

- weechat.key.meta-r

  - Beschreibung: key "meta-r" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/input delete_line"`

- weechat.key.meta-return

  - Beschreibung: key "meta-return" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/input insert \n"`

- weechat.key.meta-right

  - Beschreibung: key "meta-right" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/buffer +1"`

- weechat.key.meta-s

  - Beschreibung: key "meta-s" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/mute spell toggle"`

- weechat.key.meta-u

  - Beschreibung: key "meta-u" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/window scroll_unread"`

- weechat.key.meta-up

  - Beschreibung: key "meta-up" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/buffer -1"`

- weechat.key.meta-w,meta-b

  - Beschreibung: key "meta-w,meta-b" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/window balance"`

- weechat.key.meta-w,meta-down

  - Beschreibung: key "meta-w,meta-down" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/window down"`

- weechat.key.meta-w,meta-left

  - Beschreibung: key "meta-w,meta-left" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/window left"`

- weechat.key.meta-w,meta-right

  - Beschreibung: key "meta-w,meta-right" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/window right"`

- weechat.key.meta-w,meta-s

  - Beschreibung: key "meta-w,meta-s" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/window swap"`

- weechat.key.meta-w,meta-up

  - Beschreibung: key "meta-w,meta-up" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/window up"`

- weechat.key.meta-x

  - Beschreibung: key "meta-x" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/buffer zoom"`

- weechat.key.meta-z

  - Beschreibung: key "meta-z" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/window zoom"`

- weechat.key.pgdn

  - Beschreibung: key "pgdn" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/window page_down"`

- weechat.key.pgup

  - Beschreibung: key "pgup" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/window page_up"`

- weechat.key.return

  - Beschreibung: key "return" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/input return"`

- weechat.key.right

  - Beschreibung: key "right" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/input move_next_char"`

- weechat.key.shift-down

  - Beschreibung: key "shift-down" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/input move_next_line"`

- weechat.key.shift-end

  - Beschreibung: key "shift-end" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/input move_end_of_input"`

- weechat.key.shift-home

  - Beschreibung: key "shift-home" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/input move_beginning_of_input"`

- weechat.key.shift-left

  - Beschreibung: key "shift-left" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/input move_previous_char"`

- weechat.key.shift-right

  - Beschreibung: key "shift-right" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/input move_next_char"`

- weechat.key.shift-tab

  - Beschreibung: key "shift-tab" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/input complete_previous"`

- weechat.key.shift-up

  - Beschreibung: key "shift-up" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/input move_previous_line"`

- weechat.key.tab

  - Beschreibung: key "tab" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/input complete_next"`

- weechat.key.up

  - Beschreibung: key "up" in context "default"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/input history_previous"`

- weechat.key_cursor.@chat:Q

  - Beschreibung: key "@chat:Q" in context "cursor"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"hsignal:chat_quote_time_prefix_message;/cursor stop"`

- weechat.key_cursor.@chat:l

  - Beschreibung: key "@chat:l" in context "cursor"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"hsignal:chat_quote_focused_line;/cursor stop"`

- weechat.key_cursor.@chat:m

  - Beschreibung: key "@chat:m" in context "cursor"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"hsignal:chat_quote_message;/cursor stop"`

- weechat.key_cursor.@chat:q

  - Beschreibung: key "@chat:q" in context "cursor"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"hsignal:chat_quote_prefix_message;/cursor stop"`

- weechat.key_cursor.@item(buffer_nicklist):K

  - Beschreibung: key "@item(buffer_nicklist):K" in context "cursor"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/window ${_window_number};/kickban ${nick}"`

- weechat.key_cursor.@item(buffer_nicklist):b

  - Beschreibung: key "@item(buffer_nicklist):b" in context "cursor"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/window ${_window_number};/ban ${nick}"`

- weechat.key_cursor.@item(buffer_nicklist):k

  - Beschreibung: key "@item(buffer_nicklist):k" in context "cursor"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/window ${_window_number};/kick ${nick}"`

- weechat.key_cursor.@item(buffer_nicklist):q

  - Beschreibung: key "@item(buffer_nicklist):q" in context "cursor"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/window ${_window_number};/query ${nick};/cursor stop"`

- weechat.key_cursor.@item(buffer_nicklist):w

  - Beschreibung: key "@item(buffer_nicklist):w" in context "cursor"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/window ${_window_number};/whois ${nick}"`

- weechat.key_cursor.down

  - Beschreibung: key "down" in context "cursor"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/cursor move down"`

- weechat.key_cursor.left

  - Beschreibung: key "left" in context "cursor"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/cursor move left"`

- weechat.key_cursor.meta-down

  - Beschreibung: key "meta-down" in context "cursor"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/cursor move edge_bottom"`

- weechat.key_cursor.meta-end

  - Beschreibung: key "meta-end" in context "cursor"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/cursor move bottom_right"`

- weechat.key_cursor.meta-home

  - Beschreibung: key "meta-home" in context "cursor"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/cursor move top_left"`

- weechat.key_cursor.meta-left

  - Beschreibung: key "meta-left" in context "cursor"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/cursor move edge_left"`

- weechat.key_cursor.meta-right

  - Beschreibung: key "meta-right" in context "cursor"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/cursor move edge_right"`

- weechat.key_cursor.meta-shift-down

  - Beschreibung: key "meta-shift-down" in context "cursor"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/cursor move area_down"`

- weechat.key_cursor.meta-shift-left

  - Beschreibung: key "meta-shift-left" in context "cursor"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/cursor move area_left"`

- weechat.key_cursor.meta-shift-right

  - Beschreibung: key "meta-shift-right" in context "cursor"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/cursor move area_right"`

- weechat.key_cursor.meta-shift-up

  - Beschreibung: key "meta-shift-up" in context "cursor"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/cursor move area_up"`

- weechat.key_cursor.meta-up

  - Beschreibung: key "meta-up" in context "cursor"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/cursor move edge_top"`

- weechat.key_cursor.return

  - Beschreibung: key "return" in context "cursor"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/cursor stop"`

- weechat.key_cursor.right

  - Beschreibung: key "right" in context "cursor"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/cursor move right"`

- weechat.key_cursor.up

  - Beschreibung: key "up" in context "cursor"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/cursor move up"`

- weechat.key_histsearch.ctrl-o

  - Beschreibung: key "ctrl-o" in context "histsearch"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/input history_use_get_next"`

- weechat.key_histsearch.ctrl-q

  - Beschreibung: key "ctrl-q" in context "histsearch"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/input search_stop"`

- weechat.key_histsearch.ctrl-r

  - Beschreibung: key "ctrl-r" in context "histsearch"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/input search_previous"`

- weechat.key_histsearch.ctrl-s

  - Beschreibung: key "ctrl-s" in context "histsearch"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/input search_next"`

- weechat.key_histsearch.ctrl-x

  - Beschreibung: key "ctrl-x" in context "histsearch"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/input search_switch_regex"`

- weechat.key_histsearch.down

  - Beschreibung: key "down" in context "histsearch"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/input search_next"`

- weechat.key_histsearch.meta-c

  - Beschreibung: key "meta-c" in context "histsearch"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/input search_switch_case"`

- weechat.key_histsearch.return

  - Beschreibung: key "return" in context "histsearch"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/input search_stop_here"`

- weechat.key_histsearch.tab

  - Beschreibung: key "tab" in context "histsearch"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/input search_switch_where"`

- weechat.key_histsearch.up

  - Beschreibung: key "up" in context "histsearch"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/input search_previous"`

- weechat.key_mouse.@*:button3

  - Beschreibung: key "@*:button3" in context "mouse"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/cursor go ${_x},${_y}"`

- weechat.key_mouse.@bar(buflist):ctrl-wheeldown

  - Beschreibung: key "@bar(buflist):ctrl-wheeldown" in context "mouse"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"hsignal:buflist_mouse"`

- weechat.key_mouse.@bar(buflist):ctrl-wheelup

  - Beschreibung: key "@bar(buflist):ctrl-wheelup" in context "mouse"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"hsignal:buflist_mouse"`

- weechat.key_mouse.@bar(input):button2

  - Beschreibung: key "@bar(input):button2" in context "mouse"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/input grab_mouse_area"`

- weechat.key_mouse.@bar(nicklist):button1-gesture-down

  - Beschreibung: key "@bar(nicklist):button1-gesture-down" in context "mouse"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/bar scroll nicklist ${_window_number} +100%"`

- weechat.key_mouse.@bar(nicklist):button1-gesture-down-long

  - Beschreibung: key "@bar(nicklist):button1-gesture-down-long" in context "mouse"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/bar scroll nicklist ${_window_number} e"`

- weechat.key_mouse.@bar(nicklist):button1-gesture-up

  - Beschreibung: key "@bar(nicklist):button1-gesture-up" in context "mouse"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/bar scroll nicklist ${_window_number} -100%"`

- weechat.key_mouse.@bar(nicklist):button1-gesture-up-long

  - Beschreibung: key "@bar(nicklist):button1-gesture-up-long" in context "mouse"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/bar scroll nicklist ${_window_number} b"`

- weechat.key_mouse.@bar:wheeldown

  - Beschreibung: key "@bar:wheeldown" in context "mouse"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/bar scroll ${_bar_name} ${_window_number} +20%"`

- weechat.key_mouse.@bar:wheelup

  - Beschreibung: key "@bar:wheelup" in context "mouse"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/bar scroll ${_bar_name} ${_window_number} -20%"`

- weechat.key_mouse.@chat(fset.fset):button1

  - Beschreibung: key "@chat(fset.fset):button1" in context "mouse"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/window ${_window_number};/fset -go ${fset_option_index}"`

- weechat.key_mouse.@chat(fset.fset):button2*

  - Beschreibung: key "@chat(fset.fset):button2*" in context "mouse"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"hsignal:fset_mouse"`

- weechat.key_mouse.@chat(fset.fset):wheeldown

  - Beschreibung: key "@chat(fset.fset):wheeldown" in context "mouse"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/fset -down 5"`

- weechat.key_mouse.@chat(fset.fset):wheelup

  - Beschreibung: key "@chat(fset.fset):wheelup" in context "mouse"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/fset -up 5"`

- weechat.key_mouse.@chat(irc.list_*):button1

  - Beschreibung: key "@chat(irc.list_*):button1" in context "mouse"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/window ${_window_number};/list -go ${_chat_line_y}"`

- weechat.key_mouse.@chat(irc.list_*):button2*

  - Beschreibung: key "@chat(irc.list_*):button2*" in context "mouse"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"hsignal:irc_list_mouse"`

- weechat.key_mouse.@chat(irc.list_*):wheeldown

  - Beschreibung: key "@chat(irc.list_*):wheeldown" in context "mouse"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/list -down 5"`

- weechat.key_mouse.@chat(irc.list_*):wheelup

  - Beschreibung: key "@chat(irc.list_*):wheelup" in context "mouse"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/list -up 5"`

- weechat.key_mouse.@chat(script.scripts):button1

  - Beschreibung: key "@chat(script.scripts):button1" in context "mouse"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/window ${_window_number};/script -go ${_chat_line_y}"`

- weechat.key_mouse.@chat(script.scripts):button2

  - Beschreibung: key "@chat(script.scripts):button2" in context "mouse"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/window ${_window_number};/script -go ${_chat_line_y};/script installremove -q ${script_name_with_extension}"`

- weechat.key_mouse.@chat(script.scripts):wheeldown

  - Beschreibung: key "@chat(script.scripts):wheeldown" in context "mouse"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/script -down 5"`

- weechat.key_mouse.@chat(script.scripts):wheelup

  - Beschreibung: key "@chat(script.scripts):wheelup" in context "mouse"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/script -up 5"`

- weechat.key_mouse.@chat:button1

  - Beschreibung: key "@chat:button1" in context "mouse"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/window ${_window_number}"`

- weechat.key_mouse.@chat:button1-gesture-left

  - Beschreibung: key "@chat:button1-gesture-left" in context "mouse"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/window ${_window_number};/buffer -1"`

- weechat.key_mouse.@chat:button1-gesture-left-long

  - Beschreibung: key "@chat:button1-gesture-left-long" in context "mouse"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/window ${_window_number};/buffer 1"`

- weechat.key_mouse.@chat:button1-gesture-right

  - Beschreibung: key "@chat:button1-gesture-right" in context "mouse"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/window ${_window_number};/buffer +1"`

- weechat.key_mouse.@chat:button1-gesture-right-long

  - Beschreibung: key "@chat:button1-gesture-right-long" in context "mouse"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/window ${_window_number};/buffer +"`

- weechat.key_mouse.@chat:ctrl-wheeldown

  - Beschreibung: key "@chat:ctrl-wheeldown" in context "mouse"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/window scroll_horiz -window ${_window_number} +10%"`

- weechat.key_mouse.@chat:ctrl-wheelup

  - Beschreibung: key "@chat:ctrl-wheelup" in context "mouse"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/window scroll_horiz -window ${_window_number} -10%"`

- weechat.key_mouse.@chat:wheeldown

  - Beschreibung: key "@chat:wheeldown" in context "mouse"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/window scroll_down -window ${_window_number}"`

- weechat.key_mouse.@chat:wheelup

  - Beschreibung: key "@chat:wheelup" in context "mouse"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/window scroll_up -window ${_window_number}"`

- weechat.key_mouse.@item(buffer_nicklist):button1

  - Beschreibung: key "@item(buffer_nicklist):button1" in context "mouse"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/window ${_window_number};/query ${nick}"`

- weechat.key_mouse.@item(buffer_nicklist):button1-gesture-left

  - Beschreibung: key "@item(buffer_nicklist):button1-gesture-left" in context "mouse"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/window ${_window_number};/kick ${nick}"`

- weechat.key_mouse.@item(buffer_nicklist):button1-gesture-left-long

  - Beschreibung: key "@item(buffer_nicklist):button1-gesture-left-long" in context "mouse"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/window ${_window_number};/kickban ${nick}"`

- weechat.key_mouse.@item(buffer_nicklist):button2

  - Beschreibung: key "@item(buffer_nicklist):button2" in context "mouse"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/window ${_window_number};/whois ${nick}"`

- weechat.key_mouse.@item(buffer_nicklist):button2-gesture-left

  - Beschreibung: key "@item(buffer_nicklist):button2-gesture-left" in context "mouse"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/window ${_window_number};/ban ${nick}"`

- weechat.key_mouse.@item(buflist):button1*

  - Beschreibung: key "@item(buflist):button1*" in context "mouse"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"hsignal:buflist_mouse"`

- weechat.key_mouse.@item(buflist):button2*

  - Beschreibung: key "@item(buflist):button2*" in context "mouse"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"hsignal:buflist_mouse"`

- weechat.key_mouse.@item(buflist2):button1*

  - Beschreibung: key "@item(buflist2):button1*" in context "mouse"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"hsignal:buflist_mouse"`

- weechat.key_mouse.@item(buflist2):button2*

  - Beschreibung: key "@item(buflist2):button2*" in context "mouse"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"hsignal:buflist_mouse"`

- weechat.key_mouse.@item(buflist3):button1*

  - Beschreibung: key "@item(buflist3):button1*" in context "mouse"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"hsignal:buflist_mouse"`

- weechat.key_mouse.@item(buflist3):button2*

  - Beschreibung: key "@item(buflist3):button2*" in context "mouse"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"hsignal:buflist_mouse"`

- weechat.key_mouse.@item(buflist4):button1*

  - Beschreibung: key "@item(buflist4):button1*" in context "mouse"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"hsignal:buflist_mouse"`

- weechat.key_mouse.@item(buflist4):button2*

  - Beschreibung: key "@item(buflist4):button2*" in context "mouse"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"hsignal:buflist_mouse"`

- weechat.key_mouse.@item(buflist5):button1*

  - Beschreibung: key "@item(buflist5):button1*" in context "mouse"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"hsignal:buflist_mouse"`

- weechat.key_mouse.@item(buflist5):button2*

  - Beschreibung: key "@item(buflist5):button2*" in context "mouse"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"hsignal:buflist_mouse"`

- weechat.key_search.ctrl-q

  - Beschreibung: key "ctrl-q" in context "search"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/input search_stop"`

- weechat.key_search.ctrl-r

  - Beschreibung: key "ctrl-r" in context "search"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/input search_previous"`

- weechat.key_search.ctrl-s

  - Beschreibung: key "ctrl-s" in context "search"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/input search_next"`

- weechat.key_search.ctrl-x

  - Beschreibung: key "ctrl-x" in context "search"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/input search_switch_regex"`

- weechat.key_search.down

  - Beschreibung: key "down" in context "search"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/input search_next"`

- weechat.key_search.meta-c

  - Beschreibung: key "meta-c" in context "search"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/input search_switch_case"`

- weechat.key_search.return

  - Beschreibung: key "return" in context "search"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/input search_stop_here"`

- weechat.key_search.tab

  - Beschreibung: key "tab" in context "search"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/input search_switch_where"`

- weechat.key_search.up

  - Beschreibung: key "up" in context "search"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/input search_previous"`

- weechat.look.align_end_of_lines

  - Beschreibung: Einstellung für einen Zeilenumbruch (betrifft alle Zeilen, außer der ersten Zeile). Die Darstellung der nachfolgenden Zeile beginnt unter: Uhrzeit = time, Buffer = buffer, Präfix = prefix, Suffix = suffix, Nachricht = message (Standardwert)

  - Typ: Aufzählung

  - Werte: time, buffer, prefix, suffix, message

  - Standardwert: `message`

- weechat.look.align_multiline_words

  - Beschreibung: Einstellung für Zeilenumbruch gemäß weechat.look.align_end_of_lines; falls deaktiviert wird ein Wort welches durch einen Zeilenumbruch in die nächste Zeile gezwungen wird nicht in die neue Zeile eingeschoben, sondern beginnt direkt am Zeilenanfang. Dies kann sinnvoll sein um lange URLs weiterhin anklicken zu können und kein Leerzeichen innerhalb der URL zu erhalten

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `on`

- weechat.look.bar_more_down

  - Beschreibung: Zeichen welches anzeigt, dass die Bar nach unten gescrollt werden kann (dies trifft nur auf Bars zu bei denen die Einstellung "/set *.filling_*" nicht auf "horizontal" eingestellt ist)

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"+"+`

- weechat.look.bar_more_left

  - Beschreibung: Zeichen welches anzeigt, dass die Bar nach links gescrollt werden kann (dies trifft nur auf Bars zu bei denen die Einstellung "/set *.filling_*" nicht auf "horizontal" eingestellt ist)

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"<<"`

- weechat.look.bar_more_right

  - Beschreibung: Zeichen welches anzeigt, dass die Bar nach rechts gescrollt werden kann (dies trifft nur auf Bars zu bei denen die Einstellung "/set *.filling_*" nicht auf "horizontal" eingestellt ist)

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `">>"`

- weechat.look.bar_more_up

  - Beschreibung: Zeichen welches anzeigt, dass die Bar nach oben gescrollt werden kann (dies trifft nur auf Bars zu bei denen die Option "/set *.filling_*" nicht auf "horizontal" eingestellt ist)

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"--"`

- weechat.look.bare_display_exit_on_input

  - Beschreibung: beendet den einfachen Anzeigemodus durch Tastendruck

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `on`

- weechat.look.bare_display_time_format

  - Beschreibung: Format für die Zeitangabe im vereinfachten Anzeigemodus (siehe man strftime, welche Platzhalter für Datum und Uhrzeit verwendet werden können, es können zusätzliche Platzhalter genutzt werden, siehe Funktion util_strftimeval in der Anleitung für API Erweiterung)

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"%H:%M"`

- weechat.look.buffer_auto_renumber

  - Beschreibung: automatisches nummerieren von Buffern um ausschließlich eine aufeinander folgende Durchnummerierung zu besitzen, die bei 1 beginnt; ist diese Einstellung deaktiviert sind Lücken zwischen den Buffern möglich und der erste Buffer muss nicht mit der Zahl 1 beginnen

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `on`

- weechat.look.buffer_notify_default

  - Beschreibung: Standardeinstellung der Benachrichtigungsstufe für Buffer (dies wird genutzt um WeeChat mitzuteilen ob der Buffer in der Hotlist angezeigt werden soll oder nicht, entsprechend der Wichtigkeit der Nachricht): all=alle Nachrichten (Standard), message=Nachrichten+Highlights, highlights=nur Highlights, none=Hotlist wird niemals angezeigt

  - Typ: Aufzählung

  - Werte: none, highlight, message, all

  - Standardwert: `all`

- weechat.look.buffer_position

  - Beschreibung: Position auf der ein neuer Buffer geöffnet werden soll: end = am Ende der Liste (Nummer = letzter Buffer + 1) (Standard), first_gap = erste mögliche Nummer die frei ist (wird das Ende der Liste erreicht, wird der Buffer hinten angehängt); diese Einstellung wird nur angewendet sofern dem Buffer keine Position, durch Layout, zugeordnet wurde

  - Typ: Aufzählung

  - Werte: end, first_gap

  - Standardwert: `end`

- weechat.look.buffer_search_case_sensitive

  - Beschreibung: standardmäßige Textsuche im Buffer: zwischen Groß-und Kleinschreibung wird unterschieden

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `off`

- weechat.look.buffer_search_force_default

  - Beschreibung: es werden immer die Standardeinstellungen verwendet (anstelle der zuletzt genutzten Sucheinstellungen)

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `off`

- weechat.look.buffer_search_history

  - Beschreibung: Standard-Befehlszeilenverlauf für die Textsuche: lokaler (Buffer) oder globaler Verlauf

  - Typ: Aufzählung

  - Werte: local, global

  - Standardwert: `local`

- weechat.look.buffer_search_regex

  - Beschreibung: standardmäßige Textsuche im Buffer: falls aktiviert wird mittels erweiterten regulären POSIX Ausdrücken gesucht, andernfalls findet eine genaue Textsuche statt

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `off`

- weechat.look.buffer_search_where

  - Beschreibung: standardmäßige Textsuche im Buffer: in der Nachricht (message), im Präfix (prefix), Präfix und Nachricht (prefix_message)

  - Typ: Aufzählung

  - Werte: prefix, message, prefix_message

  - Standardwert: `prefix_message`

- weechat.look.buffer_time_format

  - Beschreibung: Format für die Uhrzeit, die in jeder Zeile eines Buffers dargestellt wird (siehe man strftime, welche Platzhalter für Datum und Uhrzeit verwendet werden können, es können zusätzliche Platzhalter genutzt werden, siehe Funktion util_strftimeval in der Anleitung für API Erweiterung)(Hinweis: Inhalt wird evaluiert, somit kann mittels des Formats "${color:xxx} Farben gesetzt werden, siehe /help eval);; Variable "${highlight}" kann in einer Bedingung verwendet werden, um ein spezifisches Format für Zeilen mit Hervorhebung zu haben (siehe auch Option weechat.look.highlight_prefix); Beispiel: Uhrzeit mit Grauabstufung: "${color:252}%H${color:243}%M${color:237}%S", das Gleiche, mit Millisekunden: "${color:252}%H${color:243}%M${color:237}%S.%.3", roter Hintergrund, bei Hervorhebung: "${if:${highlight}?${color:,red}}%H:%M:%S", roter Hintergrund bei Hervorhebung mit Grauabstufung: ${if:${highlight}?${color:yellow,124}%H${color:187}%M${color:181}%S.%.3:${color:252}%H${color:243}%M${color:237}%S.%.3}

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"%H:%M:%S"`

- weechat.look.buffer_time_same

  - Beschreibung: Uhrzeit die bei einer Nachricht dargestellt werden soll, sofern die Uhrzeit der vorherigen Nachricht entspricht: bei einem Leerzeichen " " wird keine Uhrzeit angezeigt, oder man kann eine Zeichenkette anstelle der Uhrzeit anzeigen, keine Zeichenkette deaktiviert diese Funktion (Uhrzeit wird angezeigt) (Hinweis: Inhalt wird evaluiert, es kann z.B. eine Farbe mittels dem Format "${color:xxx}" angegeben werden, siehe /help eval)

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `""`

- weechat.look.chat_space_right

  - Beschreibung: auf der rechten Seite des Chatbereichs ein Leerzeichen darstellen, sofern rechts eine Bar angezeigt wird (dies gilt sowohl für Text als auch für die Lesemarkierung)

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `off`

- weechat.look.color_basic_force_bold

  - Beschreibung: erzwingt das Textattribut "fett" für helle Farben und "darkgray", um diese Farben stärker hervorzuheben (diese Einstellung ist standardmäßig deaktiviert: "fett" findet ausschließlich dann Verwendung falls das Terminal weniger als 16 Farben zur Verfügung stellt)

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `off`

- weechat.look.color_inactive_buffer

  - Beschreibung: Textfarbe für Zeilen in einem inaktiven Buffer (betrifft Zeilen in einem zusammengefügt Buffer, welcher nicht aktiv ist)

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `on`

- weechat.look.color_inactive_message

  - Beschreibung: nutzt eine andere Farbe um die inaktiven Nachrichten darzustellen (Fenster ist nicht das aktuelle Fenster oder wenn die Zeile des zusammengefügten Buffers nicht die aktiv Zeile ist)

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `on`

- weechat.look.color_inactive_prefix

  - Beschreibung: nutzt eine andere Farbe um den inaktiven Präfix darzustellen (Fenster ist nicht das aktuelle Fenster oder wenn die Zeile des zusammengefügten Buffers nicht die aktiv Zeile ist)

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `on`

- weechat.look.color_inactive_prefix_buffer

  - Beschreibung: nutzt eine andere Farbe für den inaktiven Buffernamen im Präfix (das Fenster ist nicht das aktuelle aktive Fenster oder wenn die Zeile des zusammengefügten Buffers nicht die aktiv Zeile ist)

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `on`

- weechat.look.color_inactive_time

  - Beschreibung: nutzt eine andere Farbe um die inaktive Zeitangabe darzustellen (Fenster ist nicht das aktuelle Fenster oder wenn die Zeile des zusammengefügten Buffers nicht die aktiv Zeile ist)

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `on`

- weechat.look.color_inactive_window

  - Beschreibung: Textfarbe für Zeilen in einem inaktiven Fenster (betrifft das Fenster, welches nicht aktiv ist)

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `on`

- weechat.look.color_nick_offline

  - Beschreibung: Nicks die Offline sind werden im Buffer in einer anderen Farbe dargestellt (dies betrifft Nicks, die nicht in der Benutzerliste vorhanden sind!)

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `off`

- weechat.look.color_pairs_auto_reset

  - Beschreibung: automatischer Reset der Farbpaarungen sobald die verfügbare Anzahl an Paaren kleiner oder gleich der hier angegebenen Anzahl ist (-1 = deaktiviert den automatischen Reset, dann ist ein manueller Reset mittels "/color reset" notwendig falls alle Farbpaarungen belegt sind)

  - Typ: integer

  - Werte: -1 .. 256

  - Standardwert: `5`

- weechat.look.color_real_white

  - Beschreibung: falls diese Einstellung aktiviert ist, wird echtes weiß als Farbe genutzt. Standardmäßig ist diese Einstellung deaktiviert, damit keine Probleme bei Terminals auftreten, die einen weißen Hintergrund nutzen (falls man keinen weißen Hintergrund nutzt, dann ist es ratsam diese Einstellung zu aktivieren. Andernfalls wird die voreingestellte Vordergrundfarbe des Terminals verwendet)

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `off`

- weechat.look.command_chars

  - Beschreibung: Bestimmt ein- oder mehrere Zeichen mit denen man ebenfalls einen Befehl ausführen kann. Zum Beispiel mittels ".$". Der Schrägstrich (slash: "/") ist ein reserviertes Zeichen und wird immer genutzt

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `""`

- weechat.look.command_incomplete

  - Beschreibung: ist diese Einstellung aktiviert werden unvollständige und eindeutige Befehle akzeptiert, zum Beispiel /he für /help

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `off`

- weechat.look.config_permissions

  - Beschreibung: permissions for configuration files (*.conf), as octal value (see man chmod); it must be a number with 3 digits, each digit can be 0 (no permissions), 2 (write only), 4 (read only) or 6 (read and write); the first digit must be 6 so that the user can read and write the file; by default configuration files can be read and written by the user only, for security reasons; for example 660 = "rw-rw-r--" = file readable and writable by the user and members of the group

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"600"`

- weechat.look.confirm_quit

  - Beschreibung: ist diese Einstellung aktiviert, muss der "/quit" Befehl mit dem Argument "-yes" ausgeführt werden (siehe /help quit)

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `off`

- weechat.look.confirm_upgrade

  - Beschreibung: ist diese Einstellung aktiviert, muss der "/upgrade" Befehl mit dem Argument "-yes" ausgeführt werden (siehe /help upgrade)

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `off`

- weechat.look.day_change

  - Beschreibung: bei einem Datumswechsel wird eine entsprechende Nachricht angezeigt

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `on`

- weechat.look.day_change_message_1date

  - Beschreibung: Nachricht welche bei einem Datumswechsel angezeigt wird (zum Beispiel als erste Zeile im Buffer) (siehe man strftime, welche Platzhalter für das Datum und die Uhrzeit verwendet werden) (Hinweis: Inhalt wird evaluiert, somit kann mittels des Formats "${color:xxx} Farben gesetzt werden, siehe /help eval)

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"-- %a, %d %b %Y --"`

- weechat.look.day_change_message_2dates

  - Beschreibung: Nachricht welche bei einem Datumswechsel angezeigt wird, dabei werden zwei Daten angegeben die zwischen zwei Nachrichten liegen; der zweite Platzhalter muss mit zwei "%" angegeben werden, da strftime auch zweimal aufgerufen wird (siehe man strftime, welche Platzhalter für das Datum und die Uhrzeit verwendet werden) (Hinweis: Inhalt wird evaluiert, somit kann mittels des Formats "${color:xxx} Farben gesetzt werden, siehe /help eval)

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"-- %%a, %%d %%b %%Y (%a, %d %b %Y) --"`

- weechat.look.eat_newline_glitch

  - Beschreibung: aktiviert man diese Einstellung, dann wird "eat_newline_glitch" auf 0 gesetzt; dies bedeutet, dass am Ende einer Zeile kein Zeilenumbruch angehängt wird und somit der Text beim kopieren aus WeeChat und beim einfügen in einer anderen Applikation nicht umgebrochen wird (diese Einstellung ist standardmäßig deaktiviert, da es zu schwerwiegenden Grafikfehlern kommen kann)

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `off`

- weechat.look.emphasized_attributes

  - Beschreibung: Attribute um Textpassagen hervorzuheben: Das setzen von ein- oder mehreren Attributen ist möglich ("%" für blinkenden Text, "." zum "dimmen" (halbe Helligkeit),"*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen); wenn die Zeichenkette leer ist, werden die Farben genutzt die durch weechat.color.emphasized* definiert sind

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `""`

- weechat.look.highlight

  - Beschreibung: eine durch Kommata getrennte Liste der hervorzuhebenden Wörter. Groß- und Kleinschreibung wird dabei standardmäßig nicht beachtet (um zwischen Groß-und Kleinschreibung zu unterscheiden muss am Wortanfang "(?-i)" genutzt werden). Schlagwörter können mit "*", als Joker, beginnen oder enden; Beispiel: "test,(?-i)*toto*,flash*"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `""`

- weechat.look.highlight_disable_regex

  - Beschreibung: Erweiterter regulärer POSIX-Ausdruck, der verwendet wird, um jede Hervorhebung von einer Nachricht zu verhindern: Diese Option hat eine höhere Priorität als andere Hervorhebungsoptionen (sofern die Zeichenkette in der Nachricht gefunden wird, die Hervorhebung deaktiviert ist und die andereOptionen ignoriert werden), bei regulären Ausdrücken wird die Groß-/Kleinschreibung nicht beachtet (verwenden Sie "(?-i)" am Anfang, um Groß- und Kleinschreibung zu beachten), Beispiele: "", "(?-i)"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `""`

- weechat.look.highlight_prefix

  - Beschreibung: Im Falle einer Hervorhebung wird eine bestimmte Farbe als Präfix der Linie verwendet (siehe auch Option weechat.look.buffer_time_format)

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `on`

- weechat.look.highlight_regex

  - Beschreibung: Suchmuster (erweiterter regulärer POSIX Ausdruck) welches genutzt werden soll, um zu überprüfen ob eine Nachricht ein Highlight enthält oder nicht. Mindestens eine Zeichenkette muss dabei auf das Suchmuster passen (alphanumerisch, "-", "_" oder "|"). Das Suchmuster unterscheidet dabei nicht zwischen Groß-und Kleinschreibung (um zwischen Groß-und Kleinschreibung zu unterscheiden muss am Wortanfang "(?-i)" genutzt werden). Beispiele: "flashcode|flashy", "(?-i)FlashCode|flashy"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `""`

- weechat.look.highlight_tags

  - Beschreibung: eine durch Kommata getrennte Liste von Tags, die eine highlight-Nachricht erzeugen; Groß- und Kleinschreibung wird dabei nicht beachtet; der Platzhalter "*" darf in einem Tag genutzt werden. Um eine logische "und" Verknüpfung zu verwenden, können mehrere Tags durch "+" zusammengefügt werden. Beispiele: "nick_flashcode" für Nachrichten von "FlashCode", "irc_notice+nick_toto*" für Notice-Nachrichten von Nicks, die mit "toto" beginnen

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `""`

- weechat.look.hotlist_add_conditions

  - Beschreibung: Bedingungen um einen Buffer in die Hotlist einzutragen (sofern der Notify-Level für den Buffer korrekt ist); es können folgende Bedingungen genutzt werden: "window" (zur Zeit genutzter Window-Pointer), "buffer" (Buffer-Pointer welcher zur Hotlist hinzugefügt werden soll), "priority" (0 = niedrig, 1 = Nachricht, 2 = Privat, 3 = Highlight); Standardmäßig wird ein Buffer in die Hotlist eingetragen falls man abwesend sein sollte oder falls der Buffer nicht auf dem Bildschirm angezeigt wird (Buffer wird nicht in einem Fenster dargestellt) oder falls mindestens ein relay client mit dem weechat Protokoll verbunden ist

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"${away} || ${buffer.num_displayed} == 0 || ${info:relay_client_count,weechat,connected} > 0"`

- weechat.look.hotlist_buffer_separator

  - Beschreibung: Zeichen welches zum Trennen zwischen den verschiedenen Buffern in der Hotlist genutzt werden soll

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `", "`

- weechat.look.hotlist_count_max

  - Beschreibung: maximale Anzahl an Nachrichtenzähler in der Hotlist, für einen Buffer: 0 = der Nachrichtenzähler wird nicht dargestellt, nächst höhere Zahl = zeigt maximal Nachrichtenzähler an (von höchster zu niedrigster Priorität)

  - Typ: integer

  - Werte: 0 .. 4

  - Standardwert: `2`

- weechat.look.hotlist_count_min_msg

  - Beschreibung: zeigt einen Nachrichtenzähler an, sofern die Anzahl der Nachrichten größer oder gleich dem hier angegebenen Wertes ist

  - Typ: integer

  - Werte: 1 .. 100

  - Standardwert: `2`

- weechat.look.hotlist_names_count

  - Beschreibung: maximale Anzahl an Namen in der Hotlist (0 = es werden keine Namen angezeigt, sondern nur die entsprechenden Nummern der Buffer)

  - Typ: integer

  - Werte: 0 .. 10000

  - Standardwert: `3`

- weechat.look.hotlist_names_length

  - Beschreibung: maximale Länge der Namen in der Hotlist (0: kein Limitierung)

  - Typ: integer

  - Werte: 0 .. 32

  - Standardwert: `0`

- weechat.look.hotlist_names_level

  - Beschreibung: Grad für die Darstellung wann der Namen eines Buffers in der Hotlist angezeigt werden soll (Kombination aus: 1=join/part, 2=Nachricht, 4=Query, 8=Highlight, z.B. 12=Query+Highlight)

  - Typ: integer

  - Werte: 1 .. 15

  - Standardwert: `12`

- weechat.look.hotlist_names_merged_buffers

  - Beschreibung: ist diese Einstellung aktiviert, werden die Namen der zusammengefügten Buffer in der Hotlist dargestellt

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `off`

- weechat.look.hotlist_prefix

  - Beschreibung: Text der vor der Hotlist angezeigt werden soll

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"H: "`

- weechat.look.hotlist_remove

  - Beschreibung: entfernt Buffer aus der Hotlist: buffer = entfernt einen einzelnen Buffer, merged = entfernt alle zusammengefügten Buffer auf einmal

  - Typ: Aufzählung

  - Werte: buffer, merged

  - Standardwert: `merged`

- weechat.look.hotlist_short_names

  - Beschreibung: ist diese Einstellung aktiviert, wird der Kurzname der zusammengefügten Buffer in der Hotlist dargestellt (die Darstellung geschieht nach dem ersten "." im Namen)

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `on`

- weechat.look.hotlist_sort

  - Beschreibung: durch Kommata getrennte Liste von Feldern um die Hotlist zu sortieren, jedes Feld ist eine hdata Variable von Hotlist ("var") oder eine hdata Variable eines Buffers ("buffer.var"); wird das "-" Zeichen vor einem Feld angewendet, wird die Ausgabe umgekehrt, um bei einem Vergleich nicht zwischen Groß- und Kleinschreibung zu unterscheiden wird das Zeichen "~" verwendet; Beispiel: "-priority,buffer.number" sortiert die Hotliste nach Priorität, dann nach Buffernummern, "-~buffer.full_name" für Groß-/Kleinschreibung und umgekehrte Sortierung nach vollständigem Buffernamen

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"-priority,time,time_usec"`

- weechat.look.hotlist_suffix

  - Beschreibung: Text der am Ende der Hotlist angezeigt werden soll

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `""`

- weechat.look.hotlist_unique_numbers

  - Beschreibung: die Nummer des Buffers wird nur einmal in der Hotlist angezeigt (diese Einstellung kommt nur zum Tragen sofern KEINE Buffernamen angezeigt werden)

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `on`

- weechat.look.hotlist_update_on_buffer_switch

  - Beschreibung: Aktualisiert die Hotlist, wenn der Buffer gewechselt wird

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `on`

- weechat.look.input_cursor_scroll

  - Beschreibung: Anzahl an Zeichen die nach links verschoben werden sollen, falls das Ende der Eingabezeile erreicht wird

  - Typ: integer

  - Werte: 0 .. 100

  - Standardwert: `20`

- weechat.look.input_multiline_lead_linebreak

  - Beschreibung: Beginnt den Eingabetext in einer neuen Zeile, wenn die Eingabe über mehrere Zeilen erfolgt, sodass der Anfang der Zeilen ausgerichtet ist

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `on`

- weechat.look.input_share

  - Beschreibung: diese Einstellung erlaubt es den Inhalt der aktuellen Eingabezeile in andere Buffern zu übernehmen. Dabei kann unterschieden werden, ob ausschließlich Befehle (commands), nur Text (text) oder beides (all) berücksichtigt werden soll (der Befehlsverlauf der einzelnen Buffer bleibt davon unberührt)

  - Typ: Aufzählung

  - Werte: none, commands, text, all

  - Standardwert: `none`

- weechat.look.input_share_overwrite

  - Beschreibung: ist diese Einstellung aktiviert und die Eingabezeile wird für alle Buffer gleichberechtigt genutzt, dann wird der Inhalt im Zielbuffer überschrieben

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `off`

- weechat.look.input_undo_max

  - Beschreibung: maximale Anzahl von "Rücknahmen" für Befehle im Verlauf, pro Buffer (0: deaktiviert die Funktion)

  - Typ: integer

  - Werte: 0 .. 65535

  - Standardwert: `32`

- weechat.look.item_away_message

  - Beschreibung: Abwesenheitsnachricht im Away-Bar-Item anzeigen

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `on`

- weechat.look.item_buffer_filter

  - Beschreibung: Zeichen mit welchem signalisiert wird ob im aktuellen Buffer die Filterfunktion eingeschaltet ist (durch Bar-Item "buffer_filter")

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"*"`

- weechat.look.item_buffer_zoom

  - Beschreibung: Zeichen mit welchem signalisiert wird ob im aktuellen Buffer der Zoom aktiviert ist (durch Bar-Item "buffer_zoom")

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"!"`

- weechat.look.item_mouse_status

  - Beschreibung: Zeichen mit welchem signalisiert wird ob die Mausfunktionalität eingeschaltet ist (durch Bar-Item "mouse_status")

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"M"`

- weechat.look.item_time_format

  - Beschreibung: Format für die Zeitanzeige des Bar-Items, "time" (siehe man strftime, welche Platzhalter für das Datum und die Uhrzeit verwendet werden)(Hinweis: Inhalt wird evaluiert, somit kann mittels des Formats "${color:xxx} Farben gesetzt werden, siehe /help eval)

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"%H:%M"`

- weechat.look.jump_current_to_previous_buffer

  - Beschreibung: wechselt zum vorher genutzten Buffer falls man mit dem Befehl /buffer *N (N ist die Buffer-Nummer) zum aktuellen Buffer gewechselt hat. Dies dient dazu um zwischen den letzten beiden Buffern hin- und her zu springen

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `on`

- weechat.look.jump_previous_buffer_when_closing

  - Beschreibung: wechselt zum vorher genutzten Buffer, falls der aktuelle Buffer geschlossen wird (wenn diese Funktion deaktiviert ist wird zum Buffer gewechselt der die relative Position -1 einnimmt)

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `on`

- weechat.look.jump_smart_back_to_buffer

  - Beschreibung: falls keine weiteren Einträge in der Hotlist vorhanden sind wird zum Ausgangsbuffer zurückgekehrt

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `on`

- weechat.look.key_bind_safe

  - Beschreibung: Es dürfen nur "geschützte" Tasten zugeordnet werden (Tasten, die mittels ctrl oder meta verwendet werden)

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `on`

- weechat.look.key_grab_delay

  - Beschreibung: Standardverzögerung (in Millisekunden) um eine Tasteneingabe zu greifen (Standardtastenbelegung: alt-k); die Verzögerung kann mit dem /input Befehl angepasst werden (siehe /help input)

  - Typ: integer

  - Werte: 1 .. 10000

  - Standardwert: `800`

- weechat.look.mouse

  - Beschreibung: Mausunterstützung einschalten

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `off`

- weechat.look.nick_color_force

  - Beschreibung: erzwingt für einen Nick eine spezielle Farbe. Die standardmäßig, mittels Streuwertfunktion aus dem Nicknamen, generierte Farbe findet für diese Nicks keine Anwendung (Format:"Nick1:Farbe1;Nick2:Farbe2"). Zuerst wird beim Namen des Nick nach Groß- und Kleinschreibung unterschieden. Sollte der Nick nicht gefunden werden findet keine Unterscheidung mehr statt. Somit ist es möglich die Nicks, für diese Einstellung, ausschließlich in Kleinschrift aufzuführen; die Farbauswahl kann auch eine Hintergrundfarbe beinhalten "Textfarbe,Hintergrundfarbe", zum Beispiel "yellow,red"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `""`

- weechat.look.nick_color_hash

  - Beschreibung: Gibt an welcher Hash-Algorithmus zur Farbauswahl für Nicks genutzt werden soll: djb2 = Variante des djb2 (Position der Buchstaben innerhalb des Nicks werden berücksichtigt: Anagramme eines Nick erhalten eine andere Farbe), djb2_32 = Variante von djb2 wobei 32-Bit anstelle von 64-Bit Integer genutzt wird, sum = hier ist nur die Anzahl der Buchstaben maßgeblich, sum_32 = wie sum, nur das 32-Bit anstelle von 64-Bit Integer genutzt wird

  - Typ: Aufzählung

  - Werte: djb2, sum, djb2_32, sum_32

  - Standardwert: `djb2`

- weechat.look.nick_color_hash_salt

  - Beschreibung: salt für den Hash-Algorithmus, der zum Auffinden von Nickfarben verwendet wird (der Nickname wird an diesen Salt angehängt und der Hash-Algorithmus verarbeitet diesen String); Wenn Sie dies ändern, werden die Nickfarben gemischt

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `""`

- weechat.look.nick_color_stop_chars

  - Beschreibung: Zeichen die genutzt werden sollen damit bei der Generierung der Farbe für einen Nicknamen abgebrochen wird. Es muss mindestens ein Zeichen im Nicknamen enthalten sein der nicht in dieser Liste aufgeführt wird, damit eine Farbe für den Nicknamen erstellt werden kann (Beispiel: Der Nickname lautet "|nick|abwesend" wobei das Zeichen "|" ignoriert werden soll. Die Farbe für den Nicknamen wird nun für "|nick" anstelle von "|nick|abwesend" erstellt); diese Option hat einen Einfluss auf die Option weechat.look.nick_color_force, dort aufgeführte Nicks sollten keine Zeichen haben, die von dieser Option ignoriert werden

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"_|["`

- weechat.look.nick_prefix

  - Beschreibung: Text, der vor dem Nick dargestellt werden soll, Beispiel: "<"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `""`

- weechat.look.nick_suffix

  - Beschreibung: Text, der nach dem Nick dargestellt werden soll, Beispiel: ">"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `""`

- weechat.look.paste_bracketed

  - Beschreibung: aktiviert den "bracketed paste mode" des Terminals (wird nicht durch alle Terminals/Multiplexer unterstützt): Dieser Modus erlaubt das Einfügen von Steuersequenzen die in Klammern gesetzt sind. WeeChat kann dadurch ermitteln ob ein Text eingefügt oder geschrieben wurde ("ESC[200~", gefolgt von dem einzufügenden Text und einem abschließenden "ESC[201~")

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `on`

- weechat.look.paste_bracketed_timer_delay

  - Beschreibung: erzwingt beim Einfügen von Steuersequenzen, nach einer vorgegeben Zeit (in Sekunden), dessen Ende, sofern die Steuersequenz zum Beenden ("ESC[201~") nicht innerhalb dieser Zeitvorgabe empfangen wurde

  - Typ: integer

  - Werte: 1 .. 60

  - Standardwert: `10`

- weechat.look.paste_max_lines

  - Beschreibung: maximale Anzahl an Zeilen die, ohne Rückfrage, eingefügt werden sollen (-1 = deaktiviert die Funktion); diese Option wird nur genutzt wenn das Bar-Item "input_paste" in mindestens einer Bar genutzt wird (Standardmäßig wird es in der "input" Bar verwendet)

  - Typ: integer

  - Werte: -1 .. 2147483647

  - Standardwert: `100`

- weechat.look.prefix_action

  - Beschreibung: Präfix, dass bei einer Action-Nachricht genutzt wird (Hinweis: Inhalt wird evaluiert, somit kann mittels des Formats "${color:xxx} Farben gesetzt werden, siehe /help eval)

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `" *"`

- weechat.look.prefix_align

  - Beschreibung: Einstellung für Präfix (keine = none, links = left, rechts = right (Voreinstellung))

  - Typ: Aufzählung

  - Werte: none, left, right

  - Standardwert: `right`

- weechat.look.prefix_align_max

  - Beschreibung: maximale Größe des Präfix (0 = keine Limitierung)

  - Typ: integer

  - Werte: 0 .. 128

  - Standardwert: `0`

- weechat.look.prefix_align_min

  - Beschreibung: minimale Größe des Präfix

  - Typ: integer

  - Werte: 0 .. 128

  - Standardwert: `0`

- weechat.look.prefix_align_more

  - Beschreibung: Zeichen welches dargestellt werden soll, falls der Nickname abgeschnitten wird (es darf nur ein Zeichen genutzt werden)

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `""+`

- weechat.look.prefix_align_more_after

  - Beschreibung: Das Zeichen welches zum Verkürzen angezeigt wird (Standardzeichen: "+"), nach dem Nick-Suffix darstellen (das vorhandene Leerzeichen wird ersetzt); wird diese Funktion deaktiviert, dann wird das Zeichen nach dem Nick dargestellt

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `on`

- weechat.look.prefix_buffer_align

  - Beschreibung: Einstellung des Präfix für den Namen des Buffers, falls viele Buffer zu einem Buffer zusammengefügt wurden (keine = none, links = left, rechts = right (Standardwert))

  - Typ: Aufzählung

  - Werte: none, left, right

  - Standardwert: `right`

- weechat.look.prefix_buffer_align_max

  - Beschreibung: maximale Größe für den Namen des Buffers, falls mehrere Buffer zusammengefügt worden sind (0 = keine Größenbegrenzung)

  - Typ: integer

  - Werte: 0 .. 128

  - Standardwert: `0`

- weechat.look.prefix_buffer_align_more

  - Beschreibung: Zeichen welches dargestellt werden soll falls der Name des Buffers abgeschnitten wird (wenn mehrere Buffer zusammengefügt wurden und diese somit die selbe Nummer besitzen) (es darf nur ein Zeichen genutzt werden)

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `""+`

- weechat.look.prefix_buffer_align_more_after

  - Beschreibung: Das Zeichen welches zum Verkürzen angezeigt wird (Standardzeichen: "+"), nach dem Nick-Suffix darstellen (das vorhandene Leerzeichen wird ersetzt); wird diese Funktion deaktiviert, dann wird das Zeichen nach dem Nick dargestellt

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `on`

- weechat.look.prefix_error

  - Beschreibung: Präfix, dass bei einer Fehlernachricht genutzt wird (Hinweis: Inhalt wird evaluiert, somit kann mittels des Formats "${color:xxx} Farben gesetzt werden, siehe /help eval)

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"=!="`

- weechat.look.prefix_join

  - Beschreibung: Präfix, dass bei einer Join-Nachricht genutzt wird (Hinweis: Inhalt wird evaluiert, somit kann mittels des Formats "${color:xxx} Farben gesetzt werden, siehe /help eval)

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"-->"`

- weechat.look.prefix_network

  - Beschreibung: Präfix, dass bei einer Netzwerknachricht genutzt wird (Hinweis: Inhalt wird evaluiert, somit kann mittels des Formats "${color:xxx} Farben gesetzt werden, siehe /help eval)

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"--"`

- weechat.look.prefix_quit

  - Beschreibung: Präfix, dass bei einer Quit-Nachricht genutzt wird (Hinweis: Inhalt wird evaluiert, somit kann mittels des Formats "${color:xxx} Farben gesetzt werden, siehe /help eval)

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"<--"`

- weechat.look.prefix_same_nick

  - Beschreibung: setzt ein Präfix welches anstelle des Nicks der Nachricht vorangestellt wird, sofern die vorherige aber nicht die nachfolgende Nachricht von dem selben Nick geschrieben wurde. Wird ein Leerzeichen (" ") genutzt, dann wird der Nachricht kein Präfix vorangestellt. Um diese Funktion zu deaktivieren und den Nick als Präfix zu nutzen, einfach keine Zeichenkette angeben

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `""`

- weechat.look.prefix_same_nick_middle

  - Beschreibung: setzt ein Präfix welches anstelle des Nicks der Nachricht vorangestellt wird, sofern die vorherige und die nachfolgende Nachricht von dem selben Nick geschrieben wurde. Wird ein Leerzeichen (" ") genutzt, dann wird der Nachricht kein Präfix vorangestellt. Um diese Funktion zu deaktivieren und den Nick als Präfix zu nutzen, einfach keine Zeichenkette angeben

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `""`

- weechat.look.prefix_suffix

  - Beschreibung: Nach dem Präfix anzufügende Zeichenfolge

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"│"`

- weechat.look.quote_nick_prefix

  - Beschreibung: Text der vor dem Nick dargestellt werden soll, wenn die Nachricht gequotet wird (siehe /help cursor)

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"<"`

- weechat.look.quote_nick_suffix

  - Beschreibung: Text der nach dem Nick dargestellt werden soll, wenn die Nachricht gequotet wird (siehe /help cursor)

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `">"`

- weechat.look.quote_time_format

  - Beschreibung: Zeitformat beim Zitieren einer Nachricht (siehe /help cursor) (siehe man strftime, welche Platzhalter für Datum und Uhrzeit verwendet werden können, es können zusätzliche Platzhalter genutzt werden, siehe Funktion util_strftimeval in der Anleitung für API Erweiterung)

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"%H:%M:%S"`

- weechat.look.read_marker

  - Beschreibung: nutzt eine Linie oder ein Zeichen, als Lesezeichen, um die erste ungelesene Nachricht in einem Buffer hervorzuheben

  - Typ: Aufzählung

  - Werte: none, line, char

  - Standardwert: `line`

- weechat.look.read_marker_always_show

  - Beschreibung: ist diese Einstellung gesetzt wird das Lesezeichen immer im Buffer dargestellt, auch wenn noch keine neue Nachricht geschrieben wurde

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `off`

- weechat.look.read_marker_string

  - Beschreibung: Zeichen, das als Lesezeichen genutzt werden soll (das Zeichen wird bis zum Ende der Zeile wiederholt)

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"- "`

- weechat.look.read_marker_update_on_buffer_switch

  - Beschreibung: Aktualisiert das Lesezeichen, wenn der Buffer gewechselt wird

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `on`

- weechat.look.save_config_on_exit

  - Beschreibung: die aktuelle Konfiguration wird beim Beenden automatisch gesichert

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `on`

- weechat.look.save_config_with_fsync

  - Beschreibung: es wird fsync verwendet um die Konfigurationsdateien mit dem Datenträger zu synchronisieren (siehe man fsync); dies verlangsamt das Sichern der Daten, soll aber zum Beispiel bei einem Stromausfall dafür sorgen, dass keine Daten verloren gehen

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `off`

- weechat.look.save_layout_on_exit

  - Beschreibung: beim Beenden wird das aktuelle Layout gesichert (Buffer, Fenster oder beides)

  - Typ: Aufzählung

  - Werte: none, buffers, windows, all

  - Standardwert: `none`

- weechat.look.scroll_amount

  - Beschreibung: Anzahl der zu scrollenden Zeilen wenn seitenweise geblättert wird (Bild hoch/runter)

  - Typ: integer

  - Werte: 1 .. 2147483647

  - Standardwert: `3`

- weechat.look.scroll_bottom_after_switch

  - Beschreibung: scrollt zum unteren Ende des Fensters nachdem zu einem anderen Buffer gewechselt wurde (die aktuelle Position wird dabei nicht gesichert); diese Funktion hat nur einen Einfluss auf Buffer mit einem formatierten Inhalt und nicht auf Buffer mit einem freien Inhalt

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `off`

- weechat.look.scroll_page_percent

  - Beschreibung: Angabe in Prozent, die die Seite hoch oder runter gescrollt werden soll (Beispiel: 100 für eine ganze Seite, 50 für eine halbe Seite)

  - Typ: integer

  - Werte: 1 .. 100

  - Standardwert: `100`

- weechat.look.search_text_not_found_alert

  - Beschreibung: Informiert den Anwender falls der gesuchte Text nicht im Buffer gefunden wurde

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `on`

- weechat.look.separator_horizontal

  - Beschreibung: das angegebene Zeichen wird verwendet um die horizontalen Linien zu zeichnen. Wird kein Zeichen angegeben, dann zeichnet ncurses eine durchgängige Linie. Dies kann allerdings bei einigen Terminals zu Problemen führen, falls die URL Auswahl genutzt wird. Die Schriftbreite muss exakt ein Zeichen betragen

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"-"`

- weechat.look.separator_vertical

  - Beschreibung: das angegebene Zeichen wird verwendet um die vertikale Linien zu zeichnen. Wird kein Zeichen angegeben, dann zeichnet ncurses eine durchgängige Linie. Die Schriftbreite muss exakt ein Zeichen betragen

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `""`

- weechat.look.tab_width

  - Beschreibung: Anzahl an Leerzeichen um Tabulatoren in Nachrichten darzustellen

  - Typ: integer

  - Werte: 1 .. 64

  - Standardwert: `1`

- weechat.look.time_format

  - Beschreibung: Format für das Datum, wenn dieses in eine Zeichenkette umgewandelt und in Nachrichten dargestellt wird (siehe man strftime, welche Platzhalter für das Datum und die Uhrzeit verwendet werden)

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"%a, %d %b %Y %T"`

- weechat.look.window_auto_zoom

  - Beschreibung: automatischer Zoom für aktuelles Fenster, sobald das Terminalfenster zu klein wird um alle Fenster darstellen zu können (mit der Tastenkombination alt-z kann der Zoom rückgängig gemacht werden, sobald das Terminal wieder groß genug ist)

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `off`

- weechat.look.window_separator_horizontal

  - Beschreibung: ist die Einstellung aktiviert dann wird eine horizontale Trennlinie zwischen Fenstern gezeichnet

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `on`

- weechat.look.window_separator_vertical

  - Beschreibung: ist die Einstellung aktiviert dann wird eine vertikale Trennlinie zwischen Fenstern gezeichnet

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `on`

- weechat.look.window_title

  - Beschreibung: Fenstertitel für Fenster (Terminal in dem Curses GUI läuft), wird beim Programmstart gesetzt; ein leerer Eintrag belässt den original Fenstertitel (Hinweis: Inhalt wird evaluiert, siehe /help eval); Beispiel: "WeeChat ${info:version}"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `""`

- weechat.look.word_chars_highlight

  - Beschreibung: durch Kommata getrennte Liste von Zeichen (oder eine Auswahl von Zeichen) bei denen bei einem Highlight keine Worttrennung erfolgt; jeder Eintrag kann ein einzelnes Zeichen oder eine Auswahl von Zeichen sein (Format: a-z), eine Auswahl von Breitzeichen (wide character; zum Beispiel "alnum", siehe man wctype); beginnt das Item mit einem "!" wird die Auswahl umgekehrt (bedeutet, das Zeichen ist NICHT Bestandteil eines Wortes); das Zeichen "*" wird als Platzhalter verwendet; Unicode Zeichen müssen folgendes Format nutzen \u1234, zum Beispiel \u00A0 für geschütztes Leerzeichen (siehe /help print für unterstützte Formate)

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"!\u00A0,-,_,|,alnum"`

- weechat.look.word_chars_input

  - Beschreibung: durch Kommata getrennte Liste von Zeichen (oder eine Auswahl von Zeichen) bei denen in der Eingabezeile keine Worttrennung erfolgt; jeder Eintrag kann ein einzelnes Zeichen oder eine Auswahl von Zeichen sein (Format: a-z), eine Auswahl von Breitzeichen (wide character; zum Beispiel "alnum", siehe man wctype); beginnt das Item mit einem "!" wird die Auswahl umgekehrt (bedeutet, das Zeichen ist NICHT Bestandteil eines Wortes); das Zeichen "*" wird als Platzhalter verwendet; Unicode Zeichen müssen folgendes Format nutzen \u1234, zum Beispiel \u00A0 für geschütztes Leerzeichen (siehe /help print für unterstützte Formate)

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"!\u00A0,-,_,|,alnum"`

- weechat.network.connection_timeout

  - Beschreibung: Zeitüberschreitung (in Sekunden) für eine Verbindung zu einem entfernten Rechner (mittels einem Kindprozess)

  - Typ: integer

  - Werte: 1 .. 2147483647

  - Standardwert: `60`

- weechat.network.gnutls_ca_system

  - Beschreibung: lädt die standardmäßigen vertrauenswürdigen Zertifizierungsstellen des Systems beim Start; Dies kann deaktiviert werden, um Speicherplatz zu sparen, falls keine TLS-Verbindungen verwendet werden

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `on`

- weechat.network.gnutls_ca_user

  - Beschreibung: zusätzliche Datei(en) bei den Zertifizierungsstellen; mehrere Dateien müssen durch Doppelpunkte getrennt werden (jeder Pfad ist evaluiert, siehe Funktion string_eval_path_home in der Plugin-API-Referenz)

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `""`

- weechat.network.gnutls_handshake_timeout

  - Beschreibung: Zeitüberschreitung für gnutls Handshake (in Sekunden)

  - Typ: integer

  - Werte: 1 .. 2147483647

  - Standardwert: `30`

- weechat.network.proxy_curl

  - Beschreibung: Name des Proxy welcher für URL Downloads mittels Curl genutzt werden soll (wird verwendet um das Inhaltsverzeichnis für Skript-Erweiterung herunterzuladen oder in Skripten, welche die Funktion hook_process nutzen); der Proxy muss mit dem Befehl /proxy eingerichtet werden

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `""`

- weechat.plugin.autoload

  - Beschreibung: durch Kommata getrennte Liste der Erweiterungen, die beim Programmstart automatisch geladen werden sollen; "*" lädt alle vorhandenen Erweiterungen. Beginnt der Name hingegen mit "!" wird die Erweiterung nicht geladen. Im Namen der Erweiterung kann der Platzhalter "*" verwendet werden (Beispiele: "*" oder "*,!lua,!tcl")

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"*"`

- weechat.plugin.extension

  - Beschreibung: durch Kommata getrennte Liste von Dateinamenserweiterungen, welche für die Erweiterungen genutzt werden sollen

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `".so,.dll"`

- weechat.plugin.path

  - Beschreibung: Pfad für die Suche nach Erweiterungen (Pfad ist evaluiert, siehe Funktion string_eval_path_home in der Plugin-API-Referenz)

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"${weechat_data_dir}/plugins"`

- weechat.plugin.save_config_on_unload

  - Beschreibung: speichert Konfigurationen, falls Erweiterungen beendet werden

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `on`

- weechat.signal.sighup

  - Beschreibung: Befehl welcher ausgeführt werden soll, wenn das Signal empfangen wird. Mehrere Befehle können durch Semikolons getrennt werden (Hinweis: Inhalt wird ausgewertet, siehe / help eval)

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"${if:${info:weechat_headless}?/reload:/quit -yes}"`

- weechat.signal.sigquit

  - Beschreibung: Befehl welcher ausgeführt werden soll, wenn das Signal empfangen wird. Mehrere Befehle können durch Semikolons getrennt werden (Hinweis: Inhalt wird ausgewertet, siehe / help eval)

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/quit -yes"`

- weechat.signal.sigterm

  - Beschreibung: Befehl welcher ausgeführt werden soll, wenn das Signal empfangen wird. Mehrere Befehle können durch Semikolons getrennt werden (Hinweis: Inhalt wird ausgewertet, siehe / help eval)

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"/quit -yes"`

- weechat.signal.sigusr1

  - Beschreibung: Befehl welcher ausgeführt werden soll, wenn das Signal empfangen wird. Mehrere Befehle können durch Semikolons getrennt werden (Hinweis: Inhalt wird ausgewertet, siehe / help eval)

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `""`

- weechat.signal.sigusr2

  - Beschreibung: Befehl welcher ausgeführt werden soll, wenn das Signal empfangen wird. Mehrere Befehle können durch Semikolons getrennt werden (Hinweis: Inhalt wird ausgewertet, siehe / help eval)

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `""`

- weechat.startup.command_after_plugins

  - Beschreibung: Befehl wird ausgeführt, wenn WeeChat gestartet wird, nachdem die Erweiterungen geladen wurden. Mehrere Befehle können durch Semikolons getrennt werden (Hinweis: Inhalt wird ausgewertet, siehe / help eval)

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `""`

- weechat.startup.command_before_plugins

  - Beschreibung: Befehl wird ausgeführt, wenn WeeChat gestartet wird, bevor Erweiterungen geladen werden. Mehrere Befehle können durch Semikolons getrennt werden (Hinweis: Inhalt wird ausgewertet, siehe / help eval)

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `""`

- weechat.startup.display_logo

  - Beschreibung: WeeChat-Logo beim Start anzeigen

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `on`

- weechat.startup.display_version

  - Beschreibung: WeeChat-Version beim Start anzeigen

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `on`

- weechat.startup.sys_rlimit

  - Beschreibung: setzt Ressourcenbeschränkungen für den WeeChat Prozess. (Format: "res1:limit1,res2:limit2"; Ressourcenname ist das Ende der Konstanten (RLIMIT_XXX) in Kleinbuchstaben (siehe man setrlimit für Werte); limit -1 bedeutet "unbegrenzt"; Beispiele: für die Core-Datei wird eine unbegrenzte Dateigröße bestimmt und die virtuelle Speicherkapazität auf maximal 1GB festgelegt: "core:-1,as:1000000000"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `""`

## 8. IRC

Die IRC Erweiterung ist konzipiert um mittels dem IRC Protokoll mit anderen Menschen zu chatten.

Die Erweiterung ist Multi-Server fähig und verfügt über alle IRC Befehle, einschließlich DCC Chat und Datenübertragung (via xfer Erweiterung, siehe Xfer Erweiterung).

### 8.1. Kommandozeilen Befehle

Es ist möglich eine oder mehrere URL von IRC Servern zu übergeben:

    irc[6][s]://[nick[:password]@]irc.example.org[:port][/channel][,channel[...]]

Beispiel: Anmelden beim Server irc.libera.chat mit dem Nick alice und betreten der Kanäle #weechat und #weechat-fr (Standardport (6667) wird genutzt):

    $ weechat irc://alice@irc.libera.chat/#weechat,#weechat-fr

### 8.2. Server

#### Server hinzufügen

Standardmäßig sind keine Server angelegt. Es gibt keine Begrenzung für die Anzahl von Servern. Server können mit dem Befehl /server angelegt werden.

Um zum Beispiel eine TLS verschlüsselte Verbindung zu libera.chat ↗ herzustellen:

    /server add libera irc.libera.chat/6697 -tls

Um WeeChat beim Start direkt mit dem Server zu verbinden:

    /set irc.server.libera.autoconnect on

Zur Authentifizierung wird empfohlen, SASL (sofern dies von dem Server unterstützt wird) zu verwenden, wobei das Passwort als gesicherte Daten gespeichert wird (siehe auch das Kapitel über SASL authentication):

    /set irc.server.libera.sasl_username "alice"
    /secure set libera xxxxxxx
    /set irc.server.libera.sasl_password "${sec.data.libera}"

Wenn SASL nicht unterstützt wird, können Sie einen Befehl verwenden, um eine Nachricht an nickserv zu senden, um sich zu Authentifizieren:

    /set irc.server.libera.command "/msg nickserv identify ${sec.data.libera}"

| Indem Sie eine Nachricht an nickserv senden, können Sie sich erst nach dem Beitritt zu Kanälen authentifizieren. Dies kann bei Kanälen, die eine Authentifizierung benötigen, zu Problemen führen. In diesem Fall können Sie eine Befehlsverzögerung einstellen: `/set irc.server.libera.command_delay 5`.

#### Server-Optionen

Serveroptinen haben folgenden Aufbau `irc.server.<server>.<option>` hierbei ist `<server>` der interne Name des Server und `<option>` ist der Name der Option.
Der Wert einer Serveroption wird von `irc.server_default.xxx` geerbt wenn die Serveroption den Sonderwert `null` hat.

Wenn Sie beispielsweise den libera-Server mit den obigen Befehlen erstellt haben, sehen Sie dies mit dem Befehl `/fset libera`:

    irc.server.libera.addresses             string   "irc.libera.chat/6697"
    irc.server.libera.anti_flood_prio_high  integer  null -> 2
    irc.server.libera.anti_flood_prio_low   integer  null -> 2
    irc.server.libera.autoconnect           boolean  on
    irc.server.libera.autojoin              string   null -> ""
    irc.server.libera.autojoin_dynamic      boolean  null -> off
    irc.server.libera.autoreconnect         boolean  null -> on
    irc.server.libera.autoreconnect_delay   integer  null -> 10
    irc.server.libera.autorejoin            boolean  null -> off
    irc.server.libera.autorejoin_delay      integer  null -> 30
    irc.server.libera.away_check            integer  null -> 0
    irc.server.libera.away_check_max_nicks  integer  null -> 25
    irc.server.libera.capabilities          string   null -> "*"
    irc.server.libera.charset_message       enum     null -> message
    irc.server.libera.command               string   null -> ""
    irc.server.libera.command_delay         integer  null -> 0
    irc.server.libera.connection_timeout    integer  null -> 60
    irc.server.libera.default_chantypes     string   null -> "#&"
    irc.server.libera.ipv6                  boolean  null -> on
    irc.server.libera.local_hostname        string   null -> ""
    irc.server.libera.msg_kick              string   null -> ""
    irc.server.libera.msg_part              string   null -> "WeeChat ${info:version}"
    irc.server.libera.msg_quit              string   null -> "WeeChat ${info:version}"
    irc.server.libera.nicks                 string   null -> "alice,alice1,alice2,alice3,alice4"
    irc.server.libera.nicks_alternate       boolean  null -> on
    irc.server.libera.notify                string   null -> ""
    irc.server.libera.password              string   null -> ""
    irc.server.libera.proxy                 string   null -> ""
    irc.server.libera.realname              string   null -> ""
    irc.server.libera.sasl_fail             enum     null -> reconnect
    irc.server.libera.sasl_key              string   null -> ""
    irc.server.libera.sasl_mechanism        enum     null -> plain
    irc.server.libera.sasl_password         string   "${sec.data.libera}"
    irc.server.libera.sasl_timeout          integer  null -> 15
    irc.server.libera.sasl_username         string   "alice"
    irc.server.libera.split_msg_max_length  integer  null -> 512
    irc.server.libera.tls                   boolean  on
    irc.server.libera.tls_cert              string   null -> ""
    irc.server.libera.tls_dhkey_size        integer  null -> 2048
    irc.server.libera.tls_fingerprint       string   null -> ""
    irc.server.libera.tls_password          string   null -> ""
    irc.server.libera.tls_priorities        string   null -> "NORMAL:-VERS-SSL3.0"
    irc.server.libera.tls_verify            boolean  null -> on
    irc.server.libera.usermode              string   null -> ""
    irc.server.libera.username              string   null -> "alice"

Wenn Sie beispielsweise automatisch eine Verbindung zu allen von Ihnen erstellten Servern herstellen möchten, ohne dies für jeden Server einzeln einstellen zu müssen, können Sie Folgendes tun:

    /set irc.server_default.autoconnect on

Und dann können Sie die Serveroption zurücksetzen, sodass sie den standardmäßig geerbten Wert verwendet, der jetzt `on` anstelle des Standardwerts `off` ist:

    /unset irc.server.libera.autoconnect

#### TLS Zertifikate

Wenn eine Verbindung mittels TLS zu einem IRC Server hergestellt wird dann überprüft WeeChat immer ob dieser Verbindung sicher ist.

Einige Optionen dienen dazu eine TLS Verbindung zu nutzen:

weechat.network.gnutls_ca_system

  lädt beim Start die standardmäßigen vertrauenswürdigen Zertifizierungsstellen des Systems

weechat.network.gnutls_ca_user

  zusätzliche Datei (en) von Zertifizierungsstellen

irc.server.xxx.tls_cert

  Datei mit den TLS Zertifikaten die genutzt werden um automatisch Ihren Nick zu identifizieren (zum Beispiel CertFP auf oftc, siehe unten)

irc.server.xxx.tls_dhkey_size

  Größe des Schlüssels der genutzt werden soll beim Schlüsseltausch mittels der Diffie-Hellman Methode (Standardwert: 2048)

irc.server.xxx.tls_verify

  überprüft ob der TLS Verbindung uneingeschränkt vertraut werden kann (Standardwert: AN)

| Die Option "tls_verify" ist Vorgabe mäßig immer eingeschaltet. Das gewährleistet dass die Verifizierung sehr streng genommen wird und dadurch vielleicht versagt. Auch wenn die Verbindung mit einer vorherigen Version (<0.3.1) funktioniert hat.

##### erstes Beispiel: Verbindung zu oftc und Überprüfung der Zertifikate

- Importieren Sie die Zertifikate in einer Shell:

    $ mkdir -p ~/.config/weechat/tls
    $ wget -O ~/.config/weechat/tls/CAs.pem https://www.spi-inc.org/ca/spi-cacert.crt

| Sie müssen `~/.config/weechat` durch den Pfad zu Ihrem WeeChat-Konfigurationsverzeichnis ersetzen, das auch beispielsweise `~/.weechat` sein kann.

| Es ist möglich mehrere Zertifikate in der Datei CAs.pem zu verwenden.

- In WeeChat, sofern der Server "oftc" schon hinzufügt wurde:

    /connect oftc

##### zweites Beispiel: Verbindung zu oftc mittels CertFP

- Erstellen Sie ein Zertifikat in der Shell:

    $ mkdir -p ~/.config/weechat/tls
    $ cd ~/.config/weechat/tls
    $ openssl req -nodes -newkey rsa:2048 -keyout nick.pem -x509 -days 365 -out nick.pem

| Sie müssen `~/.config/weechat` durch den Pfad zu Ihrem WeeChat-Konfigurationsverzeichnis ersetzen, das auch beispielsweise `~/.weechat` sein kann.

- In WeeChat, sofern der Server "oftc" schon hinzufügt wurde:

    /set irc.server.oftc.tls_cert "${weechat_config_dir}/tls/nick.pem"
    /connect oftc
    /msg nickserv cert add

Weitere Informationen finden Sie unter this page ↗.

#### SASL Authentifizierung

WeeChat unterstützt eine SASL Authentifikation, mittels verschiedener Mechanismen:

- plain: Passwort liegt in Klarschrift vor (Standard)

- scram-sha-1: SCRAM mit SHA-1 Digest-Algorithmus

- scram-sha-256: SCRAM mit SHA-256 Digest-Algorithmus

- scram-sha-512: SCRAM mit SHA-512 Digest-Algorithmus

- ecdsa-nist256p-challenge: Abgleich von öffentlichem/privatem Schlüssel

- external: TLS Zertifikat welches auf Client Seite vorliegt

Optionen für Server sind:

- sasl_mechanism: Mechanismus welcher genutzt werden soll (siehe oben)

- sasl_timeout: Zeitüberschreitung für Authentifizierung (in Sekunden)

- sasl_fail: auszuführende Aktion falls die SASL Authentifizierung fehlschlägt

- sasl_username: Username (Nickname)

- sasl_password: Passwort

- sasl_key: Datei mit privatem ECC Schlüssel (für den ecdsa-nist256p-challenge Mechanismus)

##### SASL ECDSA-NIST256P-CHALLENGE

Es muss ein privater Schlüssel erstellt werden um sich mittels des ECDSA-NIST256P-CHALLENGE Mechanismus authentifizieren zu können (es wird dadurch kein Passwort während des Verbindungsaufbaus benötigt).

Ein Schlüssel kann mit folgendem Befehl erzeugt werden:

    $ openssl ecparam -genkey -name prime256v1 -out ~/.config/weechat/ecdsa.pem

| Sie müssen `~/.config/weechat` durch den Pfad zu Ihrem WeeChat-Konfigurationsverzeichnis ersetzen, das auch beispielsweise `~/.weechat` sein kann.

Um den öffentlichen Schlüssel zu erhalten (base64 enkodiert) muss folgender Befehl ausgeführt werden:

    $ openssl ec -noout -text -conv_form compressed -in ~/.config/weechat/ecdsa.pem | grep '^pub:' -A 3 | tail -n 3 | tr -d ' \n:' | xxd -r -p | base64

Nun Verbindung zum Server herstellen, identifizieren (z.B. mittels "nickserv identify") und den öffentlichen Schlüssel für den eigenen Zugang festlegen (der base64 Schlüssel im Beispiel muss durch den eigenen öffentlichen Schlüssel ersetzt werden:

    /connect libera
    /msg nickserv identify your_password
    /msg nickserv set pubkey Av8k1FOGetUDq7sPMBfufSIZ5c2I/QYWgiwHtNXkVe/q

Konfiguration der SASL Optionen des Servers:

    /set irc.server.libera.sasl_mechanism ecdsa-nist256p-challenge
    /set irc.server.libera.sasl_username "your_nickname"
    /set irc.server.libera.sasl_key "${weechat_config_dir}/ecdsa.pem"

Erneut mit dem Server verbinden:

    /reconnect libera

#### Verbindung zum Server

Um sich mit einem Server zu Verbinden, nutzt man den /connect Befehl:

    /connect libera

Um die Verbindung zu trennen:

    /disconnect libera

Oder nur folgenden Befehl, wenn Sie sich in einem Buffer befinden, der zu einem libera Server gehört (Server, Kanal, privat):

    /disconnect

Wenn Sie gleichzeitig mit mehreren Servern verbunden sind, werden die Serverbuffer standardmäßig zusammengeführt. Sie können zwischen zusammengefügten Buffern mit der `Ctrl`+`x` Taste wechseln.

Es ist möglich, die automatische Zusammenführung von Serverbuffern zu deaktivieren, um unabhängige Serverbuffer zu haben:

    /set irc.look.server_buffer independent

#### Connect with Tor and SASL

Einige Server unterstützen eine Verbindungen mittels Tor ↗, dies ist ein Netzwerk mit virtueller Tunneln, durch welchen Personen und Gruppen ihre Privatsphäre und Sicherheit im Internet verbessern können.

Im ersten Schritt muss Tor installiert werden. Für Debian (und Derivate):

    $ sudo apt-get install tor

In WeeChat muss nun ein socks5-Proxy für den Tor Service erstellt werden (Hostname/IP und Port müssen dabei an die eigene Tor Konfiguration angepasst werden):

    /proxy add tor socks5 127.0.0.1 9050

Fügen Sie nun einen neuen Server hinzu (ersetzen Sie dabei den Servernamen "irc-tor" und die Adresse durch gültige Werte):

    /server add irc-tor hier.ist.die.addresse.onion

Nun einen Proxy für Tor anlegen:

    /set irc.server.irc-tor.proxy "tor"

SASL Authentifikation mit ECDSA-NIST256P-CHALLENGE nutzen (siehe Kapitel SASL ECDSA-NIST256P-CHALLENGE um einen privaten Schlüssel zu generieren):

    /set irc.server.irc-tor.sasl_mechanism ecdsa-nist256p-challenge
    /set irc.server.irc-tor.sasl_username "dein_nickname"
    /set irc.server.irc-tor.sasl_key "${weechat_config_dir}/ecdsa.pem"

Abschließend, stellen Sie eine Verbindung zum Server her:

    /connect irc-tor

### 8.3. IRCv3 support

WeeChat unterstützt folgende IRCv3 extensions ↗:

- account-notify

- account-tag

- away-notify

- batch

- cap-notify

- chghost

- draft/multiline

- echo-message

- extended-join

- invite-notify

- message-tags

- monitor

- multi-prefix

- SASL v3.2

- server-time

- setname

- typing

- userhost-in-names

- WHOX

Standardmäßig werden alle vom Server und WeeChat unterstützten Funktionen automatisch aktiviert (siehe Option irc.server_default.capabilities).

Mehrere Tabellen mit Auflistung verschiedener IRC-Clients, einschließlich WeeChat, sind verfügbar auf this page ↗.

#### account-notify

Spezifikation: account-notify ↗

Diese Funktion ermöglicht es dem Server, Nachrichten zu senden, wenn Benutzer sich auf dem Server identifizieren oder diese zurück ziehen.
WeeChat zeigt solche Nachrichten an, wenn die Option irc.look.display_account_message aktiviert ist (Standardwert).

Beispiele:

    -- alice wurde identifiziert als Alice01

    -- alice hat sich nicht identifiziert

#### account-tag

Spezifikation: account-tag ↗

Diese Fähigkeit ermöglicht es dem Server, einen Account als Nachrichten-Tag an Befehle zu hängen, die an den Client gesendet werden.
WeeChat analysiert dieses Tag und speichert es in der Nachricht, aber es wird nicht verwendet oder angezeigt. Mit dem /filter Befehl kann man diese Nachrichten explizit filtern, in dem die Accounts nutzt.

Beispiel einer empfangenen IRC-Rohnachricht:

    @account=Alice01 :user@example.com PRIVMSG #test :Hello!

Nachricht wie sie im Kanal angezeigt wird:

    <alice> Hello!

Nachricht, mit Tags:

    <alice> Hello! [irc_privmsg,irc_tag_account_Alice01,notify_message,prefix_nick_lightcyan,nick_alice,host_user@example.com,log1]

#### away-notify

Spezifikation: away-notify ↗

Diese Funktion ermöglicht es dem Server, Abwesenheits-Benachrichtigungen für Benutzer zu versenden, die die selben Kanälen besuchen, wie Sie.

Wenn der Abwesenheitsstatus für einen Benutzer geändert wird (abwesend oder zurück), wird dies mit einer bestimmten Farbe in der Nickliste dargestellt. Siehe folgende Optionen:

- irc.server_default.away_check

- irc.server_default.away_check_max_nicks

- weechat.look.item_away_message

#### batch

Spezifikation: batch ↗

Diese Funktion ermöglicht es dem Server, Batch-Ereignisse (Gruppe von mehreren Nachrichten, die zusammengehören) zu senden.

Im Moment speichert WeeChat nur Nachrichten, die in einem Stapel empfangen werden, und verarbeitet sie wie gewohnt später, wenn der Stapel endet.

#### cap-notify

Spezifikation: cap-notify ↗

Diese Fähigkeit ermöglicht es dem Server, neue oder entfernte Fähigkeiten anzubieten, über die der Server verfügt (mittels der Befehle `CAP NEW` und `CAP DEL`).

Beispiele:

    -- irc: Clientfähigkeit, nicht verfügbar: sasl

    -- irc: Clientfähigkeit, entfernt: sasl

#### chghost

Spezifikation: chghost ↗

Diese Funktion ermöglicht es dem Server, Nachrichten zu senden, wenn Benutzer den Namen oder den Host ändern.
Wenn die Option irc.look.smart_filter_chghost aktiviert ist (Standardwert), werden die Host-Änderungen automatisch ausgeblendet, falls der Nick mehrere Minuten nicht aktiv gewesen ist.
Die Farbe der Change-Host-Meldung wird durch die Option irc.color.message_chghost kontrolliert.

Beispiele:

    -- alice (user@example.com) hat den Host nach test.com geändert

#### draft/multiline

Spezifikation: multiline ↗

Diese Funktion ermöglicht es dem Client und dem Server, Nachrichten über mehrere Zeilen zu senden. Es wird dazu die Fähigkeit batch genutzt, die ebenfalls aktiviert sein muss.

Es gibt Beschränkungen hinsichtlich der Anzahl der Bytes oder der Anzahl der Zeilen in einer mehrzeiligen Nachricht die in der vom Server gesendeten Fähigkeit angegeben sind, zum Beispiel:

    CAP alice LS * :draft/multiline=max-bytes=4096,max-lines=24

Dies legt eine Grenze von 4096 Bytes und 24 Zeilen für einen mehrzeiligen Batch-Inhalt fest.

Wenn die Grenzwerte nicht vom Server vorgegeben sind, sind die Standardwerte in WeeChat:

- max Bytes: 4096

- max Zeilen: 24

Nur Standardnachrichten und solche, die von /notice Befehl gesendet werden können mehrzeilig sein.
ACTION CTCP-Nachrichten, die mit dem Befehl /me gesendet werden, sind nicht betroffen durch diese Fähigkeit. Das bedeutet, dass mehrzeilige Aktionen als Mehrfachaktionen gesendet werden.

| Da es sich bei der Spezifikation um einen „Entwurf“ handelt, kann sich diese Spezifikation ändern und die Mehrzeilenunterstützung in WeeChat abbrechen. Die Funktion wird automatisch aktiviert, wenn der Server sie unterstützt und kann mit folgendem Befehl deaktiviert werden: `/set irc.server_default.capabilities "*,!draft/multiline"`. Wenn die Funktion deaktiviert ist, wird eine mehrzeilige Nachricht einfach in mehreren Nachrichten gesendet, als ob sie die Nachrichten nacheinander an den Server gesendet wurden.

Beispiel einer IRC Nutzer Nachricht, die über zwei Zeilen geht (`Dies ist ein Test` / `über zwei Zeilen`), und im Kanal #test gesendet wird:

    BATCH +i8Je7M7gquddoyC9 draft/multiline #test
    @batch=i8Je7M7gquddoyC9 PRIVMSG #test :Dies ist ein Test
    @batch=i8Je7M7gquddoyC9 PRIVMSG #test :über zwei Zeilen
    BATCH -i8Je7M7gquddoyC9

Eine gesendete Nachricht wie sie in WeeChat dargestellt wird:

    19:01:45 alice | this is a test
                   | on two lines

#### echo-message

Spezifikation: echo-message ↗

Diese Funktion zwingt den Server, PRIVMSG-, NOTICE- und TAGMSG-Nachrichten zurück an WeeChat zu senden.

WeeChat zeigt nur die empfangene Nachricht und nicht die gesendete Nachricht an, also eine Verzögerung zwischen dem Senden und der Darstellung ist erkennbar. Wenn die Nachricht dargestellt wird, bedeutet dies, dass die Nachricht ordnungsgemäß vom Server empfangen und an andere Clients weitergeleitet wurde, die ebenfalls mit dem Server verbunden sind.

#### extended-join

Spezifikation: extended-join ↗

Diese Funktion ermöglicht es dem Server, sowohl Account und den Realnamen des Users zu senden, wenn diese einen Kanal betreten.
WeeChat zeigt diese zusätzlichen Informationen in Join-Nachrichten an, wenn die Option irc.look.display_extended_join aktiviert ist (Standardwert).

Beispiele:

    --> john [John01] (John Doe) (~user@example.com) hat den Kanal #test betreten

#### invite-notify

Spezifikation: invite-notify ↗

Diese Funktion ermöglicht es dem Server, Einladungsnachrichten zu senden, wenn Benutzer zu Kanälen eingeladen werden.

Beispiele:

    -- alice hat bob in den Kanal #test eingeladen

#### message-tags

Spezifikation: message-tags ↗

Diese Funktion ermöglicht das Hinzufügen von Metadaten zu Nachrichten.
Diese Tags können mit dem Befehl `/debug tags` angezeigt werden.

Um diese Funktion zu verwenden, muss sie aktiviert werden: typing notifications.

#### monitor

Spezifikation: monitor ↗

Diese Funktion ermöglicht es dem Server, Benachrichtigungen zu senden, wenn Clients Online/Offline gehen.
WeeChat verwendet diese Erweiterung automatisch, sofern verfügbar, wenn der /notify Befehl genutzt wird.

#### multi-prefix

Spezifikation: multi-prefix ↗

Diese Fähigkeit ermöglicht es dem Server, alle Benutzermodi auf einmal zu senden, wenn die Befehle /names und /whois genutzt werden.

| Momentan zeigt WeeChat nicht alle Präfixe in der Ausgabe von `/names` an, selbst wenn diese empfangen und intern ordnungsgemäß verarbeitet werden.

Beispiele: Ausgabe von `/whois alice`:

    -- [alice] @%+#test

#### SASL

Spezifikation: SASL 3.2 ↗

Siehe das entsprechende Kapitel SASL authentication.

#### server-time

Spezifikation: server-time ↗

Diese Fähigkeit ermöglicht es dem Server, die Zeit für Nachrichten als Nachrichten-Tag zu senden.
Wenn die Zeit in einer Nachricht empfangen wird, verwendet WeeChat diese, um die Nachricht anzuzeigen (diese Nachricht kann dann mit einem zurückliegenden Datum angezeigt werden).

Der IRC-Proxy der Relay-Erweiterung unterstützt diese Funktion, deshalb sollte jeder IRC-Client der mit dem Relay verbunden ist, diese Funktion aktivieren, um die korrekte Uhrzeit der Nachricht im Verlaufsspeicher anzuzeigen.

#### setname

Spezifikation: setname ↗

Mit dieser Funktion können Sie Ihren richtigen Namen ändern, indem Sie den /setname Befehl nutzen.

#### typing

Spezifikation: typing ↗

Siehe das entsprechende Kapitel Typing notifications.

#### userhost-in-names

Spezifikation: userhost-in-names ↗

Diese Funktion ermöglicht es dem Server, Hostnamen bei /names zu senden.

| WeeChat zeigt keine Hostnamen in der Aushabe des `/names` Befehls an.

Beispiel für unverarbeitete IRC-Nachrichten, die ohne die Fähigkeit empfangen wurden:

    :irc.server 353 alice = #test :@alice bob +carol

Beispiel für unverarbeitete IRC-Nachrichten, die mit der Funktion empfangen wurden:

    :irc.server 353 alice = #test :@alice!user1@host1 bob!user2@host2 +carol!user3@host3

#### WHOX

Spezifikation: WHOX ↗

Mit dieser Funktion können Sie zusätzliche Felder in der WHO-Antwort anfordern (mit dem Befehl /who).
WeeChat zeigt alle empfangenen Zusatzinformationen in der WHO-Ausgabe an.

### 8.4. Kanäle

Kanäle können mit dem Befehl /join betreten werden:

    /join #channel

Verbindung zum Kanal trennen (der Buffer bleibt geöffnet):

    /part [quit message]

Kanäle die man betreten hat, werden nicht gesichert. Um diese Kanäle automatisch bei einer Verbindung zum Server zu betreten, müssen diese Kanäle in der `autojoin` Option des Servers eingetragen werden:

    /set irc.server.libera.autojoin "#weechat,#weechat-de"

| Es gibt Skripte, die dabei helfen das zu automatisieren, siehe `/script search autojoin`.

Geben Sie acht, Leerzeichen werden verwendet um die Liste der Kanäle von den Schlüsseln zu trennen. Ein Beispiel, wenn `#channel1` einen Schlüssel erfordert, aber nicht `#channel2`:

    /set irc.server.libera.autojoin "#channel1,#channel2 key1"

Um eine Hilfe über das Format zu erhalten, siehe `/help irc.server.libera.autojoin`.

### 8.5. private Nachrichten

Sie können eine private Nachricht mit dem Befehl /query senden, was einen separaten Buffer, für die Konversation, öffnet:

    /query bob hallo, wie geht es Dir?

Ohne Angabe von Argumenten öffnet der Befehl nur den Buffer (oder wählt ihn aus, wenn er bereits geöffnet ist):

    /query bob

Um einen privaten Buffer zu schließen, führt man diesen Befehl in dem privaten Buffer aus:

    /close

### 8.6. Intelligenter Filter

Es steht ein intelligenter Filter zur Verfügung, um einige Nachrichten zu filtern, falls eine Person in einem Kanal, eine vorgegebene Zeit, nicht geschrieben hat:

- join: Person betritt den Kanal

- part: Person verlässt den Kanal

- quit: Person meldet sich vom Server ab

- account: Person ändert seinen Account

- chghost: Persin ändert Name oder Host

- mode: Modus des Kanals wurde geändert

- nick: Person hat seinen Nick geändert

- setname: Person hat seinen Realname geändert

Der intelligente Filterung ist standardmäßig aktiviert, es muss jedoch ein Filter hinzugefügt werden, damit die Zeilen im Buffer unterdrückt werden. Zum Beispiel:

    /filter add irc_smart * irc_smart_filter *

Dabei ist es möglich, einen Filter für nur einen Kanal oder für mehrere Kanäle zu erstellen, die mit dem selben Namen beginnen (siehe `/help filter`):

    /filter add irc_smart_weechat irc.libera.#weechat* irc_smart_filter *

Um eine längere Verzögerung (in Minuten) einzurichten:

    /set irc.look.smart_filter_delay 10

Falls jemand in den letzten 10 Minuten nichts geschrieben hat, werden seine join/part/quit Nachrichten standardmäßig in dem Kanal ausgeblendet. Um diese trotzdem angezeigt zu bekommen, muss man die Taste `Alt`+`=` (Filter umschalten) drücken.

### 8.7. CTCP Antworten

Sie haben die Möglichkeit CTCP Antworten anzupassen oder aber bestimmte CTCP Anfragen zu sperren (es wird nicht darauf geantwortet).

Beispiel: Um eine Antwort auf die CTCP Anfrage "VERSION" anzupassen nutzen Sie folgenden Befehl:

    /set irc.ctcp.version "I'm running WeeChat ${version}, it rocks!"

| Der Name von CTCP muss in Kleinbuchstaben geschrieben werden. Das bedeutet, dass die Option irc.ctcp.VERSION nicht funktioniert.

Wenn Sie die Anfrage CTCP "VERSION" blockieren möchten (es wird nicht darauf geantwortet) dann löschen Sie einfach den Rückgabe-String:

    /set irc.ctcp.version ""

Selbst bisher unbekannte CTCP Anfragen können beantwortet werden. Nehmen wir zum Beispiel die Anfrage CTCP "BLABLA":

    /set irc.ctcp.blabla "Dies ist meine Antwort auf CTCP BLABLA"

Auch kann man CTCP Antworten für jeden einzelnen Server anpassen. Dazu muss man lediglich den internen Servernamen vor die CTCP Anfrage setzen:

    /set irc.ctcp.libera.version "WeeChat ${version} (for libera)"

Sollen die CTCP Antworten wieder auf die Standardeinstellungen zurück gesetzt werden dann müssen Sie lediglich die Option löschen:

    /unset irc.ctcp.version

Die CTCP Antworten sind evaluiert (siehe Befehl /eval) und die folgenden zusätzlichen Variablen sind verfügbar:

Variable | Beschreibung | Wert/Beispiel
--- | --- | ---
`${clientinfo}` | Liste der CTCP Antworten | `ACTION DCC CLIENTINFO PING SOURCE TIME VERSION`
`${version}` | WeeChat Version | `4.1.0-dev`
`${versiongit}` | WeeChat Version + Git version (1) | `4.1.0-dev (git: v4.0.0-51-g8f98b922a)`
`${git}` | Git Version (1) | `v4.0.0-51-g8f98b922a`
`${compilation}` | Datum der Kompilierung | `Jul 8 2023 20:14:23`
`${osinfo}` | Info über das genutzte OS | `Linux 5.10.0-23-amd64 / x86_64`
`${site}` | WeeChat Seite | `https://weechat.org/`
`${download}` | WeeChat, Download Seite | `https://weechat.org/download/`
`${time}` | Aktuelle Uhrzeit/Datum | `Sat, 08 Jul 2023 21:11:19 +0200`
`${username}` | Username beim IRC Server | `Name`
`${realname}` | Realname beim IRC Server | `John Doe`

| (1) Die Git Version wird durch die Ausgabe des Befehls `git describe` ermittelt. Dies erfordert, dass WeeChat aus dem Git Repository heraus kompiliert wurde und das Git überhaupt installiert ist.

Die Standard-CTCP-Antworten sind:

CTCP | Antwortformat | Beispiel
--- | --- | ---
CLIENTINFO | `${clientinfo}` | `ACTION DCC CLIENTINFO PING SOURCE TIME VERSION`
SOURCE | `${download}` | `https://weechat.org/download/`
TIME | `${time}` | `Sat, 08 Jul 2023 21:11:19 +0200`
VERSION | `WeeChat ${version}` | `WeeChat 4.1.0-dev`

### 8.8. Zielbuffer für IRC Nachrichten

Sie können einen Zielbuffer einstellen in welchem IRC Nachrichten dargestellt werden sollen. Dazu dienen die Optionen `irc.msgbuffer.*`.

Für einige IRC Nachrichten (siehe unten) können zusätzliche Werte angepasst werden:

current

  aktueller Buffer (falls es ein IRC Buffer ist, ansonsten im entsprechenden Server Buffer)

private

  privaten Buffer, oder im aktuellen/Server Buffer falls nicht vorhanden (gemäß der Einstellung in der Option irc.look.msgbuffer_fallback)

server

  Server Buffer

weechat

  WeeChat "core" Buffer

Falls die Option nicht gesetzt ist (Standard) wählt WeeChat einen geeigneten Buffer aus, üblicherweise handelt es sich dabei um einen Server oder Channel-Buffer.

Unvollständige Liste der IRC Nachrichten bzw. Alias die angepasst werden können:

Nachricht | Alias | Beschreibung
--- | --- | ---
`error` |  | Fehler
`invite` |  | Einladung in einen Channel
`join` |  | join
`kick` |  | kick
`kill` |  | kill
`mode` |  | Modus
`notice` |  | Mitteilung
`part` |  | part
`quit` |  | quit
`topic` |  | topic
`wallops` |  | wallops
| `ctcp` | ctcp (gesendet oder empfangen, in einer privmsg oder notice Nachricht)
`221` |  | User mode string
`275` | `whois` | whois (sichere Verbindung)
`301` | `whois` | whois (abwesend)
`303` |  | ison
`305` | `unaway` | nicht abwesend
`306` | `away` | abwesend
`307` | `whois` | whois (registrierter Nick)
`310` | `whois` | whois (Hilfe Modus)
`311` | `whois` | whois (User)
`312` | `whois` | whois (Server)
`313` | `whois` | whois (Operator)
`314` | `whowas` | whowas
`315` | `who` | who (Ende)
`317` | `whois` | whois (inaktiv)
`318` | `whois` | whois (ende)
`319` | `whois` | whois (Channels)
`320` | `whois` | whois (User identifizieren)
`321` | `list` | list (Start)
`322` | `list` | list (Channel)
`323` | `list` | list (Ende)
`326` | `whois` | whois (hat oper privs)
`327` | `whois` | whois (Host)
`328` |  | Channel URL
`329` |  | Erstellungsdatum des Channel
`330` | `whois` | whois (eingelogged als)
`331` |  | kein Topic für Channel
`332` |  | Channel-Topic
`333` |  | Infos über Topic
`335` | `whois` | whois (ist ein Bot auf)
`338` | `whois` | whois (Host)
`341` |  | inviting
`343` | `whois` | whois (ist opered als)
`344` | `reop` | channel reop
`345` | `reop` | channel reop (Ende)
`346` | `invitelist` | Einladung Liste
`347` | `invitelist` | Einladung Liste (Ende)
`348` | `exceptionlist` | exception Liste
`349` | `exceptionlist` | exception Liste (Ende)
`351` |  | Server Version
`352` | `who` | who
`353` | `names` | Liste von Usern im Channel
`366` | `names` | Ende der /names Liste
`367` | `banlist` | ban Liste
`368` | `banlist` | Ende der ban Liste
`369` | `whowas` | whowas (Ende)
`378` | `whois` | whois (Verbindung von)
`379` | `whois` | whois (genutzte Modi)
`401` | `whois` | kein solcher Nick/Channel
`402` | `whois` | kein solcher Server
`432` |  | fehlerhafter Nickname
`433` |  | Nickname wird schon verwendet
`438` |  | nicht autorisiert um Nicknamen zu ändern
`671` | `whois` | whois (sichere Verbindung)
`728` | `quietlist` | quiet Liste
`729` | `quietlist` | Ende der quiet Liste
`732` | `monitor` | Liste der Nicks welche überwacht werden
`733` | `monitor` | Liste der Nicks welche überwacht werden (Ende)
`901` |  | Sie sind nun eingelogged

andere nummerische Befehle können angepasst werden.

Den IRC Nachrichten kann der Servername vorangestellt werden um zu spezifizieren von welchem IRC Server die Nachricht gekommen ist. Zum Beispiel: `libera.whois`.

einige Beispiele:

- gibt die Antwort von `/whois` im privaten Buffer aus:

    /set irc.msgbuffer.whois private

- stellt die Ausgabe von whois wieder auf Standardbuffer zurück (Server Buffer):

    /unset irc.msgbuffer.whois

- zeigt Einladungen im aktuellen Buffer an, nur für den "libera" Server:

    /set irc.msgbuffer.libera.invite current

- die Nachricht "303" (ison) wird im WeeChat "core" Buffer angezeigt:

    /set irc.msgbuffer.303 weechat

### 8.9. Befehle

- `action`: sendet eine CTCP-Aktion an einen Nick oder Kanal

    /action  [-server <server>] <target>[,<target>...] <text>

    Server: an diesen Server senden (interner Name wird genutzt)
      Ziel: Nick oder Kanal (darf eine Maske sein, "*" = aktueller Kanal)
      text: Text der gesendet werden soll

- `admin`: Information über den Server-Administrator abfragen

    /admin  [<target>]

    target: Servername

- `allchan`: führt einen Befehl aus der an alle Kanäle gesendet wird, die mit einem Server verbunden sind

    /allchan  [-current] [-parted|-all] [-exclude=<channel>[,<channel>...]] <command>
              [-current] [-parted|-all] -include=<channel>[,<channel>...] <command>

    -current: führt einen Befehl aus, der für alle Kanäle, des aktuellen Servers, Anwendung findet
     -parted: Befehl wird für alle getrennten Kanäle ausgeführt (standardmäßig: Ausführung von Befehlen bei aktiven Kanälen)
        -all: Befehl wird für alle Kanäle ausgeführt (aktiv und getrennt)
    -exclude: dient zum Ausschluss ausgewählter Kanäle (Platzhalter "*" kann verwendet werden)
    -include: findet Anwendung für ausgewählte Kanäle (Platzhalter "*" kann verwendet werden)
      Befehl: Befehl der ausgeführt werden soll (oder Text welcher in den Buffer gesendet werden soll, sofern dem Befehl kein "/" vorangestellt ist)

    Argumente und Befehl werden evaluiert (siehe /help eval), folgende Variablen können genutzt werden:
      $server: Servername
      $channel: Name des Kanals
      $nick: Name des Nick, auf dem Server
      ${irc_server.xxx}: Variable xxx von Server
      ${irc_channel.xxx}: Variable xxx von Kanal

    Beispiele:
      führe den Befehl '/me Ich teste gerade etwas' für alle Kanäle aus:
        /allchan /me Ich teste gerade etwas
      schicke 'Hallo Welt' an jeden Kanal, ausgenommen an den #weechat Kanal:
        /allchan -exclude=#weechat Hallo Welt
      schicke 'Hallo Welt' an jeden Kanal, ausgenommen an den #weechat Kanal und Kanäle die mit #linux beginnen:
        /allchan -exclude=#weechat,#linux* Hallo Welt
      schickt den Text 'Hallo' an alle Kanäle die mit #linux beginnen:
        /allchan -include=#linux* Hallo
      schließt alle Buffer, deren Kanäle nicht mit einem Server verbunden sind:
        /allchan -parted /close

- `allpv`: führt einen Befehl aus der an alle privaten Buffer gesendet wird, die mit einem Server verbunden sind

    /allpv  [-current] [-exclude=<nick>[,<nick>...]] <command>
            [-current] -include=<nick>[,<nick>...] <command>

    -current: führt einen Befehl aus, der für alle privaten Buffer, des aktuellen Servers, Anwendung findet
    -exclude: dient zum Ausschluss ausgewählter Nicks (Platzhalter "*" kann verwendet werden)
    -include: findet Anwendung für ausgewählte Nicks (Platzhalter "*" kann verwendet werden)
      Befehl: Befehl der ausgeführt werden soll (oder Text welcher in den Buffer gesendet werden soll, sofern dem Befehl kein "/" vorangestellt ist)

    Argumente und Befehl werden evaluiert (siehe /help eval), folgende Variablen können genutzt werden:
      $server: Servername
      $channel: Name des Kanals
      $nick: Name des Nick, auf dem Server
      ${irc_server.xxx}: Variable xxx von Server
      ${irc_channel.xxx}: Variable xxx von Kanal

    Beispiele:
      führe den Befehl '/me Ich teste gerade etwas...' für alle privaten Buffer aus:
        /allpv /me Ich teste gerade etwas
      schicke 'Hallo' an alle, ausgenommen an Nick foo:
        /allpv -exclude=foo Hallo
      schicke den Text 'Hallo' an alle, ausgenommen für Nick foo und Nicks die mit bar beginnen:
        /allpv -exclude=foo,bar* Hallo
      schicke den Text 'Hallo' an alle Nicks die mit bar beginnen:
        /allpv -include=bar* Hallo
      schließe alle privaten Buffer:
        /allpv /close

- `allserv`: führt einen Befehl aus, der zu allen verbundenen Server gesendet wird

    /allserv  [-exclude=<server>[,<server>...]] <command>
              -include=<server>[,<server>...] <command>

    -exclude: dient zum Ausschluss ausgewählter Server (Platzhalter "*" kann verwendet werden)
    -include: findet Anwendung für ausgewählte Server (Platzhalter "*" kann verwendet werden)
      Befehl: Befehl der ausgeführt werden soll (oder Text welcher in den Buffer gesendet werden soll, sofern dem Befehl kein "/" vorangestellt ist)

    Argumente und Befehl werden evaluiert (siehe /help eval), folgende Variablen können genutzt werden:
      $server: Servername
      $nick: Name des Nick, auf dem Server
      ${irc_server.xxx}: Variable xxx von Server

    Beispiele:
      ändere den Nick auf allen Servern:
        /allserv /nick newnick
      führt ein whois mit meinem nick auf allen Servern aus:
        /allserv /whois $nick

- `auth`: authentifizieren mit SASL

    /auth  [<username> <password>]

    Username: SASL Username (Inhalt ist evaluiert, siehe /help eval; Serveroptionen werden mit ${irc_server.xxx} evaluiert und ${server} wird durch den Servernamen ersetzt)
    Passwort: SASL-Passwort oder Pfad zur Datei mit privatem Schlüssel (Inhalt ist evaluiert, siehe /help eval; Serveroptionen werden mit ${irc_server.xxx} evaluiert und ${server} wird durch den Servernamen ersetzt)

    Wenn Benutzername und Kennwort nicht angegeben wurden, werden die Werte aus den Serveroptionen "sasl_username" und "sasl_password" (oder "sasl_key") verwendet.

    Beispiele:
      authentifizieren Sie sich mit dem im Server definierten Benutzernamen/Passwort:
        /auth
      authentifizieren Sie sich mit einem anderen Benutzer:
        /auth user2 password2
      authentifizieren als anderer Benutzer mit Mechanismus ecdsa-nist256p-challenge:
        /auth user2 ${weechat_config_dir}/ecdsa2.pem

- `autojoin`: Konfigurieren der Serveroption "autojoin"

    /autojoin  add [<channel1> [<channel2>...]]
               addraw <channel1>[,<channel2>...] [<key1>[,<key2>...]]
               del [<channel1> [<channel2>...]]
               apply
               join
               sort [buffer]

          add: Hinzufügen des aktuellen Kanals oder einer Liste von Kanälen (mit optionalen Schlüsseln) zur autojoin-Option; Wenn Sie sich in dem Kanal befinden und der Schlüssel nicht übergeben wird, wird der Schlüssel im Kanal gelesen
       addraw: das IRC Roh-Format wird genutzt (wie beim /join Befehl): alle Kanäle werden durch Kommata voneinander getrennt und optional werden die Schlüssel durch Kommata separiert
          del: Löschen des aktuellen Kanals oder eine Liste von Kanälen aus der autoJoin-Option
        Kanal: Name des Kanals
    Schlüssel: Schlüssel für den Kanal
        apply: fügt die aktuell besuchten Kanäle der autojoin-Option hinzu
         join: betrete die Kanäle, die in der autojoin-Option eingetragen sind
         sort: sortiert die Kanäle alphabetisch, in der autojoin Option, nutzt man "buffer": sortiert die Kanäle nach der Reihenfolge der Buffer, dann alphabetisch

    Beispiele:
      /autojoin add
      /autojoin add #test
      /autojoin add #chan1 #chan2
      /allchan /autojoin add
      /autojoin addraw #chan1,#chan2,#chan3 key1,key2
      /autojoin del
      /autojoin del #chan1
      /autojoin apply
      /autojoin join
      /autojoin sort
      /autojoin sort buffer

- `ban`: Nicknamen oder Hosts sperren/verbannen

    /ban  [<channel>] [<nick> [<nick>...]]

    Kanal: Name des Kanals
     Nick: Nick oder Host

    Ohne Angabe von Argumenten wird die Ban-Liste für den aktuellen Kanal angezeigt.

- `cap`: Aushandlung der Clientfähigkeit

    /cap  ls
          list
          req|ack [<capability> [<capability>...]]
          end

      ls: führt alle Fähigkeiten auf die vom Server unterstützt werden
    list: führt alle Fähigkeiten auf die aktuell genutzt werden
     req: fordert eine Fähigkeit an oder entfernt eine Fähigkeit (wenn diese mit "-" beginnt, zum Beispiel: "-multi-prefix")
     ack: bestätigt eine Fähigkeit, die von Serverseite eine Bestätigung erfordert
     end: beendet die Übertragung von Fähigkeiten

    Ohne Angaben von Argumenten werden "ls" und "list" gesendet.

    Fähigkeiten die von WeeChat unterstützt werden: account-notify, account-tag, away-notify, batch, cap-notify, chghost, draft/multiline, echo-message, extended-join, invite-notify, message-tags, multi-prefix, server-time, setname, userhost-in-names.

    Fähigkeiten die standardmäßig genutzt werden sollen, können mit der Option irc.server_default.capabilities gesetzt werden (oder individuell für jeden Server mit der Option irc.server.xxx.capabilities).

    Beispiele:
      zeigt unterstützte und aktivierte Funktionen an:
        /cap
      Fähigkeiten multi-prefix und away-notify anfordern:
        /cap req multi-prefix away-notify
      Fähigkeit extended-join anfordern, Fähigkeit multi-prefix entfernen:
        /cap req extended-join -multi-prefix
      Fähigkeit away-notify entfernen:
        /cap req -away-notify

- `connect`: Mit IRC-Server(n) verbinden

    /connect  [<server> [<server>...]] [-<option>[=<value>]] [-no<option>] [-nojoin] [-switch]
              -all|-auto|-open [-nojoin] [-switch]

      Server: Name des Server, welcher lauten kann:
              - intern genutzter Servername, zu dem eine Verbindung aufgebaut werden soll (Server muss zuerst mittels "/server add" angelegt werden (wird empfohlen!))
              - Hostname/Port oder IP/Port, Port 6697 wird standardmäßig für TLS verwendet, sonst wird Port 6667 genutzt
              - URL mit folgendem Format: irc[6][s]://[nickname[:password]@]irc.example.org[:port][/#channel1][,#channel2[...]]
              Hinweis: bei einer Adresse/IP/URL, wird ein temporärer Server erstellt (DIESER WIRD NICHT GESPEICHERT), siehe /help irc.look.temporary_servers
      Option: legt Einstellung für den Server fest (die Boolean-Einstellungen können weggelassen werden)
    nooption: deaktiviert eine Boolean Einstellung (Beispiel: -notls)
        -all: Verbindung wird zu den Servern hergestellt, für die eine Konfiguration vorhanden ist
       -auto: Verbindung zu den Servern herstellen, für die die Einstellung "autoconnect" aktiviert ist
       -open: stellt eine Verbindung zu allen geöffneten Servern her, zu denen aktuell keine Verbindung besteht
     -nojoin: Channel(s) werden nicht betreten (auch falls die Funktion "autojoin" aktiviert sein sollte)
     -switch: wechselt zur nächsten Server-Adresse

    Um eine Verbindung zum Server, oder Verbindungsversuche, zu beenden wird der Befehl /disconnect verwendet.

    Beispiele:
      /connect libera
      /connect irc.oftc.net
      /connect irc.oftc.net/6667 -notls
      /connect irc6.oftc.net/9999 -ipv6
      /connect my.server.org -password=test
      /connect irc://nick@irc.oftc.net/#channel
      /connect -switch

- `ctcp`: CTCP-Nachricht verschicken

    /ctcp  [-server <server>] <target>[,<target>...] <type> [<arguments>]

       Server: an diesen Server senden (interner Name wird genutzt)
         Ziel: Nick oder Kanal ("*" = aktueller Kanal)
          Typ: CTCP-Nachricht (Beispiele: "version", "ping", usw.)
    Argumente: Argumente für CTCP

    Beispiele:
      /ctcp toto time
      /ctcp toto version
      /ctcp * version

- `cycle`: Einen Kanal verlassen und wieder betreten

    /cycle  [<channel>[,<channel>...]] [<message>]

        Kanal: Name des Kanals
    Nachricht: Abschiedsnachricht (wird anderen Usern angezeigt, beim Verlassen des Kanals)

- `dcc`: Startet DCC Verbindung (passiver Dateitransfer oder direkter Chat)

    /dcc  chat <nick>
          send <nick> <file>

     nick: Nickname
    Datei: zu versendende Datei (welche lokal vorliegt)

    Beispiele:
      /dcc chat toto
      /dcc send toto /home/foo/bar.txt

- `dehalfop`: halb-Operator-Privilegien einem oder mehreren Nick(s) entziehen

    /dehalfop  <nick> [<nick>...]
               * -yes

    Bick: Nick oder Maske (Platzhalter "*" kann verwendet werden)
       *: entzieht allen Nicks im Kanal den half-operator-Status, ausgenommen der eigene Nick

- `deop`: Operator-Privilegien einem oder mehreren Nicknamen entziehen

    /deop  <nick> [<nick>...]
           * -yes

    Bick: Nick oder Maske (Platzhalter "*" kann verwendet werden)
       *: entzieht allen Nicks im Kanal den Operator-Status, ausgenommen der eigene Nick

- `devoice`: Voice-Privilegien einem oder mehreren Nicknamen entziehen

    /devoice  <nick> [<nick>...]
              * -yes

    Bick: Nick oder Maske (Platzhalter "*" kann verwendet werden)
       *: entzieht allen Nicks im Kanal die Stimme

- `die`: Server herunterfahren

    /die  [<target>]

    target: Servername

- `disconnect`: Verbindung zu einem oder mehreren IRC-Server(n) trennen

    /disconnect  [<server>|-all|-pending [<reason>]]

        Server: interner Name des Servers
          -all: Verbindung zu allen Servern beenden
      -pending: bricht eine automatische Wiederverbindung zu Servern ab, zu denen gerade eine Verbindung aufgebaut wird
    Begründung: Begründung für die Trennung

- `halfop`: halb-Operator Status an Nick(s) vergeben

    /halfop  <nick> [<nick>...]
             * -yes

    Bick: Nick oder Maske (Platzhalter "*" kann verwendet werden)
       *: halb-Operator Status an alle Personen im Kanal vergeben

- `ignore`: Ignoriert Nicks/Hosts von Kanälen oder Servern

    /ignore  list
             add [re:]<nick> [<server> [<channel>]]
             del <number>|-all

      list: zeigt alle Ignorierungen an
       add: fügt eine Ignorierung hinzu
      nick: Nick oder Hostname: Dies kann ein erweiterter regulärer POSIX Ausdruck sein, sofern "re:" angegeben wird oder eine Maske mittels "*" genutzt wird um ein oder mehrere Zeichen zu ersetzen (Der reguläre Ausdruck kann mit "(?-i)" beginnen, um die Groß-/Kleinschreibung zu berücksichtigen)
       del: entfernt eine Ignorierung
    Nummer: Nummer der Ignorierung, die entfernt werden soll (nutze "list" um den entsprechenden Eintrag zu finden)
      -all: entfernt alle Einträge
    Server: interner Name des Server auf welchem die Ignorierung statt finden soll
     Kanal: Name des Kanals, für welchen die Ignorierung gelten soll

    Hinweis: Wenn die Option irc.look.ignore_tag_messages aktiviert ist, erhalten die ignorierten Nachrichten lediglich den Tag "irc_ignored", anstatt vollständig entfernt zu werden.

    Beispiele:
      /ignore add toto
      /ignore add toto@domain.com libera
      /ignore add toto*@*.domain.com libera #weechat

- `info`: Information über den Server abfragen

    /info  [<target>]

    target: Servername

- `invite`: Eine Person in einen Kanal einladen

    /invite  <nick> [<nick>...] [<channel>]

     nick: Nickname
    Kanal: Name des Kanals

- `ison`: Überprüft ob ein Nick gegenwärtig auf IRC angemeldet ist

    /ison  <nick> [<nick>...]

    nick: Nickname

- `join`: einen Kanal betreten

    /join  [-noswitch] [-server <server>] [<channel1>[,<channel2>...]] [<key1>[,<key2>...]]

    -noswitch: es wird nicht zum neuen Buffer gewechselt
       Server: an diesen Server senden (interner Name wird genutzt)
        Kanal: Name des Kanals
    Schlüssel: Zugriffsschlüssel für einen Kanal (Kanäle, die einen Zugriffsschlüssel benötigen, müssen zuerst aufgeführt werden)

    Beispiele:
      /join #weechat
      /join #protectedchan,#weechat key
      /join -server libera #weechat
      /join -noswitch #weechat

- `kick`: wirft einen User aus einem Kanal

    /kick  [<channel>] <nick> [<reason>]

    Kanal: Name des Kanals
     nick: Nickname
    Grund: Begründung für den Rauswurf (evaluiert, siehe /help eval; besondere Variablen ${nick} (eigener Nick), ${target} (betroffener Nick), ${channel} und ${server}, werden durch den entsprechenden Wert ersetzt)

- `kickban`: wirft einen User aus einem Kanal und sein Host kommt auf die Bannliste

    /kickban  [<channel>] <nick> [<reason>]

    Kanal: Name des Kanals
     nick: Nickname
    Grund: Begründung für den Rauswurf (evaluiert, siehe /help eval; besondere Variablen ${nick} (eigener Nick), ${target} (betroffener Nick), ${channel} und ${server}, werden durch den entsprechenden Wert ersetzt)

    Es ist möglich kick/ban mittels einer Maske auszuführen. Der Nick wird aus der Maske heraus gefiltert und durch "*" ersetzt.

    Beispiel:
      /kickban toto!*@host.com

- `kill`: Beende Client-Server Verbindung

    /kill  <nick> [<reason>]

     nick: Nickname
    Grund: Begründung

- `knock`: sendet eine Benachrichtigung an einen Kanal, der nur mit Einladung betreten werden kann, um eine Einladung anzufragen

    /knock  <channel> [<message>]

      Kanal: Name des Kanals
    message: zu sendende Nachricht

- `links`: alle Servernamen auflisten, die dem antwortenden Server bekannt sind

    /links  [[<target>] <server_mask>]

            Ziel: dieser Remote-Server soll die Anfrage beantworten
    Server_maske: die aufzulistenden Server sollen diesem Muster entsprechen

- `list`: Kanäle und deren Themen auflisten

    /list  [-server <server>] [-re <regex>] [<channel>[,<channel>...]] [<target>]
           -up|-down [<number>]
           -left|-right [<percent>]
           -go <line>|end
           -join

    Server: an diesen Server senden (interner Name wird genutzt)
     regex: erweiterter regulärer POSIX Ausdruck um Filterergebnisse zu erstellen (Groß- und Kleinschreibung wird ignoriert, kann mit "(?-i)" beginnen, um Groß- und Kleinschreibung zu berücksichtigen); fallsein regulärer Ausdruck verwendet wird, wird das Ergebnis im entsprechendem Serverbuffer angezeigt, anstelle in dem zugehörigen Buffer
     Kanal: Name des Kanals
    target: Servername
       -up: bewegt die ausgewählte Zeile um die Anzahl an Zeilen nach oben
     -down: bewegt die ausgewählte Zeile um die Anzahl an Zeilen nach unten
     -left: der Buffer wird wird "prozentual" entsprechend der Fensterbreite nach links verschoben
    -right: der Buffer wird wird "prozentual" entsprechend der Fensterbreite nach rechts verschoben
       -go: wählt eine Zeile mit der entsprechenden Nummer aus, die erste Zeile beginnt mit 0 (mit "end" wird die letzte Zeile ausgewählt)
     -join: dem Kanal, in der ausgewählten Zeile, beitreten

    Für Tasten, Eingaben und Mausaktionen im Buffer finden Sie unter Tastenbelegungen im Benutzeranleitung.

    Sortiertierung im /list Buffer:
      name: Kanalname (z.B.: "##test")
      name2: Kanalname ohne Präfix (z.B.: "test")
      users: Anzahl an Usern im Kanal
      topic: Thema des Kanals

    Beispiele:
      liste alle Kanäle des Server und zeige diese in einem entsprechendem Buffer an (kann bei großen Netzwerken sehr langsam sein):
        /list
      liste Kanal #weechat:
        /list #weechat
      liste alle Kanäle auf, die mit "#weechat" beginnen (kann bei großen Netzwerken sehr langsam sein):
        /list -re #weechat.*
      im /list Buffer:
        Kanäle mit "weechat" im Namen:
          n:weechat
        Kanäle mit mindestens 100 Usern:
          u:100
        Kanäle mit "freebsd" im Thema (Groß- und Kleinschreibung wird dabei ignoriert) und mehr als 10 Usern:
          c:${topic} =- freebsd && ${users} > 10
        sortiert Kanäle nach Usern (Große Kanäle als Erstes), dann name2 (Name ohne Präfix):
          s:-users,name2

- `lusers`: Statistik über die Größe des IRC-Netzwerks abfragen

    /lusers  [<mask> [<target>]]

    Maske: ausschließlich Server, die diesem Muster entsprechen
     Ziel: Server, der die Anfrage weiterleiten soll

- `map`: Zeigt das IRC Netzwerk, in Form einer Baumstruktur, an

- `me`: eine CTCP ACTION an den aktuellen Kanal senden

    /me  <message>

    message: zu sendende Nachricht

- `mode`: Eigenschaften eines Kanals oder von einem User ändern

    /mode  [<channel>] [+|-]o|p|s|i|t|n|m|l|b|e|v|k [<arguments>]
           <nick> [+|-]i|s|w|o

    Kanal: zu ändernder Name des Kanals (standardmäßig der aktuelle Kanal)

    Kanal-Eigenschaften:
      o: vergibt/entzieht Operator Privilegien
      p: privater Kanal
      s: geheimer Kanal
      i: geschlossener Kanal (Zutritt nur mit Einladung)
      t: nur Operatoren dürfen das Thema setzen
      n: keine Nachrichten von außerhalb des Kanals zulassen
      m: moderierter Kanal (schreiben nur mit Stimme)
      l: maximale Anzahl an Usern im Kanal festlegen
      b: Bannmaske setzen, um Anwendern den Zutritt zu verweigern
      e: legt Ausnahmemaske fest
      v: vergibt/entzieht Schreibrechte (voice) in moderierten Kanälen
      k: legt ein Passwort für den Kanal fest

    User-Eigenschaften:
      Nick: zu ändernder Nickname
      i: User als unsichtbar kennzeichnen
      s: User empfängt Server-Nachrichten
      w: User empfängt WALLOPS
      o: User ist Channel-Operator

    Die Liste der hier dargestellten Eigenschaften ist nicht vollständig. Es sollte die Dokumentation des jeweiligen Servers zu Rate gezogen werden, um alle verfügbaren Modi zu erfahren.

    Beispiele:
      /mode #weechat +t
      /mode nick +i

- `motd`: Die "Mitteilung des Tages" abfragen

    /motd  [<target>]

    target: Servername

- `msg`: Nachricht an Nick/Kanal verschicken

    /msg  [-server <server>] <target>[,<target>...] <text>

    Server: an diesen Server senden (interner Name wird genutzt)
      Ziel: Nick oder Kanal (darf eine Maske sein, "*" = aktueller Kanal)
      text: Text der gesendet werden soll

- `names`: Nicknamen des Kanals auflisten

    /names  [-count | -x] [<channel>[,<channel>...]]

    -count: Nur die Anzahl der Benutzer anzeigen
        -x: zeigt nur Benutzer mit diesem Modus an: -o für Ops, -h für Halfops, -v für stimmhafte Benutzer usw. und -* für normale Benutzer
     Kanal: Name des Kanals

- `nick`: derzeitigen Nicknamen ändern

    /nick  [-all] <nick>

    -all: Name des Nick, auf allen verbundenen Servern ändern
    Nick: Neuer Nick

- `notice`: Mitteilung (notice) an einen User verschicken

    /notice  [-server <server>] <target> <text>

    Server: an diesen Server senden (interner Name wird genutzt)
      Ziel: Nick oder Kanalname
      text: Text der gesendet werden soll

- `notify`: fügt eine Benachrichtigung für An- oder Abwesenheit von Nicks auf Servern hinzu

    /notify  add <nick> [<server> [-away]]
             del <nick>|-all [<server>]

       add: fügt eine Benachrichtigung hinzu
      nick: Nickname
    Server: interner Servername (standardmäßig aktueller Server)
     -away: gibt eine Benachrichtigung aus, falls sich die Abwesenheitsnachricht ändert (der Nick wird mittels whois abgefragt)
       del: entfernt eine Benachrichtigung
      -all: entfernt alle Benachrichtigungen

    Ohne Angabe von Argumenten werden alle Benachrichtigungen für den aktuellen Server angezeigt (um alle Server abzufragen muss der Befehl im Core Buffer ausgeführt werden).

    Beispiele:
      /notify add toto
      /notify add toto libera
      /notify add toto libera -away

- `op`: Status des Kanal-Operator an Nicknamen vergeben

    /op  <nick> [<nick>...]
         * -yes

    Bick: Nick oder Maske (Platzhalter "*" kann verwendet werden)
       *: *: Operator Status an alle Personen im Kanal vergeben

- `oper`: Operator Privilegien anfordern

    /oper  <user> <password>

    Benutzer: Benutzer
    Passwort: Passwort

- `part`: Einen Kanal verlassen

    /part  [<channel>[,<channel>...]] [<message>]

        Kanal: Name des Kanals
    Nachricht: Abschiedsnachricht (wird anderen Usern angezeigt, beim Verlassen des Kanals)

- `ping`: sendet einen Ping an den Server

    /ping  <target1> [<target2>]

    Ziel1: Servername
    Ziel2: Ping an diesen Server weiterleiten

- `pong`: Auf Ping antworten

    /pong  <daemon> [<daemon2>]

     Daemon: Daemon welcher auf die Ping-Nachricht geantwortet hat
    Daemon2: Nachricht an diesen Daemon weiterleiten

- `query`: Eine private Nachricht an einen Nick schicken

    /query  [-noswitch] [-server <server>] <nick>[,<nick>...] [<text>]

    -noswitch: es wird nicht zum neuen Buffer gewechselt
       Server: an diesen Server senden (interner Name wird genutzt)
         nick: Nickname
         text: Text der gesendet werden soll

- `quiet`: Nicks oder Hosts das Wort entziehen (User können im Kanal erst schreiben, wenn sie "+v" oder höher besitzen)

    /quiet  [<channel>] [<nick> [<nick>...]]

    Kanal: Name des Kanals
     Nick: Nick oder Host

    Ohne Angabe von Argumenten wird die Quiet-Liste für den aktuellen Kanal angezeigt.

- `quote`: Daten direkt an Server senden (siehe RFC 2812)

    /quote  [-server <server>] <data>

    Server: an diesen Server senden (interner Name wird genutzt)
     Daten: Roh-Daten welche versendet werden

- `reconnect`: Mit einem oder mehreren Server(n) erneut verbinden

    /reconnect  <server> [<server>...] [-nojoin] [-switch]
                -all [-nojoin] [-switch]

     Server: interner Name des Servers
       -all: Verbindung zu allen Servern wiederherstellen
    -nojoin: Channel(s) werden nicht betreten (auch falls die Funktion "autojoin" aktiviert sein sollte)
    -switch: wechselt zur nächsten Server-Adresse

- `rehash`: Den Server auffordern seine Konfigurationsdatei neu zu laden

    /rehash  [<option>]

    option: zusätzliche Einstellung, die von manchen Servern berücksichtigt wird

- `remove`: zwingt einen User einen Kanal zu verlassen

    /remove  [<channel>] <nick> [<reason>]

    Kanal: Name des Kanals
     nick: Nickname
    Grund: Begründung (die Variablen $nick, $channel und $server werden durch den entsprechenden Wert ersetzt)

- `restart`: Server dazu bringen sich selbst neu zu starten

    /restart  [<target>]

    target: Servername

- `rules`: Fordert die Serverregeln an

- `sajoin`: fordert einen User auf einen oder mehrere Kanäle zu betreten

    /sajoin  <nick> <channel>[,<channel>...]

     nick: Nickname
    Kanal: Name des Kanals

- `samode`: ändert den Modus des Kanals ohne das Operator-Privilegien vorliegen

    /samode  [<channel>] <mode>

    Kanal: Name des Kanals
    Modus: neuer Modus für Kanal

- `sanick`: zwingt einen User den Nick zu ändern

    /sanick  <nick> <new_nick>

          nick: Nickname
    neuer_nick: neuer Nickname

- `sapart`: zwingt einen User den oder die Kanäle zu verlassen

    /sapart  <nick> <channel>[,<channel>...]

     nick: Nickname
    Kanal: Name des Kanals

- `saquit`: Zwingt einen User den Server mit Begründung zu verlassen

    /saquit  <nick> <reason>

     nick: Nickname
    Grund: Begründung

- `server`: auflisten, hinzufügen oder entfernen von IRC-Servern

    /server  list|listfull [<name>]
             add <name> <hostname>[/<port>] [-temp] [-<option>[=<value>]] [-no<option>]
             copy|rename <name> <new_name>
             reorder <name> [<name>...]
             open <name>|-all [<name>...]
             del|keep <name>
             deloutq|jump
             raw [<filter>]

        list: listet Server auf (ohne Angabe von Argumente wird diese Liste standardmäßig ausgegeben)
    listfull: listet alle Server auf, mit detaillierten Informationen zu jedem einzelnen Server
         add: erstellt einen neuen Server
        Name: Servername, dient der internen Nutzung und zur Darstellung; dieser Name wird genutzt um sich mit dem Server zu verbinden (/connect Name) und um die entsprechenden Optionen anzupassen: irc.server.name.xxx
    Hostname: Name oder IP-Adresse des Servers. Optional kann zusätzlich der Port festgelegt werden (Standardport: 6697 für TLS, ansonsten 6667). Mehrere Adressen können durch Kommata getrennt werden
       -temp: erstellt temporären Server (dieser wird nicht gespeichert)
      Option: legt Einstellung für den Server fest (die Boolean-Einstellungen können weggelassen werden)
    nooption: deaktiviert eine Boolean Einstellung (Beispiel: -notls)
        copy: erstellt eine Kopie des Servers
      rename: benennt den Server um
     reorder: Anordnung der Server ändern
        open: öffnet den Serverbuffer, ohne eine Verbindung herzustellen
        keep: übernimmt den Server in die Konfigurationsdatei (nur sinnvoll bei temporär angelegten Servern)
         del: entfernt einen Server
     deloutq: löscht bei allen Servern alle ausgehende Nachrichten, die in der Warteschlange stehen (dies betrifft alle Nachrichten die WeeChat gerade sendet)
        jump: springt zum Server-Buffer
         raw: öffnet Buffer mit Roh-IRC-Daten (sinnvoll bei Problemen)
      Filter: setzt einen neuen Filter um übereinstimmende Nachrichten anzuzeigen (ein Filter kann auch in der Eingabezeile im IRC Datenbuffer angelegt werden); erlaubte Formatierungen:
              `*`: zeigt alle Nachrichten an (keine Filterung von Nachrichten)
              `xxx`: zeigt nur Nachrichten an, die mit "xxx" übereinstimmen
              `s:xxx`: zeigt nur Nachrichten von Server "xxx" an
              `f:xxx`: zeigt nur Nachrichten mit dem entsprechenden Flag an: recv (erhaltene Nachricht), sent (gesendete Nachricht), modified (Nachricht welche modifiziert wurde), redirected (umgeleitete Nachricht)
              `m:xxx`: zeigt nur IRC Befehl "xxx" an
              `c:xxx`: zeigt nur Nachrichten an auf die die evaluierte Bedingung "xxx" zutrifft, folgende Variablen können verwendet werden: Ausgabe der Funktion irc_message_parse (wie nick, command, channel, text, etc., für eine Liste aller möglichen Variablen siehe Funktion info_get_hashtable in der Anleitung für API Erweiterung ), date (Format: "%FT%T.%f", siehe Funktion util_strftimeval in der Anleitung für API Erweiterung), server, recv, sent, modified, redirected

    Beispiele:
      /server listfull
      /server add libera irc.libera.chat
      /server add libera irc.libera.chat/6667 -notls -autoconnect
      /server add chatspike irc.chatspike.net/6667,irc.duckspike.net/6667 -notls
      /server copy libera libera-test
      /server rename libera-test libera2
      /server reorder libera2 libera
      /server del libera
      /server deloutq
      /server raw
      /server raw s:libera
      /server raw c:${recv} && ${command}==PRIVMSG && ${nick}==foo

- `service`: einen neuen Service eintragen

    /service  <nick> <reserved> <distribution> <type> <reserved> <info>

    Verteilung: Sichtbarkeit des Services
           Typ: für zukünftige Verwendung reserviert

- `servlist`: Auflistung von Services die momentan mit dem Netzwerk verbunden sind

    /servlist  [<mask> [<type>]]

    mask: nur zutreffende Services auflisten
     Typ: nur Services von diesem Typ auflisten

- `setname`: setze Realnamen

    /setname  <Realname>

    realname: neuer Realname

- `squery`: Nachricht an einen Service senden

    /squery  <service> <text>

    Service: Name des Service
       text: Text der gesendet werden soll

- `squit`: Verbindung zum Server trennen

    /squit  <target> <comment>

       target: Servername
    Kommentar: Kommentar

- `stats`: Serverstatistik abfragen

    /stats  [<query> [<target>]]

     query: c/h/i/k/l/m/o/y/u (siehe RFC1459)
    target: Servername

- `summon`: Nutzer die auf dem IRC-Server arbeiten darum bitten auf den IRC-Server zu kommen

    /summon  <user> [<target> [<channel>]]

      User: Username
    target: Servername
     Kanal: Name des Kanals

- `time`: Ortszeit des Servers abfragen

    /time  [<target>]

    target: Zeit des angegebenen Servers abfragen

- `topic`: Thema des Kanals abfragen/setzen

    /topic  [<channel>] [<topic>|-delete]

      Kanal: Name des Kanals
      Thema: neues Thema für den Kanal setzen
    -delete: Thema des Kanals löschen

- `trace`: Route zum angegebenen Server ermitteln

    /trace  [<target>]

    target: Servername

- `unban`: Bann von Nicks oder Hosts aufheben

    /unban  [<channel>] <nick>|<number>|<n1>-<n2> [<nick>|<number>|<n1>-<n2>...]

     Kanal: Name des Kanals
      Nick: Nick oder Host
    Nummer: Nummer des Bannes (wird beim Befehl /ban angezeigt)
        n1: Intervall-Startnummer
        n2: Intervall-Endnummer

- `unquiet`: Nicks oder Hosts das Wort erteilen

    /unquiet  [<channel>] <nick>|<number>|<n1>-<n2> [<nick>|<number>|<n1>-<n2>...]

     Kanal: Name des Kanals
      Nick: Nick oder Host
    Nummer: Quiet-Nummer (wird beim Befehl /quiet angezeigt)
        n1: Intervall-Startnummer
        n2: Intervall-Endnummer

- `userhost`: zeigt Informationen zu Nicknamen an

    /userhost  <nick> [<nick>...]

    nick: Nickname

- `users`: Auflistung der User die bei dem Server angemeldet sind

    /users  [<target>]

    target: Servername

- `version`: Versionsinformation des Nicknamen oder Servers ermitteln (des aktuellen oder angegebenen Nick/Server)

    /version  [<target>|<nick>]

    target: Servername
      nick: Nickname

- `voice`: Stimme an Nick(s) vergeben

    /voice  <nick> [<nick>...]
            * -yes

    Bick: Nick oder Maske (Platzhalter "*" kann verwendet werden)
       *: vergibt an alle Nicks im Kanal die Stimme

- `wallchops`: Nachricht an Kanal-Operator verschicken

    /wallchops  [<channel>] <text>

    Kanal: Name des Kanals
     text: Text der gesendet werden soll

- `wallops`: versendet eine Nachricht an alle User, die den 'w'-Mode gesetzt haben

    /wallops  <text>

    text: Text der gesendet werden soll

- `who`: sendet eine Anfrage die eine Anzahl von Informationen zurück gibt

    /who  [<mask> [o]]

    Maske: nur Informationen, die dieser Maske entsprechen
        o: nur Operatoren ausgeben, die dem Filter entsprechen

- `whois`: Information über User abfragen

    /whois  [<target>] [<nick>[,<nick>...]]

    target: Servername
      Nick: Nick (kann eine Maske sein)

    Ohne Angabe von Argumenten, nutzt /whois folgende Regel:
      - den eigenen Nick, falls es sich um einen Server/Kanal-Buffer handelt
      - den Nick des Gesprächspartners, falls es sich um einen privaten Buffer handelt.

    Sollte die Einstellung irc.network.whois_double_nick aktiviert sein dann wird ein Nick zweimal verwendet (sofern der Nick nur einmal angegeben wurde), um die Idle-Zeit zu erhalten.

- `whowas`: Informationen über einen nicht mehr angemeldeten Nicknamen abfragen

    /whowas  <nick>[,<nick>...] [<count> [<target>]]

      nick: Nickname
    Anzahl: maximale Anzahl an Antworten (negative Zahl für eine vollständige Suche)
      Ziel: Antwort soll auf diese Suchmaske zutreffen

### 8.10. Optionen

Sektionen in Datei irc.conf:

Sektion | Steuerbefehl | Beschreibung
--- | --- | ---
`look` | `/set irc.look.*` | Erscheinungsbild.
`color` | `/set irc.color.*` | Farben.
`network` | `/set irc.network.*` | Netzwerkoptionen.
`msgbuffer` | `/set irc.msgbuffer.*` | Zielbuffer für IRC Nachrichten (Optionen können in Sektion hinzugefügt/entfernt werden).
`ctcp` | `/set irc.ctcp.*` | CTCP Antworten (Optionen können in Sektion hinzugefügt/entfernt werden).
`ignore` | `/ignore` | Ignoriert Menschen.
`server_default` | `/set irc.server_default.*` | Standardwerte für Server (werden genutzt, falls keine Optionen für einen Server gesetzt sind).
`server` | `/server /set irc.server.*` | Server.

Optionen:

- irc.color.input_nick

  - Beschreibung: Farbe des eigenen Nicknamens in der Eingabezeile

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `lightcyan`

- irc.color.item_lag_counting

  - Beschreibung: Farbe in der die Anzeige für die Verzögerung (Lag) dargestellt werden soll, sobald auf Antwort gewartet wird ("pong" wurde vom Server nicht empfangen und die Verzögerungszeit wird erhöht)

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `default`

- irc.color.item_lag_finished

  - Beschreibung: Farbe in der die Anzeige für die Verzögerung (Lag) dargestellt werden soll, sobald ein "pong" vom Server empfangen wurde

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `yellow`

- irc.color.item_nick_modes

  - Beschreibung: Farbe in der der Nick-Modus in dem Bar-Item "input_prompt" angezeigt werden soll

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `default`

- irc.color.item_tls_version_deprecated

  - Beschreibung: Farbe die für eine unsicherere TLS-Version im Bar-Item "tls_version" genutzt wird

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `yellow`

- irc.color.item_tls_version_insecure

  - Beschreibung: Farbe die für eine unsichere TLS-Versionen im Bar-Item "tls_version" genutzt wirdFarbe für unsichere TLS-Versionen im Balkenelement "tls_version"

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `red`

- irc.color.item_tls_version_ok

  - Beschreibung: Farbe die für eine sicherere TLS-Version im Bar-Item "tls_version" genutzt wird

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `green`

- irc.color.list_buffer_line_selected

  - Beschreibung: Textfarbe für den Auswahlbalken im /list-Buffer

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `white`

- irc.color.list_buffer_line_selected_bg

  - Beschreibung: Hintergrundfarbe für die ausgewählte Zeile im /list-Buffer

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `24`

- irc.color.message_account

  - Beschreibung: Textfarbe für "account" Nachrichten

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `cyan`

- irc.color.message_chghost

  - Beschreibung: Textfarbe in der "chghost" Nachrichten dargestellt werden

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `brown`

- irc.color.message_join

  - Beschreibung: Textfarbe in der die Meldungen für das Betreten eines Kanals angezeigt werden soll

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `green`

- irc.color.message_kick

  - Beschreibung: Textfarbe in der die Meldungen für kick/kill Nachrichten angezeigt werden soll

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `red`

- irc.color.message_quit

  - Beschreibung: Textfarbe in der die Meldungen für das Verlassen/Beenden eines Kanals angezeigt werden soll

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `red`

- irc.color.message_setname

  - Beschreibung: Textfarbe in der "setname" Nachrichten dargestellt werden

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `brown`

- irc.color.mirc_remap

  - Beschreibung: ersetzt mirc Farben in Nachrichten mittels einer Hashtabelle (findet nur bei Standardfarben Anwendung, nicht bei RGB Farben): Schlüssel sind "fg,bg" als Ganzzahl zwischen -1 (nicht näher bezeichnet) und 15. Als Wert ist der Farbname oder die Farbnummer von WeeChat möglich (Format: "1,-1:Farbe1;2,7:Farbe2"), Beispiel: "1,-1:darkgray;1,2:white,blue" ersetzt schwarz durch "darkgray" und schwarz auf blau durch "white,blue"; Tabelle der Standard-IRC-Farben von WeeChat (in Klammern der Farbname, wie er von WeeChat genutzt wird): 0=weiß (white), 1=schwarz (black), 2=blau (blue), 3=grün (green), 4=hellrot (lightred), 5=rot (red), 6=violett (magenta), 7=braun (brown), 8=gelb (yellow), 9= hell-grün (lightgreen), 10=türkis (cyan), 11=hell-türkis (lightcyan), 12=hellblau (lightblue), 13=hell-violett (lightmagenta), 14=dunkel-grau (darkgray), 15=grau (gray)

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"1,-1:darkgray"`

- irc.color.nick_prefixes

  - Beschreibung: Farben für Nick Präfix für das Modus-Symbol (o=op, h=halfop, v=voice, ..), Format: "o:color1;h:color2;v:color3" (wird ein Modus nicht gefunden probiert WeeChat einen der nächsten Modi aus, die der Server sendet ("PREFIX"); wird kein Modus in der Liste gefunden, wird eine Standardfarbe verwendet die dem Zeichen "*" zugeordnet wurde)

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"y:lightred;q:lightred;a:lightcyan;o:lightgreen;h:lightmagenta;v:yellow;*:lightblue"`

- irc.color.notice

  - Beschreibung: Farbe des "Notice"-Textes in Notizen

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `green`

- irc.color.reason_kick

  - Beschreibung: Textfarbe in der die Begründung einer kick/kill Nachricht angezeigt werden soll

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `default`

- irc.color.reason_quit

  - Beschreibung: Textfarbe in der die Begründung einer part/quit Nachricht angezeigt werden soll

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `244`

- irc.color.term_remap

  - Beschreibung: ersetzt mirc Farben in Nachrichten mittels einer Hashtabelle (findet nur Anwendung beiRGB-Farben als Hexadezimalzahlen, die zunächst in Terminalfarben übersetzt werden): Schlüssel sind "fg,bg" als Ganzzahl zwischen -1 (nicht näher bezeichnet) und 15. Als Wert ist der Farbname oder die Farbnummer von WeeChat möglich (Format: "1,-1:Farbe1;2,7:Farbe2"), Beispiel: "1,-1:darkgray;1,2:white,blue" ersetzt schwarz durch "darkgray" und schwarz auf blau durch "white,blue"; Tabelle der Standard-IRC-Farben von WeeChat (in Klammern der Farbname, wie er von WeeChat genutzt wird): 0=weiß (white), 1=schwarz (black), 2=blau (blue), 3=grün (green), 4=hellrot (lightred), 5=rot (red), 6=violett (magenta), 7=braun (brown), 8=gelb (yellow), 9= hell-grün (lightgreen), 10=türkis (cyan), 11=hell-türkis (lightcyan), 12=hellblau (lightblue), 13=hell-violett (lightmagenta), 14=dunkel-grau (darkgray), 15=grau (gray)

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"0,-1:darkgray"`

- irc.color.topic_current

  - Beschreibung: Farbe in dem das aktuelle Thema des Kanals dargestellt werden soll (wenn ein Kanal betreten oder der Befehl /topic genutzt wird)

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `default`

- irc.color.topic_new

  - Beschreibung: Farbe in dem das neue Thema des Kanals dargestellt werden soll, falls das Thema des Kanals geändert wurde

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `36`

- irc.color.topic_old

  - Beschreibung: Farbe in dem das alte Thema des Kanals dargestellt werden soll, falls das Thema des Kanals geändert wurde

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `244`

- irc.ctcp.clientinfo

  - Beschreibung: Format für CTCP-Antwort oder leere Zeichenfolge zum Blockieren von CTCP (keine Antwort); Inhalt wird ausgewertet, siehe /help eval; Folgende Variablen werden durch den entsprechenden Wert ersetzt: ${clientinfo}: Liste von unterstützten CTCP, ${version} WeeChat Version, ${git} Git-Version, ${versiongit}: WeeChat Version und Git Version, ${compilation} Datum der Kompilierung, ${osinfo} Informationen über genutztes Betriebssystem, ${site} WeeChat Webseite, ${download} Download-Seite von WeeChat, ${time} aktuelles Datum und Uhrzeit, als Text, ${username} Username auf Server, ${realname} Realname auf Server

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"${clientinfo}"`

- irc.ctcp.source

  - Beschreibung: Format für CTCP-Antwort oder leere Zeichenfolge zum Blockieren von CTCP (keine Antwort); Inhalt wird ausgewertet, siehe /help eval; Folgende Variablen werden durch den entsprechenden Wert ersetzt: ${clientinfo}: Liste von unterstützten CTCP, ${version} WeeChat Version, ${git} Git-Version, ${versiongit}: WeeChat Version und Git Version, ${compilation} Datum der Kompilierung, ${osinfo} Informationen über genutztes Betriebssystem, ${site} WeeChat Webseite, ${download} Download-Seite von WeeChat, ${time} aktuelles Datum und Uhrzeit, als Text, ${username} Username auf Server, ${realname} Realname auf Server

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"${download}"`

- irc.ctcp.time

  - Beschreibung: Format für CTCP-Antwort oder leere Zeichenfolge zum Blockieren von CTCP (keine Antwort); Inhalt wird ausgewertet, siehe /help eval; Folgende Variablen werden durch den entsprechenden Wert ersetzt: ${clientinfo}: Liste von unterstützten CTCP, ${version} WeeChat Version, ${git} Git-Version, ${versiongit}: WeeChat Version und Git Version, ${compilation} Datum der Kompilierung, ${osinfo} Informationen über genutztes Betriebssystem, ${site} WeeChat Webseite, ${download} Download-Seite von WeeChat, ${time} aktuelles Datum und Uhrzeit, als Text, ${username} Username auf Server, ${realname} Realname auf Server

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"${time}"`

- irc.ctcp.version

  - Beschreibung: Format für CTCP-Antwort oder leere Zeichenfolge zum Blockieren von CTCP (keine Antwort); Inhalt wird ausgewertet, siehe /help eval; Folgende Variablen werden durch den entsprechenden Wert ersetzt: ${clientinfo}: Liste von unterstützten CTCP, ${version} WeeChat Version, ${git} Git-Version, ${versiongit}: WeeChat Version und Git Version, ${compilation} Datum der Kompilierung, ${osinfo} Informationen über genutztes Betriebssystem, ${site} WeeChat Webseite, ${download} Download-Seite von WeeChat, ${time} aktuelles Datum und Uhrzeit, als Text, ${username} Username auf Server, ${realname} Realname auf Server

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"WeeChat ${version}"`

- irc.look.buffer_open_before_autojoin

  - Beschreibung: betritt man automatisch einen Kanal-Buffer (mittels autojoin Option) wird dieser direkt geöffnet, ohne auf die JOIN Nachricht des Servers zu warten; dies ist sinnvoll um die Kanäle immer an der selben Position bei einem Neustart zu öffnen

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `on`

- irc.look.buffer_open_before_join

  - Beschreibung: betritt man mittels dem /join Befehl einen Kanal wird der Buffer direkt geöffnet, ohne auf die JOIN Nachricht des Servers zu warten

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `off`

- irc.look.buffer_switch_autojoin

  - Beschreibung: wechselt automatisch zum Kanal-Buffer falls dieser automatisch betreten wurde (mittels der Serveroption "autojoin")

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `on`

- irc.look.buffer_switch_join

  - Beschreibung: wechselt automatisch zum Kanal-Buffer falls dieser manuell betreten wurde (mittels dem /join Befehl)

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `on`

- irc.look.color_nicks_in_names

  - Beschreibung: nutzt in der Ausgabe von /names die jeweiligen Farbe des Nick (oder bei der Auflistung der Nicks wenn man einen Kanal betritt)

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `off`

- irc.look.color_nicks_in_nicklist

  - Beschreibung: nutzt die Farbe des Nick in der Nicklist

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `off`

- irc.look.color_nicks_in_server_messages

  - Beschreibung: nutzt die Farbe des Nick bei Nachrichten vom Server

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `on`

- irc.look.color_pv_nick_like_channel

  - Beschreibung: nutzt die selbe Farbe für die Darstellung des Nicks im Kanal wie auch im privaten Buffer

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `on`

- irc.look.ctcp_time_format

  - Beschreibung: Format für die Zeitanzeige die bei einer CTCP TIME Anfrage zurückgesendet wird (siehe man strftime, welche Platzhalter für Datum und Uhrzeit verwendet werden können, es können zusätzliche Platzhalter genutzt werden, siehe Funktion util_strftimeval in der Anleitung für API Erweiterung)

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"%a, %d %b %Y %T %z"`

- irc.look.display_account_message

  - Beschreibung: ACCOUNT Nachrichten anzeigen, die empfangen wurden, wenn die Funktion account-notify aktiviert ist

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `on`

- irc.look.display_away

  - Beschreibung: zeigt eine Nachricht an, sobald der Abwesenheitsstatus ein- bzw. ausgeschaltet wird (off: zeigt/sendet keine Nachricht, local: eine Nachricht wird lokal angezeigt, channel: sendet eine Nachricht an die Kanäle)

  - Typ: Aufzählung

  - Werte: off, local, channel

  - Standardwert: `local`

- irc.look.display_ctcp_blocked

  - Beschreibung: CTCP Nachrichten werden angezeigt, obwohl sie unterdrückt werden

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `on`

- irc.look.display_ctcp_reply

  - Beschreibung: CTCP Antworten, die durch WeeChat versendet wurden, werden angezeigt

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `on`

- irc.look.display_ctcp_unknown

  - Beschreibung: unbekannte CTCP Nachrichten werden angezeigt

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `on`

- irc.look.display_extended_join

  - Beschreibung: zusätzliche Informationen in den JOIN-Nachrichten anzeigen: Kontoname und richtiger Name (Funktion extended-join muss aktiviert sein)

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `on`

- irc.look.display_host_join

  - Beschreibung: zeigt den Host innerhalb einer join Nachricht an

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `on`

- irc.look.display_host_join_local

  - Beschreibung: zeigt den Host innerhalb einer join Nachrichten des lokalen Client an

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `on`

- irc.look.display_host_notice

  - Beschreibung: zeigt den Host innerhalb einer notice Nachricht an

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `on`

- irc.look.display_host_quit

  - Beschreibung: zeigt den Host innerhalb einer part/quit Nachricht an

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `on`

- irc.look.display_host_wallops

  - Beschreibung: zeigt den Host innerhalb von wallops Nachrichten an

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `on`

- irc.look.display_join_message

  - Beschreibung: durch Kommata getrennte Liste von Nachrichten die beim Betreten eines Kanals angezeigt werden sollen: 324 = Channel-Modi, 329 = Erstellungsdatum des Kanals, 332 = Topic, 333 = Nick/Datum für Topic, 353 = genutzte Namen im Kanal, 366 = Anzahl der Nicks im Kanal

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"329,332,333,366"`

- irc.look.display_old_topic

  - Beschreibung: zeige das alte Thema an, falls das Thema des Kanals geändert wurde

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `on`

- irc.look.display_pv_away_once

  - Beschreibung: in einer privaten Unterhaltung nur einmal eine Abwesenheitsnachricht anzeigen

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `on`

- irc.look.display_pv_back

  - Beschreibung: es wird bei einer privaten Unterhaltung eine Mitteilung ausgegeben falls der User wieder zurück ist (falls der User sich beim Server abgemeldet hat)

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `on`

- irc.look.display_pv_nick_change

  - Beschreibung: Nickänderung im privaten Buffer anzeigen

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `on`

- irc.look.display_pv_warning_address

  - Beschreibung: zeigt eine Warnung in einem privaten Buffer an, sobald sich die Adresse eines Remote-Nick geändert hat; diese Option ist standardmäßig ausgeschaltet, da Server wie bitlbee eine solche Warnung unvermittelt auslösen (die Adresse des Remote-Nick ändert sich während eines Login mehrfach)

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `off`

- irc.look.highlight_channel

  - Beschreibung: durch Kommata getrennte Liste von Wörtern die im Kanal-Buffern als Highlight erscheinen sollen (zwischen Groß- und Kleinschreibung wird nicht unterschieden. Um zwischen Groß- und Kleinschreibung zu unterscheiden muss zu Beginn "(?-i)" genutzt werden; des Weiteren können folgende Variablen genutzt werden: $nick, $channel und $server). Wird ein Buffer geöffnet, dann werden die angegeben Wörter dem Buffer-Merkmal "highlight_words" hinzugefügt. Dies bedeutet, dass diese Einstellung keinen direkten Einfluss auf schon geöffnete Buffer hat. Eine leere Zeichenkette deaktiviert ein Highlight für den Nick. Beispiel: "$nick", "(?-i)$nick"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"$nick"`

- irc.look.highlight_pv

  - Beschreibung: durch Kommata getrennte Liste von Wörtern die in einem privaten Buffer als Highlight erscheinen sollen (zwischen Groß- und Kleinschreibung wird nicht unterschieden. Um zwischen Groß- und Kleinschreibung zu unterscheiden muss zu Beginn "(?-i)" genutzt werden; des Weiteren können folgende Variablen genutzt werden: $nick, $channel und $server). Wird ein Buffer geöffnet, dann werden die angegeben Wörter dem Buffer-Merkmal "highlight_words" hinzugefügt. Dies bedeutet, dass diese Einstellung keinen direkten Einfluss auf schon geöffnete Buffer hat. Eine leere Zeichenkette deaktiviert ein Highlight für den Nick. Beispiel: "$nick", "(?-i)$nick"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"$nick"`

- irc.look.highlight_server

  - Beschreibung: durch Kommata getrennte Liste von Wörtern die in Server-Buffern als Highlight erscheinen sollen (zwischen Groß- und Kleinschreibung wird nicht unterschieden. Um zwischen Groß- und Kleinschreibung zu unterscheiden muss zu Beginn "(?-i)" genutzt werden; des Weiteren können folgende Variablen genutzt werden: $nick, $channel und $server). Wird ein Buffer geöffnet, dann werden die angegeben Wörter dem Buffer-Merkmal "highlight_words" hinzugefügt. Dies bedeutet, dass diese Einstellung keinen direkten Einfluss auf schon geöffnete Buffer hat. Eine leere Zeichenkette deaktiviert ein Highlight für den Nick. Beispiel: "$nick", "(?-i)$nick"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"$nick"`

- irc.look.highlight_tags_restrict

  - Beschreibung: beschränkt Highlights für IRC Buffer auf bestimmte Tags (um Highlights durch User- aber nicht durch Servernachrichten zu erhalten); Tags müssen durch Kommata getrennt werden; um eine logische "und" Verknüpfung zu verwenden, können mehrere Tags durch "+" zusammengefügt werden; der Platzhalter "*" kann verwendet werden um mehr als ein Tag zu markieren; wird kein Wert angegeben, erzeugt jedes Tag ein Highlight

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"irc_privmsg,irc_notice"`

- irc.look.ignore_tag_messages

  - Beschreibung: Tag „irc_ignored“ in ignorierten Nachrichten hinzufügen, anstatt sie zu entfernen; Auf diese Weise können Nachrichten mit dem Befehl /filter gefiltert und bei Bedarf umgeschaltet werden

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `off`

- irc.look.item_channel_modes_hide_args

  - Beschreibung: unterdrückt die Ausgabe von Argumenten die die Kanalmodi betreffen, sofern der entsprechende Modus für den Kanal gesetzt ist ("*" unterdrückt jedwede Ausgabe von Argumenten; wird kein Wert angegeben, dann werden alle Argumente angezeigt); Beispiele: "kf" unterdrückt die Argumente, falls "k" oder "f" für den Kanal gesetzt sind

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"k"`

- irc.look.item_display_server

  - Beschreibung: Name der Bar-Item in dem der IRC Server angezeigt wird (für Status-Bar)

  - Typ: Aufzählung

  - Werte: buffer_plugin, buffer_name

  - Standardwert: `buffer_plugin`

- irc.look.item_nick_modes

  - Beschreibung: der Nick-Modus wird in dem Bar-Item "input_prompt" angezeigt

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `on`

- irc.look.item_nick_prefix

  - Beschreibung: der Nick-Präfix wird im Bar-Item "input_prompt" angezeigt

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `on`

- irc.look.join_auto_add_chantype

  - Beschreibung: es wird dem Kanalnamen automatisch der Kanal-Typ vorangestellt, falls bei der Benutzung des /join Befehls der angegebene Kanalname keinen gültigen Typ besitzt; Beispiel: "/join weechat" wird als: "/join #weechat" versendet

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `off`

- irc.look.list_buffer

  - Beschreibung: Verwendet einen bestimmten Buffer für die Ausgabe von /list

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `on`

- irc.look.list_buffer_scroll_horizontal

  - Beschreibung: links/rechts im /list Buffer scrollen (prozentual zur Breite)

  - Typ: integer

  - Werte: 1 .. 100

  - Standardwert: `10`

- irc.look.list_buffer_sort

  - Beschreibung: Durch Kommas getrennte Liste von Feldern zum Sortieren von Kanälen (eine Liste von Feldern finden Sie in /help list); Zeichen „-“ kann vor dem Feld verwendet werden, um die Reihenfolge umzukehren, Zeichen „~“ kann verwendet werden, um einen Vergleich ohne Berücksichtigung der Groß- und Kleinschreibung durchzuführen; Beispiel: „-count,~name“ führt zuerst die größten Kanäle auf, dann erfolgt die Sortierung, ohne Berücksichtigung der Groß- und Kleinschreibung, nach Namen

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"~name2"`

- irc.look.list_buffer_topic_strip_colors

  - Beschreibung: Kanalthemenfarben im /list-Buffer entfernen

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `on`

- irc.look.msgbuffer_fallback

  - Beschreibung: Standardbuffer der für Ausgaben genutzt werden soll, falls ein privater Buffer nicht gefunden wird

  - Typ: Aufzählung

  - Werte: current, server

  - Standardwert: `current`

- irc.look.new_channel_position

  - Beschreibung: ein neu geöffneter Kanal wird auf eine Position gezwungen (none = standardmäßige Position (sollte der letzte Buffer in der Liste sein), next = aktueller Buffer + 1, near_server = nach dem letztem Kanal/privaten Buffer des jeweiligen Servers)

  - Typ: Aufzählung

  - Werte: none, next, near_server

  - Standardwert: `none`

- irc.look.new_list_position

  - Beschreibung: Position des neuen /list-Buffers in der Liste der Buffer erzwingen (keine = Standardposition (sollte der letzte Buffer sein), next = aktueller Buffer + 1, near_server =nach dem letzten Kanal/Pv des Servers)

  - Typ: Aufzählung

  - Werte: none, next, near_server

  - Standardwert: `none`

- irc.look.new_pv_position

  - Beschreibung: ein neuer privater Buffer wird auf eine Position gezwungen (none = standardmäßige Position (sollte der letzte Buffer in der Liste sein), next = aktueller Buffer + 1, near_server = nach dem letztem Kanal/privaten Buffer des jeweiligen Servers)

  - Typ: Aufzählung

  - Werte: none, next, near_server

  - Standardwert: `none`

- irc.look.nick_completion_smart

  - Beschreibung: intelligente Vervollständigung für Nicks (es wird zuerst mit den letzten Rednern vervollständigt): speakers = alle Redner (einschließlich Highlights), speakers_highlight = nur Redner die eine Highlight Nachricht geschrieben haben

  - Typ: Aufzählung

  - Werte: off, speakers, speakers_highlights

  - Standardwert: `speakers`

- irc.look.nick_mode

  - Beschreibung: vor dem Nick wird der entsprechende Nickmodus (op, voice,...) angezeigt (none = Funktion ist deaktiviert, prefix = wird nur im Präfix angezeigt (Standardeinstellung), action = wird nur in action Nachrichten angezeigt, both = im Präfix und in action Nachrichten)

  - Typ: Aufzählung

  - Werte: none, prefix, action, both

  - Standardwert: `prefix`

- irc.look.nick_mode_empty

  - Beschreibung: es wird ein Leerzeichen anstelle eines Nickmodus verwendet, falls kein Nickmodus ((half)op/voice [@%+]) vorhanden ist

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `off`

- irc.look.nicks_hide_password

  - Beschreibung: durch Kommata getrennte Liste von Nicks bei denen das Passwort in einer Nachricht unterdrückt werden soll. Zum Beispiel bei einer Nachricht die durch "/msg nickserv identify password" generiert wird. Beispiel: "nickserv,nickbot"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"nickserv"`

- irc.look.notice_as_pv

  - Beschreibung: zeigt Notizen als private Nachricht an (wird die "auto" Einstellung verwendet dann wird ein privater Buffer genutzt, falls vorhanden)

  - Typ: Aufzählung

  - Werte: auto, never, always

  - Standardwert: `auto`

- irc.look.notice_welcome_redirect

  - Beschreibung: automatische Weiterleitung von Willkommen Nachrichten in den entsprechenden Kanal-Buffer. Solche Nachrichten haben als Empfänger den entsprechenden Nick. Der Kanalname wird aber der Nachricht vorangestellt. Eine solche ENTRYMSG Nachricht sieht auf dem Atheme IRC Server wie folgt aus: "[#channel] Herzlich Willkommen in diesem Kanal ..."

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `on`

- irc.look.notice_welcome_tags

  - Beschreibung: durch Kommata getrennte Liste von Schlagwörtern für Willkommen-Nachrichten die in einen Kanal umgeleitet werden. Zum Beispiel: "notify_private"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `""`

- irc.look.notify_tags_ison

  - Beschreibung: durch Kommata getrennte Liste von Schlagwörtern die in notify-Nachrichten genutzt werden sollen, falls ein Nick einen Server betritt oder verlässt (Rückgabewert des Befehls ison oder monitor), zum Beispiel: "notify_message", "notify_private" oder "notify_highlight"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"notify_message"`

- irc.look.notify_tags_whois

  - Beschreibung: durch Kommata getrennte Liste von Schlagwörtern die in notify-Nachrichten genutzt werden sollen, falls sich der away-Status eines Nick ändert (Rückgabe durch Befehl whois), zum Beispiel: "notify_message", "notify_private" oder "notify_highlight"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"notify_message"`

- irc.look.open_pv_buffer_echo_msg

  - Beschreibung: Öffnet einen privaten Buffer für eigene Nachrichten, falls die Funktion echo-message aktiviert ist

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `on`

- irc.look.part_closes_buffer

  - Beschreibung: schließt den Buffer wenn "/part" im Kanal ausgeführt wird

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `off`

- irc.look.pv_buffer

  - Beschreibung: private Buffer zusammenfügen

  - Typ: Aufzählung

  - Werte: independent, merge_by_server, merge_all

  - Standardwert: `independent`

- irc.look.pv_tags

  - Beschreibung: durch Kommata getrennte Liste von Schlagwörtern die für private Nachrichten genutzt werden sollen. Zum Beispiel: "notify_message", "notify_private" oder "notify_highlight"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"notify_private"`

- irc.look.raw_messages

  - Beschreibung: Anzahl der IRC-RAW-Nachrichten die im Speicher gehalten werden sollen falls der RAW-Daten-Buffer geschlossen ist (die Nachrichten werden umgehend angezeigt sobald der RAW-Daten-Buffer geöffnet wird)

  - Typ: integer

  - Werte: 0 .. 65535

  - Standardwert: `256`

- irc.look.server_buffer

  - Beschreibung: fügt Serverbuffer zusammen; diese Option hat keine Auswirkung wenn ein Layout genutzt wird und mit dieser Option im Widerspruch steht (siehe /help layout)

  - Typ: Aufzählung

  - Werte: merge_with_core, merge_without_core, independent

  - Standardwert: `merge_with_core`

- irc.look.smart_filter

  - Beschreibung: filtert join/part/quit/nick Nachrichten für einen Nick der einige Minuten im Kanal inaktiv gewesen ist (dazu muss ein Filter mit dem Schlagwort "irc_smart_filter" erstellt werden, siehe /help filter)

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `on`

- irc.look.smart_filter_account

  - Beschreibung: aktiviert einen intelligenten Filter für "account" Nachrichten

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `on`

- irc.look.smart_filter_chghost

  - Beschreibung: aktiviert einen intelligenten Filter für "chghost" Nachrichten

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `on`

- irc.look.smart_filter_delay

  - Beschreibung: Verzögerung, in Minuten, für eine Filterung von join/part/quit Mitteilungen. Falls ein Nick in der angegebenen Zeit keine Nachricht schreibt, wird seinejoin/part/quit Mitteilung gefiltert

  - Typ: integer

  - Werte: 1 .. 10080

  - Standardwert: `5`

- irc.look.smart_filter_join

  - Beschreibung: aktiviert einen intelligenten Filter für "join" Nachrichten

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `on`

- irc.look.smart_filter_join_unmask

  - Beschreibung: Verzögerung (in Minuten) um Join Mitteilungen rückwirkend anzuzeigen, falls diese mittels "irc_smart_filter" unterdrückt wurden. Sollte ein Nick während der vorgegeben Zeit etwas im Kanal schreiben, dann wird seine Join Mitteilung angezeigt. Dies bezieht sich auf Nachrichten, eine Notice, Änderungen am Topic oder falls der Nick gewechselt wird (0 = deaktiviert: join-Mitteilungen bleiben verborgen)

  - Typ: integer

  - Werte: 0 .. 10080

  - Standardwert: `30`

- irc.look.smart_filter_mode

  - Beschreibung: aktiviert einen intelligenten Filter für "mode" Nachrichten: "*" filtert alle Modi-Nachrichten, "+" um alle Modi im Server-Präfix zu filtern (zum Beispiel "ovh"), "xyz" um die Modi x/y/z zu filtern, "-xyz" um alle Modi, außer x/y/z, zu filtern; Beispiele: "ovh": filtert die Modi o/v/h, "-bkl": filtert alle Modi, ausgenommen b/k/l

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `""+`

- irc.look.smart_filter_nick

  - Beschreibung: aktiviert einen intelligenten Filter für "nick" Nachrichten (Änderungen des Nick)

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `on`

- irc.look.smart_filter_quit

  - Beschreibung: aktiviert einen intelligenten Filter für "part" und "quit" Nachrichten

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `on`

- irc.look.smart_filter_setname

  - Beschreibung: aktiviert einen intelligenten Filter für "setname" Nachrichten

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `on`

- irc.look.temporary_servers

  - Beschreibung: aktiviert die Erstellung von temporären Servern mit dem Befehl /connect

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `off`

- irc.look.topic_strip_colors

  - Beschreibung: Farben werden im Kanalthema entfernt (wird nur genutzt wenn der Buffer-Titel angezeigt wird)

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `off`

- irc.look.typing_status_nicks

  - Beschreibung: Nicks in der Bar-Item "typing" anzeigen, die in dem Kanal tippen (Option typing.look.enabled_nicks muss aktiviert sein und die Fähigkeit "message-tags" muss auf dem Server aktiviert sein)

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `off`

- irc.look.typing_status_self

  - Beschreibung: sendet den eigenen Tippstatus an Kanäle, damit andere Benutzer sehen, wenn Sie eine Nachricht schreiben (Option typing.look.enabled_self muss aktiviert sein und die Fähigkeit "message-tags" muss auf dem Server aktiviert sein)

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `off`

- irc.network.autoreconnect_delay_growing

  - Beschreibung: Multiplikator für die Verzögerung bei der automatischen Wiederverbindung zum Server (1 = immer die selbe Verzögerung nutzen, 2 = Verzögerung*2 für jeden weiteren Versuch, usw.)

  - Typ: integer

  - Werte: 1 .. 100

  - Standardwert: `2`

- irc.network.autoreconnect_delay_max

  - Beschreibung: maximale Verzögerung bei der automatischen Wiederverbindung zum Server (in Sekunden, 0 = keine Begrenzung)

  - Typ: integer

  - Werte: 0 .. 604800

  - Standardwert: `600`

- irc.network.ban_mask_default

  - Beschreibung: Vorgabewert für Befehle /ban, /unban und /kickban; Variablen $nick, $user, $ident und $host werden durch den jeweiligen Wert ersetzt (extrahiert aus "nick!user@host"); $ident ist identisch mit $user, sofern $user nicht mit "~" beginnt. Andernfalls wird daraus "*"; diese Vorgabemaske wird nur angewendet, sofern WeeChat den Host des Nicks ermitteln kann

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"*!$ident@$host"`

- irc.network.colors_receive

  - Beschreibung: wenn deaktiviert, werden Farben-Codes von eingehenden Nachrichten ignoriert

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `on`

- irc.network.colors_send

  - Beschreibung: erlaubt Benutzern, spezielle Farbcodes zu versenden (ctrl-c + Code und optional Farbe: b=fett, cxx=Farbe, cxx,yy=Schrift-/Hintergrundfarbe, i=kursiv, o=schaltet Farbe/Attribute aus, r=invertiert, u=unterstrichen)

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `on`

- irc.network.lag_check

  - Beschreibung: Intervall zwischen zwei Überprüfungen auf Verfügbarkeit des Servers (in Sekunden, 0 = keine Überprüfung)

  - Typ: integer

  - Werte: 0 .. 604800

  - Standardwert: `60`

- irc.network.lag_max

  - Beschreibung: maximale Verzögerung (in Sekunden): sollte die maximale Verzögerung erreicht werden geht WeeChat davon aus, dass die Antwort (pong) des Servers nicht mehr empfangen wird. Die Verzögerung wird dann nicht weiter gezählt (0 = es wird ewig gewartet)

  - Typ: integer

  - Werte: 0 .. 604800

  - Standardwert: `1800`

- irc.network.lag_min_show

  - Beschreibung: geringste Verzögerungszeit (Lag) die angezeigt werden soll (in Millisekunden)

  - Typ: integer

  - Werte: 0 .. 86400000

  - Standardwert: `500`

- irc.network.lag_reconnect

  - Beschreibung: erneut mit Server verbinden, falls die maximal Verzögerung (Lag) erreicht wurde (Zeit in Sekunden, 0 = keine automatische Neuverbindung, zum Server); dieser Wert muss geringer oder gleich dem Wert in irc.network.lag_max sein

  - Typ: integer

  - Werte: 0 .. 604800

  - Standardwert: `300`

- irc.network.lag_refresh_interval

  - Beschreibung: Intervall zwischen zwei Aktualisierungen für die Anzeige der Verzögerung (Lag-Item), wenn die Verzögerungszeit sich erhöht (in Sekunden)

  - Typ: integer

  - Werte: 1 .. 3600

  - Standardwert: `1`

- irc.network.notify_check_ison

  - Beschreibung: Intervall zwischen zwei notify Überprüfungen mit dem IRC Befehl "ison" (in Minuten)

  - Typ: integer

  - Werte: 1 .. 10080

  - Standardwert: `1`

- irc.network.notify_check_whois

  - Beschreibung: Intervall zwischen zwei notify Überprüfungen mit dem IRC Befehl "whois" (in Minuten)

  - Typ: integer

  - Werte: 1 .. 10080

  - Standardwert: `5`

- irc.network.sasl_fail_unavailable

  - Beschreibung: erzeugt einen Fehler bei der SASL Authentifizierung, falls SASL angefragt aber vom Server nicht zur Verfügung gestellt wird; falls diese Option aktiviert ist hat sie nur dann Einfluss sofern bei der Option "sasl_fail" die Einstellung "reconnect" oder "disconnect" genutzt wird

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `on`

- irc.network.send_unknown_commands

  - Beschreibung: sendet unbekannte Befehle an den Server

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `off`

- irc.network.whois_double_nick

  - Beschreibung: dupliziert den Nick, für den /whois Befehl (falls nur ein Nick angegeben wird), um die Idle-Zeit zu erhalten. Zum Beispiel: "/whois nick" wird als "whois nick nick" verschickt

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `off`

- irc.server_default.addresses

  - Beschreibung: Liste von Hostname/Port oder IP/Port für Server (durch Komma getrennt) (Hinweis: Inhalt wird evaluiert, siehe /help eval; Serveroptionen sind mittels ${irc_server.xxx} evaluiert und ${server} wird durch den eigentlichen Servernamen ersetzt)

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `""`

- irc.server_default.anti_flood

  - Beschreibung: Verzögerung in Millisekunden, zwischen zwei Nachrichten, die an den Server gesendeten werden (Anti-Flood-Schutz); 0 = Schutz deaktivieren und Nachrichten immer sofort senden(wird nicht empfohlen, da der Server die Verbindung beenden kann, falls zu viele Nachrichten in kurzer Zeit versendet werden sollen); Intern wird mit Warteschlangen gearbeitet, die mitunterschiedlichen Prioritäten arbeiten: Beim Herstellen einer Verbindung zum Server werden alle Nachrichten sofort versendet, dabei besitzen die eigenen Nachrichten eine höhere Priorität als automatischeNachrichten, die im Hintergrund von WeeChat gesendet werden

  - Typ: integer

  - Werte: 0 .. 60000

  - Standardwert: `2000`

- irc.server_default.autoconnect

  - Beschreibung: Beim Programmstart von WeeChat automatisch mit dem Server verbinden

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `off`

- irc.server_default.autojoin

  - Beschreibung: durch Kommata getrennte Liste von Kanälen, die beim Verbinden mit dem Server automatisch betreten werden (nachdem die Einstellungen command + delay ausgeführt wurden). Kanäle, die einen Schlüssel benötigen, müssen in der Auflistung als erstes aufgeführt werden. Die Schlüssel, zu den jeweiligen Kanälen, werden nach den Kanälen aufgeführt (eine Trennung von Kanälen und Schlüssel erfolgt mittels eines Leerzeichens. Schlüssel werden hintereinander auch durch Kommata voneinander getrennt) (Beispiel: "#channel1,#channel2,#channnel3 key1,key2", #channel1 und #channel2 sind durch jeweils einen Schlüssel, key1 und key2, geschützt) (Hinweis: Inhalt wird evaluiert, siehe /help eval; Serveroptionen sind mittels ${irc_server.xxx} evaluiert und ${server} wird durch den eigentlichen Servernamen ersetzt)

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `""`

- irc.server_default.autojoin_delay

  - Beschreibung: Verzögerung (in Sekunden) vor dem automatischen Betreten von Kanälen (Beispiel: etwas Zeit fürdie Authentifizierung einplanen, bevor Kanäle betreten werden)

  - Typ: integer

  - Werte: 0 .. 3600

  - Standardwert: `0`

- irc.server_default.autojoin_dynamic

  - Beschreibung: Setze automatisch die "autojoin"-Option entsprechend den Kanälen, die du manuell beitrittst bzw. verlässt, mit den Befehlen /join und /part

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `off`

- irc.server_default.autoreconnect

  - Beschreibung: Nach einer Trennung vom Server die Verbindung automatisch wiederherstellen

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `on`

- irc.server_default.autoreconnect_delay

  - Beschreibung: Zeit (in Sekunden) die gewartet werden soll bevor ein neuer Verbindungsaufbau durchgeführt werden soll

  - Typ: integer

  - Werte: 1 .. 65535

  - Standardwert: `10`

- irc.server_default.autorejoin

  - Beschreibung: Kanäle automatisch betreten, falls man rausgeworfen wurde. Es kann eine lokale Buffer Variable für einen Kanal erstellt werden, diese lokale Variable wird vorrangig behandelt (Name der lokalen Variable: "autorejoin", Wert: "on" oder "off")

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `off`

- irc.server_default.autorejoin_delay

  - Beschreibung: Wartezeit, in Sekunden, die verstreichen soll bevor man den Kanal automatisch erneut betritt (nachdem man rausgeworfen wurde)

  - Typ: integer

  - Werte: 0 .. 86400

  - Standardwert: `30`

- irc.server_default.away_check

  - Beschreibung: überprüft die Abwesenheit (/away) der Nutzer, in dem angegebenen Intervall (in Minuten, 0 = nicht überprüfen)

  - Typ: integer

  - Werte: 0 .. 10080

  - Standardwert: `0`

- irc.server_default.away_check_max_nicks

  - Beschreibung: Die Abwesenheit von Nutzern in Kanälen wird nicht überprüft wenn die Anzahl der Nutzer höher ist, als der angegebene Wert (0 = unbegrenzte Anzahl an Nutzern im Kanal)

  - Typ: integer

  - Werte: 0 .. 1000000

  - Standardwert: `25`

- irc.server_default.capabilities

  - Beschreibung: durch Kommata getrennte Liste von erweiterten Client-Fähigkeiten ("client capabilities"), welche vom Server angeboten und genutzt werden sollen (siehe /help cap um eine Liste von Fähigkeiten zu erhalten die von WeeChat unterstützt werden); "*" aktiviert standardmäßig alle Funktionen (die sowohl vom Server als auch von WeeChat unterstützt werden); Platzhalter "*" ist erlaubt; eine Fähigkeit, die mit "!" beginnt, wird ignoriert (Beispiel: "*,!account-*,!extended-join")

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"*"`

- irc.server_default.charset_message

  - Beschreibung: Teil der IRC Nachricht (empfangen oder gesendet) die zum Zielzeichensatz dekodiert/kodiert werden soll; message = die komplette IRC Nachricht (Standard), channel = beginnend mit dem Kanalnamen (sofern dieser gefunden wird, ansonsten Fallback auf text), text = beginnend mit dem Nachrichtentext (dieser Wert sollte ausprobiert werden, falls es Probleme bei der Kodierung des Kanalnamens geben sollte)

  - Typ: Aufzählung

  - Werte: message, channel, text

  - Standardwert: `message`

- irc.server_default.command

  - Beschreibung: Befehl(e) welche nach einem Verbindungsaufbau zum Server und vor dem automatischem Betreten von Kanälen ausgeführt werden sollen (mehrere Befehle können durch ";" getrennt werden, will man ein Semikolon nutzen, schreibt man "\;", die Platzhalter $nick,$channel und $server werden durch den entsprechenden Wert ersetzt) (Hinweis: Inhalt wird evaluiert, siehe /help eval; Serveroptionen sind mittels ${irc_server.xxx} evaluiert und ${server} wird durch den eigentlichen Servernamen ersetzt)

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `""`

- irc.server_default.command_delay

  - Beschreibung: Verzögerung (in Sekunden) bevor ein Befehl ausgeführt wird

  - Typ: integer

  - Werte: 0 .. 3600

  - Standardwert: `0`

- irc.server_default.connection_timeout

  - Beschreibung: Wartezeit (in Sekunden) zwischen einer TCP Verbindung mit dem Server und des Empfanges der "message 001" Nachricht. Falls die Wartezeit verstreichen sollte bevor die "message 001" Nachricht empfangen wurde dann wird WeeChat die Verbindung zum Server trennen

  - Typ: integer

  - Werte: 1 .. 3600

  - Standardwert: `60`

- irc.server_default.default_chantypes

  - Beschreibung: Kanal-Typ-Präfix, die verwendet werden sollen, wenn der Server diese nicht in Nachricht 005 sendet (Standard ist "#&")

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"#&"`

- irc.server_default.ipv6

  - Beschreibung: bei der Kommunikation mit dem Server wird das IPv6 Protokoll genutzt (sollte IPv6 nicht verfügbar sein dann wird automatisch auf IPv4 umgeschaltet); wird die Funktion deaktiviert, dann wird ausschließlich IPv4 genutzt

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `on`

- irc.server_default.local_hostname

  - Beschreibung: benutzerdefinierter lokaler Hostname bzw. IP-Adresse für den entsprechenden Server (optional). Falls kein Eintrag vorhanden sein sollte wird der lokale Hostname verwendet

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `""`

- irc.server_default.msg_kick

  - Beschreibung: Standardmitteilung einer kick-Nachricht, für die Befehle "/kick" und "/kickban" (Hinweis: Inhalt wird evaluiert, siehe /help eval; besondere Variablen ${nick} (eigener Nick), ${target} (betroffener Nick), ${channel} und ${server}, werden durch den entsprechenden Wert ersetzt)

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `""`

- irc.server_default.msg_part

  - Beschreibung: Standardmitteilung einer part-Nachricht (/part) (Hinweis: Inhalt wird evaluiert, siehe /help eval; Variablen die genutzt werden können: ${nick}, ${channel} und ${server}; "%v" wird durch die genutzte WeeChat-Version ersetzt, sofern keine Variable vom Typ ${...} verwendet wird)

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"WeeChat ${info:version}"`

- irc.server_default.msg_quit

  - Beschreibung: Standardmitteilung einer quit-Nachricht (Trennung vom Server) (Hinweis: Inhalt wird evaluiert, siehe /help eval; Variablen die genutzt werden können: ${nick}, ${channel} und ${server}; "%v" wird durch die genutzte WeeChat-Version ersetzt, sofern keine Variable vom Typ ${...} verwendet wird)

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"WeeChat ${info:version}"`

- irc.server_default.nicks

  - Beschreibung: Auf dem Server zu verwendender Nickname (durch Komma getrennt) (Hinweis: Inhalt wird evaluiert, siehe /help eval; ${username} wird durch Systembenutzernamen ersetzt ("weechat" wird genutzt, falls nicht gefunden), Serveroptionen werden mit ${irc_server.xxx} evaluiert und ${server} wird durch den Servernamen ersetzt)

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"${username},${username}2,${username}3,${username}4,${username}5"`

- irc.server_default.nicks_alternate

  - Beschreibung: nutzt einen alternativen Nick, sofern alle voreingestellten Nicks am Server schon genutzt werden. Dazu wird das Zeichen "_" an den Nick angehangen, sofern der Nick nicht mehr als neun Zeichen besitzt. Andernfalls werden die beiden letzten Zeichen durch eine Zahl zwischen 1 und 99 ersetzt, bis ein freier Nick auf dem Server gefunden wird

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `on`

- irc.server_default.notify

  - Beschreibung: Liste mit Benachrichtigung für Server (diese Einstellung sollte nicht direkt verändert werden. Dazu sollte der Befehl /notify genutzt werden)

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `""`

- irc.server_default.password

  - Beschreibung: Passwort welches für den Server genutzt werden soll (Hinweis: Inhalt wird evaluiert, siehe /help eval; Serveroptionen sind mittels ${irc_server.xxx} evaluiert und ${server} wird durch den eigentlichen Servernamen ersetzt)

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `""`

- irc.server_default.proxy

  - Beschreibung: Name des Proxy für diesen Server (optional, Proxy muss mit dem Befehl /proxy angelegt werden)

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `""`

- irc.server_default.realname

  - Beschreibung: Realname welcher für den Server genutzt werden soll (Hinweis: Inhalt wird evaluiert, siehe /help eval; Serveroptionen sind mittels ${irc_server.xxx} evaluiert und ${server} wird durch den eigentlichen Servernamen ersetzt)

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `""`

- irc.server_default.registered_mode

  - Beschreibung: Modus, der für registrierte Benutzer eingestellt ist (Standard ist "r")

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"r"`

- irc.server_default.sasl_fail

  - Beschreibung: auszuführende Aktion falls die SASL Authentifizierung fehlschlägt: "continue" ignoriert das Problem welches bei der Authentifizierung aufgetreten ist, "reconnect" versucht erneut eine Verbindung herzustellen, "disconnect" trennt die Verbindung zum Server (siehe Option irc.network.sasl_fail_unavailable)

  - Typ: Aufzählung

  - Werte: continue, reconnect, disconnect

  - Standardwert: `reconnect`

- irc.server_default.sasl_key

  - Beschreibung: Datei mit privatem ECC-Schlüssel für den Mechanismus "ecdsa-nist256p-challenge" (Pfad ist evaluiert, siehe Funktion string_eval_path_home in der Plugin-API-Referenz)

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `""`

- irc.server_default.sasl_mechanism

  - Beschreibung: Verfahren welches bei einer SASL Authentifizierung angewandt werden soll: "plain" Passwort wird im Klartext gesendet, "scram-sha-1" für SCRAM-Authentifizierung mit SHA-1-Digest-Algorithmus, "scram-sha-256" für SCRAM-Authenrifizierung mit SHA-256 Digest-Algorithmus, "scram-sha-512" für SCRAM-Authentifizierung mit SHA-512 Digest-Algorithmus, "ecdsa-nist256p-challenge" für öffentlich/private Schlüsselmethode, "external" ein TLS Zertifikat welches auf Client Seite vorliegt wird verwendet

  - Typ: Aufzählung

  - Werte: plain, scram-sha-1, scram-sha-256, scram-sha-512, ecdsa-nist256p-challenge, external

  - Standardwert: `plain`

- irc.server_default.sasl_password

  - Beschreibung: Passwort für SASL Authentifikation; diese Option findet keine Anwendung falls der Mechanismus "ecdsa-nist256p-challenge" und "external" verwendet wird (Hinweis: Inhalt wird evaluiert, siehe /help eval; Serveroptionen sind mittels ${irc_server.xxx} evaluiert und ${server} wird durch den eigentlichen Servernamen ersetzt)

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `""`

- irc.server_default.sasl_timeout

  - Beschreibung: Zeitüberschreitung bis zum Abbruch der SASL Authentifizierung (in Sekunden)

  - Typ: integer

  - Werte: 1 .. 3600

  - Standardwert: `15`

- irc.server_default.sasl_username

  - Beschreibung: Username für SASL Authentifikation; diese Option wird nicht für den Mechanismus "external" verwendet (Hinweis: Inhalt wird evaluiert, siehe /help eval; Serveroptionen sind mittels ${irc_server.xxx} evaluiert und ${server} wird durch den eigentlichen Servernamen ersetzt)

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `""`

- irc.server_default.split_msg_max_length

  - Beschreibung: ausgehende IRC Nachrichten werden bei der angegebene Anzahl an Zeichen getrennt; der Standardwert beträgt 512, dabei handelt es sich um einen empfohlenen Wert; ein Wert von 0 deaktiviert eine Trennung von Nachrichten (dies wird nicht empfohlen, außer Du weißt was Du tust); erlaubte Werte sind 0 oder jeder Wert zwischen 128 und 4096; diese Option sollte nur bei nicht-Standard IRC Servern verändert werden, zum Beispiel ein bitlbee Gateway

  - Typ: integer

  - Werte: 0 .. 4096

  - Standardwert: `512`

- irc.server_default.tls

  - Beschreibung: Verwendet TLS für die Serverkommunikation

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `on`

- irc.server_default.tls_cert

  - Beschreibung: TLS-Zertifikatdatei zur automatischen Identifizierung Ihres Nick (Pfad ist evaluiert, siehe Funktion string_eval_path_home in der Erweiterungs-API-Referenz)

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `""`

- irc.server_default.tls_dhkey_size

  - Beschreibung: Größe des Schlüssels der während des Diffie-Hellman-Schlüsselaustausches genutzt wurde

  - Typ: integer

  - Werte: 0 .. 2147483647

  - Standardwert: `2048`

- irc.server_default.tls_fingerprint

  - Beschreibung: Fingerprint des Zertifikates welches als vertrauenswürdig eingestuft und für diesen Server akzeptiert wird; es sind nur hexadezimale Zeichen erlaubt (0-9, a-f): bei SHA-512 ist das Zertifikat 128 Zeichen lang, bei SHA-256 sind es 64 Zeichen, bei SHA-1 sind es 40 Zeichen (nicht empfohlen, da unsicher); mehrere Fingerprints können durch Kommata voneinander getrennt werden; wird diese Option genutzt, findet KEINE weitere Überprüfung der Zertifikate statt (Option "tls_verify") (Hinweis: Inhalt wird evaluiert, siehe /help eval; Serveroptionen sind mittels ${irc_server.xxx} evaluiert und ${server} wird durch den eigentlichen Servernamen ersetzt)

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `""`

- irc.server_default.tls_password

  - Beschreibung: Passwort für TLS Zertifikat des privaten Schlüssels, nur unter gnutls Version >= 3.1.0 (Hinweis: Inhalt wird evaluiert, siehe /help eval; Serveroptionen sind mittels ${irc_server.xxx} evaluiert und ${server} wird durch den eigentlichen Servernamen ersetzt)

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `""`

- irc.server_default.tls_priorities

  - Beschreibung: Zeichenkette mit Prioritäten für gnutls (für die korrekte Syntax siehe gnutls Dokumentation unter Funktion gnutls_priority_init. Gebräuchliche Zeichenketten sind: "PERFORMANCE", "NORMAL", "SECURE128", "SECURE256", "EXPORT", "NONE")

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"NORMAL"`

- irc.server_default.tls_verify

  - Beschreibung: überprüft ob die TLS-Verbindung vertrauenswürdig ist

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `on`

- irc.server_default.usermode

  - Beschreibung: Usermode(s) der direkt nach der Verbindung zum Server gesetzt werden soll. Dies geschieht bevor Befehle für den Server ausgeführt und bevor Kanäle automatisch betreten werden; Beispiele: "+R" (um den Modus "R" zu setzen), "+R-i" (setzt den Modus "R" und entfernt den Modus "i"); siehe /help mode um den Befehlssatz angezeigt zu bekommen (Hinweis: Inhalt wird evaluiert, siehe /help eval; Serveroptionen sind mittels ${irc_server.xxx} evaluiert und ${server} wird durch den eigentlichen Servernamen ersetzt)

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `""`

- irc.server_default.username

  - Beschreibung: Benutzername, der auf dem Server verwendet werden soll (Hinweis: Inhalt wird evaluiert, siehe /help eval; ${username} wird durch Systembenutzernamen ersetzt ("weechat", wird genutzt, falls nicht gefunden), Serveroptionen werden mit ${irc_server.xxx} ausgewertet und ${server} wird durch den Servernamen ersetzt)

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"${username}"`

## 9. Xfer

Mit der xfer Erweiterung kann man:

- einen direkten Chat nutzen (zwischen zwei Hosts, ohne Server): zum Beispiel "DCC Chat" mittels IRC Erweiterung

- Datentransfer, zum Beispiel "DCC" mittels IRC Erweiterung

### 9.1. Befehle

- `me`: sendet CTCP Aktion an entfernten Host

    /me  <message>

    message: zu sendende Nachricht

- `xfer`: Kontrolle der Übertragung(en)

    /xfer  [list|listfull]

        list: zeigt Liste der Übertragungen
    listfull: zeigt eine ausführliche Liste der Übertragungen

    Ohne Angabe von Argumenten wird der Buffer mit der Übertragungsliste geöffnet.

### 9.2. Optionen

Sektionen in Datei xfer.conf:

Sektion | Steuerbefehl | Beschreibung
--- | --- | ---
`look` | `/set xfer.look.*` | Erscheinungsbild.
`color` | `/set xfer.color.*` | Farben.
`network` | `/set xfer.network.*` | Netzwerkoptionen.
`file` | `/set xfer.file.*` | Optionen zum Versenden und Empfangen von Dateien.

Optionen:

- xfer.color.status_aborted

  - Beschreibung: Textfarbe für Status: "abgebrochen"

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `lightred`

- xfer.color.status_active

  - Beschreibung: Textfarbe für Status: "aktiv"

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `lightblue`

- xfer.color.status_connecting

  - Beschreibung: Textfarbe für Status: "verbinde"

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `yellow`

- xfer.color.status_done

  - Beschreibung: Textfarbe für Status: "fertig"

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `lightgreen`

- xfer.color.status_failed

  - Beschreibung: Textfarbe für Status: "fehlgeschlagen"

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `lightred`

- xfer.color.status_waiting

  - Beschreibung: Textfarbe für Status: "wartend"

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `lightcyan`

- xfer.color.text

  - Beschreibung: Textfarbe in xfer Buffer

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `default`

- xfer.color.text_bg

  - Beschreibung: Hintergrundfarbe des xfer Buffer

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `default`

- xfer.color.text_selected

  - Beschreibung: Textfarbe für selektierte Zeile in xfer Buffer

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `white`

- xfer.file.auto_accept_chats

  - Beschreibung: eine Chat-Anfrage wird automatisch akzeptiert (Vorsicht!)

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `off`

- xfer.file.auto_accept_files

  - Beschreibung: eine Datenübertragung wird automatisch angenommen (Vorsicht!)

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `off`

- xfer.file.auto_accept_nicks

  - Beschreibung: durch Kommata getrennte Liste von Nicks deren Chat- und Transferanfragen automatisch akzeptiert werden. Format : "server.nick" (für einen speziellen Server) oder "nick" (global, für alle Server); Beispiel: "libera.FlashCode,andrew"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `""`

- xfer.file.auto_check_crc32

  - Beschreibung: automatische Überprüfung der CRC32 Prüfsumme, sofern eine Prüfsumme im Dateinamen angegeben wird (mittels acht hexadezimalen Zeichen)

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `off`

- xfer.file.auto_rename

  - Beschreibung: eingehende Dateien werden automatisch umbenannt um ein Überschreiben zu vermeiden (dabei wird dem Dateinamen '.1', '.2', ... hinzugefügt)

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `on`

- xfer.file.auto_resume

  - Beschreibung: falls eine Verbindung getrennt wurde, dann wird eine abgebrochene Übertragungen automatisch fortsetzt

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `on`

- xfer.file.convert_spaces

  - Beschreibung: beim Versenden und Empfangen von Dateien werden Leerzeichen im Dateinamen durch einen Unterstrich ersetzt

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `on`

- xfer.file.download_path

  - Beschreibung: Pfad zum Schreiben eingehender Dateien (Pfad ist evaluiert, siehe Funktion string_eval_path_home in der Plugin-API-Referenz)

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"${weechat_data_dir}/xfer"`

- xfer.file.download_temporary_suffix

  - Beschreibung: Dateiendung der temporären Datei, die während eines eingehenden Datei-Transfers genutzt wird und die gelöscht wird, sobald die Übertragung erfolgreich beendet wurde; wenn -leer-, dann wird keine temporäre Dateiendung während des Transfers genutzt

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `".part"`

- xfer.file.upload_path

  - Beschreibung: Pfad zum Lesen von Dateien beim Senden (Pfad ist evaluiert, siehe Funktion string_eval_path_home in der Plugin-API-Referenz)

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"~"`

- xfer.file.use_nick_in_filename

  - Beschreibung: beim Empfang von Dateien wird der Nickname des Versenders dem Dateinamen vorangestellt

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `on`

- xfer.look.auto_open_buffer

  - Beschreibung: öffnet automatisch den Buffer für Übertragungen, falls eine neue Übertragung hinzugefügt wird

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `on`

- xfer.look.progress_bar_size

  - Beschreibung: Größe des Fortschrittsbalkens, in Zeichen (0, falls Fortschrittsbalken deaktiviert sein soll)

  - Typ: integer

  - Werte: 0 .. 256

  - Standardwert: `20`

- xfer.look.pv_tags

  - Beschreibung: durch Kommata getrennte Liste von Schlagwörtern die für private Nachrichten genutzt werden sollen. Zum Beispiel: "notify_message", "notify_private" oder "notify_highlight"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"notify_private"`

- xfer.network.blocksize

  - Beschreibung: Blockgröße für versendete Pakete (in Bytes)

  - Typ: integer

  - Werte: 1024 .. 102400

  - Standardwert: `65536`

- xfer.network.fast_send

  - Beschreibung: beim Versenden von Daten wird nicht auf ein Bestätigungssignal (ACK) gewartet

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `on`

- xfer.network.own_ip

  - Beschreibung: IP- oder DNS-Adresse, die zum Senden und passiven Empfangen von Dateien/Chats verwendet wird (falls kein Wert angegeben ist, wird die IP der lokalen Schnittstelle verwendet)

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `""`

- xfer.network.port_range

  - Beschreibung: schränkt den ausgehenden Dateien/Chats und eingehende/passive Dateien auf die ausschließliche Verwendung von Ports im angegebenen Bereich ein (hilfreich für NAT) (Syntax: ein einzelner Port, z.B. 5000 oder ein Portbereich, z.B. 5000-5015, ohne Angabe eines Wertes wird ein beliebiger Port genutzt. Es wird empfohlen, nur Ports zu nutzen, die über 1024 liegen, da nur der Anwender root Ports unter 1024 verwenden kann)

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `""`

- xfer.network.send_ack

  - Beschreibung: sendet ACK-Nachrichten wenn Dateien empfangen wurden; wenn deaktiviert kann der Transfer einfrieren, wenn der Absender auf eine ACK-Nachrichtet wartet (zum Beispiel wenn WeeChat eine Datei sendet und die Option xfer.network.fast_send aktiviert ist); andererseits kann die Deaktivierung ein Einfrieren verhindern da die ACK-Nachricht nicht umgehend an den Sender verschickt wird

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `on`

- xfer.network.speed_limit_recv

  - Beschreibung: Begrenzt die Übertragungsgeschwindigkeit beim Empfang, in Kilobytes pro Sekunde (0 = keine Begrenzung)

  - Typ: integer

  - Werte: 0 .. 2147483647

  - Standardwert: `0`

- xfer.network.speed_limit_send

  - Beschreibung: Begrenzt die Übertragungsgeschwindigkeit beim Versenden, in Kilobytes pro Sekunde (0 = keine Begrenzung)

  - Typ: integer

  - Werte: 0 .. 2147483647

  - Standardwert: `0`

- xfer.network.timeout

  - Beschreibung: Zeitüberschreitung bei Transferanfrage (in Sekunden)

  - Typ: integer

  - Werte: 5 .. 2147483647

  - Standardwert: `300`

## 10. Schreibbenachrichtigung

Die typing-Erweitertung wird verwendet, um andere Benutzer darüber zu informieren, dass Sie Nachrichten schreiben, und zeigt eine Liste der Benutzer an, die derzeit eine Nachricht in dem Buffer eingeben.

Es wird von der IRC-Erweiterung für Kanäle- und private Buffern verwendet, sofern die "message-tags"-Fähigkeit aktiviert ist (dies kann mit folgendenen Befehl, wie folgt überprüfen werden /cap).

Unter der Haube wird das Typing-Client-Tag folgendermaßen verwendet this specification ↗.

### 10.1. Aktivierung

Aus Datenschutzgründen ist diese Tippfunktion standardmäßig deaktiviert.
Wenn Sie es verwenden möchten, müssen Sie Optionen sowohl in den typing- als auch für die IRC-Erweiterung aktivieren:

    /set typing.look.enabled_nicks on
    /set typing.look.enabled_self on
    /set irc.look.typing_status_nicks on
    /set irc.look.typing_status_self on

Die Tippbenachrichtigungen werden am Ende der Statusleiste angezeigt.

Beispiel für die Statusleiste mit dem "typing" Item: "bob" tippt gerade eine Nachricht und "alice" hat eine Nachricht getippt, machte aber eine Pause:

    │[12:55] [6] [irc/libera] 3:#test(+n){4} [Typing: bob, (alice)]                   │
    │[@Flashy] █                                                                      │
    └─────────────────────────────────────────────────────────────────────────────────┘

### 10.2. Signale gesendet

Wenn Sie eine Nachricht eingeben (Befehle, die mit `/` beginnen, werden ignoriert), sendet die typing-Erweitertung Signale, um andere Erweiterungen (wie z.B. IRC) darüber zu informieren, dass Sie eine Nachricht eingeben. Diese Erweiterungen können dann Tippbenachrichtigungen an andere Benutzer senden.

Die folgenden Signale werden gesendet, wenn Sie eine Nachricht schreiben:

Signal | Argumente | Beschreibung
--- | --- | ---
typing_self_typing | Pointer: buffer. | Du schreibst eine Nachricht.
typing_self_paused | Pointer: buffer. | Du machst beim Schrieben einer Nachricht, eine Pause.
typing_self_cleared | Pointer: buffer. | Du hast die Eingabezeile gelöscht, ohne die Nachricht zu senden.
typing_self_sent | Pointer: buffer. | Du hast die Nachricht in den Buffer geschickt.

### 10.3. Signale empfangen

Die typing-Erweiterung fängt einige Signale ab, die von anderen Erweiterungen (wie IRC) gesendet werden können, um interne Hashtables zu aktualisieren, die verwendet werden, um den Schreibstatus von Nicks in Buffern zu sichern. Diese Hashtabellen werden verwendet, um den Inhalt des "typing"-Items zu erstellen.

Die folgenden Signale werden von der typing-Erweiterung empfangen:

Signal | Argumente | Beschreibung
--- | --- | ---
typing_set_nick | Zeichenkette: Bufferpointer + ";" + Status (möglich: "off", "typing", "paused", "cleared") + ";" + Nick. Beispiele: "0x1234abcd;typing;alice". | Schreibstatus für einen Nick in einem Buffer festlegen.
typing_reset_buffer | Pointer: Buffer. | Schreibstatus für alle Nicks in einem Buffer entfernen.

### 10.4. Optionen

Sektionen in Datei typing.conf:

Sektion | Steuerbefehl | Beschreibung
--- | --- | ---
`look` | `/set typing.look.*` | Erscheinungsbild.

Optionen:

- typing.look.delay_purge_paused

  - Beschreibung: Anzahl der Sekunden, nachdem der Pausenstatus gesetzt wurde: wenn erreicht, wird der Tippstatus entfernt

  - Typ: integer

  - Werte: 1 .. 2147483647

  - Standardwert: `30`

- typing.look.delay_purge_typing

  - Beschreibung: Anzahl der Sekunden nach Setzen des Tippstatuses: wenn erreicht, wird der Tipptatus entfernt

  - Typ: integer

  - Werte: 1 .. 2147483647

  - Standardwert: `6`

- typing.look.delay_set_paused

  - Beschreibung: Anzahl der Sekunden nach Eingabe des letzten Zeichens: wenn erreicht, wird der Schreibstatus "pausiert" und es werden keine Schreibsignale mehr gesendet

  - Typ: integer

  - Werte: 1 .. 2147483647

  - Standardwert: `10`

- typing.look.enabled_nicks

  - Beschreibung: Tippfunktion für andere Nicks aktiviert (Anzeige von Tippinfos für Nicks, die im aktuellen Buffer schreiben)

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `off`

- typing.look.enabled_self

  - Beschreibung: Tippfunktion für eigene Nachrichten aktiviert (Schreibinformationen an andere Benutzer senden)

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `off`

- typing.look.input_min_chars

  - Beschreibung: Mindestanzahl von Zeichen in der Nachricht, um das Senden von Tippsignalen auszulösen

  - Typ: integer

  - Werte: 1 .. 2147483647

  - Standardwert: `4`

- typing.look.item_max_length

  - Beschreibung: maximale Anzahl von Zeichen, die im Bar-Item "typing" angezeigt werden (0 = Inhalt nicht abschneiden)

  - Typ: integer

  - Werte: 0 .. 2147483647

  - Standardwert: `0`

## 11. Relay

Die Relay-Erweiterung wird genutzt um Daten, mittels unterschiedlicher Protokolle, über ein Netzwerk zu übermitteln:

- irc: IRC Proxy: um mittels einem oder mehreren IRC-Clients eine Verbindung zu IRC Servern zu unterhalten.

- api: HTTP REST API, wird von WeeChat und Remote-Schnittstellen zur Anzeige und Interaktion mit WeeChat verwendet

- weechat: von Remote-Schnittstellen verwendetes Protokoll zur Anzeige und Interaktion mit WeeChat.

Für die api und weechat Protokolle findet man eine Liste der Remote-Schnittstellen auf this page ↗.

### 11.1. Passwort

Es wird dringend empfohlen, mit diesen Befehlen ein Passwort für das Relay festzulegen:

    /secure set relay meinPasswort
    /set relay.network.password "${sec.data.relay}"

Dieses Passwort wird bei allen Protokollen verwendet.

### 11.2. TOTP

TOTP (Time-based One-Time Password) kann als sekundärer Authentifizierungsfaktor für die Protokolle api und weechat zusätzlich zum Passwort verwendet werden.

Diese Funktion is optional und erhöht den Sicherheitsgrad.

Ein Einmal-Passwort kann mit folgenden Anwendungen erstellt werden, zum Beispiel:

- FreeOTP: Android ↗, iOS ↗ (website ↗)

- Google Authenticator: Android ↗, iOS ↗

Die geheime TOTP Zeichenkette muss in WeeChat und der Anwendung gesetzt werden, welches für die Erstellung des Einmal-Passwort zuständig ist.

Die Zeichenkette muss base32 enkodiert sein, ausschließlich Buchstaben und Zahlen zwischen 2 und 7 sind erlaubt, zum Beispiel:

    /secure set relay_totp secretpasswordbase32
    /set relay.network.totp_secret "${sec.data.relay_totp}"

### 11.3. TLS

Man kann TLS mittels eines selbst erstellten Zertifikates und eines privaten Schlüssels nutzen. Um TLS für die Verbindung zu aktivieren stellt man dem Protokollnamen ein "tls" voran.

Der Standardpfad zum Zertifikat/Schlüssel wird durch die Option definiert relay.network.tls_cert_key.

Ein Zertifikat und einen privaten Schlüssel kann man mit folgenden Befehlen erstellen:

    $ mkdir -p ~/.config/weechat/tls
    $ cd ~/.config/weechat/tls
    $ openssl req -nodes -newkey rsa:2048 -keyout relay.pem -x509 -days 365 -out relay.pem

| Sie müssen `~/.config/weechat` durch den Pfad zu Ihrem WeeChat-Konfigurationsverzeichnis ersetzen, das auch beispielsweise `~/.weechat` sein kann.

Sollte WeeChat schon gestartet worden sein, kann man das Zertifikat und der private Schlüssel mittels folgendem Befehl nachträglich geladen werden:

    /relay tlscertkey

### 11.4. IRC Proxy

Die Relay Erweiterung kann wie ein IRC Proxy genutzt werden. Dabei simuliert die Erweiterung einen IRC Server und man kann sich mit jedem IRC Client zu WeeChat verbinden.

Es kann für jeden IRC Server ein Port definiert werden, oder aber man nutzt ein Port für alle Server.

Wird ein Port für alle Server genutzt, dann muss der Client den internen Namen des zu nutzenden Servers mit dem IRC Befehl "PASS" anfordern (siehe folgendes Beispiel):

    PASS server:meinPasswort

Beispiel: IRC Proxy mit TLS für einen beliebigen Server (Client wählt aus):

    /relay add tls.irc 8000

Beispiel: IRC Proxy ohne TLS und nur für "libera":

    /relay add irc.libera 8000

Nun kann man eine Verbindung zum Port 8000 mit jedem beliebigen IRC Client herstellen, indem man das Server Passwort "meinPasswort" nutzt (oder "libera:meinPasswort" sofern kein Server angegeben wurde).

Wenn Sie beispielsweise WeeChat als IRC-Client über das Relay mit einem Server namens "Relay" und dem Relay-Passwort "secret" verwenden, können Sie das Passwort mit den folgenden Befehlen einrichten:

    /secure set relay_libera libera:secret
    /set irc.server.relay.password "${sec.data.relay_libera}"

### 11.5. API protocol

Die Relay-Erweiterung kann Daten über ein HTTP REST API-Protokoll an einen Remote-WeeChat oder eine Remote-Schnittstelle senden.

Die API kann online durchstöbert und getestet werden: WeeChat Relay API ↗.

Sie können sich mit WeeChat oder einer Remote-Schnittstelle verbinden, siehe this page ↗.

Zum Beispiel:

    /relay add api 9000

Jetzt kann man sich über Port 9000 mit einem WeeChat oder einer Remote-Schnittstelle verbinden, indem das Passwort „mypassword“ verwendet wird.

So stellt man mit WeeChat eine Verbindung zu einem api Relay her:

    /remote add weechat http://localhost:9000 -password=mypassword
    /remote connect weechat

| Der Remote-WeeChat muss dieselbe API-Version wie der lokale WeeChat nutzen. Daher wird dringend empfohlen, auf dem Remote- und dem lokalen Client genau dieselbe WeeChat-Version zu verwenden.

### 11.6. WeeChat Protokoll

Die Relay-Erweiterung kann Daten, mittels dem WeeChat Protokoll, an eine externe Oberfläche senden.

Sie können eine Verbindung mit einer Remote-Schnittstelle herstellen, siehe this page ↗.

| Eine WeeChat Instanz kann sich NICHT mit einer anderen WeeChat Instanz über dieses Protokoll verbinden.

Zum Beispiel:

    /relay add weechat 9000

Nun kann man über den Port 9000 mittels einer Oberfläche und dem Passwort "meinPasswort" eine Verbindung zu WeeChat herstellen.

### 11.7. WebSocket

Das WebSocket Protokoll (RFC 6455 ↗) wird nun in der Relay Erweiterung unterstützt.

Der WebSocket Handshake wird automatisch erkannt und der Socket ist sofort funktionsfähig, sofern die benötigten Header gefunden werden und die Herkunft bestätigt wurde (siehe Option relay.network.websocket_allowed_origins).

Ein WebSocket kann in HTML5, mit einer JavaScript Zeile, geöffnet werden:

    websocket = new WebSocket("ws://server.com:9000/weechat");

Der Port (im Beispiel: 9000) ist der Port der in der Relay Erweiterung angegeben wurde.

Die URI muss mit „/weechat“ für die Protokolle irc und weechat und mit „/api“ für das Protokoll api enden.

### 11.8. UNIX Domain Sockets

Wenn man die Protokolloption "unix" mit dem Befehl `/relay add` nutzt, kann man jedes Protokoll zum Lauschen an einem UNIX Domain Socket nutzen, indem man einen Pfad angibt. Zum Beispiel:

    /relay add unix.weechat ${weechat_runtime_dir}/relay_socket

Das erlaubt es Clients sich mittels dem weechat Protokoll mit /run/user/1000/weechat/relay_socket zu verbinden. Dies ist besonders zu empfehlen um SSH forwarding für relay Clients zu nutzen, falls andere Ports nicht geöffnet werden können.

OpenSSH nutzen:

    $ ssh -L 9000:.weechat/relay_socket user@hostname

Dies leitet lokale relay Client Verbindungen von Port 9000 um, zu einer WeeChat Instanz welche auf "hostname" hört.

### 11.9. Befehle

- `relay`: Relay-Kontrolle

    /relay  list|listfull|listrelay
            add <name> <port>|<path>
            del|start|restart|stop <name>
            raw
            tlscertkey

          list: Auflistung der Relay-Clients (nur aktive Relays)
      listfull: detaillierte Auflistung der Relay-Clients (alle Relays, ausführlich)
     listrelay: Auflistung der Relays (Name und Port)
           add: fügt ein Relay (lauscht an Port/Pfad)
           del: entfernt Relay (Clients bleiben verbunden)
         start: lausche am Port
       restart: beendet den Server Socket und lauscht erneut am Port (Clients bleiben verbunden)
          stop: schließt den Server Socket (Clients bleiben verbunden)
          Name: Name des Relays (siehe Format weiter unten)
          Port: Port der für Relay genutzt werden soll
          Pfad: Pfad der für Relay genutzt werden soll (ausschließlich für UNIX Domain Socket); Pfad ist evaluiert (siehe Funktion string_eval_path_home in Erweiterung API Referenz)
           raw: öffnet einen Buffer mit den Relay-Roh-Daten
    tlscertkey: setzt TLS Zertifikat/Schlüssel mittels Pfad in Einstellung relay.network.tls_cert_key

    Aufbau des Relay-Namens: [ipv4.][ipv6.][tls.]<Protokoll.Name> oder unix.[tls.]<Protokoll.Name>:
      - ipv4: erzwingt die Nutzung von IPv4
      - ipv6: erzwingt die Nutzung von IPv6
      - tls: aktiviert TLS
      - Unix: nutzt UNIX Domain Socket
      - Protokoll.Name: Protokoll und Name des Relay:
        - Protokoll "irc": Name des Servers welcher geteilt werden soll (optional. Falls kein Name angegeben wird, muss der Client einen Namen mit dem Befehl "PASS" übermitteln, das Format ist wie folgt: "PASS Server:Passwort")
        - Protokoll "api" (Name wird nicht verwendet)
        - Protokoll "weechat" (es wird kein Name verwendet)

    Das "irc" Protokoll dient dazu eine Verbindung zu einem anderen IRC Client (oder zu einem zweiten WeeChat) herzustellen.
    Das "api" Protokoll ermöglicht einer Remote-Schnittstelle (einschließlich WeeChat selbst), um eine Verbindung über den Port herzustellen.
    Das "weechat" Protokoll ermöglicht einer Remote-Schnittstelle (aber nicht WeeChat selbst) um eine Verbindung über den Port herzustellen.

    Eine Liste von Remote-Schnittstellen findet man hier: https://weechat.org/about/interfaces/

    Ohne Angabe von Argumenten wird ein Buffer mit einer Liste aller Relay-Clients geöffnet.

    Beispiele:
      /relay add irc.libera 8000
      /relay add tls.irc.libera 8001
      /relay add tls.irc 8002
      /relay add tls.api 9000
      /relay add weechat 10000
      /relay add tls.weechat 10001
      /relay add ipv4.tls.weechat 10001
      /relay add ipv6.tls.weechat 10001
      /relay add ipv4.ipv6.tls.weechat 10001
      /relay add unix.weechat ${weechat_runtime_dir}/relay_socket

- `remote`: Steuerung von Remote-Relay-Servern

    /remote  list|listfull [<name>]
             add <name> <url> [-<option>[=<value>]]
             connect <name>
             send <name> <json>
             disconnect <name>
             rename <name> <new_name>
             del <name>

          list: listet relay-Server auf (ohne Angabe von Argumente wird diese Liste standardmäßig ausgegeben)
      listfull: listet alle relay-Server auf (ausführlich)
           add: erstellt einen neuen relay-Server
          name: Name des Remote-Relay-Servers, für interne Verwendung und zur Anzeige; dieser Name wird für die Verbindung mit dem Remote-Relay und zum Festlegen der Remote-Relay-Optionen verwendet: relay.remote.name.xxx
           url: URL des Remote-Relays im Format https://example.com:9000 oder http://example.com:9000 (Klartext-Verbindung, nicht empfohlen)
        option: zusätzliche Einstellung, für ein Remote-Relay
       connect: Verbindung zu einem Remote-Relay-Server herstellen
          send: sendet JSON-Daten an einen Remote-Relay-Server
    disconnect: Trennen der Verbindung zu einem Remote-Relay-Server
        rename: umbenennen eines Remote-Relay-Servers
           del: entfernen eines Remote-Relay-Servers

    Beispiele:
      /remote add example https://localhost:9000 -password=my_secret_password -totp_secret=secrettotp
      /remote connect example
      /remote del example

### 11.10. Optionen

Sektionen in Datei relay.conf:

Sektion | Steuerbefehl | Beschreibung
--- | --- | ---
`look` | `/set relay.look.*` | Erscheinungsbild.
`color` | `/set relay.color.*` | Farben.
`network` | `/set relay.network.*` | Netzwerkoptionen.
`irc` | `/set relay.irc.*` | für das IRC Protokoll spezifische Optionen (IRC Proxy).
`port` | `/relay add /set relay.port.*` | Ports zur Nutzung der Relay-Erweiterung (Optionen können in Sektion hinzugefügt/entfernt werden).

Optionen:

- relay.api.remote_get_lines

  - Beschreibung: Anzahl der Zeilen die von jedem Buffer, beim Verbinden mit einem Remote-Relay, abgerufen werden sollen

  - Typ: integer

  - Werte: 0 .. 2147483647

  - Standardwert: `1000`

- relay.color.client

  - Beschreibung: Textfarbe für Client-Beschreibung

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `cyan`

- relay.color.status_active

  - Beschreibung: Textfarbe für Status: "Verbindung hergestellt"

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `green`

- relay.color.status_auth_failed

  - Beschreibung: Textfarbe für Status: "Authentifizierung gescheitert"

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `lightmagenta`

- relay.color.status_authenticating

  - Beschreibung: Textfarbe für den Status „Authentifizierung“

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `yellow`

- relay.color.status_connecting

  - Beschreibung: Textfarbe für Status: "verbinde"

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `white`

- relay.color.status_disconnected

  - Beschreibung: Textfarbe für Status: "Verbindung getrennt"

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `lightred`

- relay.color.text

  - Beschreibung: Textfarbe in Relay-Buffer

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `default`

- relay.color.text_bg

  - Beschreibung: Hintergrundfarbe in Relay-Buffer

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `default`

- relay.color.text_selected

  - Beschreibung: Textfarbe für selektierte Zeile in Relay-Buffer

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `white`

- relay.irc.backlog_max_minutes

  - Beschreibung: Zeitangabe, in Minuten, wie lange die Zeilen im Verlaufsspeicher für jeden IRC Kanal gehalten werden sollen (0 = unbegrenzt, Beispiele: 1440 = einen Tag, 10080 = eine Woche, 43200 = einen Monat, 525600 = ein Jahr)

  - Typ: integer

  - Werte: 0 .. 2147483647

  - Standardwert: `0`

- relay.irc.backlog_max_number

  - Beschreibung: maximale Anzahl an Zeilen im Verlaufsspeicher. Dies gilt für jeden IRC Kanal (0: keine Zeilenbegrenzung)

  - Typ: integer

  - Werte: 0 .. 2147483647

  - Standardwert: `1024`

- relay.irc.backlog_since_last_disconnect

  - Beschreibung: Verlaufsspeicher anzeigen, beginnend mit dem Client der zuletzt beendet wurde

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `on`

- relay.irc.backlog_since_last_message

  - Beschreibung: Verlaufsspeicher anzeigen, beginnend mit Ihrer zuletzt geschriebenen Nachricht

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `off`

- relay.irc.backlog_tags

  - Beschreibung: durch Kommata getrennte Liste von Nachrichten-Tags welche im Verlaufsspeicher von IRC Kanälen angezeigt werden (unterstützte Tags: "irc_join", "irc_part", "irc_quit", "irc_nick", "irc_privmsg"), "*" = alle unterstützten Tags

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"irc_privmsg"`

- relay.irc.backlog_time_format

  - Beschreibung: Format für die Zeitanzeige im Verlaufsspeicher (siehe man strftime für gültige Formate) (findet keine Anwendung wenn die Serverfunktion, "server-time", durch den Client aktiviert wurde, da die Zeitanzeige als irc-Tag gesendet wird); keine Zeichenkette = deaktiviert die Zeitanzeige im Verlaufsspeicher

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"[%H:%M] "`

- relay.look.auto_open_buffer

  - Beschreibung: Automatisches Öffnen des Relay-Buffers, falls ein neuer Client eine Verbindung über eines dieser Protokolle herstellt (durch Kommas getrennte Liste); Erlaubte Protokolle: "irc", "weechat","api"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"irc,weechat"`

- relay.look.display_clients

  - Beschreibung: Zeigt Meldungen an, falls Clients über eine der folgenden Protokolle eine Verbindung zum Relay herstellen oder trennen (durch Kommas getrennte Liste); erlaubte Protokolle: "irc", "weechat", "api"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"irc,weechat"`

- relay.look.raw_messages

  - Beschreibung: Anzahl der IRC-RAW-Nachrichten die im Speicher gehalten werden sollen falls der RAW-Daten-Buffer geschlossen ist (die Nachrichten werden umgehend angezeigt sobald der RAW-Daten-Buffer geöffnet wird)

  - Typ: integer

  - Werte: 0 .. 65535

  - Standardwert: `256`

- relay.look.raw_messages_max_length

  - Beschreibung: max number of chars to display in raw messages (very long messages can cause slowness); 0 = display whole messages

  - Typ: integer

  - Werte: 0 .. 2147483647

  - Standardwert: `4096`

- relay.network.allow_empty_password

  - Beschreibung: erlaubt das kein Passwort für Relay genutzt wird (sollte ausschließlich für Testzwecke oder auf einem lokalen System genutzt werden)

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `off`

- relay.network.allowed_ips

  - Beschreibung: Erweiterter regulärer POSIX Ausdruck für IPs die von relay akzeptiert werden (Groß- und Kleinschreibung wird ignoriert. Um zwischen Groß- und Kleinschreibung zu unterscheiden muss die Zeichenkette mit "(?-i)" eingeleitet werden), Beispiele: "^(123\.45\.67\.89|192\.160\..*)$"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `""`

- relay.network.auth_timeout

  - Beschreibung: Zeitüberschreitung (in Sekunden) für die Clientauthentifizierung: Die Verbindung wird geschlossen, falls der Client nach dieser Verzögerung immer noch nicht authentifiziert ist und der Clientstatus auf "Authentifizierung fehlgeschlagen" gesetzt ist (0 = ewig warten)

  - Typ: integer

  - Werte: 0 .. 2147483647

  - Standardwert: `60`

- relay.network.bind_address

  - Beschreibung: Adresse für bind (falls nicht gesetzt, ist die Verbindung auf allen Schnittstellen möglich. Wird die Adresse "127.0.0.1" verwendet, können Verbindungen von einem lokalen Computer über IPv4 genutzt werden und mittels "ffff:127.0.0.1" via IPv6)

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `""`

- relay.network.clients_purge_delay

  - Beschreibung: Wartezeit bis nicht verbundene Clients gelöscht werden (in Minuten, 0 = lösche Clients unmittelbar, -1 = niemals löschen)

  - Typ: integer

  - Werte: -1 .. 43200

  - Standardwert: `0`

- relay.network.commands

  - Beschreibung: durch Kommata getrennte Liste von Befehlen die erlaubt bzw. verboten sind, wenn Daten (Text oder Befehl) von einem Client ("weechat" oder "api" Protokoll) empfangen werden; "*" bedeutet alle Befehle sind erlaubt, beginnt ein Befehl hingegen mit "!" wird die Auswahl umgekehrt und der Befehl wird nicht ausgeführt, ein Platzhalter "*" ist bei Befehlen erlaubt; diese Option sollte verwendet werden, falls man befürchtet, dass der relay client kompromittiert werden kann (darüber können Befehle ausgeführt werden); Beispiel: "*,!exec,!quit" es sind alle Befehle erlaubt, außer /exec und /quit

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"*,!quit"`

- relay.network.compression

  - Beschreibung: Komprimierung von Nachrichten, die mittels "weechat" und "api" Protokoll an Clients gesendet werden: 0 = Komprimierung deaktivieren, 1 = geringe Komprimierung / schnell ... 100 = beste Komprimierung / langsam; dieser Wert ist eine Prozentangabe, welcher für zlib nach 1-9 und für zstd nach 1-19 umgewandelt wird; der Standardwert wird empfohlen, denn er bietet einen guten Kompromiss zwischen Kompression und Geschwindigkeit

  - Typ: integer

  - Werte: 0 .. 100

  - Standardwert: `20`

- relay.network.ipv6

  - Beschreibung: lauscht standardmäßig am IPv6 Socket (zusätzlich zu IPv4, welches als Standardprotokoll genutzt wird); mittels des Protokollnamens kann das IPv4 und IPv6 Protokoll, einzeln oder gemeinsam, erzwungen werden (siehe /help relay)

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `on`

- relay.network.max_clients

  - Beschreibung: maximale Anzahl an Clients die mit einem Port verbunden sein dürfen (0 = keine Begrenzung)

  - Typ: integer

  - Werte: 0 .. 2147483647

  - Standardwert: `5`

- relay.network.nonce_size

  - Beschreibung: Größe der Nonce (in Bytes), die generiert wird, wenn ein Client eine Verbindung herstellt; Der Client muss diese Nonce verwenden, die mit der Client-Nonce und dem Kennwort verknüpft ist, wenn das Kennwort im Befehl "init" des Weechat-Protokolls gehasht wird

  - Typ: integer

  - Werte: 8 .. 128

  - Standardwert: `16`

- relay.network.password

  - Beschreibung: Passwort wird von Clients benötigt um Zugriff auf dieses Relay zu erhalten (kein Eintrag bedeutet, dass kein Passwort benötigt wird, siehe Option relay.network.allow_empty_password) (Hinweis: Inhalt wird evaluiert, siehe /help eval)

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `""`

- relay.network.password_hash_algo

  - Beschreibung: durch Kommata getrennte Liste der Hash-Algorithmen, die für die Kennwortauthentifizierung im Weechat-Protokoll verwendet werden, unter diesen Werten: "plain" (Kennwort im Klartext, nicht gehasht), "sha256", "sha512", "pbkdf2 + sha256", "pbkdf2 + sha512" ), "*" bedeutet alle Algorithmen, ein Name, der mit "!" beginnt ist ein negativer Wert, um die Verwendung eines Algorithmus zu vermeiden. Ein Platzhalter "*" im Namen ist zulässig (Beispiele: "*", "pbkdf2 *", "*,! plain")

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"*"`

- relay.network.password_hash_iterations

  - Beschreibung: Anzahl der Iterationen, die im Weechat-Protokoll an den Client gesendet werden, wenn ein Hash-Passwort mit dem Algorithmus PBKDF2 zur Authentifizierung verwendet wird; Mehr Iterationen sind aus Sicherheitsgründen besser, aber langsamer zu berechnen. Diese Zahl sollte nicht zu hoch sein, wenn Ihre CPU langsam ist

  - Typ: integer

  - Werte: 1 .. 1000000

  - Standardwert: `100000`

- relay.network.time_window

  - Beschreibung: Anzahl an Sekunden, die vor und nach der aktuellen Uhrzeit für den Hash eingeplant werden sollen, Zeit + Passwort im API-Protokoll

  - Typ: integer

  - Werte: 0 .. 256

  - Standardwert: `5`

- relay.network.tls_cert_key

  - Beschreibung: Datei mit TLS-Zertifikat und privatem Schlüssel (zum Bedienen von Clients mit TLS) (Pfad ist evaluiert, siehe Funktion string_eval_path_home in der Erweiterungs-API-Referenz)

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"${weechat_config_dir}/tls/relay.pem"`

- relay.network.tls_priorities

  - Beschreibung: Zeichenkette mit Prioritäten für gnutls (für die korrekte Syntax siehe gnutls Dokumentation unter Funktion gnutls_priority_init. Gebräuchliche Zeichenketten sind: "PERFORMANCE", "NORMAL", "SECURE128", "SECURE256", "EXPORT", "NONE")

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"NORMAL"`

- relay.network.totp_secret

  - Beschreibung: geheime Zeichenkette für die Erstellung des Time-based One-Time Passwort (TOTP), base32 enkodiert (ausschließlich Buchstaben und Zahlen zwischen 2 und 7); dient im WeeChat-Protokoll zur Zwei-Faktor-Authentifizierung, ergänzend zum eigentlichen Passwort, welches gesetzt sein muss (eine nicht gesetzte Option bedeutet, das TOTP nicht benötigt wird) (Hinweis: Inhalt wird evaluiert, siehe /help eval)

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `""`

- relay.network.totp_window

  - Beschreibung: Anzahl der Time-based One-Time Passwörter die vor und nach dem aktuellen Passwort akzeptiert werden: 0 = nur das aktuelle Passwort wird akzeptiert, 1 = akzeptiert ein Passwort vorher, das aktuelle und ein Passwort danach, 2 = akzeptiert zwei Passwörter vorher, das aktuelle und zwei Passwörter danach, ...; umso höher die genutzte Zahl umso unsicherer das Verfahren (0 oder 1 sind empfohlene Werte)

  - Typ: integer

  - Werte: 0 .. 256

  - Standardwert: `0`

- relay.network.websocket_allowed_origins

  - Beschreibung: Erweiterter regulärer POSIX Ausdruck für Origins in WebSockets (Groß- und Kleinschreibung wird ignoriert. Um Groß- und Kleinschreibung zu unterscheiden kann "(?-i)" vorangestellt werden), Beispiel: ^https?://(www\.)?example\.(com|org)"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `""`

## 12. externe Befehle

Der `/exec` Befehl erlaubt es aus WeeChat heraus einen oder mehrere externe Befehle auszuführen und eine Ausgabe im lokalen Buffer darzustellen oder in einem Buffer auszugeben.

### 12.1. Befehle

- `exec`: führe externe Befehle aus

    /exec  -list
           [-sh|-nosh] [-bg|-nobg] [-stdin|-nostdin] [-buffer <name>] [-l|-o|-oc|-n|-nf] [-oerr] [-cl|-nocl] [-sw|-nosw] [-ln|-noln] [-flush|-noflush] [-color ansi|auto|irc|weechat|strip] [-rc|-norc] [-timeout <timeout>] [-name <name>] [-pipe <command>] [-hsignal <name>] <command>
           -in <id> <text>
           -inclose <id> [<text>]
           -signal <id> <signal>
           -kill <id>
           -killall
           -set <id> <property> <value>
           -del <id>|-all [<id>...]

        -list: zeigt Befehle an
          -sh: es wird die shell verwendet um Befehle auszuführen, mehrere Befehle können dabei gepiped werden (WARNUNG: Dieses Argument sollte nur verwendet werden, falls alle Argumente unbedenklich sind, siehe Argument -nosh)
        -nosh: die shell wird nicht verwendet um Befehle auszuführen (wird benötigt, falls der Befehl mit sensiblen Daten hantiert. Zum Beispiel der Inhalt einer Nachricht eines anderen Users)(Standardverhalten)
          -bg: führt Prozess im Hintergrund aus: es wird weder eine Prozessausgabe noch ein Rückgabewert ausgegeben (nicht kompatibel mit Argumenten -o/-oc/-n/-nf/-pipe/-hsignal)
        -nobg: gibt Prozessausgabe und Rückgabewert aus (Standardverhalten)
       -stdin: erstellt eine PIPE um Daten zu dem Prozess zu senden (mittels /exec -in/-inclose)
     -nostdin: es wird keine PIPE für stdin erstellt (Standardverhalten)
      -buffer: zeigt/sendet Ausgabe des Befehls an diesen Buffer (wird der angegebene Buffer nicht gefunden wird ein neuer Buffer mit dem Namen "exec.exec.xxx" erstellt)
           -l: gibt die Ausgabe des Befehls lokal im Buffer aus (Standardverhalten)
           -o: gibt die Ausgabe des Befehls im Buffer aus (nicht kompatibel mit Argumenten -bg/-pipe/-hsignal)
          -oc: gibt die Ausgabe des Befehls im Buffer aus und führt diesen dann aus (betrifft Zeilen die mit "/" beginnen bzw. das benutzerdefinierte Befehlszeichen verwenden) (nicht kompatibel mit Argumenten -bg/-pipe/-hsignal)
           -n: gibt die Ausgabe des Befehls in einem neuen Buffer aus (nicht kompatibel mit Argumenten -bg/-pipe/-hsignal)
          -nf: gibt die Ausgabe des Befehls in einem neuen Buffer, mit einem freien Inhalt, aus (kein Zeilenumbruch, keine Limitierung in der Anzahl der Zeilen), aus (nicht kompatibel mit Argument -bg/-pipe/-hsignal)
        -oerr: sendet stderr (Fehlerausgabe) an den Buffer (kann nur mit den Optionen -o und -oc verwendet werden)
          -cl: der neue Buffer wird vor einer Ausgabe gelöscht
        -nocl: Ausgabe wird an neuen Buffer angehangen, ohne diesen vorher zu löschen (Standardverhalten)
          -sw: es wird zum Ausgabebuffer gewechselt (Standardverhalten)
        -nosw: es wird nicht zum Ausgabebuffer gewechselt
          -ln: legt eine Zeilennummerierung an (Standardverhalten, nur für neue Buffer)
        -noln: es wird keine Zeilennummerierung angezeigt
       -flush: die Ausgabe des Befehls findet in Echtzeit statt (Standardwert)
     -noflush: die Ausgabe des Befehls wird am Ende der Ausführung ausgegeben
       -color: es wird eine der folgenden Aktionen bei ANSI Zeichenkodierungen in der Ausgabe durchgeführt:
               ansi: ANSI-Kodierung wird beibehalten
               auto: konvertiert ANSI-Farben nach WeeChat/IRC (Standardverhalten)
               irc: konvertiert ANSI-Farben nach IRC Farben
               weechat: konvertiert ANSI-Farben nach WeeChat-Farben
               strip: ANSI-Farben werden entfernt
          -rc: der Rückgabewert wird ausgegeben (Standardverhalten)
        -norc: der Rückgabewert wird unterdrückt
     -timeout: gibt eine Zeitbeschränkung für den auszuführenden Befehl an (in Sekunden)
        -name: dem Befehl wird ein Name zugewiesen (um den Befehl später mittels /exec zu nutzen)
        -pipe: sendet die Ausgabe an einen Befehl von WeeChat/Erweiterung (Zeile für Zeile); sollen Leerzeichen im Befehl/Argument verwendet werden, müssen diese mit Anführungszeichen eingeschlossen werden; Variable $line wird durch die entsprechende Zeile ersetzt (standardmäßig wird die Zeile, getrennt durch ein Leerzeichen, dem Befehl nachgestellt (nicht kompatibel mit den Argumenten -bg/-o/-oc/-n/-nf)
     -hsignal: sendet die Ausgabe als hsignal (um es z.B. mittels /trigger zu verwenden) (nicht kompatibel mit den Argumenten -bg/-o/-oc/-n/-nf)
       Befehl: Befehl der ausgeführt werden soll; beginnt der Befehl mit "url:", wird die shell deaktiviert und der Inhalt der URL wird heruntergeladen und im Buffer ausgegeben
           id: identifiziert eindeutig einen Befehl: entweder durch eine Nummer oder einen Namen (sofern ein Name mittels "-name xxx" zugewiesen wurde)
          -in: sendet Text an die Standardeingabe des Prozesses
     -inclose: wie -in aber stdin wird danach geschlossen (und der Text ist optional: ohne Text wird stdin umgehend geschlossen
      -signal: schickt ein Signal an den Prozess; das Signal kann entweder eine Ganzzahl oder eines der folgenden Schlüsselworte sein: hup, int, quit, kill, term, usr1, usr2
        -kill: Alias für "-signal <id> kill"
     -killall: beendet alle laufenden Prozesse
         -set: setzen einer Hook-Eigenschaft (siehe Funktion "hook_focus" in API Dokumentation)
    Fähigkeit: Hook-Fähigkeit
         Wert: neuer Wert für Hook-Fähigkeit
         -del: entfernt einen beendeten Befehl
         -all: entfernt alle beendeten Befehle

    Standardoptionen können in der Einstellung exec.command.default_options bestimmt werden.

    Beispiele:
      /exec -n ls -l /tmp
      /exec -sh -n ps xu | grep weechat
      /exec -n -norc url:https://pastebin.com/raw.php?i=xxxxxxxx
      /exec -nf -noln links -dump https://weechat.org/files/doc/weechat/devel/weechat_user.en.html
      /exec -o uptime
      /exec -pipe "/print Machine uptime:" uptime
      /exec -n tail -f /var/log/messages
      /exec -kill 0

### 12.2. Optionen

Sektionen in Datei exec.conf:

Sektion | Steuerbefehl | Beschreibung
--- | --- | ---
`command` | `/set exec.command.*` | Optionen für Befehle.
`color` | `/set exec.color.*` | Farben.

Options:

- exec.color.flag_finished

  - Beschreibung: Textfarbe des Statusindikator (in der Auflistung der Befehle) für beendete Befehle

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `lightred`

- exec.color.flag_running

  - Beschreibung: Textfarbe des Statusindikator (in der Auflistung der Befehle) für Befehle die zur Zeit ausgeführt werden

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `lightgreen`

- exec.command.default_options

  - Beschreibung: Standardoptionen für den Befehl /exec (siehe /help exec); Beispiele: "-nosh -bg" führt alle Befehle im Hintergrund aus (keine Textausgabe) und ohne das die shell genutzt wird

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `""`

- exec.command.purge_delay

  - Beschreibung: Wartezeit bis nicht mehr ausgeführte Befehle gelöscht werden (in Sekunden, 0 = lösche Befehle unmittelbar, -1 = niemals löschen)

  - Typ: integer

  - Werte: -1 .. 25920000

  - Standardwert: `0`

- exec.command.shell

  - Beschreibung: shell welche für den Befehl "/exec -sh" genutzt werden soll; hierbei kann es sich um den Namen der shell handeln der über PATH gefunden wird (zum Beispiel "bash") oder man nutzt eine absolute Pfadangabe zur Binärdatei (zum Beispiel "/bin/bash"); wenn kein Wert angegeben ist, wird "sh" genutzt (Hinweis: Inhalt ist evaluiert, siehe /help eval)

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"${env:SHELL}"`

## 13. FIFO Pipe

Sie können WeeChat fern steuern indem Sie Befehle oder einen Text an die FIFO Pipe schicken (dazu muss die Option "fifo.file.enabled" aktiviert sein (standardmäßig ist diese Option aktiviert).

Die FIFO-Pipe befindet sich im WeeChat-Laufzeitverzeichnis und wird standardmäßig weechat_fifo_12345 benannt (wobei 12345 die WeeChat-Prozess-ID ist).

Die Syntax der FIFO Pipe Befehle/Text sieht wie folgt aus:

      plugin.buffer *hier Text oder Befehl
      *hier Text oder Befehl

Backslashes können mit diesem Format interpretiert werden, wobei `*` durch `\` ersetzt wird, damit kann man beispielsweise mehrzeilige Nachrichten senden:

      plugin.buffer \text or command here
      \text or command here

einige Beispiele:

- Ändert den eigenen Nick auf dem IRC Server libera in "newnick":

    $ echo 'irc.server.libera */nick newnick' >/run/user/1000/weechat/weechat_fifo_12345

- Schickt eine Nachrich in den IRC #weechat Channel:

    $ echo 'irc.libera.#weechat *hello!' >/run/user/1000/weechat/weechat_fifo_12345

- Sendet eine mehrzeilige Nachricht in den IRC Kanal #test, wenn die Fähigkeit "draft/multiline" auf dem Ergo Server aktiviert ist:

    $ echo 'irc.ergo.#test \hello\n...on two lines!' >/run/user/1000/weechat/weechat_fifo_12345

- Schickt eine Nachricht in den aktuellen Buffer:

    $ echo '*hello!' >/run/user/1000/weechat/weechat_fifo_12345

- Sendet zwei Befehle um alle Python-Skripten zu entfernen und dann neu zu laden (die beiden Befehle müssen mit "\n" getrennt werden):

    $ printf '%b' '*/python unload\n*/python autoload\n' >/run/user/1000/weechat/weechat_fifo_12345

### 13.1. Befehle

- `fifo`: Konfiguration für "fifo" Erweiterung

    /fifo  enable|disable|toggle

     enable: aktivieren der FIFO Pipe
    disable: deaktivieren der FIFO Pipe
     toggle: Status der FIFO pipe umschalten

    Die FIFO-Pipe wird als Fernbedienung genutzt, es können Befehle oder Text von der Shell an die FIFO-Pipe geschickt werden.
    Standardmäßig heißt die FIFO-Pipe weechat_fifo_xxx (wobei xxx die WeeChat-Prozess-ID ist) und befindet sich im WeeChat-Laufzeitverzeichnis (siehe /debug dirs).

    Folgendes Format wird erwartet:
      plugin.buffer *Text oder Befehl an dieser Stelle
      *Text oder Befehl an dieser Stelle

    Beispiel um den eigenen Nick auf dem Server libera zu ändern:
      echo 'irc.server.libera */nick newnick' >/run/user/1000/weechat/weechat_fifo_12345

    Bitte lese die Benutzeranleitung für weitere Informationen und Beispiele.

### 13.2. Optionen

Sektionen in Datei fifo.conf:

Sektion | Steuerbefehl | Beschreibung
--- | --- | ---
`file` | `/set fifo.file.*` | FIFO Pipe Optionen.

Optionen:

- fifo.file.enabled

  - Beschreibung: FIFO-Pipe aktivieren

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `on`

- fifo.file.path

  - Beschreibung: Pfad für FIFO-Datei; WeeChat PID kann im Pfad mit ${info:pid} verwendet werden (Pfad ist evaluiert, siehe Funktion string_eval_path_home in der Plugin-API-Referenz)

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"${weechat_runtime_dir}/weechat_fifo_${info:pid}"`

## 14. Trigger

Trigger ist das Schweizer Armeemesser für WeeChat. Es können verschiedene Hooks überwacht werden (signal. modifier, print, …​), der Inhalt von Daten kann verändert werden, es können ein- oder mehrere Befehle ausgeführt werden. Eine Bedingung kann genutzt werden um damit zu verhindern, dass der Trigger unter bestimmten Umständen ausgeführt wird.

Um Trigger nutzen zu können ist es von Vorteil zu wissen wie signals, modifiers, …​ in WeeChat überhaupt funktionieren. Deshalb sollte man überlegen, ob man nicht folgende Anleitung lesen sollte Anleitung für API Erweiterung / Hooks ↗ (Englisch).

### 14.1. standardmäßige Trigger

WeeChat erstellt standardmäßig fünf Trigger, welche deaktiviert, angepasst oder gelöscht werden können:

- ein beep Trigger für Benachrichtigungen

- vier Trigger um Passwörter auf dem Bildschirm zu unterdrücken

Liste der standardmäßigen Trigger:

Name | Hook | Beschreibung
--- | --- | ---
`beep` | print | Beep bei Highlight/privaten Nachrichten.
`cmd_pass` | modifier | unterdrückt Passwörter in den Befehlen: `/msg nickserv id|identify|set password|ghost|release|regain|recover`, `/oper`, `/quote pass`, `/secure passphrase|decrypt|set`.
`cmd_pass_register` | modifier | unterdrückt Passwort im Befehl `/msg nickserv register`.
`msg_auth` | modifier | unterdrückt Passwort einer IRC auth Nachricht (Nachricht welche vom Server empfangen wird, nachdem der User den Befehl verschickt hat).
`server_pass` | modifier | unterdrückt Passwort bei den Befehlen `/server` und `/connect`.

### 14.2. Aufbau eines Triggers

Ein Trigger hat folgende Optionen (Benennung ist `trigger.trigger.<name>.<option>`):

Option | Wert | Beschreibung
--- | --- | ---
`enabled` | `on`, `off` | Wenn die Option auf `off` gesetzt ist, dann ist der Trigger deaktiviert und die Ausführung ist gestoppt.
`hook` | `signal`, `hsignal`, `modifier`, `line`, `print`, `command`, `command_run`, `timer`, `config`, `focus`, `info`, `info_hashtable` | Der hook welcher durch Trigger genutzt werden soll. Für weitere Informationen siehe Anleitung für API Erweiterung / Hooks ↗ (Englisch).
`arguments` | string | Argumente welche der Hook nutzen soll. Dies ist davon abhängig welcher Hook-Typ genutzt wird.
`conditions` | string | Bedingung wann der Trigger ausgeführt werden soll; Inhalt ist evaluiert (siehe Befehl /eval).
`regex` | string | Einer oder mehrere erweiterte reguläre POSIX Ausdrücke, um die empfangenen Daten im Hook-Callback zu ändern (oder Daten die durch die Trigger-Erweiterung hinzugefügt worden sind), siehe reguläre Ausdrücke.
`command` | string | Befehl der ausgeführt werden soll (mehrere Befehle können durch Kommata voneinander getrennt werden); Inhalt ist evaluiert (siehe Befehl /eval).
`return_code` | `ok`, `ok_eat`, `error` | Rückgabewert des Callback (Standardwert: `ok`, sollte für fast jeden Trigger genutzt werden. Die anderen Werte werden höchst selten verwendet).
`post_action` | `none`, `disable`, `delete` | Aktion welche nach der Abarbeitung des Triggers ausgeführt werden soll (Standardwert ist `none` und sollte in den meisten Fällen zur Anwendung kommen.)

Ein Beispiel ist der standardmäßig genutzte Trigger beep, der folgende Optionen besitzt:

    trigger.trigger.beep.enabled = on
    trigger.trigger.beep.hook = print
    trigger.trigger.beep.arguments = ""
    trigger.trigger.beep.conditions = "${tg_displayed} && (${tg_highlight} || ${tg_msg_pv})"
    trigger.trigger.beep.regex = ""
    trigger.trigger.beep.command = "/print -beep"
    trigger.trigger.beep.return_code = ok
    trigger.trigger.beep.post_action = none

### 14.3. Ausführung

Wenn ein Trigger-Callback aufgerufen wird, dann wird folgende Befehlskette abgearbeitet:

1. Überprüfung von Bedingungen; falls unwahr, beenden

2. ersetze Text mittels erweitertem regulärer POSIX Ausdruck (sofern im Trigger definiert)

3. ein oder mehrere Befehle werden ausgeführt (sofern im Trigger definiert)

4. Beendigung mit einem Rückgabewert (ausgenommen sind die Hooks modifier, line, focus, info und info_hashtable)

5. Aktion welche nach der Abarbeitung des Triggers ausgeführt werden soll (falls der Wert abweichend von `none` sein sollte).

### 14.4. Hook Argumente

Die Argumente sind abhängig von dem genutzten Hook und werden durch ein Semikolon getrennt.

Hook | Argumente | Beispiele | Dokumentation (API)
--- | --- | --- | ---
signal | 1. Signalname (Priorität erlaubt) (erforderlich) 2. Signalname (Priorität erlaubt) 3. …​ | `*,irc_in_privmsg` `*,irc_in_privmsg;*,irc_in_notice` `signal_sigwinch` | hook_signal ↗ (Englisch)
hsignal | 1. Signalname (Priorität erlaubt) (erforderlich) 2. Signalname (Priorität erlaubt) 3. …​ | `nicklist_nick_added` | hook_hsignal ↗ (Englisch)
modifier | 1. modifier-Name (Priorität erlaubt) (erforderlich) 2. modifier-Name (Priorität erlaubt) 3. …​ | `weechat_print` `5000|input_text_display;5000|history_add` | hook_modifier ↗ (Englisch)
line | 1. Buffertyp 2. Buffername 3. Tags | `formatted` `free` `*;irc.libera.*` `*;irc.libera.#weechat` `formatted;irc.libera.#weechat;irc_notice` | hook_line ↗ (Englisch)
print | 1. Buffername 2. Tags 3. Nachricht 4. entferne Farben (0/1) | `irc.libera.*` `irc.libera.#weechat` `irc.libera.#weechat;irc_notice` `*;;;1` | hook_print ↗ (Englisch)
command | 1. Befehlsname (Priorität erlaubt) (erforderlich) 2. Beschreibung (evaluiert, siehe Befehl /eval) 3. Argumente (evaluiert, siehe Befehl /eval) 4. Beschreibung der Argumente (evaluiert, siehe Befehl /eval) 5. Vervollständigung (evaluiert, siehe Befehl /eval) | `test` `5000|test` `test;test command;arg1 arg2;arg1: description 1${\n}arg2: description 2` | hook_command ↗ (Englisch)
command_run | 1. Befehl (Priorität erlaubt) (erforderlich) 2. Befehl (Priorität erlaubt) 3. …​ | `/cmd arguments` | hook_command_run ↗ (Englisch)
timer | 1. Intervall in Millisekunden (erforderlich) 2. Abgleich der Sekunden (Standardwert: 0) 3. max. Anzahl an Aufrufen (Standardwert: 0, was "unendlich" bedeutet) | `3600000` `60000;0;5` | hook_timer ↗ (Englisch)
config | 1. Name der Option (Priorität erlaubt) (erforderlich) 2. Name der Option (Priorität erlaubt) 3. …​ | `weechat.look.*` | hook_config ↗ (Englisch)
focus | 1. area Name (Priorität erlaubt) (erforderlich) 2. area Name (Priorität erlaubt) 3. …​ | `buffer_nicklist` | hook_focus ↗ (Englisch)
info | 1. info name (Priorität erlaubt) (erforderlich) 2. info name (Priorität erlaubt) 3. …​ | `my_info` | hook_info ↗ (Englisch)
info_hashtable | 1. info name (Priorität erlaubt) (erforderlich) 2. info name (Priorität erlaubt) 3. …​ | `my_info` | hook_info_hashtable ↗ (Englisch)

### 14.5. Bedingungen

Bedingungen werden benötigt um eine Ausführung am Laufen zu halten oder um diese zu stoppen.

Diese sind evaluiert und die Daten im Callback können verwendet werden (siehe Daten in Callbacks und Befehl /eval).

Beispiel: der standardmäßig genutzte Trigger beep nutzt folgende Bedingungen, um ausschließlich bei einer privaten Nachricht oder einem Highlight ausgeführt zu werden:

    ${tg_displayed} && (${tg_highlight} || ${tg_msg_pv})

### 14.6. Reguläre Ausdrücke

Der reguläre Ausdruck wird verwendet, um Variablen in der Callback-Hashtabelle zu ändern.

Format ist eines der folgenden:

    /string1/string2
    /string1/string2/var
    s/string1/string2
    s/string1/string2/var
    y/string1/string2
    y/string1/string2/var

Felder:

- `s` oder `y`: ein Buchstabe mit dem Befehl; falls nicht vorhanden, ist der Standardbefehl `s` und das erste Zeichen wird dann als Trennzeichen verwendet:

  - `s`: Regex-Ersetzung: Die erste Zeichenfolge ist ein regulärer Ausdruck, die zweite Zeichenfolge ist der Ersatz für jede passende Zeichenfolge

  - `y`: Zeichenübersetzung: Die erste Zeichenfolge ist eine Reihe von Zeichen, die ersetzt werden durch die Zeichen in der zweiten Zeichenfolge; einmal ausgewertet, muss jeder String haben genau die gleiche Anzahl von UTF-8-Zeichen

- `/`: das Regex-Trennzeichen; das Zeichen "/" kann durch ein beliebiges Zeichen ersetzt werden (ein oder mehrere identische Zeichen)

- `string1`: die erste Zeichenkette (Verwendung ist abhängig vom Befehl)

- `string2`: die zweite Zeichenkette (Verwendung ist abhängig vom Befehl)

- `var`: die zu aktualisierende Hashtable-Variable

Mehrere reguläre Ausdrücke können durch ein Leerzeichen getrennt werden, zum Beispiel:

    s/regex1/replace1/var1 y/abcdef/ABDDEF/var2

#### Regex ersetzen

Für den Befehl `s` ist das Format: `s/regex/replace` oder `s/regex/replace/var` (wobei var eine Variable der Hashtabelle ist).

Da `s` der Standardbefehl ist, kann dieser weggelassen werden, also ist es auch `/regex/replace` gültig (aber das erste Zeichen, das das Trennzeichen ist, darf kein Buchstabe sein).

Zutreffende Gruppen können in replace verwendet werden:

- `${re:0}` nach `${re:99}`: `${re:0}` ist die ganze Trefferanzahl, `${re:1}` nach `${re:99}` sind als Gruppen erfasst.

- `${re:+}`: das letzte Treffer (mit der höchsten Zahl)

- `${re:#}`: index of last group captured

- `${re:repl_index}`: index of replacement being done (starts to 1)

- `${hide:c,${re:N}}`: Treffer "N" mit allen Zeichen die durch "c" ersetzt wurden (Beispiele: `${hide:*,${re:2}}` ist die Gruppe #2, mit allen Zeichen die durch `*` ersetzt wurden).

Beispiel: Verwenden Sie Fettschrift für Wörter zwischen `*`:

    s/\*([^ ]+)\*/*${color:bold}${re:1}${color:-bold}*/

Beispiel: Der Standardtrigger server_pass verwendet diesen regulären Ausdruck zum Ausblenden des Passwortes in den Befehlen `/server` und `/connect` (Zeichen in Passwörtern werden ersetzt durch `*`):

    s==^(/(server|connect) .*-(sasl_)?password=)([^ ]+)(.*)==${re:1}${hide:*,${re:4}}${re:5}

| In diesem Beispiel ist das verwendete Trennzeichen "==", da ein "/" in dem regulären Ausdruck vorhanden ist.

#### Zeichen ersetzen

Für den Befehl „y“ ist das Format: „y/chars1/chars2“ oder „y/chars1/chars2/var“. (wobei var eine Variable der Hashtabelle ist).

Beispiel: ersetze "a", "b" und "c" durch Großbuchstaben:

    y/abc/ABC/

Beispiel: rotiere Pfeile im Uhrzeigersinn:

    y/←↑→↓/↑→↓←/

Beispiel: konvertiere alle Zeichen in Kleinbuchstaben:

    y/${chars:upper}/${chars:lower}/

Beispiel: verschiebt jeden Buchstaben um eine Position, wobei die Groß- und Kleinschreibung erhalten bleibt: a→b, b→c … y→z, z→a:

    y/${chars:a-z}${chars:A-Z}/${chars:b-z}a${chars:B-Z}A/

#### Variablen

Wenn var nicht in der Hashtabelle vorhanden ist, wird es automatisch mit einem leerer Wert erstellt. Dies ermöglicht das Erstellen benutzerdefinierter temporärer Variablen.

Wenn var nicht angegeben ist, wird die Standardvariable verwendet, sie hängt vom Hook-Typ ab:

Hook | Standard-Variable | Update erlaubt (1)
--- | --- | ---
signal | tg_signal_data |
hsignal |  |
modifier | tg_string | tg_string
line | message | buffer, buffer_name, y, date, date_usec, date_printed, date_usec_printed, str_time, tags, notify_level, highlight, prefix, message
print | tg_message |
command | tg_argv_eol1 |
command_run | tg_command |
timer | tg_remaining_calls |
config | tg_value |
focus |  |
info | tg_info | tg_info
info_hashtable |  | alle Variablen die in der hashtable empfangen wurden

| (1) Alle Variablen können im Trigger upgedated werden, aber nur diese Variablen haben einen Einfluss auf den Wert der vom Trigger zurückgegeben wird und dann von WeeChat genutzt wird.

### 14.7. Befehl

Der Befehl wird erst ausgeführt nach dem mittels eines regulären Ausdruckes der Text verändert wurde. Mehrere Befehle können durch Semikolon voneinander getrennt werden.

Der Inhalt ist evaluiert (siehe Befehl /eval) und der durch einen regulären Ausdruck veränderte Text kann in dem Befehl verwendet werden.

Beispiel: der standardmäßig genutzte Trigger beep nutzt folgenden Befehl um einen Ton (BEL) zu erzeugen.

    /print -beep

### 14.8. Daten in Callbacks

Daten, die dem Callback übergeben werden, werden in einer Hashtable (Pointer und Strings) gesichert und können durch folgende Optionen genutzt werden:

- conditions

- regex

- command

Der Inhalt eines Hashtable ist abhängig von dem Hook-Typ.

Ein komfortabler Weg um die Daten eines Triggers zu sehen ist es den Monitor-Buffer zu öffnen:

    /trigger monitor

Alle Callbacks setzen folgende Variablen in das hashtable:

Variable | Typ | Beschreibung
--- | --- | ---
`tg_trigger_name` | string | Name des Trigger.
`tg_hook_type` | string | Hook-Typ: "signal", "command", etc.

#### Signale

Der Callback von "signal" legt folgende Variablen in der Hashtable an:

Variable | Typ | Beschreibung
--- | --- | ---
`tg_signal` | string | Name des Signals.
`tg_signal_data` | string | Daten die vom Signal gesendet wurde.

Sollte das Signal eine IRC Nachricht beinhalten, wird die Nachricht analysiert und die Daten in einer Hashtable gesichert:

Variable | Typ | Beschreibung
--- | --- | ---
`irc_server` | pointer | Pointer auf IRC Server (Variable in hdata vom Typ "irc_server" kann verwendet werden, wie `${irc_server.name}`).
`irc_channel` | pointer | Pointer auf IRC Channel (Variable in hdata vom Typ "irc_channel" kann verwendet werden, wie `${irc_channel.name}`).
`server` | string | Name des Server (Beispiel: "libera").
`tags` | string | Tags in Nachricht (findet selten Verwendung).
`message_without_tags` | string | Nachricht ohne Tags.
`nick` | string | Nick. (1)
`host` | string | Hostname.
`command` | string | IRC Befehl (Beispiel: "PRIVMSG", "NOTICE", …​).
`channel` | string | IRC Channel.
`arguments` | string | Argumente des Befehls (Beinhaltet Wert von channel).
`text` | string | Text (zum Beipiel eine Nachricht eines Users).
`pos_command` | string | Index von command innerhalb einer Nachricht ("-1" falls command nicht gefunden wird).
`pos_arguments` | string | Index von_arguments_ innerhalb einer Nachricht ("-1" falls arguments nicht gefunden wird).
`pos_channel` | string | Index von channel innerhalb einer Nachricht ("-1" falls channel nicht gefunden wird).
`pos_text` | string | Index von text innerhalb einer Nachricht ("-1" falls text nicht gefunden wird).

| (1) Der Nick, ist der Absender der Nachricht. Der eigene Nick für den Server ist `${irc_server.nick}`.

Sofern es sich bei den Daten um einen Pointer handelt, kann die Variable `tg_signal_data` wie im folgenden Beispiel genutzt werden um den Inhalt von hdata zu lesen (im Beispiel wird der Pointer eines Buffer verwendet):

    ${buffer[${tg_signal_data}].full_name}

#### Hsignal

Der Callback von "hsignal" legt folgende Variablen in der Hashtable an:

Variable | Typ | Beschreibung
--- | --- | ---
`tg_signal` | string | Name des Signals.

Das Hashtable enthält alle Schlüssel/Werte (Typ: string/string).

#### Modifier

Der Callback von "modifier" legt folgende Variablen in der Hashtable an:

Variable | Typ | Beschreibung
--- | --- | ---
`tg_modifier` | string | Name des modifier.
`tg_modifier_data` | string | Daten die der modifier übermittelt.
`tg_string` | string | Zeichenkette die verändert werden kann.
`tg_string_nocolor` | string | Zeichenkette ohne Farbcodes.

Für den modifier weechat_print gilt, Tags werden hinzugefügt, sofern sie vorhanden sind (siehe hook print weiter unten), und nachfolgende Variablen:

Variable | Typ | Beschreibung
--- | --- | ---
`buffer` | pointer | Buffer in welchem die Nachricht geschrieben werden soll.
`tg_plugin` | string | Erweiterung des entsprechenden Buffers.
`tg_buffer` | string | vollständiger Name des Buffers.
`tg_prefix` | string | Präfix der Nachricht.
`tg_prefix_nocolor` | string | Präfix ohne Farbcodes.
`tg_message` | string | Nachricht die ausgegeben werden soll.
`tg_message_nocolor` | string | Nachricht die ausgegeben werden soll, ohne Farbcodes.

Sollte das Signal eine IRC Nachricht beinhalten, wird die Nachricht analysiert und die Daten in einer Hashtable gesichert (siehe hook signal).

#### Line

Der Callback von "line" legt folgende Variablen in der Hashtable an:

Variable | Typ | Beschreibung
--- | --- | ---
`buffer` | pointer | Buffer.
`buffer_name` | string | Buffername.
`buffer_type` | string | Buffertyp ("formatted" oder "free").
`y` | string | Zeilennummer bei einem Buffer mit freier Einteilung (≥ 0), -1 für einen Buffer mit formatiertem Inhalt.
`date` | string | Datum der Zeile (Zeitstempel).
`date_usec` | string | Mikrosekunden des Zeilendatums.
`date_printed` | string | Datum wann die Zeile dargestellt wurde (Zeitstempel).
`date_usec_printed` | string | Mikrosekunden des Datums, an dem die Zeile angezeigt wurde.
`str_time` | string | Datum für Darstellung. Kann Farbkodierungen erhalten.
`tags` | string | Tags einer Nachricht (Komma wird automatisch zu Beginn und Ende den Tags hinzugefügt).
`displayed` | string | "1" wenn Zeile dargestellt wird, "0" wenn Zeile gefiltert wird.
`notify_level` | string | "-1" = keine Benachrichtigung, "0" = niedrige Stufe, "1" = Nachricht, "2" = private Nachricht, "3" = Highlight
`highlight` | string | "1" wenn Highlight, andernfalls "0".
`prefix` | string | Prefix.
`tg_prefix_nocolor` | string | Prefix, ohne Farbkodierung.
`message` | string | Nachricht.
`tg_message_nocolor` | string | Nachricht, ohne Farbkodierung.

Variablen die mittels Tags in der Nachricht gesetzt werden:

Variable | Typ | Beschreibung
--- | --- | ---
`tg_tags_count` | string | Anzahl an Tags der Nachricht.
`tg_tag_nick` | string | Nick (extrahiert aus Tag "nick_xxx").
`tg_tag_prefix_nick` | string | Nickfarbe für Präfix (extrahier aus Tag "prefix_nick_ccc").
`tg_tag_host` | string | Username und Host, Format: username@host (extrahiert aus Tag "host_xxx").
`tg_tag_notify` | string | Benachrichtigungsstufe (none, message, private, highlight).
`tg_tag_irc_xxx` | string | Tag einer IRC Nachricht (Schlüssel "xxx"). (1)
`tg_notify` | string | Benachrichtigungsstufe, falls von none abweichend.
`tg_msg_pv` | string | "1" für eine private Nachricht, andernfalls "0".

| (1) Kommas werden durch Semikolon ersetzt in IRC Tag (Schlüssel und Wert).

#### Print

Der Callback von "print" legt folgende Variablen in der Hashtable an:

Variable | Typ | Beschreibung
--- | --- | ---
`buffer` | pointer | Buffer.
`tg_date` | string | Datum/Uhrzeit der Nachricht (Format: `%FT%T.%f`, siehe WeeChat plugin API reference / util_strftimeval ↗).
`tg_displayed` | string | "1" wenn Nachricht dargestellt wird, "0" falls Nachricht gefiltert wird.
`tg_highlight` | string | "1" falls es sich um eine Highlight-Nachricht handelt, andernfalls "0".
`tg_prefix` | string | Präfix.
`tg_prefix_nocolor` | string | Präfix ohne Farbcodes.
`tg_message` | string | Nachricht.
`tg_message_nocolor` | string | Nachricht ohne Farbcodes.

Variablen die mittels Tags in der Nachricht gesetzt werden:

Variable | Typ | Beschreibung
--- | --- | ---
`tg_tags` | string | Tags einer Nachricht (Komma wird automatisch zu Beginn und Ende den Tags hinzugefügt).
`tg_tags_count` | string | Anzahl an Tags der Nachricht.
`tg_tag_nick` | string | Nick (extrahiert aus Tag "nick_xxx").
`tg_tag_prefix_nick` | string | Nickfarbe für Präfix (extrahier aus Tag "prefix_nick_ccc").
`tg_tag_host` | string | Username und Host, Format: username@host (extrahiert aus Tag "host_xxx").
`tg_tag_notify` | string | Benachrichtigungsstufe (none, message, private, highlight).
`tg_tag_irc_xxx` | string | Tag einer IRC Nachricht (Schlüssel "xxx"). (1)
`tg_notify` | string | Benachrichtigungsstufe, falls von none abweichend.
`tg_msg_pv` | string | "1" für eine private Nachricht, andernfalls "0".

| (1) Kommas werden durch Semikolon ersetzt in IRC Tag (Schlüssel und Wert).

#### Command

Der Callback von "command" legt folgende Variablen in der Hashtable an:

Variable | Typ | Beschreibung
--- | --- | ---
`buffer` | pointer | Buffer.
`tg_argc` | string | Die Anzahl von Argumenten (der Befehl wird mitgezählt).
`tg_argvN` | string | Argument #N (`tg_argv0` ist der Befehl selber, die weiteren sind Argumente).
`tg_argv_eolN` | string | von Argument #N bis zum Ende der Argumente (`tg_argv_eol0` enthält den eigentlichen Befehl).
`tg_shell_argc` | string | Die Anzahl der Argumente mit einer Aufteilung wie bei der Shell (der Befehl selbst zählt als eins).
`tg_shell_argvN` | string | #N Argumente mit einer Aufteilung wie bei der Shell (`tg_shell_argv0` ist der eigentliche Befehl, alle weiteren sind die Argumente, des Befehls).

#### Command_run

Der Callback von "command_run" legt folgende Variablen in der Hashtable an:

Variable | Typ | Beschreibung
--- | --- | ---
`buffer` | pointer | Buffer.
`tg_command` | string | auszuführender Befehl.

#### Timer

Der Callback von "timer" legt folgende Variablen in der Hashtable an:

Variable | Typ | Beschreibung
--- | --- | ---
`tg_remaining_calls` | string | Anzahl der noch ausstehenden Aufrufe.
`tg_date` | string | aktuelles Datum und Uhrzeit (Format: `%FT%T.%f`, siehe WeeChat plugin API reference / util_strftimeval ↗).

#### Config

Der Callback von "config" legt folgende Variablen in der Hashtable an:

Variable | Typ | Beschreibung
--- | --- | ---
`tg_option` | string | Option.
`tg_value` | string | Wert.

#### Focus

Der Callback von "focus" legt folgende Variablen in der Hashtable an:

Variable | Typ | Beschreibung
--- | --- | ---
`window` | pointer | Fenster.
`buffer` | pointer | Buffer.

Das Hashtable enthält alle Schlüssel/Werte (Typ: string/string).

#### Info

Der Callback von "info" legt folgende Variablen in der Hashtable an:

Variable | Typ | Beschreibung
--- | --- | ---
`tg_info_name` | string | Name der Information.
`tg_arguments` | string | Argumente.
`tg_info` | string | ein leerer String (die Information die zurückgegeben werden soll).

#### Info_hashtable

Der Callback von "info_hashtable" legt folgende Variablen in der Hashtable an:

Variable | Typ | Beschreibung
--- | --- | ---
`tg_info_name` | string | Name der Information.

Das Hashtable enthält alle Schlüssel/Werte (Typ: string/string).

### 14.9. Beispiele

#### URLs werden eingefärbt

Zeigt URLs in grün an:

    /trigger add url_color modifier weechat_print "${tg_notify}" "==[a-zA-Z0-9_]+://[^ ]+==${color:green}${re:0}${color:reset}=="

| Dies ist ein einfacher regulärer Ausdruck der möglicherweise nicht alle URLs erkennt, dafür ist er aber wesentlich schneller als ein komplexer regulärer Ausdruck.

#### automatisierte "pong" Antwort, bei einer "ping" Anfrage

Wenn jemand eine "ping" Nachricht in einen privaten Buffer sendet, verschickt dieser Trigger automatisch eine `pong` Antwort:

    /trigger add pong print "" "${type} == private && ${tg_message} == ping" "" "pong"

#### reaktives layout

Der nachfolgende Trigger kann verwendet werden um Anpassungen vorzunehmen, falls sich die Größe des Terminalfensters verändert:

    /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"

Der Trigger nutzt das Signal "signal_sigwinch", welches durch WeeChat verschickt wird sobald das Signal SIGWINCH vom Terminal empfangen wird.

Die Bedingung `${info:term_width}` überprüft die Breite des Terminal (zusätzlich kann auch `${info:term_height}` genutzt werden).

In obigem Beispiel wird die Nicklist versteckt, sobald das Terminal verkleinert wird. Die Benutzerliste wird wieder angezeigt, sobald die Breite des Terminals größer oder gleich 100 Zeichen ist.

#### automatisches speichern der Konfiguration

Die Konfigurationsdateien (`*.conf`), können automatisch jede Stunde gespeichert werden:

    /trigger add cfgsave timer 3600000;0;0 "" "" "/mute /save"

Argumente für den Hook-Timer sind:

- 3600000: 3600 * 1000 Millisekunden, der Callback wird jede Stunde ausgeführt

- 0: Abgleich der Sekunden (es findet keine Justierung statt)

- 0: maximale Anzahl an aufrufen (0 = unbegrenzt)

Der Befehl `/mute /save` sorgt dafür, dass die Konfiguration ohne kommentarlos gespeichert wird (es findet keine Ausgabe im Core-Buffer statt).

### 14.10. Befehle

- `trigger`: verwaltet Trigger, das Schweizer Armeemesser für WeeChat

    /trigger  list [-o|-ol|-i|-il]
              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>|<mask> [<name>|<mask>...]]
              restart <name>|<mask> [<name>|<mask>...]
              show <name>
              del <name>|<mask> [<name>|<mask>...]
              restore <name>|<mask> [<name>|<mask>...]
              default -yes
              monitor [<filter>]

            list: zeigt eine Liste aller Trigger (ohne Angabe von Argumente wird diese Liste standardmäßig ausgegeben)
              -o: gibt eine Liste der aktiven Trigger im Buffer aus (Ausgabe in englisch)
             -ol: gibt eine Liste der aktiven Trigger im Buffer aus (Ausgabe ist übersetzt)
              -i: eine Liste der laufenden Trigger wird in die Eingabezeile kopiert (um sie dann, manuell, in einen Buffer zu senden) (Ausgabe in englisch)
             -il: eine Liste der laufenden Trigger wird in die Eingabezeile kopiert (um sie dann, manuell, in einen Buffer zu senden) (Ausgabe ist übersetzt)
        listfull: zeigt eine detaillierte Liste aller Trigger an, mit zusätzlichen Informationen
     listdefault: Liste der standardmäßigen Trigger
             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 Triggers
            Hook: signal, hsignal, modifier, line, print, command, command_run, timer, config, focus, info, info_hashtable
       arguments: Argumente für den Hook, abhängig welcher Hook genutzt wird (getrennt durch Semikolons):
                  type `signal`: Name(en) des Signal (erforderlich)
                  type `hsignal`: Name(en) des hsignal (erforderlich)
                  type `modifier`: Name(en) des modifier (erforderlich)
                  type `line`: Buffertyp ("formatted", "free" oder "*"), Liste von Buffermasken, Tags
                  type `print`: Buffer, Tags, Nachricht, Farben entfernen
                  type `command`: Befehl (erforderlich), Beschreibung, Argumente, Beschreibung der Argumente, Vervollständigung (alle Argumente, außer der Befehl, werden ausgewertet, "${tg_trigger_name}" wird durch den Triggernamen ersetzt, siehe /help eval)
                  type `command_run`: Befehl(e) (erforderlich)
                  type `timer`: Intervall (erforderlich), an Sekunden anpassen, maximale Anzahl an Aufrufen
                  type `config`: Name der Einstellung (erforderlich)
                  type `focus`: Name(n) für sichtbaren Bereich (erforderlich) (z.B. "chat" für Chatbereich)
                  type `info`: Name(n) der Information (erforderlich)
                  type `info_hashtable`: Name(n) der Information (erforderlich)
     Bedingungen: evaluierte Bedingungen für den Trigger
           regex: einer oder mehrere reguläre Ausdrücke um Zeichenketten in Variablen zu ersetzen
         command: Befehl der ausgeführt werden solle (mehrere Befehle können durch ein ";" getrennt werden)
    Rückgabewert: 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: in die Eingabezeile wird ein Trigger, mit einer standardmäßigen Mustervorlage, kopiert
           input: kopiert den kompletten Trigger-Befehl in die Eingabezeile
          output: versendet 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 Option
          rename: benennt einen Trigger um
            copy: kopiert einen Trigger
          enable: aktiviert einen Trigger (ohne Angabe von Argumenten: alle Trigger werden aktiviert)
         disable: deaktiviert einen Trigger (ohne Angabe von Argumenten: alle Trigger werden deaktiviert)
          toggle: umschalten von Trigger (ohne Angabe von Argumenten: werden alle Trigger umgeschaltet)
         restart: startet Trigger neu (Hook(s) werden neu erstellt)
            show: zeigt detaillierte Informationen zu einem Trigger (inklusive einer kleinen Statistik)
             del: entfernt Trigger
         restore: stellt Trigger mit Standardwerten wieder her (funktioniert nur bei vorgegebenen Triggern)
           Maske: Name, wobei der Platzhalter "*" zulässig ist
         default: stellt die standardmäßigen Trigger wieder her
         monitor: öffnet den Trigger-Monitor-Buffer, mit optionaler Filterung
          Filter: filtert Hooks/Trigger zum Anzeigen (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 Befehlsreihenfolge 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. führt eine abschließende Aktion aus

    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 (nur in User-Nachrichten):
        /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"
      speichert die WeeChat-Sitzung stillschweigend um Mitternacht (siehe /help upgrade):
        /trigger add session_save signal day_changed "" "" "/mute /upgrade -save"
      öffnet den Trigger Monitor und zeigt ausschließlich modifier und Trigger an, die mit "resize" im Namen beginnen:
        /trigger monitor @modifier,resize*

### 14.11. Optionen

Sektionen in Datei trigger.conf:

Sektion | Steuerbefehl | Beschreibung
--- | --- | ---
`look` | `/set trigger.look.*` | Erscheinungsbild.
`color` | `/set trigger.color.*` | Farben.
`trigger` | `/trigger add /trigger set /set trigger.trigger.*` | Trigger Optionen.

Optionen:

- trigger.color.flag_command

  - Beschreibung: Textfarbe für Befehls-Flag (in /trigger list)

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `lightgreen`

- trigger.color.flag_conditions

  - Beschreibung: Textfarbe für Bedingungen-Flag (in /trigger list)

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `yellow`

- trigger.color.flag_post_action

  - Beschreibung: Textfarbe für das Flag welches anzeigt welche nachfolgende Aktion ausgeführt werden soll (in /trigger list)

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `lightblue`

- trigger.color.flag_regex

  - Beschreibung: Textfarbe für Regex-Flag (in /trigger list)

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `lightcyan`

- trigger.color.flag_return_code

  - Beschreibung: Textfarbe für Rückgabewert-Flag (in /trigger list)

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `lightmagenta`

- trigger.color.identifier

  - Beschreibung: Textfarbe für Trigger-Kontextkennung im Monitorbuffer

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `cyan`

- trigger.color.regex

  - Beschreibung: Textfarbe für reguläre Ausdrücke

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `white`

- trigger.color.replace

  - Beschreibung: Textfarbe für ausgetauschten Text (bei regulären Ausdrücken)

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `cyan`

- trigger.look.enabled

  - Beschreibung: Triggerunterstützung einschalten

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `on`

- trigger.look.monitor_strip_colors

  - Beschreibung: entfernt Farben von Hashtablewerten die im Monitor-Buffer angezeigt werden

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `off`

## 15. WeeChat erweitern

WeeChat ist modular aufgebaut und kann durch Erweiterungen und Skripten in der Funktionalität erweitert werden.

Es ist wichtig zwischen Erweiterung und Skript zu unterscheiden. Eine Erweiterung ist eine Binärdatei die kompiliert wurde und mit dem Befehl `/plugin` geladen wird. Dem gegenüber ist ein Skript eine Textdatei die durch eine Erweiterung z.B. python mittels dem Befehl `/python` geladen wird.

### 15.1. Erweiterungen

Eine WeeChat Erweiterung ist eine dynamische Bibliothek (library), die in C geschrieben und kompiliert ist. Unter GNU/Linux besitzt eine Erweiterung als Dateiendung ".so", unter Windows ".dll".

Erweiterungen die gefunden werden, werden beim Start von WeeChat automatisch geladen. Natürlich ist es möglich während einer laufenden Sitzung von WeeChat Erweiterungen nachträglich zu laden oder zu entfernen.

Mit dem Befehl `/plugin` kann eine Erweiterung geladen bzw. entfernt werden. Auch können mit dem Befehl alle installierten Erweiterungen aufgelistet werden.

Sobald eine Erweiterung beendet wird, entfernt WeeChat:

- Buffer

- Konfigurationsoptionen (Optionen die in Datein geschrieben wurden)

- alle Hooks: commands, modifiers, process, etc.

- Infos und Infolisten

- hdata

- Bar-Items.

Beispiele wie man Erweiterungen lädt, entfernt und auflistet:

    /plugin load irc
    /plugin unload irc
    /plugin list

Standarderweiterungen:

Erweiterung | Beschreibung
--- | ---
alias | definiert Alias für Befehle.
buflist | Bar-Item mit der Liste aller Buffern.
charset | Zeichensatz (de)-kodierung in Buffern.
exec | ausführen von externen Befehlen aus WeeChat heraus.
fifo | FIFO Pipe die zur Fernsteuerung von WeeChat genutzt werden kann.
fset | Optionen von WeeChat und Erweiterungen schnell anpassen.
irc | IRC Chat-Protokoll.
logger | erstellt Protokolldateien von Buffern.
relay | Daten via Netzwerk übermitteln.
script | Skripten-Manager.
python | Python-Skript API.
perl | Perl-Skript API.
ruby | Ruby-Skript API.
lua | Lua-Skript API.
tcl | Tcl-Skript API.
guile | Guile(scheme)-Skript API.
javascript | JavaScript-Skript API.
php | PHP-Skript API.
spell | Rechtschreibprüfung für Befehlszeile.
trigger | Veränderung von Text und Ausführen von Befehlen bei einem Ereignis, welche durch WeeChat oder eine Erweiterung ausgelöst werden.
typing | Benutzer anzeigen, die gerade Nachrichten schreiben.
xfer | Datentransfer und Direktchat.

Um mehr über Erweiterungen- und Skriptenprogrammierung (mittels API) zu erfahren, sollten Sie die Anleitung für API Erweiterung ↗ (Englisch) oder WeeChat scripting guide ↗ lesen.

### 15.2. Skripten

WeeChat unterstützt Erweiterungen für insgesamt acht Skriptsprachen: Python, Perl, Ruby, Lua, Tcl, Guile (scheme), JavaScript und PHP. Mit jeder dieser Erweiterungen können Skripten geladen, ausgeführt und entfernt werden.

Sollten wir Ihr Interesse geweckt haben selber Skripten für WeeChat zu programmieren, dann lesen Sie bitte die WeeChat scripting Guide ↗.

#### Skriptmanager

Der Skriptmanager (Befehl /script) wird benutzt um Skripte jeder Sprache zu starten/beenden, sowie Skripte aus dem WeeChat Skriptrepositorium zu installieren/entfernen, diese sind aufgelistet auf this page ↗.

Aus Datenschutzgründen ist das Herunterladen von Skripten standardmäßig deaktiviert.
Um es zu aktivieren, geben Sie diesen Befehl ein:

    /set script.scripts.download_enabled on

Dann können Sie die Liste der Skripte herunterladen und in einem separaten Buffer, mit dem Befehl /script, anzeigen lassen:

    ┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
    │1.weechat│368/368 scripts (filter: *) | Sort: i,p,n | Alt+key/input: i=install, r=remove, l=load, L=reload, u=│
    │2.scripts│*      autosort.py                 3.9     2020-10-11 | Automatically keep buffers grouped by server│
    │         │*      multiline.pl                0.6.3   2016-01-02 | Multi-line edit box, also supports editing o│
    │         │*      highmon.pl                  2.7     2020-06-21 | Adds a highlight monitor buffer.            │
    │         │*ia r  grep.py               0.8.5 0.8.5   2021-05-11 | Search regular expression in buffers or log │
    │         │*      autojoin.py                 0.3.1   2019-10-06 | Configure autojoin for all servers according│
    │         │*      colorize_nicks.py           28      2021-03-06 | Use the weechat nick colors in the chat area│
    │         │*ia r  go.py                 2.7   2.7     2021-05-26 | Quick jump to buffers.                      │
    │         │*      text_item.py                0.9     2019-05-25 | Add bar items with plain text.              │
    │         │       aesthetic.py                1.0.6   2020-10-25 | Make messages more A E S T H E T I C A L L Y│
    │         │       aformat.py                  0.2     2018-06-21 | Alternate text formatting, useful for relays│
    │         │       alternatetz.py              0.3     2018-11-11 | Add an alternate timezone item.             │
    │         │       amarok2.pl                  0.7     2012-05-08 | Amarok 2 control and now playing script.    │
    │         │       amqp_notify.rb              0.1     2011-01-12 | Send private messages and highlights to an A│
    │         │       announce_url_title.py       19      2021-06-05 | Announce URL title to user or to channel.   │
    │         │       anotify.py                  1.0.2   2020-05-16 | Notifications of private messages, highlight│
    │         │       anti_password.py            1.2.1   2021-03-13 | Prevent a password from being accidentally s│
    │         │       apply_corrections.py        1.3     2018-06-21 | Display corrected text when user sends s/typ│
    │         │       arespond.py                 0.1.1   2020-10-11 | Simple autoresponder.                       │
    │         │       atcomplete.pl               0.001   2016-10-29 | Tab complete nicks when prefixed with "@".  │
    │         │       audacious.pl                0.3     2009-05-03 | Display which song Audacious is currently pl│
    │         │       auth.rb                     0.3     2014-05-30 | Automatically authenticate with NickServ usi│
    │         │       auto_away.py                0.4     2018-11-11 | A simple auto-away script.                  │
    │         │       autoauth.py                 1.3     2021-11-07 | Permits to auto-authenticate when changing n│
    │         │       autobump.py                 0.1.0   2019-06-14 | Bump buffers upon activity.                 │
    │         │       autoconf.py                 0.4     2021-05-11 | Auto save/load changed options in a .weerc f│
    │         │       autoconnect.py              0.3.3   2019-10-06 | Reopen servers and channels opened last time│
    │         │[12:55] [2] [script] 2:scripts                                                                      │
    │         │█                                                                                                   │
    └──────────────────────────────────────────────────────────────────────────────────────────────────────────────┘

##### Skript Befehle

- `script`: WeeChat Skriptmanager

    /script  enable
             list [-o|-ol|-i|-il]
             search <text>
             show <script>
             load|unload|reload <script> [<script>...]
             autoload|noautoload|toggleautoload <script> [<script>...]
             install|remove|installremove|hold [-q] <script> [<script>...]
             upgrade
             update
             -up|-down [<number>]
             -go <line>|end

            enable: Herunterladen von Skripten aktivieren (Option script.scripts.download_enabled aktivieren)
              list: geladene Skripte auflisten (alle Skriptsprachen)
                -o: gibt eine Liste der laufenden Skripten im Buffer aus (Ausgabe in englisch)
               -ol: gibt eine Liste der laufenden Skripten im Buffer aus (Ausgabe ist übersetzt)
                -i: eine Liste der laufenden Skripts wird in die Eingabezeile kopiert (um sie dann manuell in einen Buffer zu senden) (Ausgabe in englisch)
               -il: eine Liste der laufenden Skripten wird in die Eingabezeile kopiert (um sie dann manuell in einen Buffer zu senden) (Ausgabe ist übersetzt)
            search: sucht Skripten nach Schlagwörtern, Skriptsprache (python, perl, ...), Dateierweiterung (py, pl, ...) oder beliebigem Text. Das Ergebnis wird im Skript-Buffer dargestellt
              show: zeigt detailliert Informationen zu einem Skript an
              load: Skript(e) laden
            unload: Skript(e) entladen
            reload: Skript(e) neu laden
          autoload: das Skript wird in das "autoload"-Verzeichnis eingebunden
        noautoload: das Skript wird aus dem "autoload"-Verzeichnis entfernt
    toggleautoload: Die "autoload" Funktion für das Skript umschalten
           install: installiert/aktualisiert Skript(en) (physikalisch, auf dem Datenträger)
            remove: deinstalliert Skript(en) (physikalisch, vom Datenträger)
     installremove: installiert oder deinstalliert Skript(en), abhängig davon welcher Status vorliegt
              hold: halten/freigeben von Skript(en) (ein Skript welches gehalten wird, kann weder aktualisiert noch entfernt werden)
                -q: unterdrückter Modus: Es werden keine Nachrichten ausgegeben
           upgrade: aktualisiert alle veralteten, installierten Skripten (sofern eine neue Version verfügbar ist)
            update: aktualisiert den lokalen Cache für die Skripten
               -up: bewegt die ausgewählte Zeile um die Anzahl an Zeilen nach oben
             -down: bewegt die ausgewählte Zeile um die Anzahl an Zeilen nach unten
               -go: wählt eine Zeile mit der entsprechenden Nummer aus, die erste Zeile beginnt mit 0 (mit "end" wird die letzte Zeile ausgewählt)

    Ohne Argument öffnet dieser Befehl einen Buffer mit einer Liste von Skripten.

    Im Skript-Buffer, werden folgende Statusangaben für ein Skript angezeigt:
      `*`: beliebtes Skript
      `i`: installiert
      `a`: automatisch geladen
      `H`: Skript wird gehalten
      `r`: Skript wird ausgeführt (geladen)
      `N`: obsolete (neue Version verfügbar)

    In der Ausgabe von /script list, kann dieser zusätzliche Status für ein Skript angezeigt werden:
      `?`: unbekanntes Skript (dieses Skript kann nicht heruntergeladen/aktualisiert werden)

    In der Eingabezeile des Skript-Buffer werden Wörter zum Filtern von Skripten verwendetBeschreibung, Tags, ...). Die Eingabe "*" entfernt den Filter.

    Für Tasten, Eingaben und Mausaktionen im Buffer finden Sie unter Tastenbelegungen im Benutzeranleitung.

    Beispiele:
      /script search url
      /script install go.py urlserver.py
      /script remove go.py
      /script hold urlserver.py
      /script reload urlserver
      /script upgrade

##### Script Optionen

Sektionen in Datei script.conf:

Sektion | Steuerbefehl | Beschreibung
--- | --- | ---
`look` | `/set script.look.*` | Erscheinungsbild.
`color` | `/set script.color.*` | Farben.
`scripts` | `/set script.scripts.*` | Optionen für den Download von Skripten.

Optionen:

- script.color.status_autoloaded

  - Beschreibung: Farbe in der der Status "autoloaded" ("a") dargestellt werden soll

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `39`

- script.color.status_held

  - Beschreibung: Farbe in der der Status "halten" ("H") dargestellt werden soll

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `white`

- script.color.status_installed

  - Beschreibung: Farbe in der der Status "installiert" ("i") dargestellt werden soll

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `lightcyan`

- script.color.status_obsolete

  - Beschreibung: Farbe in der der Status "obsolete" ("N") dargestellt werden soll

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `lightmagenta`

- script.color.status_popular

  - Beschreibung: Farbe in der der Status "empfohlen" ("*") dargestellt werden soll

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `yellow`

- script.color.status_running

  - Beschreibung: Farbe in der der Status "laufend" ("r") dargestellt werden soll

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `lightgreen`

- script.color.status_unknown

  - Beschreibung: Farbe in der der Status "unbekannt" ("?") dargestellt werden soll

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `lightred`

- script.color.text

  - Beschreibung: Textfarbe im Skript-Buffer

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `default`

- script.color.text_bg

  - Beschreibung: Hintergrundfarbe im Skript-Buffer

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `default`

- script.color.text_bg_selected

  - Beschreibung: Hintergrundfarbe

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `24`

- script.color.text_date

  - Beschreibung: Textfarbe für das Datum im Skript-Buffer

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `65`

- script.color.text_date_selected

  - Beschreibung: Textfarbe für das Datum, im Skript Buffer, wenn die Zeile ausgewählt wird

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `50`

- script.color.text_delimiters

  - Beschreibung: Textfarbe für das Trennzeichen im Skript-Buffer

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `240`

- script.color.text_description

  - Beschreibung: Textfarbe für die Beschreibung im Skript-Buffer

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `249`

- script.color.text_description_selected

  - Beschreibung: Textfarbe für die Beschreibung des Skriptes, im Skript Buffer, wenn die Zeile ausgewählt wird

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `white`

- script.color.text_extension

  - Beschreibung: Textfarbe für die Erweiterung im Skript-Buffer

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `242`

- script.color.text_extension_selected

  - Beschreibung: Textfarbe für die Dateierweiterung, im Skript Buffer, wenn die Zeile ausgewählt wird

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `248`

- script.color.text_name

  - Beschreibung: Textfarbe für den Namen des Skriptes im Skript-Buffer

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `73`

- script.color.text_name_selected

  - Beschreibung: Textfarbe für den Namen des Skriptes, im Skript Buffer, wenn die Zeile ausgewählt wird

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `51`

- script.color.text_selected

  - Beschreibung: Textfarbe für den Auswahlbalken im Skript-Buffer

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `white`

- script.color.text_tags

  - Beschreibung: Textfarbe für die Schlagwörter im Skript-Buffer

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `brown`

- script.color.text_tags_selected

  - Beschreibung: Textfarbe für die Schlagwörter, im Skript Buffer, wenn die Zeile ausgewählt wird

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `yellow`

- script.color.text_version

  - Beschreibung: Textfarbe für die Version im Skript-Buffer

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `100`

- script.color.text_version_loaded

  - Beschreibung: Textfarbe für die geladene Version im Skript-Buffer

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `246`

- script.color.text_version_loaded_selected

  - Beschreibung: Textfarbe für die Versionsanzeige des geladenen Skriptes, im Skript Buffer, wenn die Zeile ausgewählt wird

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `white`

- script.color.text_version_selected

  - Beschreibung: Textfarbe für die Version des Skriptes, im Skript Buffer, wenn die Zeile ausgewählt wird

  - Typ: Farbe

  - Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "%" für blinken, "." für "dimmen" (half hell), "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen

  - Standardwert: `228`

- script.look.columns

  - Beschreibung: Format in welchem die Spalten im Skript-Buffer dargestellt werden sollen. Es können folgende Spaltenbezeichnungen genutzt werden: %a=Autor, %d=Beschreibung, %D=Skript hinzugefügt, %e=Dateierweiterung, %l=Programmiersprache, %L=Lizenz, %n=Skriptname, mit Dateierweiterung, %N=Skriptname, %r=Voraussetzungen, %s=Status, %t=Schlagwörter, %u=Datum der letzten Überarbeitung, %v=Version, %V=installierte Version, %w=min_WeeChat_Version, %W=max_WeeChat_Version)

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"%s %n %V %v %u | %d | %t"`

- script.look.diff_color

  - Beschreibung: Unterschiede in den zwei Skripten werden farblich hervorgehoben

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `on`

- script.look.diff_command

  - Beschreibung: Befehl der genutzt werden soll um die Unterschiede zwischen dem installierten Skript und dem Skript, welches im offiziellem Bereich der Homepage bereitgestellt wird, darzustellen ("auto" = automatische Erkennung des Diff-Befehls (git oder diff), leerer Wert = Diff ist deaktiviert, externer Befehl = Name des Befehls, zum Beispiel "diff")

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"auto"`

- script.look.display_source

  - Beschreibung: Zeigt den Quellcode des Skriptes, mit weiteren Informationen zu dem Skript, im Buffer an (Skript wird dazu temporär in eine Datei gesichert)

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `on`

- script.look.quiet_actions

  - Beschreibung: diese Einstellung stellt einen stummen Modus für den Skripten-Buffer zu Verfügung: Es werden keine Nachrichten im Core-Buffer ausgegeben, wenn Skripten installiert/entfernt/gestartet/beendet werden (lediglich Fehler werden ausgegeben)

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `on`

- script.look.sort

  - Beschreibung: Standardsortierung für Skripten im Skript Buffer: durch Kommata getrennte Liste von Bezeichnern: a=Autor, A=automatisch geladen, d=Datum wann das Skript hinzugefügt wurde, e=Dateierweiterung, i=installiert, l=Programmiersprache, n=Skriptname, o=obsolete, p=empfohlen, r=Skript wird ausgeführt, u=Datum der letzten Überarbeitung; mit Hilfe des Zeichens "-", vor dem entsprechenden Bezeichner, kann die Darstellung umgekehrt werden. Beispiel: "i,u": installierte Skripten werden zuerst dargestellt, sortiert nach dem Datum ihrer letzten Überarbeitung

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"i,p,n"`

- script.look.translate_description

  - Beschreibung: für die Beschreibung der Skripten wird die Muttersprache verwendet (sollte keine Übersetzung in der eigenen Sprache verfügbar sein, wird auf die englische Beschreibung zurückgegriffen)

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `on`

- script.look.use_keys

  - Beschreibung: Um Tastenkurzbefehle im Skript-Buffer direkt nutzen zu können (zum Beispiel: alt+i = installieren, alt+r = entfernen, ...), muss diese Einstellung aktiviert werden. Andernfalls können Aktionen nur über die Eingabezeile durchgeführt werden: i,r...

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `on`

- script.scripts.autoload

  - Beschreibung: autoload Skripten installiert (erstellt einen Link im "autoload" Verzeichnis zum Skript im übergeordneten Verzeichnis)

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `on`

- script.scripts.cache_expire

  - Beschreibung: Ablaufdatum des lokalen Caches, in Minuten (-1 = ohne Ablaufdatum, 0 = umgehend)

  - Typ: integer

  - Werte: -1 .. 525600

  - Standardwert: `1440`

- script.scripts.download_enabled

  - Beschreibung: Aktivieren Sie den Download von Dateien aus dem Skript-Repository, wenn der Befehl /script verwendet wird (Liste der Skripten und Skripten selbst). Die Liste der Skripten wird von der in der Option script.scripts.url angegebenen URL heruntergeladen. WeeChat lädt manchmal die Liste der Skripten erneut herunter, wenn Sie den Befehl /script verwenden, auch wenn Sie kein Skript installieren

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `off`

- script.scripts.download_timeout

  - Beschreibung: Zeitüberschreitung (in Sekunden) beim herunterladen von Skripten und der Skriptliste

  - Typ: integer

  - Werte: 1 .. 3600

  - Standardwert: `30`

- script.scripts.hold

  - Beschreibung: Skripten welche "gehalten" werden sollen. Dies ist eine durch Kommata getrennte Liste von Skripten die weder aktualisiert noch entfernt werden können. Zum Beispiel: "go.py, urlserver.py"

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `""`

- script.scripts.path

  - Beschreibung: lokales Cache-Verzeichnis für Skripten (Pfad ist evaluiert, siehe Funktion string_eval_path_home in der Plugin-API-Referenz)

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"${weechat_cache_dir}/script"`

- script.scripts.url

  - Beschreibung: URL für Datei mit der Auflistung aller Skripten

  - Typ: Zeichenkette

  - Werte: beliebige Zeichenkette

  - Standardwert: `"https://weechat.org/files/plugins.xml.gz"`

#### Skripterweiterung

##### Python Befehle

- `python`: auflisten/installieren/beenden von Skripten

    /python  list|listfull [<name>]
             load [-q] <filename>
             autoload
             reload|unload [-q] [<name>]
             eval [-o|-oc] <code>
             version

         list: gibt alle geladenen Skripts im Buffer aus
     listfull: gibt alle geladenen Skripten im Buffer aus (unabhängig der Programmiersprache)
         load: lädt ein Skript
     autoload: das Skript wird in das "autoload"-Verzeichnis eingebunden
       reload: Skript wird neu geladen (wird kein Name angegeben, werden alle Skripten beendet, danach werden alle Skripten im "autoload" Verzeichnis neu geladen)
       unload: beendet Skript (wenn kein Name angegeben wird, werden alle Skripten beendet)
    Dateiname: Skript (Datei) welches geladen werden soll
           -q: unterdrückter Modus: Es werden keine Nachrichten ausgegeben
         Name: Ein Skriptsname (Name welcher für die "register" Funktion genutzt wird)
         eval: Quellcode auswerten und Ergebnis im aktuellen Buffer anzeigen
           -o: evaluierter Ergebnis wird im Buffer ausgegeben ohne das Befehle ausgeführt werden
          -oc: evaluierter Ergebnis wird im Buffer ausgegeben und Befehle werden ausgeführt
    Quelltext: Quelltext welcher evaluiert werden soll
      version: zeigt die Version des verwendeten Interpreters an

    Ohne Angabe eines Argumentes listet dieser Befehl alle geladenen Skripten auf.

##### Perl Befehle

- `perl`: auflisten/installieren/beenden von Skripten

    /perl  list|listfull [<name>]
           load [-q] <filename>
           autoload
           reload|unload [-q] [<name>]
           eval [-o|-oc] <code>
           version

         list: gibt alle geladenen Skripts im Buffer aus
     listfull: gibt alle geladenen Skripten im Buffer aus (unabhängig der Programmiersprache)
         load: lädt ein Skript
     autoload: das Skript wird in das "autoload"-Verzeichnis eingebunden
       reload: Skript wird neu geladen (wird kein Name angegeben, werden alle Skripten beendet, danach werden alle Skripten im "autoload" Verzeichnis neu geladen)
       unload: beendet Skript (wenn kein Name angegeben wird, werden alle Skripten beendet)
    Dateiname: Skript (Datei) welches geladen werden soll
           -q: unterdrückter Modus: Es werden keine Nachrichten ausgegeben
         Name: Ein Skriptsname (Name welcher für die "register" Funktion genutzt wird)
         eval: Quellcode auswerten und Ergebnis im aktuellen Buffer anzeigen
           -o: evaluierter Ergebnis wird im Buffer ausgegeben ohne das Befehle ausgeführt werden
          -oc: evaluierter Ergebnis wird im Buffer ausgegeben und Befehle werden ausgeführt
    Quelltext: Quelltext welcher evaluiert werden soll
      version: zeigt die Version des verwendeten Interpreters an

    Ohne Angabe eines Argumentes listet dieser Befehl alle geladenen Skripten auf.

##### Ruby Befehle

- `ruby`: auflisten/installieren/beenden von Skripten

    /ruby  list|listfull [<name>]
           load [-q] <filename>
           autoload
           reload|unload [-q] [<name>]
           eval [-o|-oc] <code>
           version

         list: gibt alle geladenen Skripts im Buffer aus
     listfull: gibt alle geladenen Skripten im Buffer aus (unabhängig der Programmiersprache)
         load: lädt ein Skript
     autoload: das Skript wird in das "autoload"-Verzeichnis eingebunden
       reload: Skript wird neu geladen (wird kein Name angegeben, werden alle Skripten beendet, danach werden alle Skripten im "autoload" Verzeichnis neu geladen)
       unload: beendet Skript (wenn kein Name angegeben wird, werden alle Skripten beendet)
    Dateiname: Skript (Datei) welches geladen werden soll
           -q: unterdrückter Modus: Es werden keine Nachrichten ausgegeben
         Name: Ein Skriptsname (Name welcher für die "register" Funktion genutzt wird)
         eval: Quellcode auswerten und Ergebnis im aktuellen Buffer anzeigen
           -o: evaluierter Ergebnis wird im Buffer ausgegeben ohne das Befehle ausgeführt werden
          -oc: evaluierter Ergebnis wird im Buffer ausgegeben und Befehle werden ausgeführt
    Quelltext: Quelltext welcher evaluiert werden soll
      version: zeigt die Version des verwendeten Interpreters an

    Ohne Angabe eines Argumentes listet dieser Befehl alle geladenen Skripten auf.

##### Lua Befehle

- `lua`: auflisten/installieren/beenden von Skripten

    /lua  list|listfull [<name>]
          load [-q] <filename>
          autoload
          reload|unload [-q] [<name>]
          eval [-o|-oc] <code>
          version

         list: gibt alle geladenen Skripts im Buffer aus
     listfull: gibt alle geladenen Skripten im Buffer aus (unabhängig der Programmiersprache)
         load: lädt ein Skript
     autoload: das Skript wird in das "autoload"-Verzeichnis eingebunden
       reload: Skript wird neu geladen (wird kein Name angegeben, werden alle Skripten beendet, danach werden alle Skripten im "autoload" Verzeichnis neu geladen)
       unload: beendet Skript (wenn kein Name angegeben wird, werden alle Skripten beendet)
    Dateiname: Skript (Datei) welches geladen werden soll
           -q: unterdrückter Modus: Es werden keine Nachrichten ausgegeben
         Name: Ein Skriptsname (Name welcher für die "register" Funktion genutzt wird)
         eval: Quellcode auswerten und Ergebnis im aktuellen Buffer anzeigen
           -o: evaluierter Ergebnis wird im Buffer ausgegeben ohne das Befehle ausgeführt werden
          -oc: evaluierter Ergebnis wird im Buffer ausgegeben und Befehle werden ausgeführt
    Quelltext: Quelltext welcher evaluiert werden soll
      version: zeigt die Version des verwendeten Interpreters an

    Ohne Angabe eines Argumentes listet dieser Befehl alle geladenen Skripten auf.

##### Tcl Befehle

- `tcl`: auflisten/installieren/beenden von Skripten

    /tcl  list|listfull [<name>]
          load [-q] <filename>
          autoload
          reload|unload [-q] [<name>]
          eval [-o|-oc] <code>
          version

         list: gibt alle geladenen Skripts im Buffer aus
     listfull: gibt alle geladenen Skripten im Buffer aus (unabhängig der Programmiersprache)
         load: lädt ein Skript
     autoload: das Skript wird in das "autoload"-Verzeichnis eingebunden
       reload: Skript wird neu geladen (wird kein Name angegeben, werden alle Skripten beendet, danach werden alle Skripten im "autoload" Verzeichnis neu geladen)
       unload: beendet Skript (wenn kein Name angegeben wird, werden alle Skripten beendet)
    Dateiname: Skript (Datei) welches geladen werden soll
           -q: unterdrückter Modus: Es werden keine Nachrichten ausgegeben
         Name: Ein Skriptsname (Name welcher für die "register" Funktion genutzt wird)
         eval: Quellcode auswerten und Ergebnis im aktuellen Buffer anzeigen
           -o: evaluierter Ergebnis wird im Buffer ausgegeben ohne das Befehle ausgeführt werden
          -oc: evaluierter Ergebnis wird im Buffer ausgegeben und Befehle werden ausgeführt
    Quelltext: Quelltext welcher evaluiert werden soll
      version: zeigt die Version des verwendeten Interpreters an

    Ohne Angabe eines Argumentes listet dieser Befehl alle geladenen Skripten auf.

##### Guile Befehle

- `guile`: auflisten/installieren/beenden von Skripten

    /guile  list|listfull [<name>]
            load [-q] <filename>
            autoload
            reload|unload [-q] [<name>]
            eval [-o|-oc] <code>
            version

         list: gibt alle geladenen Skripts im Buffer aus
     listfull: gibt alle geladenen Skripten im Buffer aus (unabhängig der Programmiersprache)
         load: lädt ein Skript
     autoload: das Skript wird in das "autoload"-Verzeichnis eingebunden
       reload: Skript wird neu geladen (wird kein Name angegeben, werden alle Skripten beendet, danach werden alle Skripten im "autoload" Verzeichnis neu geladen)
       unload: beendet Skript (wenn kein Name angegeben wird, werden alle Skripten beendet)
    Dateiname: Skript (Datei) welches geladen werden soll
           -q: unterdrückter Modus: Es werden keine Nachrichten ausgegeben
         Name: Ein Skriptsname (Name welcher für die "register" Funktion genutzt wird)
         eval: Quellcode auswerten und Ergebnis im aktuellen Buffer anzeigen
           -o: evaluierter Ergebnis wird im Buffer ausgegeben ohne das Befehle ausgeführt werden
          -oc: evaluierter Ergebnis wird im Buffer ausgegeben und Befehle werden ausgeführt
    Quelltext: Quelltext welcher evaluiert werden soll
      version: zeigt die Version des verwendeten Interpreters an

    Ohne Angabe eines Argumentes listet dieser Befehl alle geladenen Skripten auf.

##### PHP Befehle

##### Python Optionen

Sektionen in Datei python.conf:

Sektion | Steuerbefehl | Beschreibung
--- | --- | ---
`look` | `/set python.look.*` | Erscheinungsbild.

Optionen:

- python.look.check_license

  - Beschreibung: Überprüft die Lizenz von Skripten, wenn sie geladen werden: Sollte die Lizenz abweichend von der Erweiterungslizenz sein, wird eine Warnung ausgegeben

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `off`

- python.look.eval_keep_context

  - Beschreibung: behält den Inhalt zwischen zwei Aufrufen bei Quellcode Evaluierung (Option "eval" des Skript-Befehls oder Info "%s_eval"); ein Hintergrundskript wird für die Evaluierung verwendet; wird diese Option deaktiviert, dann wird das Hintergrundskript nach jeder Evaluierung entfernt: das bedeutet weniger Speicherbedarf, ist aber langsamer

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `on`

##### Perl Optionen

Sektionen in Datei perl.conf:

Sektion | Steuerbefehl | Beschreibung
--- | --- | ---
`look` | `/set perl.look.*` | Erscheinungsbild.

Optionen:

- perl.look.check_license

  - Beschreibung: Überprüft die Lizenz von Skripten, wenn sie geladen werden: Sollte die Lizenz abweichend von der Erweiterungslizenz sein, wird eine Warnung ausgegeben

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `off`

- perl.look.eval_keep_context

  - Beschreibung: behält den Inhalt zwischen zwei Aufrufen bei Quellcode Evaluierung (Option "eval" des Skript-Befehls oder Info "%s_eval"); ein Hintergrundskript wird für die Evaluierung verwendet; wird diese Option deaktiviert, dann wird das Hintergrundskript nach jeder Evaluierung entfernt: das bedeutet weniger Speicherbedarf, ist aber langsamer

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `on`

##### Ruby Optionen

Sektionen in Datei ruby.conf:

Sektion | Steuerbefehl | Beschreibung
--- | --- | ---
`look` | `/set ruby.look.*` | Erscheinungsbild.

Optionen:

- ruby.look.check_license

  - Beschreibung: Überprüft die Lizenz von Skripten, wenn sie geladen werden: Sollte die Lizenz abweichend von der Erweiterungslizenz sein, wird eine Warnung ausgegeben

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `off`

- ruby.look.eval_keep_context

  - Beschreibung: behält den Inhalt zwischen zwei Aufrufen bei Quellcode Evaluierung (Option "eval" des Skript-Befehls oder Info "%s_eval"); ein Hintergrundskript wird für die Evaluierung verwendet; wird diese Option deaktiviert, dann wird das Hintergrundskript nach jeder Evaluierung entfernt: das bedeutet weniger Speicherbedarf, ist aber langsamer

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `on`

##### Lua Optionen

Sektionen in Datei lua.conf:

Sektion | Steuerbefehl | Beschreibung
--- | --- | ---
`look` | `/set lua.look.*` | Erscheinungsbild.

Optionen:

- lua.look.check_license

  - Beschreibung: Überprüft die Lizenz von Skripten, wenn sie geladen werden: Sollte die Lizenz abweichend von der Erweiterungslizenz sein, wird eine Warnung ausgegeben

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `off`

- lua.look.eval_keep_context

  - Beschreibung: behält den Inhalt zwischen zwei Aufrufen bei Quellcode Evaluierung (Option "eval" des Skript-Befehls oder Info "%s_eval"); ein Hintergrundskript wird für die Evaluierung verwendet; wird diese Option deaktiviert, dann wird das Hintergrundskript nach jeder Evaluierung entfernt: das bedeutet weniger Speicherbedarf, ist aber langsamer

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `on`

##### Tcl Optionen

Sektionen in Datei tcl.conf:

Sektion | Steuerbefehl | Beschreibung
--- | --- | ---
`look` | `/set tcl.look.*` | Erscheinungsbild.

Optionen:

- tcl.look.check_license

  - Beschreibung: Überprüft die Lizenz von Skripten, wenn sie geladen werden: Sollte die Lizenz abweichend von der Erweiterungslizenz sein, wird eine Warnung ausgegeben

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `off`

- tcl.look.eval_keep_context

  - Beschreibung: behält den Inhalt zwischen zwei Aufrufen bei Quellcode Evaluierung (Option "eval" des Skript-Befehls oder Info "%s_eval"); ein Hintergrundskript wird für die Evaluierung verwendet; wird diese Option deaktiviert, dann wird das Hintergrundskript nach jeder Evaluierung entfernt: das bedeutet weniger Speicherbedarf, ist aber langsamer

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `on`

##### Guile Optionen

Sektionen in Datei guile.conf:

Sektion | Steuerbefehl | Beschreibung
--- | --- | ---
`look` | `/set guile.look.*` | Erscheinungsbild.

Optionen:

- guile.look.check_license

  - Beschreibung: Überprüft die Lizenz von Skripten, wenn sie geladen werden: Sollte die Lizenz abweichend von der Erweiterungslizenz sein, wird eine Warnung ausgegeben

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `off`

- guile.look.eval_keep_context

  - Beschreibung: behält den Inhalt zwischen zwei Aufrufen bei Quellcode Evaluierung (Option "eval" des Skript-Befehls oder Info "%s_eval"); ein Hintergrundskript wird für die Evaluierung verwendet; wird diese Option deaktiviert, dann wird das Hintergrundskript nach jeder Evaluierung entfernt: das bedeutet weniger Speicherbedarf, ist aber langsamer

  - Typ: boolesch

  - Werte: on, off

  - Standardwert: `on`

##### PHP Optionen

Sektionen in Datei php.conf:

Sektion | Steuerbefehl | Beschreibung
--- | --- | ---
`look` | `/set php.look.*` | Erscheinungsbild.

Optionen:

## 16. Unterstützung

Bevor man nach Unterstützung fragt sollte man sicherstellen, dass man sowohl die Dokumentation als auch die FAQ gelesen hat, welche mit WeeChat bereitgestellt wird.

Unterstützung im IRC findet man auf dem Server irc.libera.chat:

- offizielle Kanäle (Entwickler vertreten):

  - #weechat (englisch)

  - #weechat-fr (französisch)

- keine offiziellen Kanäle:

  - #weechat-de (deutsch)

  - #weechat-fi (finnisch)

Weitere Möglichkeiten der Unterstützung finden Sie unter this page ↗.