Übersetzer:

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 color WeeChat color

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 with list of buffers

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

 enable: enable buflist
disable: disable buflist
 toggle: toggle buflist
    bar: add the "buflist" bar
refresh: force the refresh of some bar items (if no item is given, all bar items used are refreshed, according to option buflist.look.use_items)

The lines with buffers are displayed using string evaluation (see /help eval for the format), with these options:
  - buflist.look.display_conditions: conditions to display a buffer in the list
  - buflist.format.buffer: format for a buffer which is not current buffer
  - buflist.format.buffer_current: format for the current buffer

The following variables can be used in these options:
  - bar item data (see hdata "bar_item" in API doc for a complete list), for example:
    - ${bar_item.name}
  - window data, where the bar item is displayed (there's no window in root bars, see hdata "window" in API doc for a complete list), for example:
    - ${window.number}
    - ${window.buffer.full_name}
  - buffer data (see hdata "buffer" in API doc for a complete list), for example:
    - ${buffer.number}
    - ${buffer.name}
    - ${buffer.full_name}
    - ${buffer.short_name}
    - ${buffer.nicklist_nicks_count}
  - irc_server: IRC server data, defined only on an IRC buffer (see hdata "irc_server" in API doc)
  - irc_channel: IRC channel data, defined only on an IRC channel buffer (see hdata "irc_channel" in API doc)
  - extra variables added by buflist for convenience:
    - ${format_buffer}: the evaluated value of option buflist.format.buffer; this can be used in option buflist.format.buffer_current to just change the background color for example
    - ${current_buffer}: a boolean ("0" or "1"), "1" if this is the current buffer; it can be used in a condition: ${if:${current_buffer}?...:...}
    - ${merged}: a boolean ("0" or "1"), "1" if the buffer is merged with at least another buffer; it can be used in a condition: ${if:${merged}?...:...}
    - ${format_number}: indented number with separator (evaluation of option buflist.format.number)
    - ${number}: indented number, for example " 1" if there are between 10 and 99 buffers; for merged buffers, this variable is set with number for the first buffer and spaces for the next buffers with same number
    - ${number2}: indented number, for example " 1" if there are between 10 and 99 buffers
    - ${number_displayed}: "1" if the number is displayed, otherwise "0"
    - ${indent}: indentation for name (channel, private and list buffers are indented) (evaluation of option buflist.format.indent)
    - ${format_nick_prefix}: colored nick prefix for a channel (evaluation of option buflist.format.nick_prefix)
    - ${color_nick_prefix}: color of nick prefix for a channel (set only if the option buflist.look.nick_prefix is enabled)
    - ${nick_prefix}: nick prefix for a channel (set only if the option buflist.look.nick_prefix is enabled)
    - ${format_name}: formatted name (evaluation of option buflist.format.name)
    - ${name}: the short name (if set), with a fallback on the name
    - ${color_hotlist}: the color depending on the highest hotlist level for the buffer (evaluation of option buflist.format.hotlist_xxx where xxx is the level)
    - ${format_hotlist}: the formatted hotlist (evaluation of option buflist.format.hotlist)
    - ${hotlist}: the raw hotlist
    - ${hotlist_priority}: "none", "low", "message", "private" or "highlight"
    - ${hotlist_priority_number}: -1 = none, 0 = low, 1 = message, 2 = private, 3 = highlight
    - ${format_lag}: the lag for an IRC server buffer, empty if there's no lag (evaluation of option buflist.format.lag)
    - ${format_tls_version}: indicator of TLS version for a server buffer, empty for channels (evaluation of 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

    • description: format of each line with a buffer (note: content is evaluated, see /help buflist); example: standard format for bar item "buflist" and only the buffer number between square brackets for other bar items ("buflist2" to "buflist5"): "${if:${bar_item.name}==buflist?${format_number}${indent}${format_nick_prefix}${color_hotlist}${format_name}:[${number}]}"

    • type: string

    • values: any string

    • default value: "${format_number}${indent}${format_nick_prefix}${color_hotlist}${format_name}"

  • buflist.format.buffer_current

    • description: format for the line with current buffer (note: content is evaluated, see /help buflist)

    • type: string

    • values: any string

    • default value: "${color:,17}${format_buffer}"

  • buflist.format.hotlist

    • description: format for hotlist (note: content is evaluated, see /help buflist)

    • type: string

    • values: any string

    • default value: " ${color:green}(${hotlist}${color:green})"

  • buflist.format.hotlist_highlight

    • description: format for a buffer with hotlist level "highlight" (note: content is evaluated, see /help buflist)

    • type: string

    • values: any string

    • default value: "${color:magenta}"

  • buflist.format.hotlist_low

    • description: format for a buffer with hotlist level "low" (note: content is evaluated, see /help buflist)

    • type: string

    • values: any string

    • default value: "${color:white}"

  • buflist.format.hotlist_message

    • description: format for a buffer with hotlist level "message" (note: content is evaluated, see /help buflist)

    • type: string

    • values: any string

    • default value: "${color:brown}"

  • buflist.format.hotlist_none

    • description: format for a buffer not in hotlist (note: content is evaluated, see /help buflist)

    • type: string

    • values: any string

    • default value: "${color:default}"

  • buflist.format.hotlist_private

    • description: format for a buffer with hotlist level "private" (note: content is evaluated, see /help buflist)

    • type: string

    • values: any string

    • default value: "${color:green}"

  • buflist.format.hotlist_separator

    • description: separator for counts in hotlist (note: content is evaluated, see /help buflist)

    • type: string

    • values: any string

    • default value: "${color:default},"

  • buflist.format.indent

    • description: string displayed to indent channel, private and list buffers (note: content is evaluated, see /help buflist)

    • type: string

    • values: any string

    • default value: " "

  • buflist.format.lag

    • description: format for lag on an IRC server buffer (note: content is evaluated, see /help buflist)

    • type: string

    • values: any string

    • default value: " ${color:green}[${color:brown}${lag}${color:green}]"

  • buflist.format.name

    • description: format for buffer name (note: content is evaluated, see /help buflist)

    • type: string

    • values: any string

    • default value: "${name}"

  • buflist.format.nick_prefix

    • description: format for nick prefix on a channel (note: content is evaluated, see /help buflist)

    • type: string

    • values: any string

    • default value: "${color_nick_prefix}${nick_prefix}"

  • buflist.format.number

    • description: format for buffer number, ${number} is the indented number (note: content is evaluated, see /help buflist)

    • type: string

    • values: any string

    • default value: "${color:green}${number}${if:${number_displayed}?.: }"

  • buflist.format.tls_version

    • description: format for TLS version on an IRC server buffer (note: content is evaluated, see /help buflist)

    • type: string

    • values: any string

    • default value: " ${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

    • description: add newline between the buffers displayed, so each buffer is displayed on a separate line (recommended); if disabled, newlines must be manually added in the formats with "${\n}", and the mouse actions are not possible any more

    • type: boolean

    • values: on, off

    • default value: on

  • buflist.look.auto_scroll

    • description: automatically scroll the buflist bar to always see the current buffer (this works only with a bar on the left/right position with a "vertical" filling); this value is the percent number of lines displayed before the current buffer when scrolling (-1 = disable scroll); for example 50 means that after a scroll, the current buffer is at the middle of bar, 0 means on top of bar, 100 means at bottom of bar

    • type: integer

    • values: -1 .. 100

    • default value: 50

  • buflist.look.display_conditions

    • description: conditions to display a buffer (note: content is evaluated, see /help buflist); for example to hide server buffers if they are merged with core buffer: "${buffer.hidden}==0 && ((${type}!=server && ${buffer.full_name}!=core.weechat) || ${buffer.active}==1)"

    • type: string

    • values: any string

    • default value: "${buffer.hidden}==0"

  • buflist.look.enabled

    • description: enable buflist; it is recommended to use this option instead of just hiding the bar because it also removes some internal hooks that are not needed any more when the bar is hidden; you can also use the command "/buflist toggle" or use the default key alt+shift+b

    • type: boolean

    • values: on, off

    • default value: on

  • buflist.look.mouse_jump_visited_buffer

    • description: if enabled, clicks with left/right buttons on the line with current buffer jump to previous/next visited buffer

    • type: boolean

    • values: on, off

    • default value: off

  • buflist.look.mouse_move_buffer

    • description: if enabled, mouse gestures (drag & drop) move buffers in list

    • type: boolean

    • values: on, off

    • default value: on

  • buflist.look.mouse_wheel

    • description: if enabled, mouse wheel up/down actions jump to previous/next buffer in list

    • type: boolean

    • values: on, off

    • default value: on

  • buflist.look.nick_prefix

    • description: get the nick prefix and its color from nicklist so that ${nick_prefix} can be used in format; this can be slow on buffers with lot of nicks in nicklist, so this option is disabled by default

    • type: boolean

    • values: on, off

    • default value: off

  • buflist.look.nick_prefix_empty

    • description: when the nick prefix is enabled, display a space instead if there is no nick prefix on the buffer

    • type: boolean

    • values: on, off

    • default value: on

  • buflist.look.signals_refresh

    • description: comma-separated list of extra signals that are hooked and trigger the refresh of buffers list; this can be useful if some custom variables are used in formats and need specific refresh

    • type: string

    • values: any string

    • default value: ""

  • buflist.look.sort

    • description: comma-separated list of fields to sort buffers; each field is a hdata variable of buffer ("var"), a hdata variable of IRC server ("irc_server.var") or a hdata variable of IRC channel ("irc_channel.var"); char "-" can be used before field to reverse order, char "~" can be used to do a case insensitive comparison; examples: "-~short_name" for case insensitive and reverse sort on buffer short name, "-hotlist.priority,hotlist.time,hotlist.time_usec,number,-active" for sort like the hotlist then by buffer number for buffers without activity (note: the content is evaluated, before being split into fields, but at that time "bar_item" is the only variable that can be used, to distinguish between different buflist items, for example "${bar_item.name}")

    • type: string

    • values: any string

    • default value: "number,-active"

  • buflist.look.use_items

    • description: number of buflist bar items that can be used; the item names are: "buflist", "buflist2", "buflist3", "buflist4" and "buflist5"; be careful, using more than one bar item slows down the display of buffers list

    • type: integer

    • values: 1 .. 5

    • default value: 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: fast set WeeChat and plugins options

/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: add the help bar
-refresh: refresh list of options, then whole screen (command: /window refresh)
     -up: move the selected line up by "number" lines
   -down: move the selected line down by "number" lines
   -left: scroll the buffer by "percent" of width on the left
  -right: scroll the buffer by "percent" of width on the right
     -go: select a line by number, first line number is 0 ("end" to select the last line)
 -toggle: toggle the boolean value
    -add: add "value" (which can be a negative number) for integers, colors and enums, set/append to value for other types (set for a negative value, append for a positive value)
  -reset: reset the value of option
  -unset: unset the option
    -set: add the /set command in input to edit the value of option (move the cursor at the beginning of value)
 -setnew: add the /set command in input to edit a new value for the option
 -append: add the /set command to append something in the value of option (move the cursor at the end of value)
   -mark: toggle mark
 -format: switch to the next available format
 -export: export the options and values displayed in a file (each line has format: "/set name value" or "/unset name")
 -import: import the options from a file (all lines containing commands are executed)
   -help: force writing of help on options in exported file (see /help fset.look.export_help_default)
 -nohelp: do not write help on options in exported file (see /help fset.look.export_help_default)
  filter: set a new filter to see only matching options (this filter can be used as input in fset buffer as well); allowed formats are:
          `*`: show all options (no filter)
          `xxx`: show only options with "xxx" in name
          `f:xxx`: show only configuration file "xxx"
          `t:xxx`: show only type "xxx" (bool/int/str/col/enum or boolean/integer/string/color/enum)
          `d`: show only changed options
          `d:xxx`: show only changed options with "xxx" in name
          `d=xxx`: show only changed options with "xxx" in value
          `d==xxx`: show only changed options with exact value "xxx"
          `h=xxx`: show only options with "xxx" in description (translated)
          `he=xxx`: show only options with "xxx" in description (in English)
          `=xxx`: show only options with "xxx" in value
          `==xxx`: show only options with exact value "xxx"
          `c:xxx`: show only options matching the evaluated condition "xxx", using following variables: 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

The lines with options are displayed using string evaluation (see /help eval for the format), with these options:
  - fset.format.option1: first format for an option
  - fset.format.option2: second format for an option

The following variables can be used in these options:
  - option data, with color and padded by spaces on the right:
    - ${file}: configuration file (for example "weechat" or "irc")
    - ${section}: section
    - ${option}: option name
    - ${name}: full option name (file.section.option)
    - ${parent_name}: parent option name
    - ${type}: option type (translated)
    - ${type_en}: option type (in English)
    - ${type_short}: short option type (bool/int/str/col/enum)
    - ${type_tiny}: tiny option type (b/i/s/c/e)
    - ${default_value}: option default value
    - ${default_value_undef}: "1" if default value is null, otherwise "0"
    - ${value}: option value
    - ${value_undef}: "1" if value is null, otherwise "0"
    - ${value_changed}: "1" if value is different from default value, otherwise "0"
    - ${value2}: option value, with inherited value if null
    - ${parent_value}: parent option value
    - ${min}: min value
    - ${max}: max value
    - ${description}: option description (translated)
    - ${description2}: option description (translated), "(no description)" (translated) if there's no description
    - ${description_en}: option description (in English)
    - ${description_en2}: option description (in English), "(no description)" if there's no description
    - ${string_values}: string values allowed for set of an enum option
    - ${allowed_values}: allowed values
    - ${marked}: "1" if option is marked, otherwise "0"
    - ${index}: index of option in list
  - option data, with color but no spaces:
    - same names prefixed by underscore, for example: ${_name}, ${_type}, ...
  - option data, raw format (no colors/spaces):
    - same names prefixed by two underscores, for example: ${__name}, ${__type}, ...
  - option data, only spaces:
    - same names prefixed with "empty_", for example: ${empty_name}, ${empty_type}
  - other data:
    - ${selected_line}: "1" if the line is selected, otherwise "0"
    - ${newline}: insert a new line at point, so the option is displayed on multiple lines

For keys, input and mouse actions on the buffer, see key bindings in User's guide.

Note: if input has one or more leading spaces, the following text is interpreted as a filter, without the spaces. For example " q" searches all options with "q" inside name while "q" closes the fset buffer.

Examples:
  /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

    • description: color for allowed values

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: default

  • fset.color.allowed_values_selected

    • description: color for allowed values on the selected line

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: white

  • fset.color.color_name

    • description: color for color name when option fset.look.use_color_value is enabled

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: 246

  • fset.color.color_name_selected

    • description: color for color name on the selected line when option fset.look.use_color_value is enabled

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: default

  • fset.color.default_value

    • description: color for default value

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: default

  • fset.color.default_value_selected

    • description: color for default value on the selected line

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: white

  • fset.color.description

    • description: color for description

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: 242

  • fset.color.description_selected

    • description: color for description on the selected line

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: default

  • fset.color.file

    • description: color for file

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: default

  • fset.color.file_changed

    • description: color for file if value is changed

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: brown

  • fset.color.file_changed_selected

    • description: color for file if value is changed on the selected line

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: yellow

  • fset.color.file_selected

    • description: color for file on the selected line

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: white

  • fset.color.help_default_value

    • description: color for default value in help bar

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: white

  • fset.color.help_description

    • description: color for description in help bar

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: default

  • fset.color.help_name

    • description: color for name in help bar

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: white

  • fset.color.help_quotes

    • description: color for quotes around string values

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: darkgray

  • fset.color.help_values

    • description: color for allowed values

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: default

  • fset.color.index

    • description: color for index of option

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: cyan

  • fset.color.index_selected

    • description: color for index of option on the selected line

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: lightcyan

  • fset.color.line_marked_bg1

    • description: background color for a marked line (used with the first format, see option fset.format.option1)

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: 17

  • fset.color.line_marked_bg2

    • description: background color for a marked line (used with the second format, see option fset.format.option2)

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: 17

  • fset.color.line_selected_bg1

    • description: background color for the selected line (used with the first format, see option fset.format.option1)

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: 24

  • fset.color.line_selected_bg2

    • description: background color for the selected line (used with the second format, see option fset.format.option2)

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: 24

  • fset.color.marked

    • description: color for mark indicator

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: brown

  • fset.color.marked_selected

    • description: color for mark indicator on the selected line

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: yellow

  • fset.color.max

    • description: color for max value

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: default

  • fset.color.max_selected

    • description: color for max value on the selected line

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: white

  • fset.color.min

    • description: color for min value

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: default

  • fset.color.min_selected

    • description: color for min value on the selected line

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: white

  • fset.color.name

    • description: color for name

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: default

  • fset.color.name_changed

    • description: color for name if value is changed

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: 185

  • fset.color.name_changed_selected

    • description: color for name if value is changed on the selected line

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: yellow

  • fset.color.name_selected

    • description: color for name on the selected line

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: white

  • fset.color.option

    • description: color for option

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: default

  • fset.color.option_changed

    • description: color for option if value is changed

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: brown

  • fset.color.option_changed_selected

    • description: color for option if value is changed on the selected line

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: yellow

  • fset.color.option_selected

    • description: color for option on the selected line

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: white

  • fset.color.parent_name

    • description: color for name of parent option

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: default

  • fset.color.parent_name_selected

    • description: color for name of parent option on the selected line

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: white

  • fset.color.parent_value

    • description: color for value of parent option

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: cyan

  • fset.color.parent_value_selected

    • description: color for value of parent option on the selected line

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: lightcyan

  • fset.color.quotes

    • description: color for quotes around string values

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: darkgray

  • fset.color.quotes_changed

    • description: color for quotes around string values which are changed

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: default

  • fset.color.quotes_changed_selected

    • description: color for quotes around string values which are changed on the selected line

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: white

  • fset.color.quotes_selected

    • description: color for quotes around string values on the selected line

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: default

  • fset.color.section

    • description: color for section

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: default

  • fset.color.section_changed

    • description: color for section if value is changed

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: brown

  • fset.color.section_changed_selected

    • description: color for section if value is changed on the selected line

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: yellow

  • fset.color.section_selected

    • description: color for section on the selected line

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: white

  • fset.color.string_values

    • description: color for string values

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: default

  • fset.color.string_values_selected

    • description: color for string values on the selected line

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: white

  • fset.color.title_count_options

    • description: color for the count of options found with the current filter in title of buffer

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: cyan

  • fset.color.title_current_option

    • description: color for current option number in title of buffer

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: lightcyan

  • fset.color.title_filter

    • description: color for filter in title of buffer

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: yellow

  • fset.color.title_marked_options

    • description: color for number of marked options in title of buffer

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: lightgreen

  • fset.color.title_sort

    • description: color for sort in title of buffer

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: white

  • fset.color.type

    • description: color for type

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: 138

  • fset.color.type_selected

    • description: color for type on the selected line

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: 216

  • fset.color.unmarked

    • description: color for mark indicator when the option is not marked

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: default

  • fset.color.unmarked_selected

    • description: color for mark indicator when the option is not marked on the selected line

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: white

  • fset.color.value

    • description: color for value

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: 38

  • fset.color.value_changed

    • description: color for value changed (different from default)

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: 185

  • fset.color.value_changed_selected

    • description: color for value changed (different from default) on the selected line

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: yellow

  • fset.color.value_selected

    • description: color for value on the selected line

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: 159

  • fset.color.value_undef

    • description: color for undefined value

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: magenta

  • fset.color.value_undef_selected

    • description: color for undefined value on the selected line

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: lightmagenta

  • fset.format.export_help

    • description: format of help line written before each option exported in a file (note: content is evaluated, see /help fset)

    • type: string

    • values: any string

    • default value: "# ${description2}"

  • fset.format.export_option

    • description: format of each option exported in a file (note: content is evaluated, see /help fset)

    • type: string

    • values: any string

    • default value: "/set ${name} ${quoted_value}"

  • fset.format.export_option_null

    • description: format of each option with "null" value exported in a file (note: content is evaluated, see /help fset)

    • type: string

    • values: any string

    • default value: "/unset ${name}"

  • fset.format.option1

    • description: first format of each line, used when option fset.look.format_number is set to 1 (note: content is evaluated, see /help fset); an empty string uses the default format ("${marked} ${name} ${type} ${value2}"), which is without evaluation of string and then much faster; formats can be switched with key ctrl-x

    • type: string

    • values: any string

    • default value: ""

  • fset.format.option2

    • description: second format of each line, used when option fset.look.format_number is set to 2 (note: content is evaluated, see /help fset); an empty string uses the default format ("${marked} ${name} ${type} ${value2}"), which is without evaluation of string and then much faster; formats can be switched with key ctrl-x

    • type: string

    • values: any string

    • default value: "${marked} ${name} ${type} ${value2}${newline} ${empty_name} ${_default_value}${color:244} -- ${_allowed_values}${newline} ${empty_name} ${_description}"

  • fset.look.auto_refresh

    • description: comma separated list of options to automatically refresh on the fset buffer (if opened); "*" means all options (recommended), a name beginning with "!" is a negative value to prevent an option to be refreshed, wildcard "*" is allowed in names (example: "*,!plugin.section.*")

    • type: string

    • values: any string

    • default value: "*"

  • fset.look.auto_unmark

    • description: automatically unmark all options after an action on marked options or after a refresh

    • type: boolean

    • values: on, off

    • default value: off

  • fset.look.condition_catch_set

    • description: condition to catch /set command and display results in the fset buffer; following variables can be used: ${name} (name of option given for the /set command), ${count} (number of options found with the /set argument); an empty string disables the catch of /set command; with value "1", the fset buffer is always used with /set command

    • type: string

    • values: any string

    • default value: "${count} >= 1"

  • fset.look.export_help_default

    • description: write help for each option exported by default (this can be overridden with arguments "-help" and "-nohelp" for command /fset -export)

    • type: boolean

    • values: on, off

    • default value: on

  • fset.look.format_number

    • description: number of format used to display options; this is dynamically changed by the key ctrl-x on the fset buffer

    • type: integer

    • values: 1 .. 2

    • default value: 1

  • fset.look.marked_string

    • description: string displayed when an option is marked (to do an action on multiple options)

    • type: string

    • values: any string

    • default value: "*"

  • fset.look.scroll_horizontal

    • description: left/right scroll in fset buffer (percent of width)

    • type: integer

    • values: 1 .. 100

    • default value: 10

  • fset.look.show_plugins_desc

    • description: show the plugin description options (plugins.desc.*)

    • type: boolean

    • values: on, off

    • default value: off

  • fset.look.sort

    • description: comma-separated list of fields to sort options (see /help fset for a list of fields); char "-" can be used before field to reverse order, char "~" can be used to do a case insensitive comparison; example: "-~name" for case insensitive and reverse sort on option name

    • type: string

    • values: any string

    • default value: "~name"

  • fset.look.unmarked_string

    • description: string displayed when an option is not marked

    • type: string

    • values: any string

    • default value: " "

  • fset.look.use_color_value

    • description: use the color to display value of color options

    • type: boolean

    • values: on, off

    • default value: on

  • fset.look.use_keys

    • description: use keys alt+X in fset buffer to do actions on options; if disabled, only the input is allowed

    • type: boolean

    • values: on, off

    • default value: on

  • fset.look.use_mute

    • description: use /mute command to set options

    • type: boolean

    • values: on, off

    • default value: 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: change charset for current buffer

/charset  decode|encode <charset>
          reset

 decode: change decoding charset
 encode: change encoding charset
charset: new charset for current buffer
  reset: reset charsets for current buffer

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

    • description: global decoding charset: charset used to decode incoming messages when they are not UTF-8 valid

    • type: string

    • values: any string

    • default value: "iso-8859-1"

  • charset.default.encode

    • description: global encoding charset: charset used to encode outgoing messages (if empty, default is UTF-8 because it is the WeeChat internal charset)

    • type: string

    • values: any string

    • default value: ""

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: logger plugin configuration

/logger  list
         set <level>
         flush
         disable

   list: show logging status for opened buffers
    set: set logging level on current buffer
  level: level for messages to be logged (0 = logging disabled, 1 = a few messages (most important) .. 9 = all messages)
  flush: write all log files now
disable: disable logging on current buffer (set level to 0)

Options "logger.level.*" and "logger.mask.*" can be used to set level or mask for a buffer, or buffers beginning with name.

Log levels used by IRC plugin:
  1: user message (channel and private), notice (server and channel)
  2: nick change
  3: server message
  4: join/part/quit
  9: all other messages

Examples:
  set level to 5 for current buffer:
    /logger set 5
  disable logging for current buffer:
    /logger disable
  set level to 3 for all IRC buffers:
    /set logger.level.irc 3
  disable logging for main WeeChat buffer:
    /set logger.level.core.weechat 0
  use a directory per IRC server and a file per channel inside:
    /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

    • description: color for line ending the backlog

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: 246

  • logger.color.backlog_line

    • description: color for backlog lines, used only if the option logger.file.color_lines is off

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: 246

  • logger.file.auto_log

    • description: automatically save content of buffers to files (unless a buffer disables log); if disabled, logging is disabled on all buffers

    • type: boolean

    • values: on, off

    • default value: on

  • logger.file.color_lines

    • description: use ANSI color codes in lines written in log files and display backlog lines with these colors

    • type: boolean

    • values: on, off

    • default value: off

  • logger.file.flush_delay

    • description: number of seconds between flush of log files (0 = write in log files immediately for each line printed)

    • type: integer

    • values: 0 .. 3600

    • default value: 120

  • logger.file.fsync

    • description: use fsync to synchronize the log file with the storage device after the flush (see man fsync); this is slower but should prevent any data loss in case of power failure during the save of log file

    • type: boolean

    • values: on, off

    • default value: off

  • logger.file.info_lines

    • description: write information line in log file when log starts or ends for a buffer

    • type: boolean

    • values: on, off

    • default value: off

  • logger.file.log_conditions

    • description: conditions to save content of buffers to files (note: content is evaluated, see /help eval); empty value saves content on all buffers; for example to log only private buffers: "${type} == private"

    • type: string

    • values: any string

    • default value: ""

  • logger.file.mask

    • description: default file name mask for log files (format is "directory/to/file" or "file", without first "/" because "path" option is used to build complete path to file); local buffer variables are permitted (you should use only variables that are defined on all buffers, so for example you should NOT use $server nor $channel); date specifiers are permitted (see man strftime)

    • type: string

    • values: any string

    • default value: "$plugin.$name.weechatlog"

  • logger.file.name_lower_case

    • description: use only lower case for log filenames

    • type: boolean

    • values: on, off

    • default value: on

  • logger.file.nick_prefix

    • description: text to write before nick in prefix of message, example: "<"

    • type: string

    • values: any string

    • default value: ""

  • logger.file.nick_suffix

    • description: text to write after nick in prefix of message, example: ">"

    • type: string

    • values: any string

    • default value: ""

  • logger.file.path

    • description: path for WeeChat log files; date specifiers are permitted (see man strftime) (path is evaluated, see function string_eval_path_home in plugin API reference)

    • type: string

    • values: any string

    • default value: "${weechat_data_dir}/logs"

  • logger.file.replacement_char

    • description: replacement char for special chars in filename built with mask (like directory delimiter)

    • type: string

    • values: any string

    • default value: "_"

  • logger.file.rotation_compression_level

    • description: compression level for rotated log files (with extension ".1", ".2", etc.), if option logger.file.rotation_compression_type is enabled: 1 = low compression / fast ... 100 = best compression / slow; the value is a percentage converted to 1-9 for gzip and 1-19 for zstd; the default value is recommended, it offers a good compromise between compression and speed

    • type: integer

    • values: 1 .. 100

    • default value: 20

  • logger.file.rotation_compression_type

    • description: compression type for rotated log files; if set to "none", rotated log files are not compressed; WARNING: if rotation was enabled with another type of compression (or no compression), you must first unload the logger plugin, compress files with the new type (or decompress files), then change the option in logger.conf, then load the logger plugin

    • type: enum

    • values: none, gzip, zstd

    • default value: none

  • logger.file.rotation_size_max

    • description: when this size is reached, a rotation of log files is performed: the existing rotated log files are renamed (.1 becomes .2, .2 becomes .3, etc.) and the current file is renamed with extension .1; an integer number with a suffix is allowed: b = bytes (default if no unit given), k = kilobytes, m = megabytes, g = gigabytes, t = terabytes; example: "2g" causes a rotation if the file size is > 2,000,000,000 bytes; if set to "0", no rotation is performed (unlimited log size); WARNING: before changing this option, you should first set the compression type via option logger.file.rotation_compression_type

    • type: string

    • values: any string

    • default value: "0"

  • logger.file.time_format

    • description: timestamp used in log files (see man strftime for date/time specifiers, extra specifiers are supported, see function util_strftimeval in Plugin API reference)

    • type: string

    • values: any string

    • default value: "%Y-%m-%d %H:%M:%S"

  • logger.look.backlog

    • description: maximum number of lines to display from log file when creating new buffer (0 = no backlog)

    • type: integer

    • values: 0 .. 2147483647

    • default value: 20

  • logger.look.backlog_conditions

    • description: conditions to display the backlog (note: content is evaluated, see /help eval); empty value displays the backlog on all buffers; for example to display backlog on private buffers only: "${type} == private"

    • type: string

    • values: any string

    • default value: ""

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: spell plugin configuration

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

  enable: enable spell checker
 disable: disable spell checker
  toggle: toggle spell checker
listdict: show installed dictionaries
 setdict: set dictionary for current buffer (multiple dictionaries can be separated by a comma, the special value "-" disables spell checking on current buffer)
 deldict: delete dictionary used on current buffer
 addword: add a word in personal dictionary

Input line beginning with a "/" is not checked, except for some commands (see /set spell.check.commands).

To enable spell checker on all buffers, use option "default_dict", then enable spell checker, for example:
  /set spell.check.default_dict "en"
  /spell enable

To display a list of suggestions in a bar, use item "spell_suggest".

Default key to toggle spell checker is 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

    • description: comma separated list of commands for which spell checking is enabled (spell checking is disabled for all other commands)

    • type: string

    • values: any string

    • default value: "away,command,cycle,kick,kickban,me,msg,notice,part,query,quit,topic"

  • spell.check.default_dict

    • description: default dictionary (or comma separated list of dictionaries) to use when buffer has no dictionary defined (leave blank to disable spell checker on buffers for which you didn't explicitly enabled it)

    • type: string

    • values: any string

    • default value: ""

  • spell.check.during_search

    • description: check words during text search in buffer

    • type: boolean

    • values: on, off

    • default value: off

  • spell.check.enabled

    • description: enable spell checker for command line

    • type: boolean

    • values: on, off

    • default value: off

  • spell.check.real_time

    • description: real-time spell checking of words (slower, disabled by default: words are checked only if there's delimiter after)

    • type: boolean

    • values: on, off

    • default value: off

  • spell.check.suggestions

    • description: number of suggestions to display in bar item "spell_suggest" for each dictionary set in buffer (-1 = disable suggestions, 0 = display all possible suggestions in all languages)

    • type: integer

    • values: -1 .. 2147483647

    • default value: -1

  • spell.check.word_min_length

    • description: minimum length for a word to be spell checked (use 0 to check all words)

    • type: integer

    • values: 0 .. 2147483647

    • default value: 2

  • spell.color.misspelled

    • description: text color for misspelled words (input bar)

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: lightred

  • spell.color.suggestion

    • description: text color for suggestion on a misspelled word in bar item "spell_suggest"

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: default

  • spell.color.suggestion_delimiter_dict

    • description: text color for delimiters displayed between two dictionaries in bar item "spell_suggest"

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: cyan

  • spell.color.suggestion_delimiter_word

    • description: text color for delimiters displayed between two words in bar item "spell_suggest"

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: cyan

  • spell.look.suggestion_delimiter_dict

    • description: delimiter displayed between two dictionaries in bar item "spell_suggest"

    • type: string

    • values: any string

    • default value: " / "

  • spell.look.suggestion_delimiter_word

    • description: delimiter displayed between two words in bar item "spell_suggest"

    • type: string

    • values: any string

    • default value: ","

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 Command Completion

/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: list, add or remove command aliases

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

         list: list aliases (without argument, this list is displayed)
          add: add an alias
         name: name of alias
addcompletion: add an alias with a custom completion
          del: delete aliases
         mask: name where wildcard "*" is allowed
       rename: rename an alias
      missing: add missing aliases (using default aliases)
   completion: completion for alias: by default completion is done with target command (you can use "%%command" to use the completion of an existing command)
      command: command name with arguments (many commands can be separated by semicolons)

In command, special variables are replaced:
  $n: argument "n" (between 1 and 9)
  $-m: arguments from 1 to "m"
  $n-: arguments from "n" to last
  $n-m: arguments from "n" to "m"
  $*: all arguments
  $&: all arguments, with " replaced by \"
  $~: last argument
  $var: where "var" is a local variable of buffer (see /buffer listvar), examples: $nick, $channel, $server, $plugin, $name

Examples:
  /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: execute a command on all buffers

/allbuf  <command>

command: command to execute (or text to send to buffer if command does not start with "/")

Example:
  set read marker on all buffers:
    /allbuf /buffer set unread
  • away: set or remove away status

/away  [-all] [<message>]

   -all: set or remove away status on all connected servers
message: message for away (if no message is given, away status is removed)
  • bar: manage bars

/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: list all bars
    listfull: list all bars (verbose)
   listitems: list all bar items
         add: add a new bar
        name: name of bar (must be unique)
        type: type of bar:
              root: outside windows
              window: inside windows, with optional conditions (see below)
  conditions: the conditions to display the bar (without conditions, the bar is always displayed:
              active: on active window
              inactive: on inactive windows
              nicklist: on windows with nicklist
              other condition: see /help weechat.bar.xxx.conditions and /help eval
    position: bottom, top, left or right
        size: size of bar (in chars)
   separator: 1 for using separator (line), 0 or nothing means no separator
   item1,...: items for this bar (items can be separated by comma (space between items) or "+" (glued items))
     default: create a default bar (all default bars if no bar name is given)
      rename: rename a bar
         del: delete bars
        mask: name where wildcard "*" is allowed
         set: set a value for a bar property
      option: option to change (for options list, look at /set weechat.bar.<barname>.*)
       value: new value for option
        hide: hide a bar
        show: show an hidden bar
      toggle: hide/show a bar
      scroll: scroll bar
      window: window number ("*" for current window or for root bars)
scroll_value: value for scroll: "x" or "y" (optional), followed by "+", "-", "b" (beginning) or "e" (end), value (for +/-), and optional "%" (to scroll by % of width/height, otherwise value is number of chars)

Examples:
  create a bar with time, buffer number + name, and completion:
    /bar add mybar root bottom 1 0 [time],buffer_number+:+buffer_name,completion
  scroll nicklist 10 lines down on current buffer:
    /bar scroll nicklist * y+10
  scroll to end of nicklist on current buffer:
    /bar scroll nicklist * ye
  • buffer: manage buffers

/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: list buffers (without argument, this list is displayed)
     add: add a new buffer (it can be closed with "/buffer close" or input "q")
   clear: clear buffer content (number for a buffer, "-merged" for merged buffers, "-all" for all buffers, or nothing for current buffer)
    move: move buffer in the list (may be relative, for example -1); "-" = move to first buffer number, "+" = move to last buffer number + 1
    swap: swap two buffers (swap with current buffer if only one number/name given)
   cycle: jump loop between a list of buffers
   merge: merge current buffer to another buffer (chat area will be mix of both buffers); by default ctrl-x switches between merged buffers
 unmerge: unmerge buffer from other buffers which have same number
    hide: hide the buffer
  unhide: unhide the buffer
  switch: switch to next merged buffer (or to previous buffer with "-previous")
    zoom: zoom on merged buffer
renumber: renumber buffers (works only if option weechat.look.buffer_auto_renumber is off)
   close: close buffer (number/range or name is optional)
  notify: display or set notify level for current buffer: this level determines whether buffer will be added to hotlist or not:
          none: never
          highlight: for highlights only
          message: for messages from users + highlights
          all: for all messages
          reset: reset to default value (all)
 listvar: display local variables in a buffer
  setvar: set a local variable in the current buffer
  delvar: delete a local variable from the current buffer
     set: set a property in the current buffer
 setauto: like "set" and also define option "weechat.buffer.<name>.<property>" so that the property is saved in configuration and applied each time this buffer is opened
     get: display a property of current buffer
    jump: jump to another buffer:
          smart: next buffer with activity
          last_displayed: last buffer displayed (before last jump to a buffer)
          prev_visited: previously visited buffer
          next_visited: jump to next visited buffer
  number: jump to buffer by number, possible prefix:
          "+": relative jump, add number to current
          "-": relative jump, sub number to current
          "*": jump to number, using option "weechat.look.jump_current_to_previous_buffer"
       -: jump to first buffer number
       +: jump to last buffer number
    name: jump to buffer by (partial) name; if the name starts with "(?i)", the search is case insensitive (for example "(?i)upper" will find buffer "irc.libera.#UPPERCASE")

Examples:
  /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: define color aliases and display palette of colors

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

   alias: add an alias for a color
 unalias: delete an alias
   color: color number (greater than or equal to 0, max depends on terminal, commonly 63 or 255)
    name: alias name for color (for example: "orange")
   reset: reset all color pairs (required when no more color pairs are available if automatic reset is disabled, see option "weechat.look.color_pairs_auto_reset")
term2rgb: convert a terminal color (0-255) to RGB color
rgb2term: convert a RGB color to terminal color (0-255)
   limit: number of colors to use in terminal table (starting from 0); default is 256
      -o: send terminal/colors info to current buffer as input

Without argument, this command displays colors in a new buffer.

Examples:
  /color alias 214 orange
  /color unalias 214
  • command: launch explicit WeeChat or plugin command

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

-buffer: execute the command on this buffer
 plugin: execute the command from this plugin; "core" for a WeeChat command, "*" for automatic plugin (it depends on the buffer where the command is executed)
command: command to execute (a "/" is automatically added if not found at beginning of command)
     -s: execute one or multiple commands separated by semicolons (the semicolon can be escaped with "\;")
  • cursor: free movement of cursor on screen to execute actions on specific areas of screen

/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: move cursor to chat area, a bar (using bar name) or coordinates "x,y"
move: move cursor with direction
stop: stop cursor mode

Without argument, this command toggles cursor mode.

When mouse is enabled (see /help mouse), by default a middle click will start cursor mode at this point.

See chapter on key bindings in User's guide for a list of keys that can be used in cursor mode.

Examples:
  /cursor go chat bottom_left
  /cursor go nicklist
  /cursor go 10,5
  • debug: debug functions

/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: list plugins with debug levels
      set: set debug level for plugin
   plugin: name of plugin ("core" for WeeChat core)
    level: debug level for plugin (0 = disable debug)
     dump: save memory dump in WeeChat log file (same dump is written when WeeChat crashes)
    hooks: display infos about hooks (with a plugin: display detailed info about hooks created by the plugin)
   buffer: dump buffer content with hexadecimal values in WeeChat log file
callbacks: write hook and bar item callbacks that took more than "duration" in the WeeChat log file (0 = disable), where optional unit is one of:
           us: microseconds (default)
           ms: milliseconds
           s: seconds
           m: minutes
           h: hours
    certs: display number of loaded trusted certificate authorities
    color: display infos about current color pairs
   cursor: toggle debug for cursor mode
     dirs: display directories
    hdata: display infos about hdata (with free: remove all hdata in memory)
infolists: display infos about infolists
      key: enable keyboard and mouse debug: display raw codes, expanded key name and associated command ("q" to quit this mode)
     libs: display infos about external libraries used
   memory: display infos about memory usage
    mouse: toggle debug for mouse
     tags: display tags for lines
     term: display infos about terminal
      url: toggle debug for calls to hook_url (display output hashtable)
  windows: display windows tree
     time: measure time to execute a command or to send text to the current buffer
  unicode: display information about string and unicode chars (evaluated, see /help eval)

Examples:
  /debug set irc 1
  /debug mouse verbose
  /debug time /filter toggle
  /debug unicode ${chars:${\u26C0}-${\u26CF}}
  • eval: evaluate expression

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

        -n: display result without sending it to buffer (debug mode)
        -s: split expression before evaluating it (many commands can be separated by semicolons)
        -d: display debug output after evaluation (with two -d: more verbose debug)
        -c: evaluate as condition: use operators and parentheses, return a boolean value ("0" or "1")
expression: expression to evaluate, variables with format ${variable} are replaced (see below)
  operator: a logical or comparison operator (see below)

An expression is considered as "true" if it is not NULL, not empty, and different from "0".
The comparison is made using floating point numbers if the two expressions are valid numbers, with one of the following formats: integer (examples: 5, -7), floating point number (examples: 5.2, -7.5, 2.83e-2), hexadecimal number (examples: 0xA3, -0xA3).
To force a string comparison, you can add double quotes around each expression, for example: 50 > 100 == 0 and "50" > "100" == 1

Some variables are replaced in expression, using the format ${variable}, which can be, by order of priority:
  - ${raw_hl:string}: the string itself without evaluation but with syntax highlighting
  - ${raw:string}: the string itself without evaluation
  - ${hl:string}: the string with syntax highlighting
  - ${name}: the user-defined variable
  - ${weechat_config_dir}: WeeChat config directory
  - ${weechat_data_dir}: WeeChat data directory
  - ${weechat_state_dir}: WeeChat state directory
  - ${weechat_cache_dir}: WeeChat cache directory
  - ${weechat_runtime_dir}: WeeChat runtime directory
  - ${eval:string}: the evaluated string
  - ${eval_cond:string}: the evaluated condition
  - ${esc:string} or ${\string}: the string with escaped chars
  - ${chars:range}: the string with a range of chars, "range" is one of: "digit", "xdigit", "lower", "upper", "alpha", "alnum" or "c1-c2" ("c1" and "c2" are code points with c1 ≤ c2)
  - ${lower:string}: the string converted to lower case
  - ${upper:string}: the string converted to upper case
  - ${hide:char,string}: the string with hidden chars
  - ${cut:max,suffix,string}: the string with max chars (excluding the suffix)
  - ${cut:+max,suffix,string}: the string with max chars (including the suffix)
  - ${cutscr:max,suffix,string}: the string with max chars displayed on screen (excluding the suffix)
  - ${cutscr:+max,suffix,string}: the string with max chars displayed on screen (including the suffix)
  - ${rev:string}: the reversed string
  - ${revscr:string}: the reversed string for display (color codes are not reversed)
  - ${repeat:count,string}: the repeated string
  - ${length:string}: the length of the string (number of UTF-8 chars)
  - ${lengthscr:string}: the length of the string on screen (sum of the width of each UTF-8 char displayed on screen, colors codes are ignored)
  - ${split:N,separators,flags,string}: Nth item of the split string (N is an integer ≥ 1 or ≤ -1, if negative, counts from the last item)
  - ${split:random,separators,flags,string}: random item of the split string
  - ${split:count,separators,flags,string}: number of items of the split string
  - ${split_shell:N,string}: Nth item of the split shell arguments (N is an integer ≥ 1 or ≤ -1, if negative, counts from the last item)
  - ${split_shell:random,string}: random item of the split shell arguments
  - ${split_shell:count,string}: number of items of the split shell arguments
  - ${color:name}: the color (see "Plugin API reference", function "color")
  - ${modifier:name,data,string}: the modifier
  - ${info:name,arguments}: the info (arguments are optional)
  - ${base_encode:base,string}: the string encoded to base: 16, 32, 64 or 64url
  - ${base_decode:base,string}: the string decoded from base: 16, 32, 64 or 64url
  - ${date} or ${date:format}: current date/time
  - ${env:NAME}: the environment variable
  - ${if:condition?value_if_true:value_if_false}: the result of ternary operator
  - ${calc:expression}: the result of the expression with parentheses and operators (+, -, *, /, //, %, **)
  - ${random:min,max}: a random integer number between "min" and "max" (inclusive)
  - ${translate:string}: the translated string
  - ${define:name,value}: declaration of a user variable (return an empty string)
  - ${sec.data.xxx}: the value of the secured data "xxx"
  - ${file.section.option}: the value of the config option
  - ${name}: the local variable in buffer
  - the hdata name/variable (the value is automatically converted to string), by default "window" and "buffer" point to current window/buffer.

Format for hdata can be one of following:
  - ${hdata.var1.var2...}: start with a hdata (pointer must be known), and ask variables one after one (other hdata can be followed)
  - ${hdata[list].var1.var2...}: start with a hdata using a list/pointer/pointer name, for example:
    - ${buffer[gui_buffers].full_name}: full name of first buffer in linked list of buffers
    - ${plugin[weechat_plugins].name}: name of first plugin in linked list of plugins
  - ${hdata[pointer].var1.var2...}: start with a hdata using a pointer, for example:
    - ${buffer[0x1234abcd].full_name}: full name of the buffer with this pointer (can be used in triggers)
    - ${buffer[my_pointer].full_name}: full name of the buffer with this pointer name (can be used in triggers)
  - ${hdata[pointer].var1.method()}: when var1 is a hashtable, methods can be called: "keys()", "values()", "keys_sorted()", "keys_values()" and "keys_values_sorted()"
For name of hdata and variables, please look at "Plugin API reference", function "weechat_hdata_get".

Logical operators (by order of priority):
  &&   boolean "and"
  ||   boolean "or"

Comparison operators (by order of priority):
  =~   is matching POSIX extended regex
  !~   is NOT matching POSIX extended regex
  ==*  is matching mask, case sensitive (wildcard "*" is allowed)
  !!*  is NOT matching mask, case sensitive (wildcard "*" is allowed)
  =*   is matching mask, case insensitive (wildcard "*" is allowed)
  !*   is NOT matching mask, case insensitive (wildcard "*" is allowed)
  ==-  is included, case sensitive
  !!-  is NOT included, case sensitive
  =-   is included, case insensitive
  !-   is NOT included, case insensitive
  ==   equal
  !=   not equal
  <=   less or equal
  <    less
  >=   greater or equal
  >    greater

Examples (simple strings):
  /eval -n ${raw:${info:version}}                  ==> ${info:version}
  /eval -n ${eval_cond:${window.win_width}>100}    ==> 1
  /eval -n ${info:version}                         ==> 4.3.2
  /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

Examples (conditions):
  /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: filter messages in buffers, to hide/show them according to tags or regex

/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: list all filters
    enable: enable filters (filters are enabled by default)
   disable: disable filters
    toggle: toggle filters
      mask: name where wildcard "*" is allowed ("@" = enable/disable all filters in current buffer)
       add: add a filter
addreplace: add or replace an existing filter
      name: filter name
    rename: rename a filter
  recreate: set input with the command used to edit the filter
       del: delete filters
    buffer: comma separated list of buffers where filter is active:
            - this is full name including plugin (example: "irc.libera.#weechat" or "irc.server.libera")
            - "*" means all buffers
            - a name starting with "!" is excluded
            - wildcard "*" is allowed
      tags: comma separated list of tags (for example "irc_join,irc_part,irc_quit"):
            - logical "and": "+" between tags (for example: "nick_toto+irc_action")
            - wildcard "*" is allowed
            - if tag starts with "!", then it is excluded and must NOT be in message
     regex: POSIX extended regular expression to search in line:
            - use "\t" to separate prefix from message, special chars like "|" must be escaped: "\|"
            - if regex starts with "!", then matching result is reversed (use "\!" to start with "!")
            - two regular expressions are created: one for prefix and one for message
            - regex are case insensitive, they can start by "(?-i)" to become case sensitive

The default key alt+"=" toggles filtering on/off globally and alt+"-" toggles filtering on/off in the current buffer.

Tags most commonly used: no_filter, no_highlight, no_log, log0..log9 (log level), notify_none, notify_message, notify_private, notify_highlight, self_msg, nick_xxx (xxx is nick in message), prefix_nick_ccc (ccc is color of nick), host_xxx (xxx is username + host in message), irc_xxx (xxx is command name or number, see /server raw or /debug tags), irc_numeric, irc_error, irc_action, irc_ctcp, irc_ctcp_reply, irc_smart_filter, away_info.
To see tags for lines in buffers: /debug tags

Examples:
  use IRC smart filter on all buffers:
    /filter add irc_smart * irc_smart_filter *
  use IRC smart filter on all buffers except those with "#weechat" in name:
    /filter add irc_smart *,!*#weechat* irc_smart_filter *
  filter all IRC join/part/quit messages:
    /filter add joinquit * irc_join,irc_part,irc_quit *
  filter nicks displayed when joining channels or with /names:
    /filter add nicks * irc_366 *
  filter nick "toto" on IRC channel #weechat:
    /filter add toto irc.libera.#weechat nick_toto *
  filter IRC join/action messages from nick "toto":
    /filter add toto * nick_toto+irc_join,nick_toto+irc_action *
  filter lines containing "weechat sucks" on IRC channel #weechat:
    /filter add sucks irc.libera.#weechat * weechat sucks
  filter lines that are strictly equal to "WeeChat sucks" on all buffers:
    /filter add sucks2 * * (?-i)^WeeChat sucks$
  • help: display help about commands and options

/help  -list|-listfull [<plugin> [<plugin>...]]
       <command>
       <option>

    -list: list commands, by plugin (without argument, this list is displayed)
-listfull: list commands with description, by plugin
   plugin: list commands for this plugin
  command: a command name
   option: an option name (use /set to see list)
  • history: show buffer command history

/history  clear
          <value>

clear: clear history
value: number of history entries to show
  • hotlist: manage hotlist

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

    add: add current buffer in hotlist (default level: "low", conditions defined in option weechat.look.hotlist_add_conditions are NOT checked)
  clear: clear hotlist
  level: "lowest" to clear only lowest level in hotlist, highest" to clear only highest level in hotlist, or level mask: integer which is a combination of 1=join/part, 2=message, 4=private, 8=highlight
 remove: remove current buffer from hotlist
restore: restore latest hotlist removed in the current buffer (or all buffers with "-all")
  • input: functions for command line

/input  <action> [<arguments>]

   action: the action, one of:
           return: simulate key "enter"
           split_return: split input on newlines then simulate key "enter" for each line
           complete_next: complete word with next completion
           complete_previous: complete word with previous completion
           search_text_here: search text in buffer at current position
           search_text: search text in buffer
           search_history: search text in command line history
           search_switch_case: switch exact case for search
           search_switch_regex: switch search type: string/regular expression
           search_switch_where: switch search in messages/prefixes
           search_previous: search previous line
           search_next: search next line
           search_stop_here: stop search at current position
           search_stop: stop search
           delete_previous_char: delete previous char
           delete_next_char: delete next char
           delete_previous_word: delete previous word
           delete_previous_word_whitespace: delete previous word (until whitespace)
           delete_next_word: delete next word
           delete_beginning_of_line: delete from beginning of line until cursor
           delete_beginning_of_input: delete from beginning of input until cursor
           delete_end_of_line: delete from cursor until end of line
           delete_end_of_input: delete from cursor until end of input
           delete_line: delete current line
           delete_input: delete entire input
           clipboard_paste: paste from the internal clipboard
           transpose_chars: transpose two chars
           undo: undo last command line action
           redo: redo last command line action
           move_beginning_of_line: move cursor to beginning of line
           move_beginning_of_input: move cursor to beginning of input
           move_end_of_line: move cursor to end of line
           move_end_of_input: move cursor to end of input
           move_previous_char: move cursor to previous char
           move_next_char: move cursor to next char
           move_previous_word: move cursor to previous word
           move_next_word: move cursor to next word
           move_previous_line: move cursor to previous line
           move_next_line: move cursor to next line
           history_previous: recall previous command in current buffer history
           history_next: recall next command in current buffer history
           history_global_previous: recall previous command in global history
           history_global_next: recall next command in global history
           history_use_get_next: send the current history entry (found with search or recalled with "up"key) and insert the next history entry in the command line without sending it
           grab_key: grab a key (optional argument: delay for end of grab, default is 500 milliseconds)
           grab_key_command: grab a key with its associated command (optional argument: delay for end of grab, default is 500 milliseconds)
           grab_mouse: grab mouse event code
           grab_mouse_area: grab mouse event code with area
           insert: insert text in command line (escaped chars are allowed, see /help print)
           send: send text to the buffer
arguments: optional arguments for the action

This command is used by key bindings or plugins.
  • item: manage custom bar items

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

      list: list all custom bar items
       add: add a custom bar item
addreplace: add or replace an existing custom bar item
      name: custom bar item name
conditions: evaluated conditions to display the bar item (for example to display the bar item only in specific buffers)
   content: content (evaluated, see /help eval)
    rename: rename a custom bar item
   refresh: update content of item in all bars where the item is displayed; any item can be refreshed: default/plugin/custom bar items
  recreate: set input with the command used to edit the custom bar item
       del: delete custom bar items
      mask: name where wildcard "*" is allowed

Examples:
  add item with terminal size, displayed only in buffers with number = 1:
    /item add terminfo "${buffer.number} == 1" "term:${info:term_width}x${info:term_height}"
  add item with buffer info:
    /item add bufinfo "" "${buffer.number}:${buffer.name}${if:${buffer.zoomed}?(Z)}"
  add item with date/time using format "Dec 25, 12:34 +0100", refreshed every minute:
    /item add datetime "" "${date:%b %d, %H:%M %z}"
    /trigger add datetime_refresh timer "60000;60" "" "" "/item refresh datetime"
  add item with number of lines in buffer (displayed/total), refreshed each time a new line is displayed or if filtered lines have changed:
    /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"
  force refresh of item "lines_count":
    /item refresh lines_count
  recreate item "lines_count" with different conditions or content:
    /item recreate lines_count
  delete item "lines_count":
    /item del lines_count
  • key: bind/unbind keys

/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: list all current keys
listdefault: list default keys
   listdiff: list differences between current and default keys (keys added, redefined or deleted)
    context: name of context ("default" or "search")
       bind: bind a command to a key or display command bound to key (for context "default")
   bindctxt: bind a command to a key or display command bound to key, for given context
    command: command (many commands can be separated by semicolons); quotes can be used to preserve spaces at the beginning/end of command
     unbind: remove a key binding (for context "default")
 unbindctxt: remove a key binding for given context
      reset: reset a key to default binding (for context "default")
  resetctxt: reset a key to default binding, for given context
   resetall: restore bindings to the default values and delete ALL personal bindings (use carefully!)
    missing: add missing keys (using default bindings), useful after installing new WeeChat version
     legacy: display new name for legacy keys

When binding a command to a key, it is recommended to use key alt+k (or Esc then k), and then press the key to bind: this will insert key name in command line.

For some keys you might need to use /debug key, this displays the raw key code that can be used (for example the key ctrl+backspace could be "ctrl-h" or "ctrl-?", depending on your terminal and other settings).

Modifiers allowed (in this order when multiple are used):
  "meta-": alt key
  "ctrl-": control key
  "shift-": shift key, can only be used with key names below

Key names allowed: f0 to f20, home, insert, delete, end, backspace, pgup, pgdn, up, down, right, left, tab, return, comma, space.

Combo of keys must be separated by a comma.

For context "mouse" (possible in context "cursor" too), key has format: "@area:key" or "@area1>area2:key" where area can be:
  *: any area on screen
  chat: chat area (any buffer)
  chat(xxx): chat area for buffer with name "xxx" (full name including plugin)
  bar(*): any bar
  bar(xxx): bar "xxx"
  item(*): any bar item
  item(xxx): bar item "xxx"
Wildcard "*" is allowed in key to match many mouse events.
A special value for command with format "hsignal:name" can be used for context mouse, this will send the hsignal "name" with the focus hashtable as argument.
Another special value "-" can be used to disable key (it will be ignored when looking for keys).

Examples:
  /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: manage buffers/windows layouts

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

  store: store current buffers/windows in a layout
  apply: apply stored layout
  leave: leave current layout (does not update any layout)
    del: delete buffers and/or windows in a stored layout (if neither "buffers" nor "windows" is given after the name, the layout is deleted)
 rename: rename a layout
   name: name for stored layout (default is "default")
buffers: store/apply only buffers (order of buffers)
windows: store/apply only windows (buffer displayed by each window)

Without argument, this command displays stored layouts.

The current layout can be saved on /quit command with the option "weechat.look.save_layout_on_exit".

Note: the layout only remembers windows split and buffers numbers. It does not open buffers. That means for example you must still auto-join IRC channels to open the buffers, the saved layout only applies once the buffers are opened.
  • mouse: mouse control

/mouse  enable|disable|toggle [<delay>]

 enable: enable mouse
disable: disable mouse
 toggle: toggle mouse
  delay: delay (in seconds) after which initial mouse state is restored (useful to temporarily disable mouse)

The mouse state is saved in option "weechat.look.mouse".

Examples:
  /mouse enable
  /mouse toggle 5
  • mute: execute a command silently

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

   -core: no output on WeeChat core buffer
-current: no output on current buffer
 -buffer: no output on specified buffer
    name: full buffer name (examples: "irc.server.libera", "irc.libera.#weechat")
 command: command to execute silently (a "/" is automatically added if not found at beginning of command)

If no target is specified ("-core", "-current" or "-buffer"), then default is to mute all buffers.

Examples:
  /mute save
  /mute -current msg * hi!
  /mute -buffer irc.libera.#weechat msg #weechat hi!
  • plugin: list/load/unload plugins

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

     list: list loaded plugins
       -o: send list of loaded plugins to buffer (string in English)
      -ol: send list of loaded plugins to buffer (translated string)
       -i: copy list of loaded plugins in command line (for sending to buffer) (string in English)
      -il: copy list of loaded plugins in command line (for sending to buffer) (translated string)
     name: a plugin name
 listfull: list loaded plugins (verbose)
     load: load a plugin
 filename: plugin (file) to load
arguments: arguments given to plugin on load
 autoload: autoload plugins in system or user directory
   reload: reload a plugin (if no name given, unload all plugins, then autoload plugins)
   unload: unload a plugin (if no name given, unload all plugins)

Without argument, this command lists loaded plugins.
  • print: display text on a buffer

/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: display text in this buffer (default: buffer where command is executed)
-newbuffer: create a new buffer and display text in this buffer
     -free: create a buffer with free content (with -newbuffer only)
   -switch: switch to the buffer
     -core: alias of "-buffer core.weechat"
  -current: display text on current buffer
        -y: display on a custom line (for buffer with free content only)
      line: line number for buffer with free content (first line is 0, a negative number displays after last line: -1 = after last line, -2 = two lines after last line, etc.)
   -escape: interpret escaped chars (for example \a, \07, \x07)
     -date: message date, format can be:
            -n: "n" seconds before now
            +n: "n" seconds in the future
            n: "n" seconds since the Epoch (see man time)
            date and/or time (ISO 8601): see function "util_parse_time" in Plugin API reference (examples: "11:29:09", "2023-12-25T10:29:09.456789Z")
     -tags: comma-separated list of tags (see /help filter for a list of tags most commonly used)
      text: text to display (prefix and message must be separated by "\t", if text starts with "-", then add a "\" before)
   -stdout: display text on stdout (escaped chars are interpreted)
   -stderr: display text on stderr (escaped chars are interpreted)
     -beep: alias of "-stderr \a"

The options -action ... -quit use the prefix defined in options "weechat.look.prefix_*".

Following escaped chars are supported:
  \" \\ \a \b \e \f \n \r \t \v \0ooo \xhh \uhhhh \Uhhhhhhhh

Examples:
  display a reminder on core buffer with a highlight:
    /print -core -tags notify_highlight Reminder: buy milk
  display an error on core buffer:
    /print -core -error Some error here
  display message on core buffer with prefix "abc":
    /print -core abc\tThe message
  display a message on channel #weechat:
    /print -buffer irc.libera.#weechat Message on #weechat
  display a snowman (U+2603):
    /print -escape \u2603
  send alert (BEL):
    /print -beep
  • proxy: manage proxies

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

    list: list all proxies
     add: add a new proxy
    name: name of proxy (must be unique)
    type: http, socks4 or socks5
 address: IP or hostname
    port: port number
username: username (optional)
password: password (optional)
     del: delete proxies
    mask: name where wildcard "*" is allowed
     set: set a value for a proxy property
  option: option to change (for options list, look at /set weechat.proxy.<proxyname>.*)
   value: new value for option

Examples:
  add a http proxy, running on local host, port 8888:
    /proxy add local http 127.0.0.1 8888
  add a http proxy using IPv6 protocol:
    /proxy add local http ::1 8888
    /proxy set local ipv6 on
  add a socks5 proxy with username/password:
    /proxy add myproxy socks5 sample.host.org 3128 myuser mypass
  delete a proxy:
    /proxy del myproxy
  • quit: quit WeeChat

/quit  [-yes] [<arguments>]

     -yes: required if option "weechat.look.confirm_quit" is enabled
arguments: text sent with signal "quit" (for example irc plugin uses this text to send quit message to server)

By default when quitting the configuration files are saved (see option "weechat.look.save_config_on_exit") and the current layout can be saved (see option "weechat.look.save_layout_on_exit").
  • reload: reload configuration files from disk

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

file: configuration file to reload (without extension ".conf")

Without argument, all files (WeeChat and plugins) are reloaded.
  • repeat: execute a command several times

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

  delay: delay between execution of commands (minimum: 1 millisecond)
   unit: optional, values are:
         us: microseconds
         ms: milliseconds
         s: seconds (default)
         m: minutes
         h: hours
  count: number of times to execute command
command: command to execute (or text to send to buffer if command does not start with "/"), evaluated and the following variables are set each time the command is executed:
         ${buffer}: buffer pointer
         ${repeat_count}: number of times the command is executed
         ${repeat_index}: current index (from 1 to "count")
         ${repeat_index0}: current index (from 0 to "count" - 1)
         ${repeat_revindex}: current index from the end (from "count" to 1)
         ${repeat_revindex0}: current index from the end (from "count" - 1 to 0)
         ${repeat_first}: "1" for the first execution, "0" for the others
         ${repeat_last}: "1" for the last execution, "0" for the others

Note: the command is executed on buffer where /repeat was executed (if the buffer does not exist any more, the command is not executed).

Examples:
  scroll 2 pages up:
    /repeat 2 /window page_up
  print a countdown, starting at 5:
    /repeat -interval 1 6 /print ${if:${repeat_last}?Boom!:${repeat_revindex0}}
  • reset: reset config options

/reset  <option>
        -mask <option>

option: name of an option
 -mask: use a mask in option (wildcard "*" is allowed to mass-reset options, use carefully!)

Examples:
  /reset weechat.look.item_time_format
  /reset -mask weechat.color.*
  • save: save configuration files to disk

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

file: configuration file to save (without extension ".conf")

Without argument, all files (WeeChat and plugins) are saved.

By default all configuration files are saved to disk on /quit command (see option "weechat.look.save_config_on_exit").
  • secure: manage secured data (passwords or private data encrypted in file sec.conf)

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

passphrase: change the passphrase (without passphrase, data is stored as plain text in file sec.conf)
   -delete: delete passphrase
   decrypt: decrypt data still encrypted (it happens only if passphrase was not given on startup)
  -discard: discard all data still encrypted
       set: add or change secured data
       del: delete secured data

Without argument, this command displays secured data in a new buffer.

Keys on secure buffer:
  alt+v  toggle values

When a passphrase is used (data encrypted), it is asked by WeeChat on startup.
It is possible to set environment variable "WEECHAT_PASSPHRASE" to prevent the prompt (this same variable is used by WeeChat on /upgrade), or to set option sec.crypt.passphrase_command to read the passphrase from the output of an external command like a password manager (see /help sec.crypt.passphrase_command).

Secured data with format ${sec.data.xxx} can be used in:
  - command /eval
  - command line argument "--run-command"
  - options weechat.startup.command_{before|after}_plugins
  - other options that may contain a password or sensitive data (for example proxy, irc server and relay); see /help on the options to check if they are evaluated.

Examples:
  set a passphrase:
    /secure passphrase this is my passphrase
  use program "pass" to read the passphrase on startup:
    /set sec.crypt.passphrase_command "/usr/bin/pass show weechat/passphrase"
  encrypt libera SASL password:
    /secure set libera mypassword
    /set irc.server.libera.sasl_password "${sec.data.libera}"
  encrypt oftc password for nickserv:
    /secure set oftc mypassword
    /set irc.server.oftc.command "/msg nickserv identify ${sec.data.oftc}"
  alias to ghost the nick "mynick":
    /alias add ghost /eval /msg -server libera nickserv ghost mynick ${sec.data.libera}
  • set: set config options and environment variables

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

option: name of an option (wildcard "*" is allowed to list options, if no value is specified)
 value: new value for option, according to type:
        boolean: on, off or toggle
        integer: number, ++number or --number
        string: any string ("" for empty string)
        color: color name, ++number or --number
  diff: display only changed options
   env: display or set an environment variable ("" to unset a variable)

Note: the value "null" (without quotes) can be used to remove option value (undefined value). This works only for some special plugin variables.

Examples:
  /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: system actions

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

        get: display system info
     rlimit: display resource limits (see /help weechat.startup.sys_rlimit and "man getrlimit")
     rusage: display resource usage (see "man getrusage")
malloc_trim: call function malloc_trim to release free memory from the heap
       size: amount of free space to leave untrimmed at the top of the heap (default is 0: only the minimum amount of memory is maintained at the top of the heap)
    suspend: suspend WeeChat and go back to the shell, by sending signal SIGTSTP to the WeeChat process
    waitpid: acknowledge the end of children processes (to prevent "zombie" processes)
     number: number of processes to clean
  • toggle: toggle value of a config option

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

option: name of an option
 value: possible values for the option (values are split like the shell command arguments: quotes can be used to preserve spaces at the beginning/end of values)

Behavior:
  - only an option of type boolean or string can be toggled without a value:
    - boolean: toggle between on/off according to current value
    - string: toggle between empty string and default value (works only if empty string is allowed for the option)
  - with a single value given, toggle between this value and the default value of option
  - with multiple values given, toggle between these values: the value used is the one following the current value of option; if the current value of option is not in list, the first value in the list is used
  - the special value "null" can be given, but only as first value in the list and without quotes around.

Examples:
  toggle display of time in chat area (without displaying the new value used):
    /mute /toggle weechat.look.buffer_time_format
  switch format of time in chat area (with seconds, without seconds, disabled):
    /toggle weechat.look.buffer_time_format "%H:%M:%S" "%H:%M" ""
  toggle autojoin of #weechat channel on libera server:
    /toggle irc.server.libera.autojoin null #weechat
  • unset: unset/reset config options

/unset  <option>
        -mask <option>

option: name of an option
 -mask: use a mask in option (wildcard "*" is allowed to mass-reset options, use carefully!)

According to option, it's reset (for standard options) or removed (for optional settings, like server values).

Examples:
  /unset weechat.look.item_time_format
  /unset -mask weechat.color.*
  • upgrade: save WeeChat session and reload the WeeChat binary without disconnecting from servers

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

          -yes: required if option "weechat.look.confirm_upgrade" is enabled
path_to_binary: path to WeeChat binary (default is current binary)
        -dummy: do nothing (option used to prevent accidental completion with "-quit")
         -save: only save the session, do not quit nor reload WeeChat; the configuration files are not saved (if needed you can use /save before this command)
         -quit: close *ALL* connections, save session and quit WeeChat, which makes possible a delayed restoration (see below)
            -o: send number of upgrades and date of first/last start to current buffer as input (English string)
           -ol: send number of upgrades and date of first/last start to current buffer as input (translated string)

This command upgrades and reloads a running WeeChat session. The new WeeChat binary must have been compiled or installed with a package manager before running this command.

Note: TLS connections are lost during upgrade (except with -save), because the reload of TLS sessions is currently not possible with GnuTLS. There is automatic reconnection after upgrade.

Important: use of option "-save" can be dangerous, it is recommended to use only /upgrade (or with "-quit") for a standard upgrade and a restart; the option "-save" can be used to save the session regularly and restore it in case of after abnormal exit (power outage, crash, etc.).

Upgrade process has 4 steps:
  1. save session into files for core and plugins (buffers, history, ..)
  2. unload all plugins (configuration files (*.conf) are written on disk)
  3. save WeeChat configuration (weechat.conf)
  4. execute new WeeChat binary and reload session.

With option "-quit", the process is:
  1. close *ALL* connections (irc, xfer, relay, ...)
  2. save session into files (*.upgrade)
  3. unload all plugins
  4. save WeeChat configuration
  5. quit WeeChat

With option "-save", the process is:
  1. save session into files (*.upgrade) with a disconnected state for IRC servers and Relay clients (but no disconnection is made)

With -quit or -save, you can restore the session later with this command: weechat --upgrade
IMPORTANT: you must restore the session with exactly same configuration (files *.conf) and if possible the same WeeChat version (or a more recent one).
It is possible to restore WeeChat session on another machine if you copy the content of WeeChat home directories (see /debug dirs).
  • uptime: show WeeChat uptime

/uptime  [-o|-ol]

 -o: send uptime to current buffer as input (English string)
-ol: send uptime to current buffer as input (translated string)
  • version: show WeeChat version and compilation date

/version  [-o|-ol]

 -o: send version to current buffer as input (English string)
-ol: send version to current buffer as input (translated string)

The default alias /v can be used to execute this command on all buffers (otherwise the irc command /version is used on irc buffers).
  • wait: schedule a command execution in future

/wait  <number>[<unit>] <command>

 number: amount of time to wait (minimum: 1 millisecond)
   unit: optional, values are:
         us: microseconds
         ms: milliseconds
         s: seconds (default)
         m: minutes
         h: hours
command: command to execute (or text to send to buffer if command does not start with "/")

Note: the command is executed on buffer where /wait was executed (if the buffer does not exist any more, the command is not executed).

Examples:
  join channel #test in 10 seconds:
    /wait 10 /join #test
  set away in 15 minutes:
    /wait 15m /away -all I'm away
  say "hello" in 2 minutes:
    /wait 2m hello
  • window: manage windows

/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: list opened windows (without argument, this list is displayed)
                       -1: jump to previous window
                       +1: jump to next window
                       b#: jump to next window displaying buffer number #
                       up: switch to window above current one
                     down: switch to window below current one
                     left: switch to window on the left
                    right: switch to window on the right
                   number: window number (see /window list)
                   splith: split current window horizontally (to undo: /window merge)
                   splitv: split current window vertically (to undo: /window merge)
                   resize: resize window size, new size is <pct> percentage of parent window; if "h" or "v" is specified, the resize affects the nearest parent window with a split of this type (horizontal/vertical)
                  balance: balance the sizes of all windows
                    merge: merge window with another (all = keep only one window)
                    close: close window
                  page_up: scroll one page up
                page_down: scroll one page down
                  refresh: refresh screen
                   scroll: scroll a number of lines (+/-N) or with time: s=seconds, m=minutes, h=hours, d=days, M=months, y=years
             scroll_horiz: scroll horizontally a number of columns (+/-N) or percentage of window size (this scrolling is possible only on buffers with free content)
                scroll_up: scroll a few lines up
              scroll_down: scroll a few lines down
               scroll_top: scroll to top of buffer
            scroll_bottom: scroll to bottom of buffer
        scroll_beyond_end: scroll beyond the end of buffer
scroll_previous_highlight: scroll to previous highlight
    scroll_next_highlight: scroll to next highlight
            scroll_unread: scroll to unread marker
                     swap: swap buffers of two windows (with optional direction for target window)
                     zoom: zoom on window
                     bare: toggle bare display (with optional delay in seconds for automatic return to standard display mode)

For splith and splitv, pct is a percentage which represents size of new window, computed with current window as size reference. For example 25 means create a new window with size = current_size / 4

Examples:
  /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

    • description: cipher used to crypt data (the number after algorithm is the size of the key in bits)

    • type: enum

    • values: aes128, aes192, aes256

    • default value: aes256

  • sec.crypt.hash_algo

    • description: hash algorithm used to check the decrypted data; some of them require a specific libgcrypt version: sha3-*: libgcrypt >= 1.7.0, blake2*: libgcrypt >= 1.8.0, sha512-*: libgcrypt >= 1.9.4

    • type: enum

    • values: 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

    • default value: sha256

  • sec.crypt.passphrase_command

    • description: read the passphrase from the output of this system command (only the first line is used and it must not contain any extra character); this option is used only when reading file sec.conf and if the environment variable "WEECHAT_PASSPHRASE" is not set (the environment variable has higher priority); example with password-store: "/usr/bin/pass show weechat/passphrase"

    • type: string

    • values: any string

    • default value: ""

  • sec.crypt.salt

    • description: use salt when generating key used in encryption (recommended for maximum security); when enabled, the content of crypted data in file sec.conf will be different on each write of the file; if you put the file sec.conf in a version control system, then you can turn off this option to have always same content in file

    • type: boolean

    • values: on, off

    • default value: 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

    • description: text color for "+" when scrolling bars

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: lightmagenta

  • weechat.color.chat

    • description: text color for chat

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: default

  • weechat.color.chat_bg

    • description: background color for chat

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: default

  • weechat.color.chat_buffer

    • description: text color for buffer names

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: white

  • weechat.color.chat_channel

    • description: text color for channel names

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: white

  • weechat.color.chat_day_change

    • description: text color for message displayed when the day has changed

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: cyan

  • weechat.color.chat_delimiters

    • description: text color for delimiters

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: 22

  • weechat.color.chat_highlight

    • description: text color for highlighted prefix

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: yellow

  • weechat.color.chat_highlight_bg

    • description: background color for highlighted prefix

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: 124

  • weechat.color.chat_host

    • description: text color for hostnames

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: cyan

  • weechat.color.chat_inactive_buffer

    • description: text color for chat when line is inactive (buffer is merged with other buffers and is not selected)

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: default

  • weechat.color.chat_inactive_window

    • description: text color for chat when window is inactive (not current selected window)

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: 240

  • weechat.color.chat_nick

    • description: text color for nicks in chat window: used in some server messages and as fallback when a nick color is not found; most of times nick color comes from option weechat.color.chat_nick_colors

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: lightcyan

  • weechat.color.chat_nick_colors

    • description: text color for nicks (comma separated list of colors, background is allowed with format: "fg:bg", for example: "lightred:blue")

    • type: string

    • values: any string

    • default value: "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

    • description: text color for offline nick (not in nicklist any more); this color is used only if option weechat.look.color_nick_offline is enabled

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: 242

  • weechat.color.chat_nick_offline_highlight

    • description: text color for offline nick with highlight; this color is used only if option weechat.look.color_nick_offline is enabled

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: default

  • weechat.color.chat_nick_offline_highlight_bg

    • description: background color for offline nick with highlight; this color is used only if option weechat.look.color_nick_offline is enabled

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: 17

  • weechat.color.chat_nick_other

    • description: text color for other nick in private buffer

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: cyan

  • weechat.color.chat_nick_prefix

    • description: color for nick prefix (string displayed before nick in prefix)

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: green

  • weechat.color.chat_nick_self

    • description: text color for local nick in chat window

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: white

  • weechat.color.chat_nick_suffix

    • description: color for nick suffix (string displayed after nick in prefix)

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: green

  • weechat.color.chat_prefix_action

    • description: text color for action prefix

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: white

  • weechat.color.chat_prefix_buffer

    • description: text color for buffer name (before prefix, when many buffers are merged with same number)

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: 180

  • weechat.color.chat_prefix_buffer_inactive_buffer

    • description: text color for inactive buffer name (before prefix, when many buffers are merged with same number and if buffer is not selected)

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: default

  • weechat.color.chat_prefix_error

    • description: text color for error prefix

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: yellow

  • weechat.color.chat_prefix_join

    • description: text color for join prefix

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: lightgreen

  • weechat.color.chat_prefix_more

    • description: text color for "+" when prefix is too long

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: lightmagenta

  • weechat.color.chat_prefix_network

    • description: text color for network prefix

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: magenta

  • weechat.color.chat_prefix_quit

    • description: text color for quit prefix

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: lightred

  • weechat.color.chat_prefix_suffix

    • description: text color for suffix (after prefix)

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: 24

  • weechat.color.chat_read_marker

    • description: text color for unread data marker

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: magenta

  • weechat.color.chat_read_marker_bg

    • description: background color for unread data marker

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: default

  • weechat.color.chat_server

    • description: text color for server names

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: brown

  • weechat.color.chat_status_disabled

    • description: text color for "disabled" status

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: red

  • weechat.color.chat_status_enabled

    • description: text color for "enabled" status

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: green

  • weechat.color.chat_tags

    • description: text color for tags after messages (displayed with command /debug tags)

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: red

  • weechat.color.chat_text_found

    • description: text color for marker on lines where text sought is found

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: yellow

  • weechat.color.chat_text_found_bg

    • description: background color for marker on lines where text sought is found

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: lightmagenta

  • weechat.color.chat_time

    • description: text color for time in chat window

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: default

  • weechat.color.chat_time_delimiters

    • description: text color for time delimiters

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: brown

  • weechat.color.chat_value

    • description: text color for values

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: cyan

  • weechat.color.chat_value_null

    • description: text color for null values (undefined)

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: blue

  • weechat.color.emphasized

    • description: text color for emphasized text (for example when searching text); this option is used only if option weechat.look.emphasized_attributes is an empty string (default value)

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: yellow

  • weechat.color.emphasized_bg

    • description: background color for emphasized text (for example when searching text); used only if option weechat.look.emphasized_attributes is an empty string (default value)

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: 54

  • weechat.color.eval_syntax_colors

    • description: text color for syntax highlighting in evaluated strings, with "${raw_hl:...}" and "${hl:...}" (comma separated list of colors, background is allowed with format: "fg:bg", for example: "lightred:blue")

    • type: string

    • values: any string

    • default value: "green,lightred,lightblue,lightmagenta,yellow,cyan"

  • weechat.color.input_actions

    • description: text color for actions in input line

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: lightgreen

  • weechat.color.input_text_not_found

    • description: text color for unsuccessful text search in input line

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: red

  • weechat.color.item_away

    • description: text color for away item

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: yellow

  • weechat.color.nicklist_away

    • description: text color for away nicknames

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: 240

  • weechat.color.nicklist_group

    • description: text color for groups in nicklist

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: green

  • weechat.color.separator

    • description: color for window separators (when split) and separators beside bars (like nicklist)

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: 236

  • weechat.color.status_count_highlight

    • description: text color for count of highlight messages in hotlist (status bar)

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: magenta

  • weechat.color.status_count_msg

    • description: text color for count of messages in hotlist (status bar)

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: brown

  • weechat.color.status_count_other

    • description: text color for count of other messages in hotlist (status bar)

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: default

  • weechat.color.status_count_private

    • description: text color for count of private messages in hotlist (status bar)

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: green

  • weechat.color.status_data_highlight

    • description: text color for buffer with highlight (status bar)

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: lightmagenta

  • weechat.color.status_data_msg

    • description: text color for buffer with new messages (status bar)

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: yellow

  • weechat.color.status_data_other

    • description: text color for buffer with new data (not messages) (status bar)

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: default

  • weechat.color.status_data_private

    • description: text color for buffer with private message (status bar)

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: lightgreen

  • weechat.color.status_filter

    • description: text color for filter indicator in status bar

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: green

  • weechat.color.status_modes

    • description: text color for buffer modes in status bar

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: default

  • weechat.color.status_more

    • description: text color for buffer with new data (status bar)

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: yellow

  • weechat.color.status_mouse

    • description: text color for mouse indicator in status bar

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: lightgreen

  • weechat.color.status_name

    • description: text color for current buffer name in status bar

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: white

  • weechat.color.status_name_insecure

    • description: text color for current buffer name in status bar, if data are exchanged and not secured with a protocol like TLS

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: lightmagenta

  • weechat.color.status_name_tls

    • description: text color for current buffer name in status bar, if data are exchanged and secured with a protocol like TLS

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: white

  • weechat.color.status_nicklist_count

    • description: text color for number of nicks in nicklist (status bar)

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: default

  • weechat.color.status_number

    • description: text color for current buffer number in status bar

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: yellow

  • weechat.color.status_time

    • description: text color for time (status bar)

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: default

  • weechat.completion.base_word_until_cursor

    • description: if enabled, the base word to complete ends at char before cursor; otherwise the base word ends at first space after cursor

    • type: boolean

    • values: on, off

    • default value: on

  • weechat.completion.case_sensitive

    • description: if enabled, the completion is case sensitive by default

    • type: boolean

    • values: on, off

    • default value: on

  • weechat.completion.command_inline

    • description: if enabled, the commands inside command line are completed (the command at beginning of line has higher priority and is used first); note: when this option is enabled, there is no more automatic completion of paths beginning with "/" (outside commands arguments)

    • type: boolean

    • values: on, off

    • default value: on

  • weechat.completion.default_template

    • description: default completion template (please see documentation for template codes and values: plugin API reference, function "weechat_hook_command")

    • type: string

    • values: any string

    • default value: "%(nicks)|%(irc_channels)"

  • weechat.completion.nick_add_space

    • description: add space after nick completion (when nick is not first word on command line)

    • type: boolean

    • values: on, off

    • default value: on

  • weechat.completion.nick_case_sensitive

    • description: case sensitive completion for nicks

    • type: boolean

    • values: on, off

    • default value: off

  • weechat.completion.nick_completer

    • description: string inserted after nick completion (when nick is first word on command line)

    • type: string

    • values: any string

    • default value: ": "

  • weechat.completion.nick_first_only

    • description: complete only with first nick found

    • type: boolean

    • values: on, off

    • default value: off

  • weechat.completion.nick_ignore_chars

    • description: chars ignored for nick completion

    • type: string

    • values: any string

    • default value: "[]`_-^"

  • weechat.completion.partial_completion_alert

    • description: send alert (BEL) when a partial completion occurs

    • type: boolean

    • values: on, off

    • default value: on

  • weechat.completion.partial_completion_command

    • description: partially complete command names (stop when many commands found begin with same letters)

    • type: boolean

    • values: on, off

    • default value: off

  • weechat.completion.partial_completion_command_arg

    • description: partially complete command arguments (stop when many arguments found begin with same prefix)

    • type: boolean

    • values: on, off

    • default value: off

  • weechat.completion.partial_completion_count

    • description: display count for each partial completion in bar item

    • type: boolean

    • values: on, off

    • default value: on

  • weechat.completion.partial_completion_other

    • description: partially complete outside commands (stop when many words found begin with same letters)

    • type: boolean

    • values: on, off

    • default value: off

  • weechat.completion.partial_completion_templates

    • description: comma-separated list of templates for which partial completion is enabled by default (with Tab key instead of shift-Tab); the list of templates is in documentation: plugin API reference, function "weechat_hook_command"

    • type: string

    • values: any string

    • default value: "config_options"

  • weechat.history.display_default

    • description: maximum number of commands to display by default in history listing (0 = unlimited)

    • type: integer

    • values: 0 .. 2147483647

    • default value: 5

  • weechat.history.max_buffer_lines_minutes

    • description: maximum number of minutes in history per buffer (0 = unlimited); examples: 1440 = one day, 10080 = one week, 43200 = one month, 525600 = one year; use 0 ONLY if option weechat.history.max_buffer_lines_number is NOT set to 0

    • type: integer

    • values: 0 .. 2147483647

    • default value: 0

  • weechat.history.max_buffer_lines_number

    • description: maximum number of lines in history per buffer (0 = unlimited); use 0 ONLY if option weechat.history.max_buffer_lines_minutes is NOT set to 0

    • type: integer

    • values: 0 .. 2147483647

    • default value: 4096

  • weechat.history.max_commands

    • description: maximum number of user commands in history (0 = unlimited, NOT RECOMMENDED: no limit in memory usage)

    • type: integer

    • values: 0 .. 2147483647

    • default value: 100

  • weechat.history.max_visited_buffers

    • description: maximum number of visited buffers to keep in memory

    • type: integer

    • values: 0 .. 1000

    • default value: 50

  • weechat.key.backspace

    • description: key "backspace" in context "default"

    • type: string

    • values: any string

    • default value: "/input delete_previous_char"

  • weechat.key.ctrl-_

    • description: key "ctrl-_" in context "default"

    • type: string

    • values: any string

    • default value: "/input undo"

  • weechat.key.ctrl-a

    • description: key "ctrl-a" in context "default"

    • type: string

    • values: any string

    • default value: "/input move_beginning_of_line"

  • weechat.key.ctrl-b

    • description: key "ctrl-b" in context "default"

    • type: string

    • values: any string

    • default value: "/input move_previous_char"

  • weechat.key.ctrl-c,_

    • description: key "ctrl-c,_" in context "default"

    • type: string

    • values: any string

    • default value: "/input insert \x1F"

  • weechat.key.ctrl-c,b

    • description: key "ctrl-c,b" in context "default"

    • type: string

    • values: any string

    • default value: "/input insert \x02"

  • weechat.key.ctrl-c,c

    • description: key "ctrl-c,c" in context "default"

    • type: string

    • values: any string

    • default value: "/input insert \x03"

  • weechat.key.ctrl-c,d

    • description: key "ctrl-c,d" in context "default"

    • type: string

    • values: any string

    • default value: "/input insert \x04"

  • weechat.key.ctrl-c,i

    • description: key "ctrl-c,i" in context "default"

    • type: string

    • values: any string

    • default value: "/input insert \x1D"

  • weechat.key.ctrl-c,o

    • description: key "ctrl-c,o" in context "default"

    • type: string

    • values: any string

    • default value: "/input insert \x0F"

  • weechat.key.ctrl-c,v

    • description: key "ctrl-c,v" in context "default"

    • type: string

    • values: any string

    • default value: "/input insert \x16"

  • weechat.key.ctrl-d

    • description: key "ctrl-d" in context "default"

    • type: string

    • values: any string

    • default value: "/input delete_next_char"

  • weechat.key.ctrl-down

    • description: key "ctrl-down" in context "default"

    • type: string

    • values: any string

    • default value: "/input history_global_next"

  • weechat.key.ctrl-e

    • description: key "ctrl-e" in context "default"

    • type: string

    • values: any string

    • default value: "/input move_end_of_line"

  • weechat.key.ctrl-f

    • description: key "ctrl-f" in context "default"

    • type: string

    • values: any string

    • default value: "/input move_next_char"

  • weechat.key.ctrl-f1

    • description: key "ctrl-f1" in context "default"

    • type: string

    • values: any string

    • default value: "/bar scroll buflist * -100%"

  • weechat.key.ctrl-f11

    • description: key "ctrl-f11" in context "default"

    • type: string

    • values: any string

    • default value: "/bar scroll nicklist * -100%"

  • weechat.key.ctrl-f12

    • description: key "ctrl-f12" in context "default"

    • type: string

    • values: any string

    • default value: "/bar scroll nicklist * +100%"

  • weechat.key.ctrl-f2

    • description: key "ctrl-f2" in context "default"

    • type: string

    • values: any string

    • default value: "/bar scroll buflist * +100%"

  • weechat.key.ctrl-k

    • description: key "ctrl-k" in context "default"

    • type: string

    • values: any string

    • default value: "/input delete_end_of_line"

  • weechat.key.ctrl-l

    • description: key "ctrl-l" in context "default"

    • type: string

    • values: any string

    • default value: "/window refresh"

  • weechat.key.ctrl-left

    • description: key "ctrl-left" in context "default"

    • type: string

    • values: any string

    • default value: "/input move_previous_word"

  • weechat.key.ctrl-n

    • description: key "ctrl-n" in context "default"

    • type: string

    • values: any string

    • default value: "/buffer +1"

  • weechat.key.ctrl-o

    • description: key "ctrl-o" in context "default"

    • type: string

    • values: any string

    • default value: "/input history_use_get_next"

  • weechat.key.ctrl-p

    • description: key "ctrl-p" in context "default"

    • type: string

    • values: any string

    • default value: "/buffer -1"

  • weechat.key.ctrl-r

    • description: key "ctrl-r" in context "default"

    • type: string

    • values: any string

    • default value: "/input search_history"

  • weechat.key.ctrl-right

    • description: key "ctrl-right" in context "default"

    • type: string

    • values: any string

    • default value: "/input move_next_word"

  • weechat.key.ctrl-s

    • description: key "ctrl-s" in context "default"

    • type: string

    • values: any string

    • default value: "/input search_text_here"

  • weechat.key.ctrl-t

    • description: key "ctrl-t" in context "default"

    • type: string

    • values: any string

    • default value: "/input transpose_chars"

  • weechat.key.ctrl-u

    • description: key "ctrl-u" in context "default"

    • type: string

    • values: any string

    • default value: "/input delete_beginning_of_line"

  • weechat.key.ctrl-up

    • description: key "ctrl-up" in context "default"

    • type: string

    • values: any string

    • default value: "/input history_global_previous"

  • weechat.key.ctrl-w

    • description: key "ctrl-w" in context "default"

    • type: string

    • values: any string

    • default value: "/input delete_previous_word_whitespace"

  • weechat.key.ctrl-x

    • description: key "ctrl-x" in context "default"

    • type: string

    • values: any string

    • default value: "/buffer switch"

  • weechat.key.ctrl-y

    • description: key "ctrl-y" in context "default"

    • type: string

    • values: any string

    • default value: "/input clipboard_paste"

  • weechat.key.ctrl-z

    • description: key "ctrl-z" in context "default"

    • type: string

    • values: any string

    • default value: "/sys suspend"

  • weechat.key.delete

    • description: key "delete" in context "default"

    • type: string

    • values: any string

    • default value: "/input delete_next_char"

  • weechat.key.down

    • description: key "down" in context "default"

    • type: string

    • values: any string

    • default value: "/input history_next"

  • weechat.key.end

    • description: key "end" in context "default"

    • type: string

    • values: any string

    • default value: "/input move_end_of_line"

  • weechat.key.f1

    • description: key "f1" in context "default"

    • type: string

    • values: any string

    • default value: "/bar scroll buflist * -100%"

  • weechat.key.f10

    • description: key "f10" in context "default"

    • type: string

    • values: any string

    • default value: "/bar scroll title * +30%"

  • weechat.key.f11

    • description: key "f11" in context "default"

    • type: string

    • values: any string

    • default value: "/bar scroll nicklist * -100%"

  • weechat.key.f12

    • description: key "f12" in context "default"

    • type: string

    • values: any string

    • default value: "/bar scroll nicklist * +100%"

  • weechat.key.f2

    • description: key "f2" in context "default"

    • type: string

    • values: any string

    • default value: "/bar scroll buflist * +100%"

  • weechat.key.f5

    • description: key "f5" in context "default"

    • type: string

    • values: any string

    • default value: "/buffer -1"

  • weechat.key.f6

    • description: key "f6" in context "default"

    • type: string

    • values: any string

    • default value: "/buffer +1"

  • weechat.key.f7

    • description: key "f7" in context "default"

    • type: string

    • values: any string

    • default value: "/window -1"

  • weechat.key.f8

    • description: key "f8" in context "default"

    • type: string

    • values: any string

    • default value: "/window +1"

  • weechat.key.f9

    • description: key "f9" in context "default"

    • type: string

    • values: any string

    • default value: "/bar scroll title * -30%"

  • weechat.key.home

    • description: key "home" in context "default"

    • type: string

    • values: any string

    • default value: "/input move_beginning_of_line"

  • weechat.key.left

    • description: key "left" in context "default"

    • type: string

    • values: any string

    • default value: "/input move_previous_char"

  • weechat.key.meta--

    • description: key "meta--" in context "default"

    • type: string

    • values: any string

    • default value: "/filter toggle @"

  • [[option_weechat.key.meta-/]] weechat.key.meta-/

    • description: key "meta-/" in context "default"

    • type: string

    • values: any string

    • default value: "/buffer jump last_displayed"

  • weechat.key.meta-0

    • description: key "meta-0" in context "default"

    • type: string

    • values: any string

    • default value: "/buffer *10"

  • weechat.key.meta-1

    • description: key "meta-1" in context "default"

    • type: string

    • values: any string

    • default value: "/buffer *1"

  • weechat.key.meta-2

    • description: key "meta-2" in context "default"

    • type: string

    • values: any string

    • default value: "/buffer *2"

  • weechat.key.meta-3

    • description: key "meta-3" in context "default"

    • type: string

    • values: any string

    • default value: "/buffer *3"

  • weechat.key.meta-4

    • description: key "meta-4" in context "default"

    • type: string

    • values: any string

    • default value: "/buffer *4"

  • weechat.key.meta-5

    • description: key "meta-5" in context "default"

    • type: string

    • values: any string

    • default value: "/buffer *5"

  • weechat.key.meta-6

    • description: key "meta-6" in context "default"

    • type: string

    • values: any string

    • default value: "/buffer *6"

  • weechat.key.meta-7

    • description: key "meta-7" in context "default"

    • type: string

    • values: any string

    • default value: "/buffer *7"

  • weechat.key.meta-8

    • description: key "meta-8" in context "default"

    • type: string

    • values: any string

    • default value: "/buffer *8"

  • weechat.key.meta-9

    • description: key "meta-9" in context "default"

    • type: string

    • values: any string

    • default value: "/buffer *9"

  • [[option_weechat.key.meta-<]] weechat.key.meta-<

    • description: key "meta-<" in context "default"

    • type: string

    • values: any string

    • default value: "/buffer jump prev_visited"

  • [[option_weechat.key.meta-=]] weechat.key.meta-=

    • description: key "meta-=" in context "default"

    • type: string

    • values: any string

    • default value: "/filter toggle"

  • [[option_weechat.key.meta→]] weechat.key.meta->

    • description: key "meta->" in context "default"

    • type: string

    • values: any string

    • default value: "/buffer jump next_visited"

  • weechat.key.meta-B

    • description: key "meta-B" in context "default"

    • type: string

    • values: any string

    • default value: "/buflist toggle"

  • weechat.key.meta-N

    • description: key "meta-N" in context "default"

    • type: string

    • values: any string

    • default value: "/bar toggle nicklist"

  • weechat.key.meta-R

    • description: key "meta-R" in context "default"

    • type: string

    • values: any string

    • default value: "/input delete_input"

  • weechat.key.meta-U

    • description: key "meta-U" in context "default"

    • type: string

    • values: any string

    • default value: "/allbuf /buffer set unread"

  • weechat.key.meta-_

    • description: key "meta-_" in context "default"

    • type: string

    • values: any string

    • default value: "/input redo"

  • weechat.key.meta-a

    • description: key "meta-a" in context "default"

    • type: string

    • values: any string

    • default value: "/buffer jump smart"

  • weechat.key.meta-b

    • description: key "meta-b" in context "default"

    • type: string

    • values: any string

    • default value: "/input move_previous_word"

  • weechat.key.meta-backspace

    • description: key "meta-backspace" in context "default"

    • type: string

    • values: any string

    • default value: "/input delete_previous_word"

  • weechat.key.meta-ctrl-k

    • description: key "meta-ctrl-k" in context "default"

    • type: string

    • values: any string

    • default value: "/input delete_end_of_input"

  • weechat.key.meta-ctrl-u

    • description: key "meta-ctrl-u" in context "default"

    • type: string

    • values: any string

    • default value: "/input delete_beginning_of_input"

  • weechat.key.meta-d

    • description: key "meta-d" in context "default"

    • type: string

    • values: any string

    • default value: "/input delete_next_word"

  • weechat.key.meta-down

    • description: key "meta-down" in context "default"

    • type: string

    • values: any string

    • default value: "/buffer +1"

  • weechat.key.meta-end

    • description: key "meta-end" in context "default"

    • type: string

    • values: any string

    • default value: "/window scroll_bottom"

  • weechat.key.meta-f

    • description: key "meta-f" in context "default"

    • type: string

    • values: any string

    • default value: "/input move_next_word"

  • weechat.key.meta-f1

    • description: key "meta-f1" in context "default"

    • type: string

    • values: any string

    • default value: "/bar scroll buflist * b"

  • weechat.key.meta-f11

    • description: key "meta-f11" in context "default"

    • type: string

    • values: any string

    • default value: "/bar scroll nicklist * b"

  • weechat.key.meta-f12

    • description: key "meta-f12" in context "default"

    • type: string

    • values: any string

    • default value: "/bar scroll nicklist * e"

  • weechat.key.meta-f2

    • description: key "meta-f2" in context "default"

    • type: string

    • values: any string

    • default value: "/bar scroll buflist * e"

  • weechat.key.meta-h,meta-R

    • description: key "meta-h,meta-R" in context "default"

    • type: string

    • values: any string

    • default value: "/hotlist restore -all"

  • weechat.key.meta-h,meta-c

    • description: key "meta-h,meta-c" in context "default"

    • type: string

    • values: any string

    • default value: "/hotlist clear"

  • weechat.key.meta-h,meta-m

    • description: key "meta-h,meta-m" in context "default"

    • type: string

    • values: any string

    • default value: "/hotlist remove"

  • weechat.key.meta-h,meta-r

    • description: key "meta-h,meta-r" in context "default"

    • type: string

    • values: any string

    • default value: "/hotlist restore"

  • weechat.key.meta-home

    • description: key "meta-home" in context "default"

    • type: string

    • values: any string

    • default value: "/window scroll_top"

  • weechat.key.meta-j,0,1

    • description: key "meta-j,0,1" in context "default"

    • type: string

    • values: any string

    • default value: "/buffer *1"

  • weechat.key.meta-j,0,2

    • description: key "meta-j,0,2" in context "default"

    • type: string

    • values: any string

    • default value: "/buffer *2"

  • weechat.key.meta-j,0,3

    • description: key "meta-j,0,3" in context "default"

    • type: string

    • values: any string

    • default value: "/buffer *3"

  • weechat.key.meta-j,0,4

    • description: key "meta-j,0,4" in context "default"

    • type: string

    • values: any string

    • default value: "/buffer *4"

  • weechat.key.meta-j,0,5

    • description: key "meta-j,0,5" in context "default"

    • type: string

    • values: any string

    • default value: "/buffer *5"

  • weechat.key.meta-j,0,6

    • description: key "meta-j,0,6" in context "default"

    • type: string

    • values: any string

    • default value: "/buffer *6"

  • weechat.key.meta-j,0,7

    • description: key "meta-j,0,7" in context "default"

    • type: string

    • values: any string

    • default value: "/buffer *7"

  • weechat.key.meta-j,0,8

    • description: key "meta-j,0,8" in context "default"

    • type: string

    • values: any string

    • default value: "/buffer *8"

  • weechat.key.meta-j,0,9

    • description: key "meta-j,0,9" in context "default"

    • type: string

    • values: any string

    • default value: "/buffer *9"

  • weechat.key.meta-j,1,0

    • description: key "meta-j,1,0" in context "default"

    • type: string

    • values: any string

    • default value: "/buffer *10"

  • weechat.key.meta-j,1,1

    • description: key "meta-j,1,1" in context "default"

    • type: string

    • values: any string

    • default value: "/buffer *11"

  • weechat.key.meta-j,1,2

    • description: key "meta-j,1,2" in context "default"

    • type: string

    • values: any string

    • default value: "/buffer *12"

  • weechat.key.meta-j,1,3

    • description: key "meta-j,1,3" in context "default"

    • type: string

    • values: any string

    • default value: "/buffer *13"

  • weechat.key.meta-j,1,4

    • description: key "meta-j,1,4" in context "default"

    • type: string

    • values: any string

    • default value: "/buffer *14"

  • weechat.key.meta-j,1,5

    • description: key "meta-j,1,5" in context "default"

    • type: string

    • values: any string

    • default value: "/buffer *15"

  • weechat.key.meta-j,1,6

    • description: key "meta-j,1,6" in context "default"

    • type: string

    • values: any string

    • default value: "/buffer *16"

  • weechat.key.meta-j,1,7

    • description: key "meta-j,1,7" in context "default"

    • type: string

    • values: any string

    • default value: "/buffer *17"

  • weechat.key.meta-j,1,8

    • description: key "meta-j,1,8" in context "default"

    • type: string

    • values: any string

    • default value: "/buffer *18"

  • weechat.key.meta-j,1,9

    • description: key "meta-j,1,9" in context "default"

    • type: string

    • values: any string

    • default value: "/buffer *19"

  • weechat.key.meta-j,2,0

    • description: key "meta-j,2,0" in context "default"

    • type: string

    • values: any string

    • default value: "/buffer *20"

  • weechat.key.meta-j,2,1

    • description: key "meta-j,2,1" in context "default"

    • type: string

    • values: any string

    • default value: "/buffer *21"

  • weechat.key.meta-j,2,2

    • description: key "meta-j,2,2" in context "default"

    • type: string

    • values: any string

    • default value: "/buffer *22"

  • weechat.key.meta-j,2,3

    • description: key "meta-j,2,3" in context "default"

    • type: string

    • values: any string

    • default value: "/buffer *23"

  • weechat.key.meta-j,2,4

    • description: key "meta-j,2,4" in context "default"

    • type: string

    • values: any string

    • default value: "/buffer *24"

  • weechat.key.meta-j,2,5

    • description: key "meta-j,2,5" in context "default"

    • type: string

    • values: any string

    • default value: "/buffer *25"

  • weechat.key.meta-j,2,6

    • description: key "meta-j,2,6" in context "default"

    • type: string

    • values: any string

    • default value: "/buffer *26"

  • weechat.key.meta-j,2,7

    • description: key "meta-j,2,7" in context "default"

    • type: string

    • values: any string

    • default value: "/buffer *27"

  • weechat.key.meta-j,2,8

    • description: key "meta-j,2,8" in context "default"

    • type: string

    • values: any string

    • default value: "/buffer *28"

  • weechat.key.meta-j,2,9

    • description: key "meta-j,2,9" in context "default"

    • type: string

    • values: any string

    • default value: "/buffer *29"

  • weechat.key.meta-j,3,0

    • description: key "meta-j,3,0" in context "default"

    • type: string

    • values: any string

    • default value: "/buffer *30"

  • weechat.key.meta-j,3,1

    • description: key "meta-j,3,1" in context "default"

    • type: string

    • values: any string

    • default value: "/buffer *31"

  • weechat.key.meta-j,3,2

    • description: key "meta-j,3,2" in context "default"

    • type: string

    • values: any string

    • default value: "/buffer *32"

  • weechat.key.meta-j,3,3

    • description: key "meta-j,3,3" in context "default"

    • type: string

    • values: any string

    • default value: "/buffer *33"

  • weechat.key.meta-j,3,4

    • description: key "meta-j,3,4" in context "default"

    • type: string

    • values: any string

    • default value: "/buffer *34"

  • weechat.key.meta-j,3,5

    • description: key "meta-j,3,5" in context "default"

    • type: string

    • values: any string

    • default value: "/buffer *35"

  • weechat.key.meta-j,3,6

    • description: key "meta-j,3,6" in context "default"

    • type: string

    • values: any string

    • default value: "/buffer *36"

  • weechat.key.meta-j,3,7

    • description: key "meta-j,3,7" in context "default"

    • type: string

    • values: any string

    • default value: "/buffer *37"

  • weechat.key.meta-j,3,8

    • description: key "meta-j,3,8" in context "default"

    • type: string

    • values: any string

    • default value: "/buffer *38"

  • weechat.key.meta-j,3,9

    • description: key "meta-j,3,9" in context "default"

    • type: string

    • values: any string

    • default value: "/buffer *39"

  • weechat.key.meta-j,4,0

    • description: key "meta-j,4,0" in context "default"

    • type: string

    • values: any string

    • default value: "/buffer *40"

  • weechat.key.meta-j,4,1

    • description: key "meta-j,4,1" in context "default"

    • type: string

    • values: any string

    • default value: "/buffer *41"

  • weechat.key.meta-j,4,2

    • description: key "meta-j,4,2" in context "default"

    • type: string

    • values: any string

    • default value: "/buffer *42"

  • weechat.key.meta-j,4,3

    • description: key "meta-j,4,3" in context "default"

    • type: string

    • values: any string

    • default value: "/buffer *43"

  • weechat.key.meta-j,4,4

    • description: key "meta-j,4,4" in context "default"

    • type: string

    • values: any string

    • default value: "/buffer *44"

  • weechat.key.meta-j,4,5

    • description: key "meta-j,4,5" in context "default"

    • type: string

    • values: any string

    • default value: "/buffer *45"

  • weechat.key.meta-j,4,6

    • description: key "meta-j,4,6" in context "default"

    • type: string

    • values: any string

    • default value: "/buffer *46"

  • weechat.key.meta-j,4,7

    • description: key "meta-j,4,7" in context "default"

    • type: string

    • values: any string

    • default value: "/buffer *47"

  • weechat.key.meta-j,4,8

    • description: key "meta-j,4,8" in context "default"

    • type: string

    • values: any string

    • default value: "/buffer *48"

  • weechat.key.meta-j,4,9

    • description: key "meta-j,4,9" in context "default"

    • type: string

    • values: any string

    • default value: "/buffer *49"

  • weechat.key.meta-j,5,0

    • description: key "meta-j,5,0" in context "default"

    • type: string

    • values: any string

    • default value: "/buffer *50"

  • weechat.key.meta-j,5,1

    • description: key "meta-j,5,1" in context "default"

    • type: string

    • values: any string

    • default value: "/buffer *51"

  • weechat.key.meta-j,5,2

    • description: key "meta-j,5,2" in context "default"

    • type: string

    • values: any string

    • default value: "/buffer *52"

  • weechat.key.meta-j,5,3

    • description: key "meta-j,5,3" in context "default"

    • type: string

    • values: any string

    • default value: "/buffer *53"

  • weechat.key.meta-j,5,4

    • description: key "meta-j,5,4" in context "default"

    • type: string

    • values: any string

    • default value: "/buffer *54"

  • weechat.key.meta-j,5,5

    • description: key "meta-j,5,5" in context "default"

    • type: string

    • values: any string

    • default value: "/buffer *55"

  • weechat.key.meta-j,5,6

    • description: key "meta-j,5,6" in context "default"

    • type: string

    • values: any string

    • default value: "/buffer *56"

  • weechat.key.meta-j,5,7

    • description: key "meta-j,5,7" in context "default"

    • type: string

    • values: any string

    • default value: "/buffer *57"

  • weechat.key.meta-j,5,8

    • description: key "meta-j,5,8" in context "default"

    • type: string

    • values: any string

    • default value: "/buffer *58"

  • weechat.key.meta-j,5,9

    • description: key "meta-j,5,9" in context "default"

    • type: string

    • values: any string

    • default value: "/buffer *59"

  • weechat.key.meta-j,6,0

    • description: key "meta-j,6,0" in context "default"

    • type: string

    • values: any string

    • default value: "/buffer *60"

  • weechat.key.meta-j,6,1

    • description: key "meta-j,6,1" in context "default"

    • type: string

    • values: any string

    • default value: "/buffer *61"

  • weechat.key.meta-j,6,2

    • description: key "meta-j,6,2" in context "default"

    • type: string

    • values: any string

    • default value: "/buffer *62"

  • weechat.key.meta-j,6,3

    • description: key "meta-j,6,3" in context "default"

    • type: string

    • values: any string

    • default value: "/buffer *63"

  • weechat.key.meta-j,6,4

    • description: key "meta-j,6,4" in context "default"

    • type: string

    • values: any string

    • default value: "/buffer *64"

  • weechat.key.meta-j,6,5

    • description: key "meta-j,6,5" in context "default"

    • type: string

    • values: any string

    • default value: "/buffer *65"

  • weechat.key.meta-j,6,6

    • description: key "meta-j,6,6" in context "default"

    • type: string

    • values: any string

    • default value: "/buffer *66"

  • weechat.key.meta-j,6,7

    • description: key "meta-j,6,7" in context "default"

    • type: string

    • values: any string

    • default value: "/buffer *67"

  • weechat.key.meta-j,6,8

    • description: key "meta-j,6,8" in context "default"

    • type: string

    • values: any string

    • default value: "/buffer *68"

  • weechat.key.meta-j,6,9

    • description: key "meta-j,6,9" in context "default"

    • type: string

    • values: any string

    • default value: "/buffer *69"

  • weechat.key.meta-j,7,0

    • description: key "meta-j,7,0" in context "default"

    • type: string

    • values: any string

    • default value: "/buffer *70"

  • weechat.key.meta-j,7,1

    • description: key "meta-j,7,1" in context "default"

    • type: string

    • values: any string

    • default value: "/buffer *71"

  • weechat.key.meta-j,7,2

    • description: key "meta-j,7,2" in context "default"

    • type: string

    • values: any string

    • default value: "/buffer *72"

  • weechat.key.meta-j,7,3

    • description: key "meta-j,7,3" in context "default"

    • type: string

    • values: any string

    • default value: "/buffer *73"

  • weechat.key.meta-j,7,4

    • description: key "meta-j,7,4" in context "default"

    • type: string

    • values: any string

    • default value: "/buffer *74"

  • weechat.key.meta-j,7,5

    • description: key "meta-j,7,5" in context "default"

    • type: string

    • values: any string

    • default value: "/buffer *75"

  • weechat.key.meta-j,7,6

    • description: key "meta-j,7,6" in context "default"

    • type: string

    • values: any string

    • default value: "/buffer *76"

  • weechat.key.meta-j,7,7

    • description: key "meta-j,7,7" in context "default"

    • type: string

    • values: any string

    • default value: "/buffer *77"

  • weechat.key.meta-j,7,8

    • description: key "meta-j,7,8" in context "default"

    • type: string

    • values: any string

    • default value: "/buffer *78"

  • weechat.key.meta-j,7,9

    • description: key "meta-j,7,9" in context "default"

    • type: string

    • values: any string

    • default value: "/buffer *79"

  • weechat.key.meta-j,8,0

    • description: key "meta-j,8,0" in context "default"

    • type: string

    • values: any string

    • default value: "/buffer *80"

  • weechat.key.meta-j,8,1

    • description: key "meta-j,8,1" in context "default"

    • type: string

    • values: any string

    • default value: "/buffer *81"

  • weechat.key.meta-j,8,2

    • description: key "meta-j,8,2" in context "default"

    • type: string

    • values: any string

    • default value: "/buffer *82"

  • weechat.key.meta-j,8,3

    • description: key "meta-j,8,3" in context "default"

    • type: string

    • values: any string

    • default value: "/buffer *83"

  • weechat.key.meta-j,8,4

    • description: key "meta-j,8,4" in context "default"

    • type: string

    • values: any string

    • default value: "/buffer *84"

  • weechat.key.meta-j,8,5

    • description: key "meta-j,8,5" in context "default"

    • type: string

    • values: any string

    • default value: "/buffer *85"

  • weechat.key.meta-j,8,6

    • description: key "meta-j,8,6" in context "default"

    • type: string

    • values: any string

    • default value: "/buffer *86"

  • weechat.key.meta-j,8,7

    • description: key "meta-j,8,7" in context "default"

    • type: string

    • values: any string

    • default value: "/buffer *87"

  • weechat.key.meta-j,8,8

    • description: key "meta-j,8,8" in context "default"

    • type: string

    • values: any string

    • default value: "/buffer *88"

  • weechat.key.meta-j,8,9

    • description: key "meta-j,8,9" in context "default"

    • type: string

    • values: any string

    • default value: "/buffer *89"

  • weechat.key.meta-j,9,0

    • description: key "meta-j,9,0" in context "default"

    • type: string

    • values: any string

    • default value: "/buffer *90"

  • weechat.key.meta-j,9,1

    • description: key "meta-j,9,1" in context "default"

    • type: string

    • values: any string

    • default value: "/buffer *91"

  • weechat.key.meta-j,9,2

    • description: key "meta-j,9,2" in context "default"

    • type: string

    • values: any string

    • default value: "/buffer *92"

  • weechat.key.meta-j,9,3

    • description: key "meta-j,9,3" in context "default"

    • type: string

    • values: any string

    • default value: "/buffer *93"

  • weechat.key.meta-j,9,4

    • description: key "meta-j,9,4" in context "default"

    • type: string

    • values: any string

    • default value: "/buffer *94"

  • weechat.key.meta-j,9,5

    • description: key "meta-j,9,5" in context "default"

    • type: string

    • values: any string

    • default value: "/buffer *95"

  • weechat.key.meta-j,9,6

    • description: key "meta-j,9,6" in context "default"

    • type: string

    • values: any string

    • default value: "/buffer *96"

  • weechat.key.meta-j,9,7

    • description: key "meta-j,9,7" in context "default"

    • type: string

    • values: any string

    • default value: "/buffer *97"

  • weechat.key.meta-j,9,8

    • description: key "meta-j,9,8" in context "default"

    • type: string

    • values: any string

    • default value: "/buffer *98"

  • weechat.key.meta-j,9,9

    • description: key "meta-j,9,9" in context "default"

    • type: string

    • values: any string

    • default value: "/buffer *99"

  • weechat.key.meta-j,meta-f

    • description: key "meta-j,meta-f" in context "default"

    • type: string

    • values: any string

    • default value: "/buffer -"

  • weechat.key.meta-j,meta-l

    • description: key "meta-j,meta-l" in context "default"

    • type: string

    • values: any string

    • default value: "/buffer +"

  • weechat.key.meta-j,meta-r

    • description: key "meta-j,meta-r" in context "default"

    • type: string

    • values: any string

    • default value: "/server raw"

  • weechat.key.meta-j,meta-s

    • description: key "meta-j,meta-s" in context "default"

    • type: string

    • values: any string

    • default value: "/server jump"

  • weechat.key.meta-k

    • description: key "meta-k" in context "default"

    • type: string

    • values: any string

    • default value: "/input grab_key_command"

  • weechat.key.meta-l

    • description: key "meta-l" in context "default"

    • type: string

    • values: any string

    • default value: "/window bare"

  • weechat.key.meta-left

    • description: key "meta-left" in context "default"

    • type: string

    • values: any string

    • default value: "/buffer -1"

  • weechat.key.meta-m

    • description: key "meta-m" in context "default"

    • type: string

    • values: any string

    • default value: "/mute mouse toggle"

  • weechat.key.meta-n

    • description: key "meta-n" in context "default"

    • type: string

    • values: any string

    • default value: "/window scroll_next_highlight"

  • weechat.key.meta-p

    • description: key "meta-p" in context "default"

    • type: string

    • values: any string

    • default value: "/window scroll_previous_highlight"

  • weechat.key.meta-pgdn

    • description: key "meta-pgdn" in context "default"

    • type: string

    • values: any string

    • default value: "/window scroll_down"

  • weechat.key.meta-pgup

    • description: key "meta-pgup" in context "default"

    • type: string

    • values: any string

    • default value: "/window scroll_up"

  • weechat.key.meta-r

    • description: key "meta-r" in context "default"

    • type: string

    • values: any string

    • default value: "/input delete_line"

  • weechat.key.meta-return

    • description: key "meta-return" in context "default"

    • type: string

    • values: any string

    • default value: "/input insert \n"

  • weechat.key.meta-right

    • description: key "meta-right" in context "default"

    • type: string

    • values: any string

    • default value: "/buffer +1"

  • weechat.key.meta-s

    • description: key "meta-s" in context "default"

    • type: string

    • values: any string

    • default value: "/mute spell toggle"

  • weechat.key.meta-u

    • description: key "meta-u" in context "default"

    • type: string

    • values: any string

    • default value: "/window scroll_unread"

  • weechat.key.meta-up

    • description: key "meta-up" in context "default"

    • type: string

    • values: any string

    • default value: "/buffer -1"

  • weechat.key.meta-w,meta-b

    • description: key "meta-w,meta-b" in context "default"

    • type: string

    • values: any string

    • default value: "/window balance"

  • weechat.key.meta-w,meta-down

    • description: key "meta-w,meta-down" in context "default"

    • type: string

    • values: any string

    • default value: "/window down"

  • weechat.key.meta-w,meta-left

    • description: key "meta-w,meta-left" in context "default"

    • type: string

    • values: any string

    • default value: "/window left"

  • weechat.key.meta-w,meta-right

    • description: key "meta-w,meta-right" in context "default"

    • type: string

    • values: any string

    • default value: "/window right"

  • weechat.key.meta-w,meta-s

    • description: key "meta-w,meta-s" in context "default"

    • type: string

    • values: any string

    • default value: "/window swap"

  • weechat.key.meta-w,meta-up

    • description: key "meta-w,meta-up" in context "default"

    • type: string

    • values: any string

    • default value: "/window up"

  • weechat.key.meta-x

    • description: key "meta-x" in context "default"

    • type: string

    • values: any string

    • default value: "/buffer zoom"

  • weechat.key.meta-z

    • description: key "meta-z" in context "default"

    • type: string

    • values: any string

    • default value: "/window zoom"

  • weechat.key.pgdn

    • description: key "pgdn" in context "default"

    • type: string

    • values: any string

    • default value: "/window page_down"

  • weechat.key.pgup

    • description: key "pgup" in context "default"

    • type: string

    • values: any string

    • default value: "/window page_up"

  • weechat.key.return

    • description: key "return" in context "default"

    • type: string

    • values: any string

    • default value: "/input return"

  • weechat.key.right

    • description: key "right" in context "default"

    • type: string

    • values: any string

    • default value: "/input move_next_char"

  • weechat.key.shift-down

    • description: key "shift-down" in context "default"

    • type: string

    • values: any string

    • default value: "/input move_next_line"

  • weechat.key.shift-end

    • description: key "shift-end" in context "default"

    • type: string

    • values: any string

    • default value: "/input move_end_of_input"

  • weechat.key.shift-home

    • description: key "shift-home" in context "default"

    • type: string

    • values: any string

    • default value: "/input move_beginning_of_input"

  • weechat.key.shift-left

    • description: key "shift-left" in context "default"

    • type: string

    • values: any string

    • default value: "/input move_previous_char"

  • weechat.key.shift-right

    • description: key "shift-right" in context "default"

    • type: string

    • values: any string

    • default value: "/input move_next_char"

  • weechat.key.shift-tab

    • description: key "shift-tab" in context "default"

    • type: string

    • values: any string

    • default value: "/input complete_previous"

  • weechat.key.shift-up

    • description: key "shift-up" in context "default"

    • type: string

    • values: any string

    • default value: "/input move_previous_line"

  • weechat.key.tab

    • description: key "tab" in context "default"

    • type: string

    • values: any string

    • default value: "/input complete_next"

  • weechat.key.up

    • description: key "up" in context "default"

    • type: string

    • values: any string

    • default value: "/input history_previous"

  • weechat.key_cursor.@chat:Q

    • description: key "@chat:Q" in context "cursor"

    • type: string

    • values: any string

    • default value: "hsignal:chat_quote_time_prefix_message;/cursor stop"

  • weechat.key_cursor.@chat:l

    • description: key "@chat:l" in context "cursor"

    • type: string

    • values: any string

    • default value: "hsignal:chat_quote_focused_line;/cursor stop"

  • weechat.key_cursor.@chat:m

    • description: key "@chat:m" in context "cursor"

    • type: string

    • values: any string

    • default value: "hsignal:chat_quote_message;/cursor stop"

  • weechat.key_cursor.@chat:q

    • description: key "@chat:q" in context "cursor"

    • type: string

    • values: any string

    • default value: "hsignal:chat_quote_prefix_message;/cursor stop"

  • weechat.key_cursor.@item(buffer_nicklist):K

    • description: key "@item(buffer_nicklist):K" in context "cursor"

    • type: string

    • values: any string

    • default value: "/window ${_window_number};/kickban ${nick}"

  • weechat.key_cursor.@item(buffer_nicklist):b

    • description: key "@item(buffer_nicklist):b" in context "cursor"

    • type: string

    • values: any string

    • default value: "/window ${_window_number};/ban ${nick}"

  • weechat.key_cursor.@item(buffer_nicklist):k

    • description: key "@item(buffer_nicklist):k" in context "cursor"

    • type: string

    • values: any string

    • default value: "/window ${_window_number};/kick ${nick}"

  • weechat.key_cursor.@item(buffer_nicklist):q

    • description: key "@item(buffer_nicklist):q" in context "cursor"

    • type: string

    • values: any string

    • default value: "/window ${_window_number};/query ${nick};/cursor stop"

  • weechat.key_cursor.@item(buffer_nicklist):w

    • description: key "@item(buffer_nicklist):w" in context "cursor"

    • type: string

    • values: any string

    • default value: "/window ${_window_number};/whois ${nick}"

  • weechat.key_cursor.down

    • description: key "down" in context "cursor"

    • type: string

    • values: any string

    • default value: "/cursor move down"

  • weechat.key_cursor.left

    • description: key "left" in context "cursor"

    • type: string

    • values: any string

    • default value: "/cursor move left"

  • weechat.key_cursor.meta-down

    • description: key "meta-down" in context "cursor"

    • type: string

    • values: any string

    • default value: "/cursor move edge_bottom"

  • weechat.key_cursor.meta-end

    • description: key "meta-end" in context "cursor"

    • type: string

    • values: any string

    • default value: "/cursor move bottom_right"

  • weechat.key_cursor.meta-home

    • description: key "meta-home" in context "cursor"

    • type: string

    • values: any string

    • default value: "/cursor move top_left"

  • weechat.key_cursor.meta-left

    • description: key "meta-left" in context "cursor"

    • type: string

    • values: any string

    • default value: "/cursor move edge_left"

  • weechat.key_cursor.meta-right

    • description: key "meta-right" in context "cursor"

    • type: string

    • values: any string

    • default value: "/cursor move edge_right"

  • weechat.key_cursor.meta-shift-down

    • description: key "meta-shift-down" in context "cursor"

    • type: string

    • values: any string

    • default value: "/cursor move area_down"

  • weechat.key_cursor.meta-shift-left

    • description: key "meta-shift-left" in context "cursor"

    • type: string

    • values: any string

    • default value: "/cursor move area_left"

  • weechat.key_cursor.meta-shift-right

    • description: key "meta-shift-right" in context "cursor"

    • type: string

    • values: any string

    • default value: "/cursor move area_right"

  • weechat.key_cursor.meta-shift-up

    • description: key "meta-shift-up" in context "cursor"

    • type: string

    • values: any string

    • default value: "/cursor move area_up"

  • weechat.key_cursor.meta-up

    • description: key "meta-up" in context "cursor"

    • type: string

    • values: any string

    • default value: "/cursor move edge_top"

  • weechat.key_cursor.return

    • description: key "return" in context "cursor"

    • type: string

    • values: any string

    • default value: "/cursor stop"

  • weechat.key_cursor.right

    • description: key "right" in context "cursor"

    • type: string

    • values: any string

    • default value: "/cursor move right"

  • weechat.key_cursor.up

    • description: key "up" in context "cursor"

    • type: string

    • values: any string

    • default value: "/cursor move up"

  • weechat.key_histsearch.ctrl-o

    • description: key "ctrl-o" in context "histsearch"

    • type: string

    • values: any string

    • default value: "/input history_use_get_next"

  • weechat.key_histsearch.ctrl-q

    • description: key "ctrl-q" in context "histsearch"

    • type: string

    • values: any string

    • default value: "/input search_stop"

  • weechat.key_histsearch.ctrl-r

    • description: key "ctrl-r" in context "histsearch"

    • type: string

    • values: any string

    • default value: "/input search_previous"

  • weechat.key_histsearch.ctrl-s

    • description: key "ctrl-s" in context "histsearch"

    • type: string

    • values: any string

    • default value: "/input search_next"

  • weechat.key_histsearch.ctrl-x

    • description: key "ctrl-x" in context "histsearch"

    • type: string

    • values: any string

    • default value: "/input search_switch_regex"

  • weechat.key_histsearch.down

    • description: key "down" in context "histsearch"

    • type: string

    • values: any string

    • default value: "/input search_next"

  • weechat.key_histsearch.meta-c

    • description: key "meta-c" in context "histsearch"

    • type: string

    • values: any string

    • default value: "/input search_switch_case"

  • weechat.key_histsearch.return

    • description: key "return" in context "histsearch"

    • type: string

    • values: any string

    • default value: "/input search_stop_here"

  • weechat.key_histsearch.tab

    • description: key "tab" in context "histsearch"

    • type: string

    • values: any string

    • default value: "/input search_switch_where"

  • weechat.key_histsearch.up

    • description: key "up" in context "histsearch"

    • type: string

    • values: any string

    • default value: "/input search_previous"

  • weechat.key_mouse.@*:button3

    • description: key "@*:button3" in context "mouse"

    • type: string

    • values: any string

    • default value: "/cursor go ${_x},${_y}"

  • weechat.key_mouse.@bar(buflist):ctrl-wheeldown

    • description: key "@bar(buflist):ctrl-wheeldown" in context "mouse"

    • type: string

    • values: any string

    • default value: "hsignal:buflist_mouse"

  • weechat.key_mouse.@bar(buflist):ctrl-wheelup

    • description: key "@bar(buflist):ctrl-wheelup" in context "mouse"

    • type: string

    • values: any string

    • default value: "hsignal:buflist_mouse"

  • weechat.key_mouse.@bar(input):button2

    • description: key "@bar(input):button2" in context "mouse"

    • type: string

    • values: any string

    • default value: "/input grab_mouse_area"

  • weechat.key_mouse.@bar(nicklist):button1-gesture-down

    • description: key "@bar(nicklist):button1-gesture-down" in context "mouse"

    • type: string

    • values: any string

    • default value: "/bar scroll nicklist ${_window_number} +100%"

  • weechat.key_mouse.@bar(nicklist):button1-gesture-down-long

    • description: key "@bar(nicklist):button1-gesture-down-long" in context "mouse"

    • type: string

    • values: any string

    • default value: "/bar scroll nicklist ${_window_number} e"

  • weechat.key_mouse.@bar(nicklist):button1-gesture-up

    • description: key "@bar(nicklist):button1-gesture-up" in context "mouse"

    • type: string

    • values: any string

    • default value: "/bar scroll nicklist ${_window_number} -100%"

  • weechat.key_mouse.@bar(nicklist):button1-gesture-up-long

    • description: key "@bar(nicklist):button1-gesture-up-long" in context "mouse"

    • type: string

    • values: any string

    • default value: "/bar scroll nicklist ${_window_number} b"

  • weechat.key_mouse.@bar:wheeldown

    • description: key "@bar:wheeldown" in context "mouse"

    • type: string

    • values: any string

    • default value: "/bar scroll ${_bar_name} ${_window_number} +20%"

  • weechat.key_mouse.@bar:wheelup

    • description: key "@bar:wheelup" in context "mouse"

    • type: string

    • values: any string

    • default value: "/bar scroll ${_bar_name} ${_window_number} -20%"

  • weechat.key_mouse.@chat(fset.fset):button1

    • description: key "@chat(fset.fset):button1" in context "mouse"

    • type: string

    • values: any string

    • default value: "/window ${_window_number};/fset -go ${fset_option_index}"

  • weechat.key_mouse.@chat(fset.fset):button2*

    • description: key "@chat(fset.fset):button2*" in context "mouse"

    • type: string

    • values: any string

    • default value: "hsignal:fset_mouse"

  • weechat.key_mouse.@chat(fset.fset):wheeldown

    • description: key "@chat(fset.fset):wheeldown" in context "mouse"

    • type: string

    • values: any string

    • default value: "/fset -down 5"

  • weechat.key_mouse.@chat(fset.fset):wheelup

    • description: key "@chat(fset.fset):wheelup" in context "mouse"

    • type: string

    • values: any string

    • default value: "/fset -up 5"

  • weechat.key_mouse.@chat(irc.list_*):button1

    • description: key "@chat(irc.list_*):button1" in context "mouse"

    • type: string

    • values: any string

    • default value: "/window ${_window_number};/list -go ${_chat_line_y}"

  • weechat.key_mouse.@chat(irc.list_*):button2*

    • description: key "@chat(irc.list_*):button2*" in context "mouse"

    • type: string

    • values: any string

    • default value: "hsignal:irc_list_mouse"

  • weechat.key_mouse.@chat(irc.list_*):wheeldown

    • description: key "@chat(irc.list_*):wheeldown" in context "mouse"

    • type: string

    • values: any string

    • default value: "/list -down 5"

  • weechat.key_mouse.@chat(irc.list_*):wheelup

    • description: key "@chat(irc.list_*):wheelup" in context "mouse"

    • type: string

    • values: any string

    • default value: "/list -up 5"

  • weechat.key_mouse.@chat(script.scripts):button1

    • description: key "@chat(script.scripts):button1" in context "mouse"

    • type: string

    • values: any string

    • default value: "/window ${_window_number};/script -go ${_chat_line_y}"

  • weechat.key_mouse.@chat(script.scripts):button2

    • description: key "@chat(script.scripts):button2" in context "mouse"

    • type: string

    • values: any string

    • default value: "/window ${_window_number};/script -go ${_chat_line_y};/script installremove -q ${script_name_with_extension}"

  • weechat.key_mouse.@chat(script.scripts):wheeldown

    • description: key "@chat(script.scripts):wheeldown" in context "mouse"

    • type: string

    • values: any string

    • default value: "/script -down 5"

  • weechat.key_mouse.@chat(script.scripts):wheelup

    • description: key "@chat(script.scripts):wheelup" in context "mouse"

    • type: string

    • values: any string

    • default value: "/script -up 5"

  • weechat.key_mouse.@chat:button1

    • description: key "@chat:button1" in context "mouse"

    • type: string

    • values: any string

    • default value: "/window ${_window_number}"

  • weechat.key_mouse.@chat:button1-gesture-left

    • description: key "@chat:button1-gesture-left" in context "mouse"

    • type: string

    • values: any string

    • default value: "/window ${_window_number};/buffer -1"

  • weechat.key_mouse.@chat:button1-gesture-left-long

    • description: key "@chat:button1-gesture-left-long" in context "mouse"

    • type: string

    • values: any string

    • default value: "/window ${_window_number};/buffer 1"

  • weechat.key_mouse.@chat:button1-gesture-right

    • description: key "@chat:button1-gesture-right" in context "mouse"

    • type: string

    • values: any string

    • default value: "/window ${_window_number};/buffer +1"

  • weechat.key_mouse.@chat:button1-gesture-right-long

    • description: key "@chat:button1-gesture-right-long" in context "mouse"

    • type: string

    • values: any string

    • default value: "/window ${_window_number};/buffer +"

  • weechat.key_mouse.@chat:ctrl-wheeldown

    • description: key "@chat:ctrl-wheeldown" in context "mouse"

    • type: string

    • values: any string

    • default value: "/window scroll_horiz -window ${_window_number} +10%"

  • weechat.key_mouse.@chat:ctrl-wheelup

    • description: key "@chat:ctrl-wheelup" in context "mouse"

    • type: string

    • values: any string

    • default value: "/window scroll_horiz -window ${_window_number} -10%"

  • weechat.key_mouse.@chat:wheeldown

    • description: key "@chat:wheeldown" in context "mouse"

    • type: string

    • values: any string

    • default value: "/window scroll_down -window ${_window_number}"

  • weechat.key_mouse.@chat:wheelup

    • description: key "@chat:wheelup" in context "mouse"

    • type: string

    • values: any string

    • default value: "/window scroll_up -window ${_window_number}"

  • weechat.key_mouse.@item(buffer_nicklist):button1

    • description: key "@item(buffer_nicklist):button1" in context "mouse"

    • type: string

    • values: any string

    • default value: "/window ${_window_number};/query ${nick}"

  • weechat.key_mouse.@item(buffer_nicklist):button1-gesture-left

    • description: key "@item(buffer_nicklist):button1-gesture-left" in context "mouse"

    • type: string

    • values: any string

    • default value: "/window ${_window_number};/kick ${nick}"

  • weechat.key_mouse.@item(buffer_nicklist):button1-gesture-left-long

    • description: key "@item(buffer_nicklist):button1-gesture-left-long" in context "mouse"

    • type: string

    • values: any string

    • default value: "/window ${_window_number};/kickban ${nick}"

  • weechat.key_mouse.@item(buffer_nicklist):button2

    • description: key "@item(buffer_nicklist):button2" in context "mouse"

    • type: string

    • values: any string

    • default value: "/window ${_window_number};/whois ${nick}"

  • weechat.key_mouse.@item(buffer_nicklist):button2-gesture-left

    • description: key "@item(buffer_nicklist):button2-gesture-left" in context "mouse"

    • type: string

    • values: any string

    • default value: "/window ${_window_number};/ban ${nick}"

  • weechat.key_mouse.@item(buflist):button1*

    • description: key "@item(buflist):button1*" in context "mouse"

    • type: string

    • values: any string

    • default value: "hsignal:buflist_mouse"

  • weechat.key_mouse.@item(buflist):button2*

    • description: key "@item(buflist):button2*" in context "mouse"

    • type: string

    • values: any string

    • default value: "hsignal:buflist_mouse"

  • weechat.key_mouse.@item(buflist2):button1*

    • description: key "@item(buflist2):button1*" in context "mouse"

    • type: string

    • values: any string

    • default value: "hsignal:buflist_mouse"

  • weechat.key_mouse.@item(buflist2):button2*

    • description: key "@item(buflist2):button2*" in context "mouse"

    • type: string

    • values: any string

    • default value: "hsignal:buflist_mouse"

  • weechat.key_mouse.@item(buflist3):button1*

    • description: key "@item(buflist3):button1*" in context "mouse"

    • type: string

    • values: any string

    • default value: "hsignal:buflist_mouse"

  • weechat.key_mouse.@item(buflist3):button2*

    • description: key "@item(buflist3):button2*" in context "mouse"

    • type: string

    • values: any string

    • default value: "hsignal:buflist_mouse"

  • weechat.key_mouse.@item(buflist4):button1*

    • description: key "@item(buflist4):button1*" in context "mouse"

    • type: string

    • values: any string

    • default value: "hsignal:buflist_mouse"

  • weechat.key_mouse.@item(buflist4):button2*

    • description: key "@item(buflist4):button2*" in context "mouse"

    • type: string

    • values: any string

    • default value: "hsignal:buflist_mouse"

  • weechat.key_mouse.@item(buflist5):button1*

    • description: key "@item(buflist5):button1*" in context "mouse"

    • type: string

    • values: any string

    • default value: "hsignal:buflist_mouse"

  • weechat.key_mouse.@item(buflist5):button2*

    • description: key "@item(buflist5):button2*" in context "mouse"

    • type: string

    • values: any string

    • default value: "hsignal:buflist_mouse"

  • weechat.key_search.ctrl-q

    • description: key "ctrl-q" in context "search"

    • type: string

    • values: any string

    • default value: "/input search_stop"

  • weechat.key_search.ctrl-r

    • description: key "ctrl-r" in context "search"

    • type: string

    • values: any string

    • default value: "/input search_previous"

  • weechat.key_search.ctrl-s

    • description: key "ctrl-s" in context "search"

    • type: string

    • values: any string

    • default value: "/input search_next"

  • weechat.key_search.ctrl-x

    • description: key "ctrl-x" in context "search"

    • type: string

    • values: any string

    • default value: "/input search_switch_regex"

  • weechat.key_search.down

    • description: key "down" in context "search"

    • type: string

    • values: any string

    • default value: "/input search_next"

  • weechat.key_search.meta-c

    • description: key "meta-c" in context "search"

    • type: string

    • values: any string

    • default value: "/input search_switch_case"

  • weechat.key_search.return

    • description: key "return" in context "search"

    • type: string

    • values: any string

    • default value: "/input search_stop_here"

  • weechat.key_search.tab

    • description: key "tab" in context "search"

    • type: string

    • values: any string

    • default value: "/input search_switch_where"

  • weechat.key_search.up

    • description: key "up" in context "search"

    • type: string

    • values: any string

    • default value: "/input search_previous"

  • weechat.look.align_end_of_lines

    • description: alignment for end of lines (all lines after the first): they are starting under this data (time, buffer, prefix, suffix, message (default))

    • type: enum

    • values: time, buffer, prefix, suffix, message

    • default value: message

  • weechat.look.align_multiline_words

    • description: alignment for multiline words according to option weechat.look.align_end_of_lines; if disabled, the multiline words will not be aligned, which can be useful to not break long URLs

    • type: boolean

    • values: on, off

    • default value: on

  • weechat.look.bar_more_down

    • description: string displayed when bar can be scrolled down (for bars with filling different from "horizontal")

    • type: string

    • values: any string

    • default value: "+"+

  • weechat.look.bar_more_left

    • description: string displayed when bar can be scrolled to the left (for bars with filling "horizontal")

    • type: string

    • values: any string

    • default value: "<<"

  • weechat.look.bar_more_right

    • description: string displayed when bar can be scrolled to the right (for bars with filling "horizontal")

    • type: string

    • values: any string

    • default value: ">>"

  • weechat.look.bar_more_up

    • description: string displayed when bar can be scrolled up (for bars with filling different from "horizontal")

    • type: string

    • values: any string

    • default value: "--"

  • weechat.look.bare_display_exit_on_input

    • description: exit the bare display mode on any changes in input

    • type: boolean

    • values: on, off

    • default value: on

  • weechat.look.bare_display_time_format

    • description: time format in bare display mode (see API man strftime for date/time specifiers, extra specifiers are supported, see function util_strftimeval in Plugin API reference)

    • type: string

    • values: any string

    • default value: "%H:%M"

  • weechat.look.buffer_auto_renumber

    • description: automatically renumber buffers to have only consecutive numbers and start with number 1; if disabled, gaps between buffer numbers are allowed and the first buffer can have a number greater than 1

    • type: boolean

    • values: on, off

    • default value: on

  • weechat.look.buffer_notify_default

    • description: default notify level for buffers (used to tell WeeChat if buffer must be displayed in hotlist or not, according to importance of message): all=all messages (default), message=messages+highlights, highlight=highlights only, none=never display in hotlist

    • type: enum

    • values: none, highlight, message, all

    • default value: all

  • weechat.look.buffer_position

    • description: position of a new buffer: end = after the end of list (number = last number + 1) (default), first_gap = at first available number in the list (after the end of list if no number is available); this option is used only if the buffer has no layout number

    • type: enum

    • values: end, first_gap

    • default value: end

  • weechat.look.buffer_search_case_sensitive

    • description: default text search in buffer: case sensitive or not

    • type: boolean

    • values: on, off

    • default value: off

  • weechat.look.buffer_search_force_default

    • description: force default values for text search in buffer (instead of using values from last search in buffer)

    • type: boolean

    • values: on, off

    • default value: off

  • weechat.look.buffer_search_history

    • description: default text search command line history: local (buffer) or global history

    • type: enum

    • values: local, global

    • default value: local

  • weechat.look.buffer_search_regex

    • description: default text search in buffer: if enabled, search POSIX extended regular expression, otherwise search simple string

    • type: boolean

    • values: on, off

    • default value: off

  • weechat.look.buffer_search_where

    • description: default text search in buffer: in message, prefix, prefix and message

    • type: enum

    • values: prefix, message, prefix_message

    • default value: prefix_message

  • weechat.look.buffer_time_format

    • description: time format for each line displayed in buffers (see man strftime for date/time specifiers, extra specifiers are supported, see function util_strftimeval in Plugin API reference) (note: content is evaluated, so you can use colors with format "${color:xxx}", see /help eval); variable "${highlight}" can be used in a condition to have a format specific to lines with highlight (see also option weechat.look.highlight_prefix); for example time using grayscale: "${color:252}%H${color:243}%M${color:237}%S", the same with milliseconds: "${color:252}%H${color:243}%M${color:237}%S.%.3", red background in case of highlight: "${if:${highlight}?${color:,red}}%H:%M:%S", red background in case of highlight with grayscale: ${if:${highlight}?${color:yellow,124}%H${color:187}%M${color:181}%S.%.3:${color:252}%H${color:243}%M${color:237}%S.%.3}

    • type: string

    • values: any string

    • default value: "%H:%M:%S"

  • weechat.look.buffer_time_same

    • description: time displayed for a message with same time as previous message: use a space " " to hide time, another string to display this string instead of time, or an empty string to disable feature (display time) (note: content is evaluated, so you can use colors with format "${color:xxx}", see /help eval)

    • type: string

    • values: any string

    • default value: ""

  • weechat.look.chat_space_right

    • description: keep a space on the right side of chat area if there is a bar displayed on the right (for both text and read marker)

    • type: boolean

    • values: on, off

    • default value: off

  • weechat.look.color_basic_force_bold

    • description: force "bold" attribute for light colors and "darkgray" in basic colors (this option is disabled by default: bold is used only if terminal has less than 16 colors)

    • type: boolean

    • values: on, off

    • default value: off

  • weechat.look.color_inactive_buffer

    • description: use a different color for lines in inactive buffer (when line is from a merged buffer not selected)

    • type: boolean

    • values: on, off

    • default value: on

  • weechat.look.color_inactive_message

    • description: use a different color for inactive message (when window is not current window, or if line is from a merged buffer not selected)

    • type: boolean

    • values: on, off

    • default value: on

  • weechat.look.color_inactive_prefix

    • description: use a different color for inactive prefix (when window is not current window, or if line is from a merged buffer not selected)

    • type: boolean

    • values: on, off

    • default value: on

  • weechat.look.color_inactive_prefix_buffer

    • description: use a different color for inactive buffer name in prefix (when window is not current window, or if line is from a merged buffer not selected)

    • type: boolean

    • values: on, off

    • default value: on

  • weechat.look.color_inactive_time

    • description: use a different color for inactive time (when window is not current window, or if line is from a merged buffer not selected)

    • type: boolean

    • values: on, off

    • default value: on

  • weechat.look.color_inactive_window

    • description: use a different color for lines in inactive window (when window is not current window)

    • type: boolean

    • values: on, off

    • default value: on

  • weechat.look.color_nick_offline

    • description: use a different color for offline nicks (not in nicklist any more)

    • type: boolean

    • values: on, off

    • default value: off

  • weechat.look.color_pairs_auto_reset

    • description: automatically reset table of color pairs when number of available pairs is lower or equal to this number (-1 = disable automatic reset, and then a manual "/color reset" is needed when table is full)

    • type: integer

    • values: -1 .. 256

    • default value: 5

  • weechat.look.color_real_white

    • description: if set, uses real white color, disabled by default for terms with white background (if you never use white background, you should turn on this option to see real white instead of default term foreground color)

    • type: boolean

    • values: on, off

    • default value: off

  • weechat.look.command_chars

    • description: chars used to determine if input string is a command or not: input must start with one of these chars; the slash ("/") is always considered as command prefix (example: ".$")

    • type: string

    • values: any string

    • default value: ""

  • weechat.look.command_incomplete

    • description: if set, incomplete and unambiguous commands are allowed, for example /he for /help

    • type: boolean

    • values: on, off

    • default value: off

  • weechat.look.config_permissions

    • description: 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

    • type: string

    • values: any string

    • default value: "600"

  • weechat.look.confirm_quit

    • description: if set, /quit command must be confirmed with extra argument "-yes" (see /help quit)

    • type: boolean

    • values: on, off

    • default value: off

  • weechat.look.confirm_upgrade

    • description: if set, /upgrade command must be confirmed with extra argument "-yes" (see /help upgrade)

    • type: boolean

    • values: on, off

    • default value: off

  • weechat.look.day_change

    • description: display special message when day changes

    • type: boolean

    • values: on, off

    • default value: on

  • weechat.look.day_change_message_1date

    • description: message displayed when the day has changed, with one date displayed (for example at beginning of buffer) (see man strftime for date/time specifiers) (note: content is evaluated, so you can use colors with format "${color:xxx}", see /help eval)

    • type: string

    • values: any string

    • default value: "-- %a, %d %b %Y --"

  • weechat.look.day_change_message_2dates

    • description: message displayed when the day has changed, with two dates displayed (between two messages); the second date specifiers must start with two "%" because strftime is called two times on this string (see man strftime for date/time specifiers) (note: content is evaluated, so you can use colors with format "${color:xxx}", see /help eval)

    • type: string

    • values: any string

    • default value: "-- %%a, %%d %%b %%Y (%a, %d %b %Y) --"

  • weechat.look.eat_newline_glitch

    • description: if set, the eat_newline_glitch will be set to 0; this is used to not add new line char at end of each line, and then not break text when you copy/paste text from WeeChat to another application (this option is disabled by default because it can cause serious display bugs)

    • type: boolean

    • values: on, off

    • default value: off

  • weechat.look.emphasized_attributes

    • description: attributes for emphasized text: one or more attribute chars ("%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline); if the string is empty, the colors weechat.color.emphasized* are used

    • type: string

    • values: any string

    • default value: ""

  • weechat.look.highlight

    • description: comma separated list of words to highlight; case insensitive comparison (use "(?-i)" at beginning of words to make them case sensitive), words may begin or end with "*" for partial match; example: "test,(?-i)*toto*,flash*"

    • type: string

    • values: any string

    • default value: ""

  • weechat.look.highlight_disable_regex

    • description: POSIX extended regular expression used to prevent any highlight from a message: this option has higher priority over other highlight options (if the string is found in the message, the highlight is disabled and the other options are ignored), regular expression is case insensitive (use "(?-i)" at beginning to make it case sensitive), examples: "", "(?-i)"

    • type: string

    • values: any string

    • default value: ""

  • weechat.look.highlight_prefix

    • description: use a specific color for prefix of line in case of highlight (see also option weechat.look.buffer_time_format)

    • type: boolean

    • values: on, off

    • default value: on

  • weechat.look.highlight_regex

    • description: POSIX extended regular expression used to check if a message has highlight or not, at least one match in string must be surrounded by delimiters (chars different from: alphanumeric, "-", "_" and "|"), regular expression is case insensitive (use "(?-i)" at beginning to make it case sensitive), examples: "flashcode|flashy", "(?-i)FlashCode|flashy"

    • type: string

    • values: any string

    • default value: ""

  • weechat.look.highlight_tags

    • description: comma separated list of tags to highlight; case insensitive comparison; wildcard "*" is allowed in each tag; many tags can be separated by "+" to make a logical "and" between tags; examples: "nick_flashcode" for messages from nick "FlashCode", "irc_notice+nick_toto*" for notices from a nick starting with "toto"

    • type: string

    • values: any string

    • default value: ""

  • weechat.look.hotlist_add_conditions

    • description: conditions to add a buffer in hotlist (if notify level is OK for the buffer); you can use in these conditions: "window" (current window pointer), "buffer" (buffer pointer to add in hotlist), "priority" (0 = low, 1 = message, 2 = private, 3 = highlight); by default a buffer is added to hotlist if you are away, or if the buffer is not visible on screen (not displayed in any window), or if at least one relay client is connected via the weechat protocol

    • type: string

    • values: any string

    • default value: "${away} || ${buffer.num_displayed} == 0 || ${info:relay_client_count,weechat,connected} > 0"

  • weechat.look.hotlist_buffer_separator

    • description: string displayed between buffers in hotlist

    • type: string

    • values: any string

    • default value: ", "

  • weechat.look.hotlist_count_max

    • description: max number of messages count to display in hotlist for a buffer: 0 = never display messages count, other number = display max N messages count (from the highest to lowest priority)

    • type: integer

    • values: 0 .. 4

    • default value: 2

  • weechat.look.hotlist_count_min_msg

    • description: display messages count if number of messages is greater or equal to this value

    • type: integer

    • values: 1 .. 100

    • default value: 2

  • weechat.look.hotlist_names_count

    • description: max number of names in hotlist (0 = no name displayed, only buffer numbers)

    • type: integer

    • values: 0 .. 10000

    • default value: 3

  • weechat.look.hotlist_names_length

    • description: max length of names in hotlist (0 = no limit)

    • type: integer

    • values: 0 .. 32

    • default value: 0

  • weechat.look.hotlist_names_level

    • description: level for displaying names in hotlist (combination of: 1=join/part, 2=message, 4=private, 8=highlight, for example: 12=private+highlight)

    • type: integer

    • values: 1 .. 15

    • default value: 12

  • weechat.look.hotlist_names_merged_buffers

    • description: if set, force display of names in hotlist for merged buffers

    • type: boolean

    • values: on, off

    • default value: off

  • weechat.look.hotlist_prefix

    • description: text displayed at the beginning of the hotlist

    • type: string

    • values: any string

    • default value: "H: "

  • weechat.look.hotlist_remove

    • description: remove buffers in hotlist: buffer = remove buffer by buffer, merged = remove all visible merged buffers at once

    • type: enum

    • values: buffer, merged

    • default value: merged

  • weechat.look.hotlist_short_names

    • description: if set, uses short names to display buffer names in hotlist (start after first "." in name)

    • type: boolean

    • values: on, off

    • default value: on

  • weechat.look.hotlist_sort

    • description: comma-separated list of fields to sort hotlist; each field is a hdata variable of hotlist ("var") or a hdata variable of buffer ("buffer.var"); char "-" can be used before field to reverse order, char "~" can be used to do a case insensitive comparison; examples: "-priority,buffer.number" for sort on hotlist priority then by buffer number, "-~buffer.full_name" for case insensitive and reverse sort on buffer full name

    • type: string

    • values: any string

    • default value: "-priority,time,time_usec"

  • weechat.look.hotlist_suffix

    • description: text displayed at the end of the hotlist

    • type: string

    • values: any string

    • default value: ""

  • weechat.look.hotlist_unique_numbers

    • description: keep only unique numbers in hotlist (this applies only on hotlist items where name is NOT displayed after number)

    • type: boolean

    • values: on, off

    • default value: on

  • weechat.look.hotlist_update_on_buffer_switch

    • description: update the hotlist when switching buffers

    • type: boolean

    • values: on, off

    • default value: on

  • weechat.look.input_cursor_scroll

    • description: number of chars displayed after end of input line when scrolling to display end of line

    • type: integer

    • values: 0 .. 100

    • default value: 20

  • weechat.look.input_multiline_lead_linebreak

    • description: start the input text on a new line when the input contains multiple lines, so that the start of the lines align

    • type: boolean

    • values: on, off

    • default value: on

  • weechat.look.input_share

    • description: share commands, text, or both in input for all buffers (there is still local history for each buffer)

    • type: enum

    • values: none, commands, text, all

    • default value: none

  • weechat.look.input_share_overwrite

    • description: if set and input is shared, always overwrite input in target buffer

    • type: boolean

    • values: on, off

    • default value: off

  • weechat.look.input_undo_max

    • description: max number of "undo" for command line, by buffer (0 = undo disabled)

    • type: integer

    • values: 0 .. 65535

    • default value: 32

  • weechat.look.item_away_message

    • description: display server away message in away bar item

    • type: boolean

    • values: on, off

    • default value: on

  • weechat.look.item_buffer_filter

    • description: string used to show that some lines are filtered in current buffer (bar item "buffer_filter")

    • type: string

    • values: any string

    • default value: "*"

  • weechat.look.item_buffer_zoom

    • description: string used to show zoom on merged buffer (bar item "buffer_zoom")

    • type: string

    • values: any string

    • default value: "!"

  • weechat.look.item_mouse_status

    • description: string used to show if mouse is enabled (bar item "mouse_status")

    • type: string

    • values: any string

    • default value: "M"

  • weechat.look.item_time_format

    • description: time format for "time" bar item (see man strftime for date/time specifiers) (note: content is evaluated, so you can use colors with format "${color:xxx}", see /help eval)

    • type: string

    • values: any string

    • default value: "%H:%M"

  • weechat.look.jump_current_to_previous_buffer

    • description: jump to previous buffer displayed when jumping to current buffer number with /buffer *N (where N is a buffer number), to easily switch to another buffer, then come back to current buffer

    • type: boolean

    • values: on, off

    • default value: on

  • weechat.look.jump_previous_buffer_when_closing

    • description: jump to previously visited buffer when closing a buffer (if disabled, then jump to buffer number - 1)

    • type: boolean

    • values: on, off

    • default value: on

  • weechat.look.jump_smart_back_to_buffer

    • description: jump back to initial buffer after reaching end of hotlist

    • type: boolean

    • values: on, off

    • default value: on

  • weechat.look.key_bind_safe

    • description: allow only binding of "safe" keys (beginning with a ctrl or meta code)

    • type: boolean

    • values: on, off

    • default value: on

  • weechat.look.key_grab_delay

    • description: default delay (in milliseconds) to grab a key (using default key alt-k); this delay can be overridden in the /input command (see /help input)

    • type: integer

    • values: 1 .. 10000

    • default value: 800

  • weechat.look.mouse

    • description: enable mouse support

    • type: boolean

    • values: on, off

    • default value: off

  • weechat.look.nick_color_force

    • description: force color for some nicks: hash computed with nickname to find color will not be used for these nicks (format is: "nick1:color1;nick2:color2"); look up for nicks is with exact case then lower case, so it's possible to use only lower case for nicks in this option; color can include background with the format "text,background", for example "yellow,red"

    • type: string

    • values: any string

    • default value: ""

  • weechat.look.nick_color_hash

    • description: hash algorithm used to find the color for a nick: djb2 = variant of djb2 (position of letters matters: anagrams of a nick have different color), djb2_32 = variant of djb2 using 32-bit instead of 64-bit integer, sum = sum of letters, sum_32 = sum of letters using 32-bit instead of 64-bit integer

    • type: enum

    • values: djb2, sum, djb2_32, sum_32

    • default value: djb2

  • weechat.look.nick_color_hash_salt

    • description: salt for the hash algorithm used to find nick colors (the nickname is appended to this salt and the hash algorithm operates on this string); modifying this shuffles nick colors

    • type: string

    • values: any string

    • default value: ""

  • weechat.look.nick_color_stop_chars

    • description: chars used to stop in nick when computing color with letters of nick (at least one char outside this list must be in string before stopping) (example: nick "|nick|away" with "|" in chars will return color of nick "|nick"); this option has an impact on option weechat.look.nick_color_force, so the nick for the forced color must not contain the chars ignored by this option

    • type: string

    • values: any string

    • default value: "_|["

  • weechat.look.nick_prefix

    • description: text to display before nick in prefix of message, example: "<"

    • type: string

    • values: any string

    • default value: ""

  • weechat.look.nick_suffix

    • description: text to display after nick in prefix of message, example: ">"

    • type: string

    • values: any string

    • default value: ""

  • weechat.look.paste_bracketed

    • description: enable terminal "bracketed paste mode" (not supported in all terminals/multiplexers): in this mode, pasted text is bracketed with control sequences so that WeeChat can differentiate pasted text from typed-in text ("ESC[200~", followed by the pasted text, followed by "ESC[201~")

    • type: boolean

    • values: on, off

    • default value: on

  • weechat.look.paste_bracketed_timer_delay

    • description: force end of bracketed paste after this delay (in seconds) if the control sequence for end of bracketed paste ("ESC[201~") was not received in time

    • type: integer

    • values: 1 .. 60

    • default value: 10

  • weechat.look.paste_max_lines

    • description: max number of lines for paste without asking user (-1 = disable this feature); this option is used only if the bar item "input_paste" is used in at least one bar (by default it is used in "input" bar)

    • type: integer

    • values: -1 .. 2147483647

    • default value: 100

  • weechat.look.prefix_action

    • description: prefix for action messages (note: content is evaluated, so you can use colors with format "${color:xxx}", see /help eval)

    • type: string

    • values: any string

    • default value: " *"

  • weechat.look.prefix_align

    • description: prefix alignment (none, left, right (default))

    • type: enum

    • values: none, left, right

    • default value: right

  • weechat.look.prefix_align_max

    • description: max size for prefix (0 = no max size)

    • type: integer

    • values: 0 .. 128

    • default value: 0

  • weechat.look.prefix_align_min

    • description: min size for prefix

    • type: integer

    • values: 0 .. 128

    • default value: 0

  • weechat.look.prefix_align_more

    • description: char to display if prefix is truncated (must be exactly one char on screen)

    • type: string

    • values: any string

    • default value: ""+

  • weechat.look.prefix_align_more_after

    • description: display the truncature char (by default "+") after the text (by replacing the space that should be displayed here); if disabled, the truncature char replaces last char of text

    • type: boolean

    • values: on, off

    • default value: on

  • weechat.look.prefix_buffer_align

    • description: prefix alignment for buffer name, when many buffers are merged with same number (none, left, right (default))

    • type: enum

    • values: none, left, right

    • default value: right

  • weechat.look.prefix_buffer_align_max

    • description: max size for buffer name, when many buffers are merged with same number (0 = no max size)

    • type: integer

    • values: 0 .. 128

    • default value: 0

  • weechat.look.prefix_buffer_align_more

    • description: char to display if buffer name is truncated (when many buffers are merged with same number) (must be exactly one char on screen)

    • type: string

    • values: any string

    • default value: ""+

  • weechat.look.prefix_buffer_align_more_after

    • description: display the truncature char (by default "+") after the text (by replacing the space that should be displayed here); if disabled, the truncature char replaces last char of text

    • type: boolean

    • values: on, off

    • default value: on

  • weechat.look.prefix_error

    • description: prefix for error messages (note: content is evaluated, so you can use colors with format "${color:xxx}", see /help eval)

    • type: string

    • values: any string

    • default value: "=!="

  • weechat.look.prefix_join

    • description: prefix for join messages (note: content is evaluated, so you can use colors with format "${color:xxx}", see /help eval)

    • type: string

    • values: any string

    • default value: "-->"

  • weechat.look.prefix_network

    • description: prefix for network messages (note: content is evaluated, so you can use colors with format "${color:xxx}", see /help eval)

    • type: string

    • values: any string

    • default value: "--"

  • weechat.look.prefix_quit

    • description: prefix for quit messages (note: content is evaluated, so you can use colors with format "${color:xxx}", see /help eval)

    • type: string

    • values: any string

    • default value: "<--"

  • weechat.look.prefix_same_nick

    • description: prefix displayed for a message with same nick as previous but not next message: use a space " " to hide prefix, another string to display this string instead of prefix, or an empty string to disable feature (display prefix)

    • type: string

    • values: any string

    • default value: ""

  • weechat.look.prefix_same_nick_middle

    • description: prefix displayed for a message with same nick as previous and next message: use a space " " to hide prefix, another string to display this string instead of prefix, or an empty string to disable feature (display prefix)

    • type: string

    • values: any string

    • default value: ""

  • weechat.look.prefix_suffix

    • description: string displayed after prefix

    • type: string

    • values: any string

    • default value: "│"

  • weechat.look.quote_nick_prefix

    • description: text to display before nick when quoting a message (see /help cursor)

    • type: string

    • values: any string

    • default value: "<"

  • weechat.look.quote_nick_suffix

    • description: text to display after nick when quoting a message (see /help cursor)

    • type: string

    • values: any string

    • default value: ">"

  • weechat.look.quote_time_format

    • description: time format when quoting a message (see /help cursor) (see man strftime for date/time specifiers, extra specifiers are supported, see function util_strftimeval in Plugin API reference)

    • type: string

    • values: any string

    • default value: "%H:%M:%S"

  • weechat.look.read_marker

    • description: use a marker (line or char) on buffers to show first unread line

    • type: enum

    • values: none, line, char

    • default value: line

  • weechat.look.read_marker_always_show

    • description: always show read marker, even if it is after last buffer line

    • type: boolean

    • values: on, off

    • default value: off

  • weechat.look.read_marker_string

    • description: string used to draw read marker line (string is repeated until end of line)

    • type: string

    • values: any string

    • default value: "- "

  • weechat.look.read_marker_update_on_buffer_switch

    • description: update the read marker when switching buffers

    • type: boolean

    • values: on, off

    • default value: on

  • weechat.look.save_config_on_exit

    • description: save configuration file on exit

    • type: boolean

    • values: on, off

    • default value: on

  • weechat.look.save_config_with_fsync

    • description: use fsync to synchronize the configuration file with the storage device (see man fsync); this is slower but should prevent any data loss in case of power failure during the save of configuration file

    • type: boolean

    • values: on, off

    • default value: off

  • weechat.look.save_layout_on_exit

    • description: save layout on exit (buffers, windows, or both)

    • type: enum

    • values: none, buffers, windows, all

    • default value: none

  • weechat.look.scroll_amount

    • description: how many lines to scroll by with scroll_up and scroll_down

    • type: integer

    • values: 1 .. 2147483647

    • default value: 3

  • weechat.look.scroll_bottom_after_switch

    • description: scroll to bottom of window after switch to another buffer (do not remember scroll position in windows); the scroll is done only for buffers with formatted content (not free content)

    • type: boolean

    • values: on, off

    • default value: off

  • weechat.look.scroll_page_percent

    • description: percent of screen to scroll when scrolling one page up or down (for example 100 means one page, 50 half-page)

    • type: integer

    • values: 1 .. 100

    • default value: 100

  • weechat.look.search_text_not_found_alert

    • description: alert user when text sought is not found in buffer

    • type: boolean

    • values: on, off

    • default value: on

  • weechat.look.separator_horizontal

    • description: char used to draw horizontal separators around bars and windows (empty value will draw a real line with ncurses, but may cause bugs with URL selection under some terminals); width on screen must be exactly one char

    • type: string

    • values: any string

    • default value: "-"

  • weechat.look.separator_vertical

    • description: char used to draw vertical separators around bars and windows (empty value will draw a real line with ncurses); width on screen must be exactly one char

    • type: string

    • values: any string

    • default value: ""

  • weechat.look.tab_width

    • description: number of spaces used to display tabs in messages

    • type: integer

    • values: 1 .. 64

    • default value: 1

  • weechat.look.time_format

    • description: time format for dates converted to strings and displayed in messages (see man strftime for date/time specifiers)

    • type: string

    • values: any string

    • default value: "%a, %d %b %Y %T"

  • weechat.look.window_auto_zoom

    • description: automatically zoom on current window if the terminal becomes too small to display all windows (use alt-z to unzoom windows when the terminal is big enough)

    • type: boolean

    • values: on, off

    • default value: off

  • weechat.look.window_separator_horizontal

    • description: display an horizontal separator between windows

    • type: boolean

    • values: on, off

    • default value: on

  • weechat.look.window_separator_vertical

    • description: display a vertical separator between windows

    • type: boolean

    • values: on, off

    • default value: on

  • weechat.look.window_title

    • description: title for window (terminal for Curses GUI), set on startup; an empty string will keep title unchanged (note: content is evaluated, see /help eval); example: "WeeChat ${info:version}"

    • type: string

    • values: any string

    • default value: ""

  • weechat.look.word_chars_highlight

    • description: comma-separated list of chars (or range of chars) that are considered part of words for highlights; each item can be a single char, a range of chars (format: a-z), a class of wide character (for example "alnum", see man wctype); a "!" before the item makes it negative (ie the char is NOT considered part of words); the value "*" matches any char; unicode chars are allowed with the format \u1234, for example \u00A0 for unbreakable space (see /help print for supported formats)

    • type: string

    • values: any string

    • default value: "!\u00A0,-,_,|,alnum"

  • weechat.look.word_chars_input

    • description: comma-separated list of chars (or range of chars) that are considered part of words for command line; each item can be a single char, a range of chars (format: a-z), a class of wide character (for example "alnum", see man wctype); a "!" before the item makes it negative (ie the char is NOT considered part of words); the value "*" matches any char; unicode chars are allowed with the format \u1234, for example \u00A0 for unbreakable space (see /help print for supported formats)

    • type: string

    • values: any string

    • default value: "!\u00A0,-,_,|,alnum"

  • weechat.network.connection_timeout

    • description: timeout (in seconds) for connection to a remote host (made in a child process)

    • type: integer

    • values: 1 .. 2147483647

    • default value: 60

  • weechat.network.gnutls_ca_system

    • description: load system's default trusted certificate authorities on startup; this can be turned off to save some memory only if you are not using TLS connections at all

    • type: boolean

    • values: on, off

    • default value: on

  • weechat.network.gnutls_ca_user

    • description: extra file(s) with certificate authorities; multiple files must be separated by colons (each path is evaluated, see function string_eval_path_home in plugin API reference)

    • type: string

    • values: any string

    • default value: ""

  • weechat.network.gnutls_handshake_timeout

    • description: timeout (in seconds) for gnutls handshake

    • type: integer

    • values: 1 .. 2147483647

    • default value: 30

  • weechat.network.proxy_curl

    • description: name of proxy used for download of URLs with Curl (used to download list of scripts and in scripts calling function hook_process); the proxy must be defined with command /proxy

    • type: string

    • values: any string

    • default value: ""

  • weechat.plugin.autoload

    • description: comma separated list of plugins to load automatically at startup, "*" means all plugins found, a name beginning with "!" is a negative value to prevent a plugin from being loaded, wildcard "*" is allowed in names (examples: "*" or "*,!lua,!tcl")

    • type: string

    • values: any string

    • default value: "*"

  • weechat.plugin.extension

    • description: comma separated list of file name extensions for plugins

    • type: string

    • values: any string

    • default value: ".so,.dll"

  • weechat.plugin.path

    • description: path for searching plugins (path is evaluated, see function string_eval_path_home in plugin API reference)

    • type: string

    • values: any string

    • default value: "${weechat_data_dir}/plugins"

  • weechat.plugin.save_config_on_unload

    • description: save configuration files when unloading plugins

    • type: boolean

    • values: on, off

    • default value: on

  • weechat.signal.sighup

    • description: command to execute when the signal is received, multiple commands can be separated by semicolons (note: commands are evaluated, see /help eval)

    • type: string

    • values: any string

    • default value: "${if:${info:weechat_headless}?/reload:/quit -yes}"

  • weechat.signal.sigquit

    • description: command to execute when the signal is received, multiple commands can be separated by semicolons (note: commands are evaluated, see /help eval)

    • type: string

    • values: any string

    • default value: "/quit -yes"

  • weechat.signal.sigterm

    • description: command to execute when the signal is received, multiple commands can be separated by semicolons (note: commands are evaluated, see /help eval)

    • type: string

    • values: any string

    • default value: "/quit -yes"

  • weechat.signal.sigusr1

    • description: command to execute when the signal is received, multiple commands can be separated by semicolons (note: commands are evaluated, see /help eval)

    • type: string

    • values: any string

    • default value: ""

  • weechat.signal.sigusr2

    • description: command to execute when the signal is received, multiple commands can be separated by semicolons (note: commands are evaluated, see /help eval)

    • type: string

    • values: any string

    • default value: ""

  • weechat.startup.command_after_plugins

    • description: command executed when WeeChat starts, after loading plugins; multiple commands can be separated by semicolons (note: commands are evaluated, see /help eval)

    • type: string

    • values: any string

    • default value: ""

  • weechat.startup.command_before_plugins

    • description: command executed when WeeChat starts, before loading plugins; multiple commands can be separated by semicolons (note: commands are evaluated, see /help eval)

    • type: string

    • values: any string

    • default value: ""

  • weechat.startup.display_logo

    • description: display WeeChat logo at startup

    • type: boolean

    • values: on, off

    • default value: on

  • weechat.startup.display_version

    • description: display WeeChat version at startup

    • type: boolean

    • values: on, off

    • default value: on

  • weechat.startup.sys_rlimit

    • description: set resource limits for WeeChat process, format is: "res1:limit1,res2:limit2"; resource name is the end of constant (RLIMIT_XXX) in lower case (see man setrlimit for values); limit -1 means "unlimited"; example: set unlimited size for core file and max 1GB of virtual memory: "core:-1,as:1000000000"

    • type: string

    • values: any string

    • default value: ""

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 :

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:

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: send a CTCP action to a nick or channel

/action  [-server <server>] <target>[,<target>...] <text>

server: send to this server (internal name)
target: nick or channel (may be mask, "*" = current channel)
  text: text to send
  • admin: find information about the administrator of the server

/admin  [<target>]

target: server name
  • allchan: execute a command on all channels of all connected servers

/allchan  [-current] [-parted|-all] [-exclude=<channel>[,<channel>...]] <command>
          [-current] [-parted|-all] -include=<channel>[,<channel>...] <command>

-current: execute command for channels of current server only
 -parted: execute command on parted channels (by default: execute command on active channels only)
    -all: execute command on all channels (active and parted)
-exclude: exclude some channels (wildcard "*" is allowed)
-include: include only some channels (wildcard "*" is allowed)
 command: command to execute (or text to send to buffer if command does not start with "/")

Command and arguments are evaluated (see /help eval), the following variables are replaced:
  $server: server name
  $channel: channel name
  $nick: nick on server
  ${irc_server.xxx}: variable xxx in server
  ${irc_channel.xxx}: variable xxx in channel

Examples:
  execute "/me is testing" on all channels:
    /allchan /me is testing
  say "hello" everywhere but not on #weechat:
    /allchan -exclude=#weechat hello
  say "hello" everywhere but not on #weechat and channels beginning with #linux:
    /allchan -exclude=#weechat,#linux* hello
  say "hello" on all channels beginning with #linux:
    /allchan -include=#linux* hello
  close all buffers with parted channels:
    /allchan -parted /close
  • allpv: execute a command on all private buffers of all connected servers

/allpv  [-current] [-exclude=<nick>[,<nick>...]] <command>
        [-current] -include=<nick>[,<nick>...] <command>

-current: execute command for private buffers of current server only
-exclude: exclude some nicks (wildcard "*" is allowed)
-include: include only some nicks (wildcard "*" is allowed)
 command: command to execute (or text to send to buffer if command does not start with "/")

Command and arguments are evaluated (see /help eval), the following variables are replaced:
  $server: server name
  $channel: channel name
  $nick: nick on server
  ${irc_server.xxx}: variable xxx in server
  ${irc_channel.xxx}: variable xxx in channel

Examples:
  execute "/me is testing" on all private buffers:
    /allpv /me is testing
  say "hello" everywhere but not for nick foo:
    /allpv -exclude=foo hello
  say "hello" everywhere but not for nick foo and nicks beginning with bar:
    /allpv -exclude=foo,bar* hello
  say "hello" for all nicks beginning with bar:
    /allpv -include=bar* hello
  close all private buffers:
    /allpv /close
  • allserv: execute a command on all connected servers

/allserv  [-exclude=<server>[,<server>...]] <command>
          -include=<server>[,<server>...] <command>

-exclude: exclude some servers (wildcard "*" is allowed)
-include: include only some servers (wildcard "*" is allowed)
 command: command to execute (or text to send to buffer if command does not start with "/")

Command and arguments are evaluated (see /help eval), the following variables are replaced:
  $server: server name
  $nick: nick on server
  ${irc_server.xxx}: variable xxx in server

Examples:
  change nick on all servers:
    /allserv /nick newnick
  do a whois on my nick on all servers:
    /allserv /whois $nick
  • auth: authenticate with SASL

/auth  [<username> <password>]

username: SASL username (content is evaluated, see /help eval; server options are evaluated with ${irc_server.xxx} and ${server} is replaced by the server name)
password: SASL password or path to file with private key (content is evaluated, see /help eval; server options are evaluated with ${irc_server.xxx} and ${server} is replaced by the server name)

If username and password are not provided, the values from server options "sasl_username" and "sasl_password" (or "sasl_key") are used.

Examples:
  authenticate with username/password defined in the server:
    /auth
  authenticate as a different user:
    /auth user2 password2
  authenticate as a different user with mechanism ecdsa-nist256p-challenge:
    /auth user2 ${weechat_config_dir}/ecdsa2.pem
  • autojoin: configure the "autojoin" server option

/autojoin  add [<channel1> [<channel2>...]]
           addraw <channel1>[,<channel2>...] [<key1>[,<key2>...]]
           del [<channel1> [<channel2>...]]
           apply
           join
           sort [buffer]

    add: add current channel or a list of channels (with optional keys) to the autojoin option; if you are on the channel and the key is not provided, the key is read in the channel
 addraw: use the IRC raw format (same as /join command): all channels separated by commas, optional keys separated by commas
    del: delete current channel or a list of channels from the autojoin option
channel: channel name
    key: key for the channel
  apply: set currently joined channels in the autojoin option
   join: join the channels in the autojoin option
   sort: sort alphabetically channels in the autojoin option; with "buffer": first sort by buffer number, then alphabetically

Examples:
  /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: ban nicks or hosts

/ban  [<channel>] [<nick> [<nick>...]]

channel: channel name
   nick: nick or host

Without argument, this command displays the ban list for current channel.
  • cap: client capability negotiation

/cap  ls
      list
      req|ack [<capability> [<capability>...]]
      end

  ls: list the capabilities supported by the server
list: list the capabilities currently enabled
 req: request a new capability or remove a capability (if starting with "-", for example: "-multi-prefix")
 ack: acknowledge capabilities which require client-side acknowledgement
 end: end the capability negotiation

Without argument, "ls" and "list" are sent.

Capabilities supported by WeeChat are: 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.

The capabilities to automatically enable on servers can be set in option irc.server_default.capabilities (or by server in option irc.server.xxx.capabilities).

Examples:
  display supported and enabled capabilities:
    /cap
  request capabilities multi-prefix and away-notify:
    /cap req multi-prefix away-notify
  request capability extended-join, remove capability multi-prefix:
    /cap req extended-join -multi-prefix
  remove capability away-notify:
    /cap req -away-notify
  • connect: connect to IRC server(s)

/connect  [<server> [<server>...]] [-<option>[=<value>]] [-no<option>] [-nojoin] [-switch]
          -all|-auto|-open [-nojoin] [-switch]

  server: server name, which can be:
          - internal server name (added by /server add, recommended usage)
          - hostname/port or IP/port, port is 6697 by default for TLS, 6667 otherwise
          - URL with format: irc[6][s]://[nickname[:password]@]irc.example.org[:port][/#channel1][,#channel2[...]]
          Note: for an address/IP/URL, a temporary server is added (NOT SAVED), see /help irc.look.temporary_servers
  option: set option for server (for boolean option, value can be omitted)
nooption: set boolean option to "off" (for example: -notls)
    -all: connect to all servers defined in configuration
   -auto: connect to servers with autoconnect enabled
   -open: connect to all opened servers that are not currently connected
 -nojoin: do not join any channel (even if autojoin is enabled on server)
 -switch: switch to next server address

To disconnect from a server or stop any connection attempt, use command /disconnect.

Examples:
  /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: send a CTCP message (Client-To-Client Protocol)

/ctcp  [-server <server>] <target>[,<target>...] <type> [<arguments>]

   server: send to this server (internal name)
   target: nick or channel ("*" = current channel)
     type: CTCP type (examples: "version", "ping", etc.)
arguments: arguments for CTCP

Examples:
  /ctcp toto time
  /ctcp toto version
  /ctcp * version
  • cycle: leave and rejoin a channel

/cycle  [<channel>[,<channel>...]] [<message>]

channel: channel name
message: part message (displayed to other users)
  • dcc: start a DCC (passive file transfer or direct chat)

/dcc  chat <nick>
      send <nick> <file>

nick: nick
file: filename (on local host)

Examples:
  /dcc chat toto
  /dcc send toto /home/foo/bar.txt
  • dehalfop: remove channel half-operator status from nick(s)

/dehalfop  <nick> [<nick>...]
           * -yes

nick: nick or mask (wildcard "*" is allowed)
   *: remove channel half-operator status from everybody on channel except yourself
  • deop: remove channel operator status from nick(s)

/deop  <nick> [<nick>...]
       * -yes

nick: nick or mask (wildcard "*" is allowed)
   *: remove channel operator status from everybody on channel except yourself
  • devoice: remove voice from nick(s)

/devoice  <nick> [<nick>...]
          * -yes

nick: nick or mask (wildcard "*" is allowed)
   *: remove voice from everybody on channel
  • die: shutdown the server

/die  [<target>]

target: server name
  • disconnect: disconnect from one or all IRC servers

/disconnect  [<server>|-all|-pending [<reason>]]

  server: internal server name
    -all: disconnect from all servers
-pending: cancel auto-reconnection on servers currently reconnecting
  reason: reason for the "quit"
  • halfop: give channel half-operator status to nick(s)

/halfop  <nick> [<nick>...]
         * -yes

nick: nick or mask (wildcard "*" is allowed)
   *: give channel half-operator status to everybody on channel
  • ignore: ignore nicks/hosts from servers or channels

/ignore  list
         add [re:]<nick> [<server> [<channel>]]
         del <number>|-all

   list: list all ignores
    add: add an ignore
   nick: nick or hostname; can be a POSIX extended regular expression if "re:" is given or a mask using "*" to replace zero or more chars (the regular expression can start with "(?-i)" to become case sensitive)
    del: delete an ignore
 number: number of ignore to delete (look at list to find it)
   -all: delete all ignores
 server: internal server name where ignore is working
channel: channel name where ignore is working

Note: if option irc.look.ignore_tag_messages is enabled, the ignored messages are just tagged with "irc_ignored" instead of being completely removed.

Examples:
  /ignore add toto
  /ignore add toto@domain.com libera
  /ignore add toto*@*.domain.com libera #weechat
  • info: get information describing the server

/info  [<target>]

target: server name
  • invite: invite a nick on a channel

/invite  <nick> [<nick>...] [<channel>]

   nick: nick
channel: channel name
  • ison: check if a nick is currently on IRC

/ison  <nick> [<nick>...]

nick: nick
  • join: join a channel

/join  [-noswitch] [-server <server>] [<channel1>[,<channel2>...]] [<key1>[,<key2>...]]

-noswitch: do not switch to new buffer
   server: send to this server (internal name)
  channel: channel name
      key: key to join the channel (channels with a key must be the first in list)

Examples:
  /join #weechat
  /join #protectedchan,#weechat key
  /join -server libera #weechat
  /join -noswitch #weechat
  • kick: kick a user out of a channel

/kick  [<channel>] <nick> [<reason>]

channel: channel name
   nick: nick
 reason: reason (evaluated, see /help eval; special variables ${nick} (self nick), ${target} (target nick), ${channel} and ${server} are replaced by their values)
  • kickban: kick a user out of a channel and ban the host

/kickban  [<channel>] <nick> [<reason>]

channel: channel name
   nick: nick
 reason: reason (evaluated, see /help eval; special variables ${nick} (self nick), ${target} (target nick), ${channel} and ${server} are replaced by their values)

It is possible to kick/ban with a mask, nick will be extracted from mask and replaced by "*".

Example:
  /kickban toto!*@host.com
  • kill: close client-server connection

/kill  <nick> [<reason>]

  nick: nick
reason: reason
  • knock: send a notice to an invitation-only channel, requesting an invite

/knock  <channel> [<message>]

channel: channel name
message: message to send
/links  [[<target>] <server_mask>]

     target: this remote server should answer the query
server_mask: list of servers must match this mask
  • list: list channels and their topics

/list  [-server <server>] [-re <regex>] [<channel>[,<channel>...]] [<target>]
       -up|-down [<number>]
       -left|-right [<percent>]
       -go <line>|end
       -join

 server: send to this server (internal name)
  regex: POSIX extended regular expression used to filter results (case insensitive, can start by "(?-i)" to become case sensitive); when a regular expression is used, the result is displayed on server buffer instead of a dedicated buffer
channel: channel name
 target: server name
    -up: move the selected line up by "number" lines
  -down: move the selected line down by "number" lines
  -left: scroll the buffer by "percent" of width on the left
 -right: scroll the buffer by "percent" of width on the right
    -go: select a line by number, first line number is 0 ("end" to select the last line)
  -join: join the channel on the selected line

For keys, input and mouse actions on the buffer, see key bindings in User's guide.

Sort keys on /list buffer:
  name: channel name (eg: "##test")
  name2: channel name without prefix (eg: "test")
  users: number of users on channel
  topic: channel topic

Examples:
  list all channels on server and display them in a dedicated buffer (can be slow on large networks):
    /list
  list channel #weechat:
    /list #weechat
  list all channels beginning with "#weechat" (can be very slow on large networks):
    /list -re #weechat.*
  on /list buffer:
    channels with "weechat" in name:
      n:weechat
    channels with at least 100 users:
      u:100
    channels with "freebsd" (case insensitive) in topic and more than 10 users:
      c:${topic} =- freebsd && ${users} > 10
    sort channels by users (big channels first), then name2 (name without prefix):
      s:-users,name2
  • lusers: get statistics about the size of the IRC network

/lusers  [<mask> [<target>]]

  mask: servers matching the mask only
target: server for forwarding request
  • map: show a graphical map of the IRC network


  • me: send a CTCP action to the current channel

/me  <message>

message: message to send
  • mode: change channel or user mode

/mode  [<channel>] [+|-]o|p|s|i|t|n|m|l|b|e|v|k [<arguments>]
       <nick> [+|-]i|s|w|o

channel: channel name to modify (default is current one)

Channel modes:
  o: give/take channel operator privileges
  p: private channel
  s: secret channel
  i: invite-only channel
  t: topic settable by channel operator only
  n: no messages to channel from clients on the outside
  m: moderated channel
  l: set the user limit to channel
  b: set a ban mask to keep users out
  e: set exception mask
  v: give/take the ability to speak on a moderated channel
  k: set a channel key (password)

User modes:
  nick: nick to modify
  i: invisible
  s: user receives server notices
  w: user receives wallops
  o: operator

List of modes is not comprehensive, you should read documentation about your server to see all possible modes.

Examples:
  /mode #weechat +t
  /mode nick +i
  • motd: get the "Message Of The Day"

/motd  [<target>]

target: server name
  • msg: send message to a nick or channel

/msg  [-server <server>] <target>[,<target>...] <text>

server: send to this server (internal name)
target: nick or channel (may be mask, "*" = current channel)
  text: text to send
  • names: list nicks on channels

/names  [-count | -x] [<channel>[,<channel>...]]

 -count: display only number of users
     -x: display only users with this mode: -o for ops, -h for halfops, -v for voiced, etc. and -* for regular users
channel: channel name
  • nick: change current nick

/nick  [-all] <nick>

-all: set new nick for all connected servers
nick: new nick
  • notice: send notice message to user

/notice  [-server <server>] <target> <text>

server: send to this server (internal name)
target: nick or channel name
  text: text to send
  • notify: add a notification for presence or away status of nicks on servers

/notify  add <nick> [<server> [-away]]
         del <nick>|-all [<server>]

   add: add a notification
  nick: nick
server: internal server name (by default current server)
 -away: notify when away message is changed (by doing whois on nick)
   del: delete a notification
  -all: delete all notifications

Without argument, this command displays notifications for current server (or all servers if command is issued on core buffer).

Examples:
  /notify add toto
  /notify add toto libera
  /notify add toto libera -away
  • op: give channel operator status to nick(s)

/op  <nick> [<nick>...]
     * -yes

nick: nick or mask (wildcard "*" is allowed)
   *: give channel operator status to everybody on channel
  • oper: get operator privileges

/oper  <user> <password>

    user: user
password: password
  • part: leave a channel

/part  [<channel>[,<channel>...]] [<message>]

channel: channel name
message: part message (displayed to other users)
  • ping: send a ping to server

/ping  <target1> [<target2>]

target1: server
target2: forward ping to this server
  • pong: answer to a ping message

/pong  <daemon> [<daemon2>]

 daemon: daemon who has responded to Ping message
daemon2: forward message to this daemon
  • query: send a private message to a nick

/query  [-noswitch] [-server <server>] <nick>[,<nick>...] [<text>]

-noswitch: do not switch to new buffer
   server: send to this server (internal name)
     nick: nick
     text: text to send
  • quiet: quiet nicks or hosts

/quiet  [<channel>] [<nick> [<nick>...]]

channel: channel name
   nick: nick or host

Without argument, this command displays the quiet list for current channel.
  • quote: send raw data to server without parsing

/quote  [-server <server>] <data>

server: send to this server (internal name)
  data: raw data to send
  • reconnect: reconnect to server(s)

/reconnect  <server> [<server>...] [-nojoin] [-switch]
            -all [-nojoin] [-switch]

 server: internal server name
   -all: reconnect to all servers
-nojoin: do not join any channel (even if autojoin is enabled on server)
-switch: switch to next server address
  • rehash: tell the server to reload its config file

/rehash  [<option>]

option: extra option, for some servers
  • remove: force a user to leave a channel

/remove  [<channel>] <nick> [<reason>]

channel: channel name
   nick: nick
 reason: reason (special variables $nick, $channel and $server are replaced by their values)
  • restart: tell the server to restart itself

/restart  [<target>]

target: server name
  • rules: request the server rules


  • sajoin: force a user to join channel(s)

/sajoin  <nick> <channel>[,<channel>...]

   nick: nick
channel: channel name
  • samode: change mode on channel, without having operator status

/samode  [<channel>] <mode>

channel: channel name
   mode: mode for channel
  • sanick: force a user to use another nick

/sanick  <nick> <new_nick>

    nick: nick
new_nick: new nick
  • sapart: force a user to leave channel(s)

/sapart  <nick> <channel>[,<channel>...]

   nick: nick
channel: channel name
  • saquit: force a user to quit server with a reason

/saquit  <nick> <reason>

  nick: nick
reason: reason
  • server: list, add or remove IRC servers

/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: list servers (without argument, this list is displayed)
listfull: list servers with detailed info for each server
     add: add a new server
    name: server name, for internal and display use; this name is used to connect to the server (/connect name) and to set server options: irc.server.name.xxx
hostname: name or IP address of server, with optional port (default: 6697 for TLS, 6667 otherwise), many addresses can be separated by a comma
   -temp: add a temporary server (not saved)
  option: set option for server (for boolean option, value can be omitted)
nooption: set boolean option to "off" (for example: -notls)
    copy: duplicate a server
  rename: rename a server
 reorder: reorder list of servers
    open: open the server buffer without connecting
    keep: keep server in config file (for temporary servers only)
     del: delete a server
 deloutq: delete messages out queue for all servers (all messages WeeChat is currently sending)
    jump: jump to server buffer
     raw: open buffer with raw IRC data
  filter: set a new filter to see only matching messages (this filter can be used as input in raw IRC data buffer as well); allowed formats are:
          `*`: show all messages (no filter)
          `xxx`: show only messages containing "xxx"
          `s:xxx`: show only messages for server "xxx"
          `f:xxx`: show only messages with a flag: recv (message received), sent (message sent), modified (message modified by a modifier), redirected (message redirected)
          `m:xxx`: show only IRC command "xxx"
          `c:xxx`: show only messages matching the evaluated condition "xxx", using following variables: output of function irc_message_parse (like nick, command, channel, text, etc., see function info_get_hashtable in plugin API reference for the list of all variables), date (format: "%FT%T.%f", see function util_strftimeval in Plugin API reference), server, recv, sent, modified, redirected

Examples:
  /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: register a new service

/service  <nick> <reserved> <distribution> <type> <reserved> <info>

distribution: visibility of service
        type: reserved for future usage
  • servlist: list services currently connected to the network

/servlist  [<mask> [<type>]]

mask: list only services matching this mask
type: list only services of this type
  • setname: set real name

/setname  <realname>

realname: new real name
  • squery: deliver a message to a service

/squery  <service> <text>

service: name of service
   text: text to send
  • squit: disconnect server links

/squit  <target> <comment>

 target: server name
comment: comment
  • stats: query statistics about server

/stats  [<query> [<target>]]

 query: c/h/i/k/l/m/o/y/u (see RFC1459)
target: server name
  • summon: give users who are on a host running an IRC server a message asking them to please join IRC

/summon  <user> [<target> [<channel>]]

   user: username
 target: server name
channel: channel name
  • time: query local time from server

/time  [<target>]

target: query time from specified server
  • topic: get/set channel topic

/topic  [<channel>] [<topic>|-delete]

channel: channel name
  topic: new topic
-delete: delete channel topic
  • trace: find the route to specific server

/trace  [<target>]

target: server name
  • unban: unban nicks or hosts

/unban  [<channel>] <nick>|<number>|<n1>-<n2> [<nick>|<number>|<n1>-<n2>...]

channel: channel name
   nick: nick or host
 number: ban number (as displayed by command /ban)
     n1: interval start number
     n2: interval end number
  • unquiet: unquiet nicks or hosts

/unquiet  [<channel>] <nick>|<number>|<n1>-<n2> [<nick>|<number>|<n1>-<n2>...]

channel: channel name
   nick: nick or host
 number: quiet number (as displayed by command /quiet)
     n1: interval start number
     n2: interval end number
  • userhost: return a list of information about nicks

/userhost  <nick> [<nick>...]

nick: nick
  • users: list of users logged into the server

/users  [<target>]

target: server name
  • version: give the version info of nick or server (current or specified)

/version  [<target>|<nick>]

target: server name
  nick: nick
  • voice: give voice to nick(s)

/voice  <nick> [<nick>...]
        * -yes

nick: nick or mask (wildcard "*" is allowed)
   *: give voice to everybody on channel
  • wallchops: send a notice to channel ops

/wallchops  [<channel>] <text>

channel: channel name
   text: text to send
  • wallops: send a message to all currently connected users who have set the "w" user mode for themselves

/wallops  <text>

text: text to send
  • who: generate a query which returns a list of information

/who  [<mask> [o]]

mask: only information which match this mask
   o: only operators are returned according to the mask supplied
  • whois: query information about user(s)

/whois  [<target>] [<nick>[,<nick>...]]

target: server name
  nick: nick (may be a mask)

Without argument, this command will do a whois on:
  - your own nick if buffer is a server/channel
  - remote nick if buffer is a private.

If option irc.network.whois_double_nick is enabled, two nicks are sent (if only one nick is given), to get idle time in answer.
  • whowas: ask for information about a nick which no longer exists

/whowas  <nick>[,<nick>...] [<count> [<target>]]

  nick: nick
 count: number of replies to return (full search if negative number)
target: reply should match this mask

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

    • description: color for nick in input bar

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: lightcyan

  • irc.color.item_lag_counting

    • description: color for lag indicator, when counting (pong not received from server, lag is increasing)

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: default

  • irc.color.item_lag_finished

    • description: color for lag indicator, when pong has been received from server

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: yellow

  • irc.color.item_nick_modes

    • description: color for nick modes in bar item "input_prompt"

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: default

  • irc.color.item_tls_version_deprecated

    • description: color for deprecated TLS versions in bar item "tls_version"

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: yellow

  • irc.color.item_tls_version_insecure

    • description: color for insecure TLS versions in bar item "tls_version"

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: red

  • irc.color.item_tls_version_ok

    • description: color for higher supported TLS version in bar item "tls_version"

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: green

  • irc.color.list_buffer_line_selected

    • description: color for selected line on /list buffer

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: white

  • irc.color.list_buffer_line_selected_bg

    • description: background color for selected line on /list buffer

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: 24

  • irc.color.message_account

    • description: color for text in account messages

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: cyan

  • irc.color.message_chghost

    • description: color for text in "chghost" messages

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: brown

  • irc.color.message_join

    • description: color for text in join messages

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: green

  • irc.color.message_kick

    • description: color for text in kick/kill messages

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: red

  • irc.color.message_quit

    • description: color for text in part/quit messages

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: red

  • irc.color.message_setname

    • description: color for text in "setname" messages

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: brown

  • irc.color.mirc_remap

    • description: remap mirc colors in messages using a hashtable (used only for standard colors, not RGB colors): keys are "fg,bg" as integers between -1 (not specified) and 15, values are WeeChat color names or numbers (format is: "1,-1:color1;2,7:color2"), example: "1,-1:darkgray;1,2:white,blue" to remap black to "darkgray" and black on blue to "white,blue"; default WeeChat colors for IRC codes: 0=white, 1=black, 2=blue, 3=green, 4=lightred, 5=red, 6=magenta, 7=brown, 8=yellow, 9=lightgreen, 10=cyan, 11=lightcyan, 12=lightblue, 13=lightmagenta, 14=darkgray, 15=gray

    • type: string

    • values: any string

    • default value: "1,-1:darkgray"

  • irc.color.nick_prefixes

    • description: color for nick prefixes using mode char (o=op, h=halfop, v=voice, ..), format is: "o:color1;h:color2;v:color3" (if a mode is not found, WeeChat will try with next modes received from server ("PREFIX"); a special mode "*" can be used as default color if no mode has been found in list)

    • type: string

    • values: any string

    • default value: "y:lightred;q:lightred;a:lightcyan;o:lightgreen;h:lightmagenta;v:yellow;*:lightblue"

  • irc.color.notice

    • description: color for text "Notice" in notices

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: green

  • irc.color.reason_kick

    • description: color for reason in kick/kill messages

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: default

  • irc.color.reason_quit

    • description: color for reason in part/quit messages

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: 244

  • irc.color.term_remap

    • description: remap terminal color numbers in messages using a hashtable (used only for RGB colors as hexadecimal, which are first translated to terminal color numbers): keys are "fg,bg" as integers between -1 (not specified) and 255, values are WeeChat color names or numbers (format is: "1,-1:color1;2,7:color2"), example: "0,-1:darkgray;0,90:white,blue" to remap black to "darkgray" and black on dark magenta to "white,blue"

    • type: string

    • values: any string

    • default value: "0,-1:darkgray"

  • irc.color.topic_current

    • description: color for current channel topic (when joining a channel or using /topic)

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: default

  • irc.color.topic_new

    • description: color for new channel topic (when topic is changed)

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: 36

  • irc.color.topic_old

    • description: color for old channel topic (when topic is changed)

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: 244

  • irc.ctcp.clientinfo

    • description: format for CTCP reply or empty string for blocking CTCP (no reply); content is evaluated, see /help eval; following variables are replaced: ${clientinfo}: list of supported CTCP, ${version}: WeeChat version, ${git}: Git version, ${versiongit}: WeeChat version and Git version, ${compilation}: compilation date, ${osinfo}: info about OS, ${site}: WeeChat site, ${download}: WeeChat site, download page, ${time}: current date and time as text, ${username}: username on server, ${realname}: realname on server

    • type: string

    • values: any string

    • default value: "${clientinfo}"

  • irc.ctcp.source

    • description: format for CTCP reply or empty string for blocking CTCP (no reply); content is evaluated, see /help eval; following variables are replaced: ${clientinfo}: list of supported CTCP, ${version}: WeeChat version, ${git}: Git version, ${versiongit}: WeeChat version and Git version, ${compilation}: compilation date, ${osinfo}: info about OS, ${site}: WeeChat site, ${download}: WeeChat site, download page, ${time}: current date and time as text, ${username}: username on server, ${realname}: realname on server

    • type: string

    • values: any string

    • default value: "${download}"

  • irc.ctcp.time

    • description: format for CTCP reply or empty string for blocking CTCP (no reply); content is evaluated, see /help eval; following variables are replaced: ${clientinfo}: list of supported CTCP, ${version}: WeeChat version, ${git}: Git version, ${versiongit}: WeeChat version and Git version, ${compilation}: compilation date, ${osinfo}: info about OS, ${site}: WeeChat site, ${download}: WeeChat site, download page, ${time}: current date and time as text, ${username}: username on server, ${realname}: realname on server

    • type: string

    • values: any string

    • default value: "${time}"

  • irc.ctcp.version

    • description: format for CTCP reply or empty string for blocking CTCP (no reply); content is evaluated, see /help eval; following variables are replaced: ${clientinfo}: list of supported CTCP, ${version}: WeeChat version, ${git}: Git version, ${versiongit}: WeeChat version and Git version, ${compilation}: compilation date, ${osinfo}: info about OS, ${site}: WeeChat site, ${download}: WeeChat site, download page, ${time}: current date and time as text, ${username}: username on server, ${realname}: realname on server

    • type: string

    • values: any string

    • default value: "WeeChat ${version}"

  • irc.look.buffer_open_before_autojoin

    • description: open channel buffer before the JOIN is received from server when it is auto joined (with server option "autojoin"); this is useful to open channels with always the same buffer numbers on startup

    • type: boolean

    • values: on, off

    • default value: on

  • irc.look.buffer_open_before_join

    • description: open channel buffer before the JOIN is received from server when it is manually joined (with /join command)

    • type: boolean

    • values: on, off

    • default value: off

  • irc.look.buffer_switch_autojoin

    • description: auto switch to channel buffer when it is auto joined (with server option "autojoin")

    • type: boolean

    • values: on, off

    • default value: on

  • irc.look.buffer_switch_join

    • description: auto switch to channel buffer when it is manually joined (with /join command)

    • type: boolean

    • values: on, off

    • default value: on

  • irc.look.color_nicks_in_names

    • description: use nick color in output of /names (or list of nicks displayed when joining a channel)

    • type: boolean

    • values: on, off

    • default value: off

  • irc.look.color_nicks_in_nicklist

    • description: use nick color in nicklist

    • type: boolean

    • values: on, off

    • default value: off

  • irc.look.color_nicks_in_server_messages

    • description: use nick color in messages from server

    • type: boolean

    • values: on, off

    • default value: on

  • irc.look.color_pv_nick_like_channel

    • description: use same nick color for channel and private

    • type: boolean

    • values: on, off

    • default value: on

  • irc.look.ctcp_time_format

    • description: time format used in answer to message CTCP TIME (see man strftime for date/time specifiers, extra specifiers are supported, see function util_strftimeval in Plugin API reference)

    • type: string

    • values: any string

    • default value: "%a, %d %b %Y %T %z"

  • irc.look.display_account_message

    • description: display ACCOUNT messages received when capability account-notify is enabled

    • type: boolean

    • values: on, off

    • default value: on

  • irc.look.display_away

    • description: display message when (un)marking as away (off: do not display/send anything, local: display locally, channel: send action to channels)

    • type: enum

    • values: off, local, channel

    • default value: local

  • irc.look.display_ctcp_blocked

    • description: display CTCP message even if it is blocked

    • type: boolean

    • values: on, off

    • default value: on

  • irc.look.display_ctcp_reply

    • description: display CTCP reply sent by WeeChat

    • type: boolean

    • values: on, off

    • default value: on

  • irc.look.display_ctcp_unknown

    • description: display CTCP message even if it is unknown CTCP

    • type: boolean

    • values: on, off

    • default value: on

  • irc.look.display_extended_join

    • description: display extra information in the JOIN messages: account name and real name (capability extended-join must be enabled)

    • type: boolean

    • values: on, off

    • default value: on

  • irc.look.display_host_join

    • description: display host in join messages

    • type: boolean

    • values: on, off

    • default value: on

  • irc.look.display_host_join_local

    • description: display host in join messages from local client

    • type: boolean

    • values: on, off

    • default value: on

  • irc.look.display_host_notice

    • description: display host in notice messages

    • type: boolean

    • values: on, off

    • default value: on

  • irc.look.display_host_quit

    • description: display host in part/quit messages

    • type: boolean

    • values: on, off

    • default value: on

  • irc.look.display_host_wallops

    • description: display host in wallops messages

    • type: boolean

    • values: on, off

    • default value: on

  • irc.look.display_join_message

    • description: comma-separated list of messages to display after joining a channel: 324 = channel modes, 329 = channel creation date, 332 = topic, 333 = nick/date for topic, 353 = names on channel, 366 = names count

    • type: string

    • values: any string

    • default value: "329,332,333,366"

  • irc.look.display_old_topic

    • description: display old topic when channel topic is changed

    • type: boolean

    • values: on, off

    • default value: on

  • irc.look.display_pv_away_once

    • description: display remote away message only once in private

    • type: boolean

    • values: on, off

    • default value: on

  • irc.look.display_pv_back

    • description: display a message in private when user is back (after quit on server)

    • type: boolean

    • values: on, off

    • default value: on

  • irc.look.display_pv_nick_change

    • description: display nick change in private

    • type: boolean

    • values: on, off

    • default value: on

  • irc.look.display_pv_warning_address

    • description: display a warning in private buffer if the address of remote nick has changed; this option is disabled by default because servers like bitlbee are causing this warning to be displayed when it is not expected (the address of remote nick changes multiple times on login)

    • type: boolean

    • values: on, off

    • default value: off

  • irc.look.highlight_channel

    • description: comma separated list of words to highlight in channel buffers (case insensitive, use "(?-i)" at beginning of words to make them case sensitive; special variables $nick, $channel and $server are replaced by their values), these words are added to buffer property "highlight_words" only when buffer is created (it does not affect current buffers), an empty string disables default highlight on nick, examples: "$nick", "(?-i)$nick"

    • type: string

    • values: any string

    • default value: "$nick"

  • irc.look.highlight_pv

    • description: comma separated list of words to highlight in private buffers (case insensitive, use "(?-i)" at beginning of words to make them case sensitive; special variables $nick, $channel and $server are replaced by their values), these words are added to buffer property "highlight_words" only when buffer is created (it does not affect current buffers), an empty string disables default highlight on nick, examples: "$nick", "(?-i)$nick"

    • type: string

    • values: any string

    • default value: "$nick"

  • irc.look.highlight_server

    • description: comma separated list of words to highlight in server buffers (case insensitive, use "(?-i)" at beginning of words to make them case sensitive; special variables $nick, $channel and $server are replaced by their values), these words are added to buffer property "highlight_words" only when buffer is created (it does not affect current buffers), an empty string disables default highlight on nick, examples: "$nick", "(?-i)$nick"

    • type: string

    • values: any string

    • default value: "$nick"

  • irc.look.highlight_tags_restrict

    • description: restrict highlights to these tags on irc buffers (to have highlight on user messages but not server messages); tags must be separated by a comma and "+" can be used to make a logical "and" between tags; wildcard "*" is allowed in tags; an empty value allows highlight on any tag

    • type: string

    • values: any string

    • default value: "irc_privmsg,irc_notice"

  • irc.look.ignore_tag_messages

    • description: add tag "irc_ignored" in ignored messages instead of removing them; that way messages can be filtered with /filter command and toggled on-demand

    • type: boolean

    • values: on, off

    • default value: off

  • irc.look.item_channel_modes_hide_args

    • description: hide channel modes arguments if at least one of these modes is in channel modes ("*" to always hide all arguments, empty value to never hide arguments); example: "kf" to hide arguments if "k" or "f" are in channel modes

    • type: string

    • values: any string

    • default value: "k"

  • irc.look.item_display_server

    • description: name of bar item where IRC server is displayed (for status bar)

    • type: enum

    • values: buffer_plugin, buffer_name

    • default value: buffer_plugin

  • irc.look.item_nick_modes

    • description: display nick modes in bar item "input_prompt"

    • type: boolean

    • values: on, off

    • default value: on

  • irc.look.item_nick_prefix

    • description: display nick prefix in bar item "input_prompt"

    • type: boolean

    • values: on, off

    • default value: on

  • irc.look.join_auto_add_chantype

    • description: automatically add channel type in front of channel name on command /join if the channel name does not start with a valid channel type for the server; for example: "/join weechat" will in fact send: "/join #weechat"

    • type: boolean

    • values: on, off

    • default value: off

  • irc.look.list_buffer

    • description: use a dedicated buffer for the output of /list

    • type: boolean

    • values: on, off

    • default value: on

  • irc.look.list_buffer_scroll_horizontal

    • description: left/right scroll in /list buffer (percent of width)

    • type: integer

    • values: 1 .. 100

    • default value: 10

  • irc.look.list_buffer_sort

    • description: comma-separated list of fields to sort channels (see /help list for a list of fields); char "-" can be used before field to reverse order, char "~" can be used to do a case insensitive comparison; example: "-count,~name" for biggest channels first then case insensitive sort on name

    • type: string

    • values: any string

    • default value: "~name2"

  • irc.look.list_buffer_topic_strip_colors

    • description: strip channel topic colors in /list buffer

    • type: boolean

    • values: on, off

    • default value: on

  • irc.look.msgbuffer_fallback

    • description: default target buffer for msgbuffer options when target is private and that private buffer is not found

    • type: enum

    • values: current, server

    • default value: current

  • irc.look.new_channel_position

    • description: force position of new channel in list of buffers (none = default position (should be last buffer), next = current buffer + 1, near_server = after last channel/pv of server)

    • type: enum

    • values: none, next, near_server

    • default value: none

  • irc.look.new_list_position

    • description: force position of new /list buffer in list of buffers (none = default position (should be last buffer), next = current buffer + 1, near_server = after last channel/pv of server)

    • type: enum

    • values: none, next, near_server

    • default value: none

  • irc.look.new_pv_position

    • description: force position of new private in list of buffers (none = default position (should be last buffer), next = current buffer + 1, near_server = after last channel/pv of server)

    • type: enum

    • values: none, next, near_server

    • default value: none

  • irc.look.nick_completion_smart

    • description: smart completion for nicks (completes first with last speakers): speakers = all speakers (including highlights), speakers_highlights = only speakers with highlight

    • type: enum

    • values: off, speakers, speakers_highlights

    • default value: speakers

  • irc.look.nick_mode

    • description: display nick mode (op, voice, ...) before nick (none = never, prefix = in prefix only (default), action = in action messages only, both = prefix + action messages)

    • type: enum

    • values: none, prefix, action, both

    • default value: prefix

  • irc.look.nick_mode_empty

    • description: display a space if nick mode is enabled but nick has no mode (not op, voice, ...)

    • type: boolean

    • values: on, off

    • default value: off

  • irc.look.nicks_hide_password

    • description: comma separated list of nicks for which passwords will be hidden when a message is sent, for example to hide password in message displayed by "/msg nickserv identify password", example: "nickserv,nickbot"

    • type: string

    • values: any string

    • default value: "nickserv"

  • irc.look.notice_as_pv

    • description: display notices as private messages (if auto, use private buffer if found)

    • type: enum

    • values: auto, never, always

    • default value: auto

  • irc.look.notice_welcome_redirect

    • description: automatically redirect channel welcome notices to the channel buffer; such notices have the nick as target but a channel name in beginning of notice message, for example the ENTRYMSG notices sent by Atheme IRC Services which look like: "[#channel] Welcome to this channel..."

    • type: boolean

    • values: on, off

    • default value: on

  • irc.look.notice_welcome_tags

    • description: comma separated list of tags used in a welcome notices redirected to a channel, for example: "notify_private"

    • type: string

    • values: any string

    • default value: ""

  • irc.look.notify_tags_ison

    • description: comma separated list of tags used in messages displayed by notify when a nick joins or quits server (result of command ison or monitor), for example: "notify_message", "notify_private" or "notify_highlight"

    • type: string

    • values: any string

    • default value: "notify_message"

  • irc.look.notify_tags_whois

    • description: comma separated list of tags used in messages displayed by notify when a nick away status changes (result of command whois), for example: "notify_message", "notify_private" or "notify_highlight"

    • type: string

    • values: any string

    • default value: "notify_message"

  • irc.look.open_pv_buffer_echo_msg

    • description: open a private buffer on self message when capability echo-message is enabled

    • type: boolean

    • values: on, off

    • default value: on

  • irc.look.part_closes_buffer

    • description: close buffer when /part is issued on a channel

    • type: boolean

    • values: on, off

    • default value: off

  • irc.look.pv_buffer

    • description: merge private buffers

    • type: enum

    • values: independent, merge_by_server, merge_all

    • default value: independent

  • irc.look.pv_tags

    • description: comma separated list of tags used in private messages, for example: "notify_message", "notify_private" or "notify_highlight"

    • type: string

    • values: any string

    • default value: "notify_private"

  • irc.look.raw_messages

    • description: number of raw messages to save in memory when raw data buffer is closed (messages will be displayed when opening raw data buffer)

    • type: integer

    • values: 0 .. 65535

    • default value: 256

  • irc.look.server_buffer

    • description: merge server buffers; this option has no effect if a layout is saved and is conflicting with this value (see /help layout)

    • type: enum

    • values: merge_with_core, merge_without_core, independent

    • default value: merge_with_core

  • irc.look.smart_filter

    • description: filter join/part/quit/nick messages for a nick if not speaking for some minutes on channel (you must create a filter on tag "irc_smart_filter", see /help filter)

    • type: boolean

    • values: on, off

    • default value: on

  • irc.look.smart_filter_account

    • description: enable smart filter for "account" messages

    • type: boolean

    • values: on, off

    • default value: on

  • irc.look.smart_filter_chghost

    • description: enable smart filter for "chghost" messages

    • type: boolean

    • values: on, off

    • default value: on

  • irc.look.smart_filter_delay

    • description: delay for filtering join/part/quit messages (in minutes): if the nick did not speak during the last N minutes, the join/part/quit is filtered

    • type: integer

    • values: 1 .. 10080

    • default value: 5

  • irc.look.smart_filter_join

    • description: enable smart filter for "join" messages

    • type: boolean

    • values: on, off

    • default value: on

  • irc.look.smart_filter_join_unmask

    • description: delay for unmasking a join message that was filtered with tag "irc_smart_filter" (in minutes): if a nick has joined max N minutes ago and then says something on channel (message, notice or update on topic), the join is unmasked, as well as nick changes after this join (0 = disable: never unmask a join)

    • type: integer

    • values: 0 .. 10080

    • default value: 30

  • irc.look.smart_filter_mode

    • description: enable smart filter for "mode" messages: "*" to filter all modes, "+" to filter all modes in server prefixes (for example "ovh"), "xyz" to filter only modes x/y/z, "-xyz" to filter all modes but not x/y/z; examples: "ovh": filter modes o/v/h, "-bkl": filter all modes but not b/k/l

    • type: string

    • values: any string

    • default value: ""+

  • irc.look.smart_filter_nick

    • description: enable smart filter for "nick" messages (nick changes)

    • type: boolean

    • values: on, off

    • default value: on

  • irc.look.smart_filter_quit

    • description: enable smart filter for "part" and "quit" messages

    • type: boolean

    • values: on, off

    • default value: on

  • irc.look.smart_filter_setname

    • description: enable smart filter for "setname" messages

    • type: boolean

    • values: on, off

    • default value: on

  • irc.look.temporary_servers

    • description: enable automatic addition of temporary servers with command /connect

    • type: boolean

    • values: on, off

    • default value: off

  • irc.look.topic_strip_colors

    • description: strip colors in topic (used only when displaying buffer title)

    • type: boolean

    • values: on, off

    • default value: off

  • irc.look.typing_status_nicks

    • description: display nicks typing on the channel in bar item "typing" (option typing.look.enabled_nicks must be enabled and capability "message-tags" must be enabled on the server)

    • type: boolean

    • values: on, off

    • default value: off

  • irc.look.typing_status_self

    • description: send self typing status to channels so that other users see when you are typing a message (option typing.look.enabled_self must be enabled and capability "message-tags" must be enabled on the server)

    • type: boolean

    • values: on, off

    • default value: off

  • irc.network.autoreconnect_delay_growing

    • description: growing factor for autoreconnect delay to server (1 = always same delay, 2 = delay*2 for each retry, etc.)

    • type: integer

    • values: 1 .. 100

    • default value: 2

  • irc.network.autoreconnect_delay_max

    • description: maximum autoreconnect delay to server (in seconds, 0 = no maximum)

    • type: integer

    • values: 0 .. 604800

    • default value: 600

  • irc.network.ban_mask_default

    • description: default ban mask for commands /ban, /unban and /kickban; variables $nick, $user, $ident and $host are replaced by their values (extracted from "nick!user@host"); $ident is the same as $user if $user does not start with "~", otherwise it is set to "*"; this default mask is used only if WeeChat knows the host for the nick

    • type: string

    • values: any string

    • default value: "*!$ident@$host"

  • irc.network.colors_receive

    • description: when off, colors codes are ignored in incoming messages

    • type: boolean

    • values: on, off

    • default value: on

  • irc.network.colors_send

    • description: allow user to send colors with special codes (ctrl-c + a code and optional color: b=bold, cxx=color, cxx,yy=color+background, i=italic, o=disable color/attributes, r=reverse, u=underline)

    • type: boolean

    • values: on, off

    • default value: on

  • irc.network.lag_check

    • description: interval between two checks for lag (in seconds, 0 = never check)

    • type: integer

    • values: 0 .. 604800

    • default value: 60

  • irc.network.lag_max

    • description: maximum lag (in seconds): if this lag is reached, WeeChat will consider that the answer from server (pong) will never be received and will give up counting the lag (0 = never give up)

    • type: integer

    • values: 0 .. 604800

    • default value: 1800

  • irc.network.lag_min_show

    • description: minimum lag to show (in milliseconds)

    • type: integer

    • values: 0 .. 86400000

    • default value: 500

  • irc.network.lag_reconnect

    • description: reconnect to server if lag is greater than or equal to this value (in seconds, 0 = never reconnect); this value must be less than or equal to irc.network.lag_max

    • type: integer

    • values: 0 .. 604800

    • default value: 300

  • irc.network.lag_refresh_interval

    • description: interval between two refreshes of lag item, when lag is increasing (in seconds)

    • type: integer

    • values: 1 .. 3600

    • default value: 1

  • irc.network.notify_check_ison

    • description: interval between two checks for notify with IRC command "ison" (in minutes)

    • type: integer

    • values: 1 .. 10080

    • default value: 1

  • irc.network.notify_check_whois

    • description: interval between two checks for notify with IRC command "whois" (in minutes)

    • type: integer

    • values: 1 .. 10080

    • default value: 5

  • irc.network.sasl_fail_unavailable

    • description: cause SASL authentication failure when SASL is requested but unavailable on the server; when this option is enabled, it has effect only if option "sasl_fail" is set to "reconnect" or "disconnect" in the server

    • type: boolean

    • values: on, off

    • default value: on

  • irc.network.send_unknown_commands

    • description: send unknown commands to server

    • type: boolean

    • values: on, off

    • default value: off

  • irc.network.whois_double_nick

    • description: double the nick in /whois command (if only one nick is given), to get idle time in answer; for example: "/whois nick" will send "whois nick nick"

    • type: boolean

    • values: on, off

    • default value: off

  • irc.server_default.addresses

    • description: list of hostname/port or IP/port for server (separated by comma) (note: content is evaluated, see /help eval; server options are evaluated with ${irc_server.xxx} and ${server} is replaced by the server name)

    • type: string

    • values: any string

    • default value: ""

  • irc.server_default.anti_flood

    • description: delay in milliseconds between two messages sent to server (anti-flood protection); 0 = disable protection and always send messages immediately (not recommended because the server can close the connection if you send several messages in a short time); internally there are queues with different priorities: when connecting to the server all messages are sent immediately and your messages have higher priority than some automatic messages that are sent in background by WeeChat

    • type: integer

    • values: 0 .. 60000

    • default value: 2000

  • irc.server_default.autoconnect

    • description: automatically connect to server when WeeChat is starting

    • type: boolean

    • values: on, off

    • default value: off

  • irc.server_default.autojoin

    • description: comma separated list of channels to join after connection to server (and after executing command + delay if they are set); the channels that require a key must be at beginning of the list, and all the keys must be given after the channels (separated by a space) (example: "#channel1,#channel2,#channel3 key1,key2" where #channel1 and #channel2 are protected by key1 and key2) (note: content is evaluated, see /help eval; server options are evaluated with ${irc_server.xxx} and ${server} is replaced by the server name)

    • type: string

    • values: any string

    • default value: ""

  • irc.server_default.autojoin_delay

    • description: delay (in seconds) before auto-join of channels (example: give some time for authentication before joining channels)

    • type: integer

    • values: 0 .. 3600

    • default value: 0

  • irc.server_default.autojoin_dynamic

    • description: set automatically the "autojoin" option according to the channels you manually join and part with commands /join and /part

    • type: boolean

    • values: on, off

    • default value: off

  • irc.server_default.autoreconnect

    • description: automatically reconnect to server when disconnected

    • type: boolean

    • values: on, off

    • default value: on

  • irc.server_default.autoreconnect_delay

    • description: delay (in seconds) before trying again to reconnect to server

    • type: integer

    • values: 1 .. 65535

    • default value: 10

  • irc.server_default.autorejoin

    • description: automatically rejoin channels after kick; you can define a buffer local variable on a channel to override this value (name of variable: "autorejoin", value: "on" or "off")

    • type: boolean

    • values: on, off

    • default value: off

  • irc.server_default.autorejoin_delay

    • description: delay (in seconds) before autorejoin (after kick)

    • type: integer

    • values: 0 .. 86400

    • default value: 30

  • irc.server_default.away_check

    • description: interval between two checks for away (in minutes, 0 = never check)

    • type: integer

    • values: 0 .. 10080

    • default value: 0

  • irc.server_default.away_check_max_nicks

    • description: do not check away nicks on channels with high number of nicks (0 = unlimited)

    • type: integer

    • values: 0 .. 1000000

    • default value: 25

  • irc.server_default.capabilities

    • description: comma-separated list of client capabilities to enable for server if they are available (see /help cap for a list of capabilities supported by WeeChat); "*" enables all capabilities by default (supported by both server and WeeChat); wildcard "*" is allowed; a capability beginning with "!" is excluded (example: "*,!account-*,!extended-join")

    • type: string

    • values: any string

    • default value: "*"

  • irc.server_default.charset_message

    • description: part of the IRC message (received or sent) which is decoded/encoded to the target charset; message = the whole IRC message (default), channel = starting from the channel name only (if found, with fallback on text), text = starting from the text only (you should try this value if you have issues with the channel name encoding)

    • type: enum

    • values: message, channel, text

    • default value: message

  • irc.server_default.command

    • description: command(s) to run after connection to server and before auto-join of channels (many commands can be separated by ";", use "\;" for a semicolon, special variables $nick, $channel and $server are replaced by their values) (note: commands are evaluated, see /help eval; server options are evaluated with ${irc_server.xxx} and ${server} is replaced by the server name)

    • type: string

    • values: any string

    • default value: ""

  • irc.server_default.command_delay

    • description: delay (in seconds) before execution of command

    • type: integer

    • values: 0 .. 3600

    • default value: 0

  • irc.server_default.connection_timeout

    • description: timeout (in seconds) between TCP connection to server and message 001 received, if this timeout is reached before 001 message is received, WeeChat will disconnect from server

    • type: integer

    • values: 1 .. 3600

    • default value: 60

  • irc.server_default.default_chantypes

    • description: channel type prefixes to use if the server does not send them in message 005 (default is "#&")

    • type: string

    • values: any string

    • default value: "#&"

  • irc.server_default.ipv6

    • description: use IPv6 protocol for server communication (try IPv6 then fallback to IPv4); if disabled, only IPv4 is used

    • type: boolean

    • values: on, off

    • default value: on

  • irc.server_default.local_hostname

    • description: custom local hostname/IP for server (optional, if empty local hostname is used)

    • type: string

    • values: any string

    • default value: ""

  • irc.server_default.msg_kick

    • description: default kick message used by commands "/kick" and "/kickban" (note: content is evaluated, see /help eval; special variables ${nick} (self nick), ${target} (target nick), ${channel} and ${server} are replaced by their values)

    • type: string

    • values: any string

    • default value: ""

  • irc.server_default.msg_part

    • description: default part message (leaving channel) (note: content is evaluated, see /help eval; special variables ${nick}, ${channel} and ${server} are replaced by their values; "%v" is replaced by WeeChat version if there is no ${...} in string)

    • type: string

    • values: any string

    • default value: "WeeChat ${info:version}"

  • irc.server_default.msg_quit

    • description: default quit message (disconnecting from server) (note: content is evaluated, see /help eval; special variables ${nick}, ${channel} and ${server} are replaced by their values; "%v" is replaced by WeeChat version if there is no ${...} in string)

    • type: string

    • values: any string

    • default value: "WeeChat ${info:version}"

  • irc.server_default.nicks

    • description: nicknames to use on server (separated by comma) (note: content is evaluated, see /help eval; ${username} is replaced by system username (fallback to "weechat" if not found), server options are evaluated with ${irc_server.xxx} and ${server} is replaced by the server name)

    • type: string

    • values: any string

    • default value: "${username},${username}2,${username}3,${username}4,${username}5"

  • irc.server_default.nicks_alternate

    • description: get an alternate nick when all the declared nicks are already used on server: add some "_" until the nick has a length of 9, and then replace last char (or the two last chars) by a number from 1 to 99, until we find a nick not used on server

    • type: boolean

    • values: on, off

    • default value: on

  • irc.server_default.notify

    • description: notify list for server (you should not change this option but use /notify command instead)

    • type: string

    • values: any string

    • default value: ""

  • irc.server_default.password

    • description: password for server (note: content is evaluated, see /help eval; server options are evaluated with ${irc_server.xxx} and ${server} is replaced by the server name)

    • type: string

    • values: any string

    • default value: ""

  • irc.server_default.proxy

    • description: name of proxy used for this server (optional, proxy must be defined with command /proxy)

    • type: string

    • values: any string

    • default value: ""

  • irc.server_default.realname

    • description: real name to use on server (note: content is evaluated, see /help eval; server options are evaluated with ${irc_server.xxx} and ${server} is replaced by the server name)

    • type: string

    • values: any string

    • default value: ""

  • irc.server_default.registered_mode

    • description: mode that is set on registered users (default is "r")

    • type: string

    • values: any string

    • default value: "r"

  • irc.server_default.sasl_fail

    • description: action to perform if SASL authentication fails: "continue" to ignore the authentication problem, "reconnect" to schedule a reconnection to the server, "disconnect" to disconnect from server (see also option irc.network.sasl_fail_unavailable)

    • type: enum

    • values: continue, reconnect, disconnect

    • default value: reconnect

  • irc.server_default.sasl_key

    • description: file with ECC private key for mechanism "ecdsa-nist256p-challenge" (path is evaluated, see function string_eval_path_home in plugin API reference)

    • type: string

    • values: any string

    • default value: ""

  • irc.server_default.sasl_mechanism

    • description: mechanism for SASL authentication: "plain" for plain text password, "scram-sha-1" for SCRAM authentication with SHA-1 digest algorithm, "scram-sha-256" for SCRAM authentication with SHA-256 digest algorithm, "scram-sha-512" for SCRAM authentication with SHA-512 digest algorithm, "ecdsa-nist256p-challenge" for key-based challenge authentication, "external" for authentication using client side TLS certificate

    • type: enum

    • values: plain, scram-sha-1, scram-sha-256, scram-sha-512, ecdsa-nist256p-challenge, external

    • default value: plain

  • irc.server_default.sasl_password

    • description: password for SASL authentication; this option is not used for mechanisms "ecdsa-nist256p-challenge" and "external" (note: content is evaluated, see /help eval; server options are evaluated with ${irc_server.xxx} and ${server} is replaced by the server name)

    • type: string

    • values: any string

    • default value: ""

  • irc.server_default.sasl_timeout

    • description: timeout (in seconds) before giving up SASL authentication

    • type: integer

    • values: 1 .. 3600

    • default value: 15

  • irc.server_default.sasl_username

    • description: username for SASL authentication; this option is not used for mechanism "external" (note: content is evaluated, see /help eval; server options are evaluated with ${irc_server.xxx} and ${server} is replaced by the server name)

    • type: string

    • values: any string

    • default value: ""

  • irc.server_default.split_msg_max_length

    • description: split outgoing IRC messages to fit in this number of chars; the default value is 512, this is a safe and recommended value; value 0 disables the split (not recommended, unless you know what you do); allowed values are 0 or any integer between 128 and 4096; this option should be changed only on non-standard IRC servers, for example gateways like bitlbee

    • type: integer

    • values: 0 .. 4096

    • default value: 512

  • irc.server_default.tls

    • description: use TLS for server communication

    • type: boolean

    • values: on, off

    • default value: on

  • irc.server_default.tls_cert

    • description: TLS certificate file used to automatically identify your nick (path is evaluated, see function string_eval_path_home in plugin API reference)

    • type: string

    • values: any string

    • default value: ""

  • irc.server_default.tls_dhkey_size

    • description: size of the key used during the Diffie-Hellman Key Exchange

    • type: integer

    • values: 0 .. 2147483647

    • default value: 2048

  • irc.server_default.tls_fingerprint

    • description: fingerprint of certificate which is trusted and accepted for the server; only hexadecimal digits are allowed (0-9, a-f): 128 chars for SHA-512, 64 chars for SHA-256, 40 chars for SHA-1 (insecure, not recommended); many fingerprints can be separated by commas; if this option is set, the other checks on certificates are NOT performed (option "tls_verify") (note: content is evaluated, see /help eval; server options are evaluated with ${irc_server.xxx} and ${server} is replaced by the server name)

    • type: string

    • values: any string

    • default value: ""

  • irc.server_default.tls_password

    • description: password for TLS certificate's private key; only used with gnutls version >= 3.1.0 (note: content is evaluated, see /help eval; server options are evaluated with ${irc_server.xxx} and ${server} is replaced by the server name)

    • type: string

    • values: any string

    • default value: ""

  • irc.server_default.tls_priorities

    • description: string with priorities for gnutls (for syntax, see documentation of function gnutls_priority_init in gnutls manual, common strings are: "PERFORMANCE", "NORMAL", "SECURE128", "SECURE256", "EXPORT", "NONE")

    • type: string

    • values: any string

    • default value: "NORMAL"

  • irc.server_default.tls_verify

    • description: check that the TLS connection is fully trusted

    • type: boolean

    • values: on, off

    • default value: on

  • irc.server_default.usermode

    • description: user mode(s) to set after connection to server and before executing command and the auto-join of channels; examples: "+R" (to set mode "R"), "+R-i" (to set mode "R" and remove "i"); see /help mode for the complete mode syntax (note: content is evaluated, see /help eval; server options are evaluated with ${irc_server.xxx} and ${server} is replaced by the server name)

    • type: string

    • values: any string

    • default value: ""

  • irc.server_default.username

    • description: user name to use on server (note: content is evaluated, see /help eval; ${username} is replaced by system username (fallback to "weechat" if not found), server options are evaluated with ${irc_server.xxx} and ${server} is replaced by the server name)

    • type: string

    • values: any string

    • default value: "${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: send a CTCP action to remote host

/me  <message>

message: message to send
  • xfer: xfer control

/xfer  [list|listfull]

    list: list xfer
listfull: list xfer (verbose)

Without argument, this command opens buffer with xfer list.

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

    • description: text color for "aborted" status

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: lightred

  • xfer.color.status_active

    • description: text color for "active" status

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: lightblue

  • xfer.color.status_connecting

    • description: text color for "connecting" status

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: yellow

  • xfer.color.status_done

    • description: text color for "done" status

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: lightgreen

  • xfer.color.status_failed

    • description: text color for "failed" status

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: lightred

  • xfer.color.status_waiting

    • description: text color for "waiting" status

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: lightcyan

  • xfer.color.text

    • description: text color in xfer buffer

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: default

  • xfer.color.text_bg

    • description: background color in xfer buffer

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: default

  • xfer.color.text_selected

    • description: text color of selected line in xfer buffer

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: white

  • xfer.file.auto_accept_chats

    • description: automatically accept chat requests (use carefully!)

    • type: boolean

    • values: on, off

    • default value: off

  • xfer.file.auto_accept_files

    • description: automatically accept incoming files (use carefully!)

    • type: boolean

    • values: on, off

    • default value: off

  • xfer.file.auto_accept_nicks

    • description: comma-separated list of nicks for which the incoming files and chats are automatically accepted; format is "server.nick" (for a specific server) or "nick" (for all servers); example: "libera.FlashCode,andrew"

    • type: string

    • values: any string

    • default value: ""

  • xfer.file.auto_check_crc32

    • description: automatically check CRC32 file checksum if it is found in the filename (8 hexadecimal chars)

    • type: boolean

    • values: on, off

    • default value: off

  • xfer.file.auto_rename

    • description: rename incoming files if already exists (add ".1", ".2", ...)

    • type: boolean

    • values: on, off

    • default value: on

  • xfer.file.auto_resume

    • description: automatically resume file transfer if connection with remote host is lost

    • type: boolean

    • values: on, off

    • default value: on

  • xfer.file.convert_spaces

    • description: convert spaces to underscores when sending and receiving files

    • type: boolean

    • values: on, off

    • default value: on

  • xfer.file.download_path

    • description: path for writing incoming files (path is evaluated, see function string_eval_path_home in plugin API reference)

    • type: string

    • values: any string

    • default value: "${weechat_data_dir}/xfer"

  • xfer.file.download_temporary_suffix

    • description: temporary filename suffix used during the transfer for a file received, it is removed after successful transfer; if empty string, no filename suffix is used during the transfer

    • type: string

    • values: any string

    • default value: ".part"

  • xfer.file.upload_path

    • description: path for reading files when sending (path is evaluated, see function string_eval_path_home in plugin API reference)

    • type: string

    • values: any string

    • default value: "~"

  • xfer.file.use_nick_in_filename

    • description: use remote nick as prefix in local filename when receiving a file

    • type: boolean

    • values: on, off

    • default value: on

  • xfer.look.auto_open_buffer

    • description: auto open xfer buffer when a new xfer is added to list

    • type: boolean

    • values: on, off

    • default value: on

  • xfer.look.progress_bar_size

    • description: size of progress bar, in chars (if 0, progress bar is disabled)

    • type: integer

    • values: 0 .. 256

    • default value: 20

  • xfer.look.pv_tags

    • description: comma separated list of tags used in private messages, for example: "notify_message", "notify_private" or "notify_highlight"

    • type: string

    • values: any string

    • default value: "notify_private"

  • xfer.network.blocksize

    • description: block size for sending packets, in bytes

    • type: integer

    • values: 1024 .. 102400

    • default value: 65536

  • xfer.network.fast_send

    • description: does not wait for ACK when sending file

    • type: boolean

    • values: on, off

    • default value: on

  • xfer.network.own_ip

    • description: IP or DNS address used for sending and passively receiving files/chats (if empty, local interface IP is used)

    • type: string

    • values: any string

    • default value: ""

  • xfer.network.port_range

    • description: restricts outgoing files/chats and incoming/passive files to use only ports in the given range (useful for NAT) (syntax: a single port, ie. 5000 or a port range, ie. 5000-5015, empty value means any port, it's recommended to use ports greater than 1024, because only root can use ports below 1024)

    • type: string

    • values: any string

    • default value: ""

  • xfer.network.send_ack

    • description: send acks when receiving files; if disabled, the transfer may freeze if the sender is waiting for acks (for example a WeeChat sending a file with option xfer.network.fast_send set to off); on the other hand, disabling send of acks may prevent a freeze if the acks are not sent immediately to the sender

    • type: boolean

    • values: on, off

    • default value: on

  • xfer.network.speed_limit_recv

    • description: speed limit for receiving files, in kilo-bytes by second (0 means no limit)

    • type: integer

    • values: 0 .. 2147483647

    • default value: 0

  • xfer.network.speed_limit_send

    • description: speed limit for sending files, in kilo-bytes by second (0 means no limit)

    • type: integer

    • values: 0 .. 2147483647

    • default value: 0

  • xfer.network.timeout

    • description: timeout for xfer request (in seconds)

    • type: integer

    • values: 5 .. 2147483647

    • default value: 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

    • description: number of seconds after paused status has been set: if reached, the typing status is removed

    • type: integer

    • values: 1 .. 2147483647

    • default value: 30

  • typing.look.delay_purge_typing

    • description: number of seconds after typing status has been set: if reached, the typing status is removed

    • type: integer

    • values: 1 .. 2147483647

    • default value: 6

  • typing.look.delay_set_paused

    • description: number of seconds after typing last char: if reached, the typing status becomes "paused" and no more typing signals are sent

    • type: integer

    • values: 1 .. 2147483647

    • default value: 10

  • typing.look.enabled_nicks

    • description: typing enabled for other nicks (display typing info for nicks typing in the current buffer)

    • type: boolean

    • values: on, off

    • default value: off

  • typing.look.enabled_self

    • description: typing enabled for self messages (send typing info to other users)

    • type: boolean

    • values: on, off

    • default value: off

  • typing.look.input_min_chars

    • description: min number of chars in message to trigger send of typing signals

    • type: integer

    • values: 1 .. 2147483647

    • default value: 4

  • typing.look.item_max_length

    • description: max number of chars displayed in the bar item "typing" (0 = do not truncate content)

    • type: integer

    • values: 0 .. 2147483647

    • default value: 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:

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 control

/relay  list|listfull|listrelay
        add <name> <port>|<path>
        del|start|restart|stop <name>
        raw
        tlscertkey

      list: list relay clients (only active relays)
  listfull: list relay clients (verbose, all relays)
 listrelay: list relays (name and port)
       add: add a relay (listen on a port/path)
       del: remove a relay (clients remain connected)
     start: listen on port
   restart: close the server socket and listen again on port (clients remain connected)
      stop: close the server socket (clients remain connected)
      name: relay name (see format below)
      port: port used for relay
      path: path used for relay (for UNIX domain socket only); path is evaluated (see function string_eval_path_home in plugin API reference)
       raw: open buffer with raw Relay data
tlscertkey: set TLS certificate/key using path in option relay.network.tls_cert_key

Relay name is: [ipv4.][ipv6.][tls.]<protocol.name> or unix.[tls.]<protocol.name>:
  - ipv4: force use of IPv4
  - ipv6: force use of IPv6
  - tls: enable TLS
  - unix: use UNIX domain socket
  - protocol.name: protocol and name to relay:
    - protocol "irc": name is the server to share (optional, if not given, the server name must be sent by client in command "PASS", with format: "PASS server:password")
    - protocol "api" (name is not used)
    - protocol "weechat" (name is not used)

The "irc" protocol allows any IRC client (including WeeChat itself) to connect on the port.
The "api" protocol allows a remote interface (including WeeChat itself) to connect on the port.
The "weechat" protocol allows a remote interface (but not WeeChat itself) to connect on the port.

The list of remote interfaces is here: https://weechat.org/about/interfaces/

Without argument, this command opens buffer with list of relay clients.

Examples:
  /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: control of remote relay servers

/remote  list|listfull [<name>]
         add <name> <url> [-<option>[=<value>]]
         connect <name>
         send <name> <json>
         disconnect <name>
         rename <name> <new_name>
         del <name>

      list: list remote relay servers (without argument, this list is displayed)
  listfull: list remote relay servers (verbose)
       add: add a remote relay server
      name: name of remote relay server, for internal and display use; this name is used to connect to the remote relay and to set remote relay options: relay.remote.name.xxx
       url: URL of the remote relay, format is https://example.com:9000 or http://example.com:9000 (plain-text connection, not recommended)
    option: set option for remote relay
   connect: connect to a remote relay server
      send: send JSON data to a remote relay server
disconnect: disconnect from a remote relay server
    rename: rename a remote relay server
       del: delete a remote relay server

Examples:
  /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

    • description: number of lines to retrieve on each buffer when connecting to a remote relay

    • type: integer

    • values: 0 .. 2147483647

    • default value: 1000

  • relay.color.client

    • description: text color for client description

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: cyan

  • relay.color.status_active

    • description: text color for "connected" status

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: green

  • relay.color.status_auth_failed

    • description: text color for "authentication failed" status

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: lightmagenta

  • relay.color.status_authenticating

    • description: text color for "authenticating" status

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: yellow

  • relay.color.status_connecting

    • description: text color for "connecting" status

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: white

  • relay.color.status_disconnected

    • description: text color for "disconnected" status

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: lightred

  • relay.color.text

    • description: text color in relay buffer

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: default

  • relay.color.text_bg

    • description: background color in relay buffer

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: default

  • relay.color.text_selected

    • description: text color of selected line in relay buffer

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: white

  • relay.irc.backlog_max_minutes

    • description: maximum number of minutes in backlog per IRC channel (0 = unlimited, examples: 1440 = one day, 10080 = one week, 43200 = one month, 525600 = one year)

    • type: integer

    • values: 0 .. 2147483647

    • default value: 0

  • relay.irc.backlog_max_number

    • description: maximum number of lines in backlog per IRC channel (0 = unlimited)

    • type: integer

    • values: 0 .. 2147483647

    • default value: 1024

  • relay.irc.backlog_since_last_disconnect

    • description: display backlog starting from last client disconnect

    • type: boolean

    • values: on, off

    • default value: on

  • relay.irc.backlog_since_last_message

    • description: display backlog starting from your last message

    • type: boolean

    • values: on, off

    • default value: off

  • relay.irc.backlog_tags

    • description: comma-separated list of messages tags which are displayed in backlog per IRC channel (supported tags: "irc_join", "irc_part", "irc_quit", "irc_nick", "irc_privmsg"), "*" = all supported tags

    • type: string

    • values: any string

    • default value: "irc_privmsg"

  • relay.irc.backlog_time_format

    • description: format for time in backlog messages (see man strftime for format) (not used if server capability "server-time" was enabled by client, because time is sent as irc tag); empty string = disable time in backlog messages

    • type: string

    • values: any string

    • default value: "[%H:%M] "

  • relay.look.auto_open_buffer

    • description: auto open relay buffer when a new client is connecting using one of these protocols (comma-separated list); allowed protocols: "irc", "weechat", "api"

    • type: string

    • values: any string

    • default value: "irc,weechat"

  • relay.look.display_clients

    • description: display messages when clients connect/disconnect from relay using one of these protocols (comma-separated list); allowed protocols: "irc", "weechat", "api"

    • type: string

    • values: any string

    • default value: "irc,weechat"

  • relay.look.raw_messages

    • description: number of raw messages to save in memory when raw data buffer is closed (messages will be displayed when opening raw data buffer)

    • type: integer

    • values: 0 .. 65535

    • default value: 256

  • relay.look.raw_messages_max_length

    • description: max number of chars to display in raw messages (very long messages can cause slowness); 0 = display whole messages

    • type: integer

    • values: 0 .. 2147483647

    • default value: 4096

  • relay.network.allow_empty_password

    • description: allow empty password in relay (it should be enabled only for tests or local network)

    • type: boolean

    • values: on, off

    • default value: off

  • relay.network.allowed_ips

    • description: POSIX extended regular expression with IPs allowed to use relay (case insensitive, use "(?-i)" at beginning to make it case sensitive), example: "^(123\.45\.67\.89|192\.160\..*)$"

    • type: string

    • values: any string

    • default value: ""

  • relay.network.auth_timeout

    • description: timeout (in seconds) for client authentication: connection is closed if the client is still not authenticated after this delay and the client status is set to "authentication failed" (0 = wait forever)

    • type: integer

    • values: 0 .. 2147483647

    • default value: 60

  • relay.network.bind_address

    • description: address for bind (if empty, connection is possible on all interfaces, use "127.0.0.1" to allow connections from local machine only with IPv4 and "::ffff:127.0.0.1" with IPv6)

    • type: string

    • values: any string

    • default value: ""

  • relay.network.clients_purge_delay

    • description: delay for purging disconnected clients (in minutes, 0 = purge clients immediately, -1 = never purge)

    • type: integer

    • values: -1 .. 43200

    • default value: 0

  • relay.network.commands

    • description: comma-separated list of commands allowed/denied when input data (text or command) is received from a client (weechat and api protocols); "*" means any command, a name beginning with "!" is a negative value to prevent a command from being executed, wildcard "*" is allowed in names; this option should be set if the relay client is not safe (someone could use it to run commands); for example "*,!exec,!quit" allows any command except /exec and /quit

    • type: string

    • values: any string

    • default value: "*,!quit"

  • relay.network.compression

    • description: compression of messages sent to clients with weechat and api protocols: 0 = disable compression, 1 = low compression / fast ... 100 = best compression / slow; the value is a percentage converted to 1-9 for zlib and 1-19 for zstd; the default value is recommended, it offers a good compromise between compression and speed

    • type: integer

    • values: 0 .. 100

    • default value: 20

  • relay.network.ipv6

    • description: listen on IPv6 socket by default (in addition to IPv4 which is default); protocols IPv4 and IPv6 can be forced (individually or together) in the protocol name (see /help relay)

    • type: boolean

    • values: on, off

    • default value: on

  • relay.network.max_clients

    • description: maximum number of clients connecting to a port (0 = no limit)

    • type: integer

    • values: 0 .. 2147483647

    • default value: 5

  • relay.network.nonce_size

    • description: size of nonce (in bytes), generated when a client connects; the client must use this nonce, concatenated to the client nonce and the password when hashing the password in the "init" command of the weechat protocol

    • type: integer

    • values: 8 .. 128

    • default value: 16

  • relay.network.password

    • description: password required by clients to access this relay (empty value means no password required, see option relay.network.allow_empty_password) (note: content is evaluated, see /help eval)

    • type: string

    • values: any string

    • default value: ""

  • relay.network.password_hash_algo

    • description: comma separated list of hash algorithms used for password authentication in weechat protocol, among these values: "plain" (password in plain text, not hashed), "sha256", "sha512", "pbkdf2+sha256", "pbkdf2+sha512"), "*" means all algorithms, a name beginning with "!" is a negative value to prevent an algorithm from being used, wildcard "*" is allowed in names (examples: "*", "pbkdf2*", "*,!plain")

    • type: string

    • values: any string

    • default value: "*"

  • relay.network.password_hash_iterations

    • description: number of iterations asked to the client in weechat protocol when a hashed password with algorithm PBKDF2 is used for authentication; more iterations is better in term of security but is slower to compute; this number should not be too high if your CPU is slow

    • type: integer

    • values: 1 .. 1000000

    • default value: 100000

  • relay.network.time_window

    • description: number of seconds to allow before and after the current time for the hash of time + password in api protocol

    • type: integer

    • values: 0 .. 256

    • default value: 5

  • relay.network.tls_cert_key

    • description: file with TLS certificate and private key (for serving clients with TLS) (path is evaluated, see function string_eval_path_home in plugin API reference)

    • type: string

    • values: any string

    • default value: "${weechat_config_dir}/tls/relay.pem"

  • relay.network.tls_priorities

    • description: string with priorities for gnutls (for syntax, see documentation of function gnutls_priority_init in gnutls manual, common strings are: "PERFORMANCE", "NORMAL", "SECURE128", "SECURE256", "EXPORT", "NONE")

    • type: string

    • values: any string

    • default value: "NORMAL"

  • relay.network.totp_secret

    • description: secret for the generation of the Time-based One-Time Password (TOTP), encoded in base32 (only letters and digits from 2 to 7); it is used as second factor in weechat and api protocols, in addition to the password, which must not be empty (empty value means no TOTP is required) (note: content is evaluated, see /help eval)

    • type: string

    • values: any string

    • default value: ""

  • relay.network.totp_window

    • description: number of Time-based One-Time Passwords to accept before and after the current one: 0 = accept only the current password, 1 = accept one password before, the current, and one after, 2 = accept two passwords before, the current, and two after, ...; a high number reduces the security level (0 or 1 are recommended values)

    • type: integer

    • values: 0 .. 256

    • default value: 0

  • relay.network.websocket_allowed_origins

    • description: POSIX extended regular expression with origins allowed in websockets (case insensitive, use "(?-i)" at beginning to make it case sensitive), example: "^https?://(www\.)?example\.(com|org)"

    • type: string

    • values: any string

    • default value: ""

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: execute external commands

/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: list commands
     -sh: use the shell to execute the command, many commands can be piped (WARNING: use this option ONLY if all arguments are safe, see option -nosh)
   -nosh: do not use the shell to execute the command (required if the command has some unsafe data, for example the content of a message from another user) (default)
     -bg: run process in background: do not display process output neither return code (not compatible with options -o/-oc/-n/-nf/-pipe/-hsignal)
   -nobg: catch process output and display return code (default)
  -stdin: create a pipe for sending data to the process (with /exec -in/-inclose)
-nostdin: do not create a pipe for stdin (default)
 -buffer: display/send output of command on this buffer (if the buffer is not found, a new buffer with name "exec.exec.xxx" is created)
      -l: display locally output of command on buffer (default)
      -o: send output of command to the buffer without executing commands (not compatible with options -bg/-pipe/-hsignal)
     -oc: send output of command to the buffer and execute commands (lines starting with "/" or another custom command char) (not compatible with options -bg/-pipe/-hsignal)
      -n: display output of command in a new buffer (not compatible with options -bg/-pipe/-hsignal)
     -nf: display output of command in a new buffer with free content (no word-wrap, no limit on number of lines) (not compatible with options -bg/-pipe/-hsignal)
   -oerr: also send stderr (error output) to the buffer (can be used only with options -o and -oc)
     -cl: clear the new buffer before displaying output
   -nocl: append to the new buffer without clear (default)
     -sw: switch to the output buffer (default)
   -nosw: don't switch to the output buffer
     -ln: display line numbers (default in new buffer only)
   -noln: don't display line numbers
  -flush: display output of command in real time (default)
-noflush: display output of command after its end
  -color: action on ANSI colors in output:
          ansi: keep ANSI codes as-is
          auto: convert ANSI colors to WeeChat/IRC (default)
          irc: convert ANSI colors to IRC colors
          weechat: convert ANSI colors to WeeChat colors
          strip: remove ANSI colors
     -rc: display return code (default)
   -norc: don't display return code
-timeout: set a timeout for the command (in seconds)
   -name: set a name for the command (to name it later with /exec)
   -pipe: send the output to a WeeChat/plugin command (line by line); if there are spaces in command/arguments, enclose them with double quotes; variable $line is replaced by the line (by default the line is added after the command, separated by a space) (not compatible with options -bg/-o/-oc/-n/-nf)
-hsignal: send the output as a hsignal (to be used for example in a trigger) (not compatible with options -bg/-o/-oc/-n/-nf)
 command: the command to execute; if beginning with "url:", the shell is disabled and the content of URL is downloaded and sent as output
      id: command identifier: either its number or name (if set with "-name xxx")
     -in: send text on standard input of process
-inclose: same as -in, but stdin is closed after (and text is optional: without text, the stdin is just closed)
 -signal: send a signal to the process; the signal can be an integer or one of these names: hup, int, quit, kill, term, usr1, usr2
   -kill: alias of "-signal <id> kill"
-killall: kill all running processes
    -set: set a hook property (see function hook_set in plugin API reference)
property: hook property
   value: new value for hook property
    -del: delete a terminated command
    -all: delete all terminated commands

Default options can be set in the option exec.command.default_options.

Examples:
  /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

    • description: text color for a finished command flag in list of commands

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: lightred

  • exec.color.flag_running

    • description: text color for a running command flag in list of commands

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: lightgreen

  • exec.command.default_options

    • description: default options for command /exec (see /help exec); example: "-nosh -bg" to run all commands in background (no output), and without using the shell

    • type: string

    • values: any string

    • default value: ""

  • exec.command.purge_delay

    • description: delay for purging finished commands (in seconds, 0 = purge commands immediately, -1 = never purge)

    • type: integer

    • values: -1 .. 25920000

    • default value: 0

  • exec.command.shell

    • description: shell to use with command "/exec -sh"; it can be just the name of shell if it is in PATH (for example "bash") or the absolute path to the shell (for example "/bin/bash"); if value is empty, "sh" is used (note: content is evaluated, see /help eval)

    • type: string

    • values: any string

    • default value: "${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: fifo plugin configuration

/fifo  enable|disable|toggle

 enable: enable FIFO pipe
disable: disable FIFO pipe
 toggle: toggle FIFO pipe

FIFO pipe is used as remote control of WeeChat: you can send commands or text to the FIFO pipe from your shell.
By default the FIFO pipe is called weechat_fifo_xxx (where xxx is the WeeChat process id) and located in the WeeChat runtime directory (see /debug dirs).

The expected format is one of:
  plugin.buffer *text or command here
  *text or command here

For example to change your libera nick:
  echo 'irc.server.libera */nick newnick' >/run/user/1000/weechat/weechat_fifo_12345

Please read the user's guide for more info and examples.

13.2. Optionen

Sektionen in Datei fifo.conf:

Sektion Steuerbefehl Beschreibung

file

/set fifo.file.*

FIFO Pipe Optionen.

Optionen:

  • fifo.file.enabled

    • description: enable FIFO pipe

    • type: boolean

    • values: on, off

    • default value: on

  • fifo.file.path

    • description: path for FIFO file; WeeChat PID can be used in path with ${info:pid} (path is evaluated, see function string_eval_path_home in plugin API reference)

    • type: string

    • values: any string

    • default value: "${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: manage triggers, the Swiss Army knife for 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: list triggers (without argument, this list is displayed)
         -o: send list of triggers enabled to buffer (string in English)
        -ol: send list of triggers enabled to buffer (translated string)
         -i: copy list of triggers enabled in command line (for sending to buffer) (string in English)
        -il: copy list of triggers enabled in command line (for sending to buffer) (translated string)
   listfull: list triggers with detailed info for each trigger
listdefault: list default triggers
        add: add a trigger
     addoff: add a trigger (disabled)
 addreplace: add or replace an existing trigger
       name: name of trigger
       hook: signal, hsignal, modifier, line, print, command, command_run, timer, config, focus, info, info_hashtable
  arguments: arguments for the hook, depending on hook (separated by semicolons):
             type `signal`: name(s) of signal (required)
             type `hsignal`: name(s) of hsignal (required)
             type `modifier`: name(s) of modifier (required)
             type `line`: buffer type ("formatted", "free" or "*"), list of buffer masks, tags
             type `print`: buffer, tags, message, strip colors
             type `command`: command (required), description, arguments, description of arguments, completion (all arguments except command are evaluated, "${tg_trigger_name}" is replaced by the trigger name, see /help eval)
             type `command_run`: command(s) (required)
             type `timer`: interval (required), align on second, max calls
             type `config`: name(s) of option (required)
             type `focus`: name(s) of area (required)
             type `info`: name(s) of info (required)
             type `info_hashtable`: name(s) of info (required)
 conditions: evaluated conditions for the trigger
      regex: one or more regular expressions to replace strings in variables
    command: command to execute (many commands can be separated by ";")
return_code: return code in callback (ok (default), ok_eat, error)
post_action: action to take after execution (none (default), disable, delete)
   addinput: set input with default arguments to create a trigger
      input: set input with the command used to create the trigger
     output: send the command to create the trigger on the buffer
   recreate: same as "input", with option "addreplace" instead of "add"
        set: set an option in a trigger
     option: name of option: name, hook, arguments, conditions, regex, command, return_code (for help on option, you can type: /help trigger.trigger.<name>.<option>)
      value: new value for the option
     rename: rename a trigger
       copy: copy a trigger
     enable: enable triggers (without arguments: enable triggers globally)
    disable: disable triggers (without arguments: disable triggers globally)
     toggle: toggle triggers (without arguments: toggle triggers globally)
    restart: restart triggers (recreate the hooks)
       show: show detailed info on a trigger (with some stats)
        del: delete triggers
    restore: restore triggers with the default values (works only for default triggers)
       mask: name where wildcard "*" is allowed
    default: delete all triggers and restore default ones
    monitor: open the trigger monitor buffer, with optional filter
     filter: filter hooks/triggers to display (a hook must start with "@", for example "@signal"), many filters can be separated by commas; wildcard "*" is allowed in each trigger name

When a trigger callback is called, following actions are performed, in this order:
  1. check conditions; if false, exit
  2. replace text using POSIX extended regular expression(s) (if defined in trigger)
  3. execute command(s) (if defined in trigger)
  4. exit with a return code (except for modifier, line, focus, info and info_hashtable)
  5. perform post action

Examples (you can also look at default triggers with /trigger listdefault):
  add text attributes *bold*, _underline_ and /italic/ (only in user messages):
    /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}/"
  hide nicklist bar on small 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"
  silently save config each hour:
    /trigger add cfgsave timer 3600000;0;0 "" "" "/mute /save"
  silently save WeeChat session at midnight (see /help upgrade):
    /trigger add session_save signal day_changed "" "" "/mute /upgrade -save"
  open trigger monitor and show only modifiers and triggers whose name starts with "resize":
    /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

    • description: text color for command flag (in /trigger list)

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: lightgreen

  • trigger.color.flag_conditions

    • description: text color for conditions flag (in /trigger list)

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: yellow

  • trigger.color.flag_post_action

    • description: text color for post action flag (in /trigger list)

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: lightblue

  • trigger.color.flag_regex

    • description: text color for regex flag (in /trigger list)

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: lightcyan

  • trigger.color.flag_return_code

    • description: text color for return code flag (in /trigger list)

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: lightmagenta

  • trigger.color.identifier

    • description: text color for trigger context identifier in monitor buffer

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: cyan

  • trigger.color.regex

    • description: text color for regular expressions

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: white

  • trigger.color.replace

    • description: text color for replacement text (for regular expressions)

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: cyan

  • trigger.look.enabled

    • description: enable trigger support

    • type: boolean

    • values: on, off

    • default value: on

  • trigger.look.monitor_strip_colors

    • description: strip colors in hashtable values displayed on monitor buffer

    • type: boolean

    • values: on, off

    • default value: 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 script manager

/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: enable download of scripts (turn on option script.scripts.download_enabled)
          list: list loaded scripts (all languages)
            -o: send list of loaded scripts to buffer (string in English)
           -ol: send list of loaded scripts to buffer (translated string)
            -i: copy list of loaded scripts in command line (for sending to buffer) (string in English)
           -il: copy list of loaded scripts in command line (for sending to buffer) (translated string)
        search: search scripts by tags, language (python, perl, ...), filename extension (py, pl, ...) or text; result is displayed on scripts buffer
          show: show detailed info about a script
          load: load script(s)
        unload: unload script(s)
        reload: reload script(s)
      autoload: autoload the script
    noautoload: do not autoload the script
toggleautoload: toggle autoload
       install: install/upgrade script(s)
        remove: remove script(s)
 installremove: install or remove script(s), depending on current state
          hold: hold/unhold script(s) (a script held will not be upgraded any more and cannot be removed)
            -q: quiet mode: do not display messages
       upgrade: upgrade all installed scripts which are obsolete (new version available)
        update: update local scripts cache
           -up: move the selected line up by "number" lines
         -down: move the selected line down by "number" lines
           -go: select a line by number, first line number is 0 ("end" to select the last line)

Without argument, this command opens a buffer with list of scripts.

On script buffer, the possible status for each script are:
  `*`: popular script
  `i`: installed
  `a`: autoloaded
  `H`: held
  `r`: running (loaded)
  `N`: obsolete (new version available)

In output of /script list, this additional status can be displayed:
  `?`: unknown script (can not be downloaded/updated)

In input of script buffer, word(s) are used to filter scripts on description, tags, ...). The input "*" removes the filter.

For keys, input and mouse actions on the buffer, see key bindings in User's guide.

Examples:
  /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

    • description: color for status "autoloaded" ("a")

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: 39

  • script.color.status_held

    • description: color for status "held" ("H")

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: white

  • script.color.status_installed

    • description: color for status "installed" ("i")

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: lightcyan

  • script.color.status_obsolete

    • description: color for status "obsolete" ("N")

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: lightmagenta

  • script.color.status_popular

    • description: color for status "popular" ("*")

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: yellow

  • script.color.status_running

    • description: color for status "running" ("r")

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: lightgreen

  • script.color.status_unknown

    • description: color for status "unknown" ("?")

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: lightred

  • script.color.text

    • description: text color in script buffer

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: default

  • script.color.text_bg

    • description: background color in script buffer

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: default

  • script.color.text_bg_selected

    • description: background color for selected line in script buffer

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: 24

  • script.color.text_date

    • description: text color of dates in script buffer

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: 65

  • script.color.text_date_selected

    • description: text color of dates for selected line in script buffer

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: 50

  • script.color.text_delimiters

    • description: text color of delimiters in script buffer

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: 240

  • script.color.text_description

    • description: text color of description in script buffer

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: 249

  • script.color.text_description_selected

    • description: text color of description for selected line in script buffer

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: white

  • script.color.text_extension

    • description: text color of extension in script buffer

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: 242

  • script.color.text_extension_selected

    • description: text color of extension for selected line in script buffer

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: 248

  • script.color.text_name

    • description: text color of script name in script buffer

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: 73

  • script.color.text_name_selected

    • description: text color of script name for selected line in script buffer

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: 51

  • script.color.text_selected

    • description: text color for selected line in script buffer

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: white

  • script.color.text_tags

    • description: text color of tags in script buffer

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: brown

  • script.color.text_tags_selected

    • description: text color of tags for selected line in script buffer

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: yellow

  • script.color.text_version

    • description: text color of version in script buffer

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: 100

  • script.color.text_version_loaded

    • description: text color of version loaded in script buffer

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: 246

  • script.color.text_version_loaded_selected

    • description: text color of version loaded for selected line in script buffer

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: white

  • script.color.text_version_selected

    • description: text color of version for selected line in script buffer

    • type: color

    • values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "%" for blink, "." for "dim" (half bright), "*" for bold, "!" for reverse, "/" for italic, "_" for underline

    • default value: 228

  • script.look.columns

    • description: format of columns displayed in script buffer: following column identifiers are replaced by their values: %a=author, %d=description, %D=date added, %e=extension, %l=language, %L=license, %n=name with extension, %N=name, %r=requirements, %s=status, %t=tags, %u=date updated, %v=version, %V=version loaded, %w=min_weechat, %W=max_weechat)

    • type: string

    • values: any string

    • default value: "%s %n %V %v %u | %d | %t"

  • script.look.diff_color

    • description: colorize output of diff

    • type: boolean

    • values: on, off

    • default value: on

  • script.look.diff_command

    • description: command used to show differences between script installed and the new version in repository ("auto" = auto detect diff command (git or diff), empty value = disable diff, other string = name of command, for example "diff")

    • type: string

    • values: any string

    • default value: "auto"

  • script.look.display_source

    • description: display source code of script on buffer with detail on a script (script is downloaded in a temporary file when detail on script is displayed)

    • type: boolean

    • values: on, off

    • default value: on

  • script.look.quiet_actions

    • description: quiet actions on script buffer: do not display messages on core buffer when scripts are installed/removed/loaded/unloaded (only errors are displayed)

    • type: boolean

    • values: on, off

    • default value: on

  • script.look.sort

    • description: default sort keys for scripts: comma-separated list of identifiers: a=author, A=autoloaded, d=date added, e=extension, i=installed, l=language, n=name, o=obsolete, p=popularity, r=running, u=date updated; char "-" can be used before identifier to reverse order; example: "i,u": installed scripts first, sorted by update date

    • type: string

    • values: any string

    • default value: "i,p,n"

  • script.look.translate_description

    • description: translate description of scripts (if translation is available in your language, otherwise English version is used)

    • type: boolean

    • values: on, off

    • default value: on

  • script.look.use_keys

    • description: use keys alt+X in script buffer to do actions on scripts (alt+i = install, alt+r = remove, ...); if disabled, only the input is allowed: i, r, ...

    • type: boolean

    • values: on, off

    • default value: on

  • script.scripts.autoload

    • description: autoload scripts installed (make a link in "autoload" directory to script in parent directory)

    • type: boolean

    • values: on, off

    • default value: on

  • script.scripts.cache_expire

    • description: local cache expiration time, in minutes (-1 = never expires, 0 = always expire)

    • type: integer

    • values: -1 .. 525600

    • default value: 1440

  • script.scripts.download_enabled

    • description: enable download of files from the scripts repository when the /script command is used (list of scripts and scripts themselves); the list of scripts is downloaded from the URL specified in the option script.scripts.url; WeeChat will sometimes download again the list of scripts when you use the /script command, even if you don't install a script

    • type: boolean

    • values: on, off

    • default value: off

  • script.scripts.download_timeout

    • description: timeout (in seconds) for download of scripts and list of scripts

    • type: integer

    • values: 1 .. 3600

    • default value: 30

  • script.scripts.hold

    • description: scripts to "hold": comma-separated list of scripts which will never been upgraded and can not be removed, for example: "go.py,urlserver.py"

    • type: string

    • values: any string

    • default value: ""

  • script.scripts.path

    • description: local cache directory for scripts (path is evaluated, see function string_eval_path_home in plugin API reference)

    • type: string

    • values: any string

    • default value: "${weechat_cache_dir}/script"

  • script.scripts.url

    • description: URL for file with list of scripts

    • type: string

    • values: any string

    • default value: "https://weechat.org/files/plugins.xml.gz"

Skripterweiterung

Python Befehle
  • python: list/load/unload scripts

/python  list|listfull [<name>]
         load [-q] <filename>
         autoload
         reload|unload [-q] [<name>]
         eval [-o|-oc] <code>
         version

    list: list loaded scripts
listfull: list loaded scripts (verbose)
    load: load a script
autoload: load all scripts in "autoload" directory
  reload: reload a script (if no name given, unload all scripts, then load all scripts in "autoload" directory)
  unload: unload a script (if no name given, unload all scripts)
filename: script (file) to load
      -q: quiet mode: do not display messages
    name: a script name (name used in call to "register" function)
    eval: evaluate source code and display result on current buffer
      -o: send evaluation result to the buffer without executing commands
     -oc: send evaluation result to the buffer and execute commands
    code: source code to evaluate
 version: display the version of interpreter used

Without argument, this command lists all loaded scripts.
Perl Befehle
  • perl: list/load/unload scripts

/perl  list|listfull [<name>]
       load [-q] <filename>
       autoload
       reload|unload [-q] [<name>]
       eval [-o|-oc] <code>
       version

    list: list loaded scripts
listfull: list loaded scripts (verbose)
    load: load a script
autoload: load all scripts in "autoload" directory
  reload: reload a script (if no name given, unload all scripts, then load all scripts in "autoload" directory)
  unload: unload a script (if no name given, unload all scripts)
filename: script (file) to load
      -q: quiet mode: do not display messages
    name: a script name (name used in call to "register" function)
    eval: evaluate source code and display result on current buffer
      -o: send evaluation result to the buffer without executing commands
     -oc: send evaluation result to the buffer and execute commands
    code: source code to evaluate
 version: display the version of interpreter used

Without argument, this command lists all loaded scripts.
Ruby Befehle
  • ruby: list/load/unload scripts

/ruby  list|listfull [<name>]
       load [-q] <filename>
       autoload
       reload|unload [-q] [<name>]
       eval [-o|-oc] <code>
       version

    list: list loaded scripts
listfull: list loaded scripts (verbose)
    load: load a script
autoload: load all scripts in "autoload" directory
  reload: reload a script (if no name given, unload all scripts, then load all scripts in "autoload" directory)
  unload: unload a script (if no name given, unload all scripts)
filename: script (file) to load
      -q: quiet mode: do not display messages
    name: a script name (name used in call to "register" function)
    eval: evaluate source code and display result on current buffer
      -o: send evaluation result to the buffer without executing commands
     -oc: send evaluation result to the buffer and execute commands
    code: source code to evaluate
 version: display the version of interpreter used

Without argument, this command lists all loaded scripts.
Lua Befehle
  • lua: list/load/unload scripts

/lua  list|listfull [<name>]
      load [-q] <filename>
      autoload
      reload|unload [-q] [<name>]
      eval [-o|-oc] <code>
      version

    list: list loaded scripts
listfull: list loaded scripts (verbose)
    load: load a script
autoload: load all scripts in "autoload" directory
  reload: reload a script (if no name given, unload all scripts, then load all scripts in "autoload" directory)
  unload: unload a script (if no name given, unload all scripts)
filename: script (file) to load
      -q: quiet mode: do not display messages
    name: a script name (name used in call to "register" function)
    eval: evaluate source code and display result on current buffer
      -o: send evaluation result to the buffer without executing commands
     -oc: send evaluation result to the buffer and execute commands
    code: source code to evaluate
 version: display the version of interpreter used

Without argument, this command lists all loaded scripts.
Tcl Befehle
  • tcl: list/load/unload scripts

/tcl  list|listfull [<name>]
      load [-q] <filename>
      autoload
      reload|unload [-q] [<name>]
      eval [-o|-oc] <code>
      version

    list: list loaded scripts
listfull: list loaded scripts (verbose)
    load: load a script
autoload: load all scripts in "autoload" directory
  reload: reload a script (if no name given, unload all scripts, then load all scripts in "autoload" directory)
  unload: unload a script (if no name given, unload all scripts)
filename: script (file) to load
      -q: quiet mode: do not display messages
    name: a script name (name used in call to "register" function)
    eval: evaluate source code and display result on current buffer
      -o: send evaluation result to the buffer without executing commands
     -oc: send evaluation result to the buffer and execute commands
    code: source code to evaluate
 version: display the version of interpreter used

Without argument, this command lists all loaded scripts.
Guile Befehle
  • guile: list/load/unload scripts

/guile  list|listfull [<name>]
        load [-q] <filename>
        autoload
        reload|unload [-q] [<name>]
        eval [-o|-oc] <code>
        version

    list: list loaded scripts
listfull: list loaded scripts (verbose)
    load: load a script
autoload: load all scripts in "autoload" directory
  reload: reload a script (if no name given, unload all scripts, then load all scripts in "autoload" directory)
  unload: unload a script (if no name given, unload all scripts)
filename: script (file) to load
      -q: quiet mode: do not display messages
    name: a script name (name used in call to "register" function)
    eval: evaluate source code and display result on current buffer
      -o: send evaluation result to the buffer without executing commands
     -oc: send evaluation result to the buffer and execute commands
    code: source code to evaluate
 version: display the version of interpreter used

Without argument, this command lists all loaded scripts.
PHP Befehle
Python Optionen

Sektionen in Datei python.conf:

Sektion Steuerbefehl Beschreibung

look

/set python.look.*

Erscheinungsbild.

Optionen:

  • python.look.check_license

    • description: check the license of scripts when they are loaded: if the license is different from the plugin license, a warning is displayed

    • type: boolean

    • values: on, off

    • default value: off

  • python.look.eval_keep_context

    • description: keep context between two calls to the source code evaluation (option "eval" of script command or info "%s_eval"); a hidden script is used to eval script code; if this option is disabled, this hidden script is unloaded after each eval: this uses less memory, but is slower

    • type: boolean

    • values: on, off

    • default value: on

Perl Optionen

Sektionen in Datei perl.conf:

Sektion Steuerbefehl Beschreibung

look

/set perl.look.*

Erscheinungsbild.

Optionen:

  • perl.look.check_license

    • description: check the license of scripts when they are loaded: if the license is different from the plugin license, a warning is displayed

    • type: boolean

    • values: on, off

    • default value: off

  • perl.look.eval_keep_context

    • description: keep context between two calls to the source code evaluation (option "eval" of script command or info "%s_eval"); a hidden script is used to eval script code; if this option is disabled, this hidden script is unloaded after each eval: this uses less memory, but is slower

    • type: boolean

    • values: on, off

    • default value: on

Ruby Optionen

Sektionen in Datei ruby.conf:

Sektion Steuerbefehl Beschreibung

look

/set ruby.look.*

Erscheinungsbild.

Optionen:

  • ruby.look.check_license

    • description: check the license of scripts when they are loaded: if the license is different from the plugin license, a warning is displayed

    • type: boolean

    • values: on, off

    • default value: off

  • ruby.look.eval_keep_context

    • description: keep context between two calls to the source code evaluation (option "eval" of script command or info "%s_eval"); a hidden script is used to eval script code; if this option is disabled, this hidden script is unloaded after each eval: this uses less memory, but is slower

    • type: boolean

    • values: on, off

    • default value: on

Lua Optionen

Sektionen in Datei lua.conf:

Sektion Steuerbefehl Beschreibung

look

/set lua.look.*

Erscheinungsbild.

Optionen:

  • lua.look.check_license

    • description: check the license of scripts when they are loaded: if the license is different from the plugin license, a warning is displayed

    • type: boolean

    • values: on, off

    • default value: off

  • lua.look.eval_keep_context

    • description: keep context between two calls to the source code evaluation (option "eval" of script command or info "%s_eval"); a hidden script is used to eval script code; if this option is disabled, this hidden script is unloaded after each eval: this uses less memory, but is slower

    • type: boolean

    • values: on, off

    • default value: on

Tcl Optionen

Sektionen in Datei tcl.conf:

Sektion Steuerbefehl Beschreibung

look

/set tcl.look.*

Erscheinungsbild.

Optionen:

  • tcl.look.check_license

    • description: check the license of scripts when they are loaded: if the license is different from the plugin license, a warning is displayed

    • type: boolean

    • values: on, off

    • default value: off

  • tcl.look.eval_keep_context

    • description: keep context between two calls to the source code evaluation (option "eval" of script command or info "%s_eval"); a hidden script is used to eval script code; if this option is disabled, this hidden script is unloaded after each eval: this uses less memory, but is slower

    • type: boolean

    • values: on, off

    • default value: on

Guile Optionen

Sektionen in Datei guile.conf:

Sektion Steuerbefehl Beschreibung

look

/set guile.look.*

Erscheinungsbild.

Optionen:

  • guile.look.check_license

    • description: check the license of scripts when they are loaded: if the license is different from the plugin license, a warning is displayed

    • type: boolean

    • values: on, off

    • default value: off

  • guile.look.eval_keep_context

    • description: keep context between two calls to the source code evaluation (option "eval" of script command or info "%s_eval"); a hidden script is used to eval script code; if this option is disabled, this hidden script is unloaded after each eval: this uses less memory, but is slower

    • type: boolean

    • values: on, off

    • default value: 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 .