Ce manuel documente le client de messagerie instantanée WeeChat, il fait partie de WeeChat.

La dernière version de ce document peut être téléchargée sur cette page .

1. Introduction

WeeChat (Wee Enhanced Environment for Chat) est un client de discussion libre, rapide et léger, conçu pour différents systèmes d’exploitation.

1.1. Fonctionnalités

Ses principales fonctionnalités sont les suivantes :

  • multi-protocoles (principalement IRC)

  • connexion multi-serveurs (avec TLS, IPv6, proxy)

  • petit, rapide et léger

  • paramétrable et extensible avec des extensions et des scripts

  • conforme aux RFCs IRC 1459 , 2810 , 2811 , 2812 , 2813  et 7194 

  • proxy IRC et relai pour interfaces distantes

  • multi plates-formes (GNU/Linux, *BSD, macOS, Windows et d’autres systèmes)

  • 100% GPL, logiciel libre

La liste complète des fonctionnalités peut être trouvée sur cette page .

1.2. Prérequis

Pour installer WeeChat, vous devez avoir :

  • un système GNU/Linux (avec le compilateur et les outils associés pour le paquet des sources), ou un système compatible

  • droits "root" (pour installer WeeChat dans un répertoire système)

  • quelques bibliothèques (voir les dépendances).

2. Installation

2.1. Paquets binaires

Les paquets binaires sont disponibles pour beaucoup de distributions, dont :

  • Arch Linux : pacman -S weechat

  • Cygwin (Windows) : sélectionnez les paquets WeeChat dans setup.exe

  • Debian/Ubuntu (ou toute distribution compatible Debian) : apt-get install weechat-curses weechat-plugins
    Pour les dernières versions et les constructions nocturnes : dépôts Debian 

  • Fedora Core : dnf install weechat

  • FreeBSD : pkg install weechat

  • Gentoo : emerge weechat

  • Mandriva/RedHat (ou toute distribution compatible avec les RPM) : rpm -i /path/to/weechat-x.y.z-1.i386.rpm

  • openSUSE : zypper in weechat

  • Sourcemage : cast weechat

  • macOS (avec Homebrew ) : brew install weechat (pour l’aide : brew info weechat)

Des paquets additionnels peuvent être utiles également, comme weechat-plugins.

Pour les autres distributions supportées, merci de vous référer au manuel de la distribution pour la méthode d’installation.

2.2. Conteneurs

Des conteneurs avec WeeChat peuvent être construits ou installés directement depuis le Docker Hub .
Pour plus d’informations, voire le README dans le dépôt weechat-container .

2.3. Paquet source

WeeChat doit être construit avec CMake.

Sous macOS, vous pouvez utiliser Homebrew  : brew install --build-from-source weechat.

Dépendances

Le tableau suivant liste les paquets requis pour construire WeeChat :

Paquet (1) Version Fonctionnalités

compilateur C (gcc / clang)

Compilation des sources en C.

cmake

≥ 3.0

Construction.

pkg-config

Détection des bibliothèques installées.

libncurses-dev

Interface ncurses.

libcurl4-gnutls-dev

Transfert d’URL.

libgcrypt20-dev

Données sécurisées, authentification IRC SASL.

libgnutls28-dev

≥ 2.2.0 (2)

Extension IRC : support des connexions TLS, authentification IRC SASL (ECDSA-NIST256P-CHALLENGE).
Extension Relay : support des connexions TLS.

zlib1g-dev

Extension Logger : compression des fichiers de log qui tournent (gzip).
Extention Relay : compression des messages (WeeChat → client) avec zlib  (protocole weechat).
Extension Script : lecture du fichier d’index du dépôt (gzip).

(1) Le nom provient de la distribution GNU/Linux Debian Bookworm, la version et le nom peuvent être différents dans les autres distributions.
(2) GnuTLS ≥ 3.0.21 est requis pour l’authentification SASL avec le mécanisme ECDSA-NIST256P-CHALLENGE.

Le tableau suivant liste les paquets optionnels pour compiler WeeChat :

Paquet (1) Version Fonctionnalités

compilateur C++ (g++ / clang++)

Construction et lancement des tests, extension JavaScript.

gettext

Internationalisation (traduction des messages ; la langue de base est l’anglais).

ca-certificates

Certificats pour les connexions TLS.

libzstd-dev

≥ 0.8.1

Extension Logger : compression des fichiers de log qui tournent (zstandard).
Extension Relay : compression des messages (WeeChat → client) avec Zstandard  (protocole weechat).

libaspell-dev / libenchant-dev

Extension spell.

python3-dev

≥ 3.0

Extension python.

libperl-dev

Extension perl.

ruby3.1, ruby3.1-dev

≥ 1.9.1

Extension ruby.

liblua5.4-dev

Extension lua.

tcl-dev

≥ 8.5

Extension tcl.

guile-3.0-dev

≥ 2.0

Extension guile (scheme).

libv8-dev

≤ 3.24.3

Extension javascript.

php-dev

≥ 7.0

Extension PHP.

libphp-embed

≥ 7.0

Extension PHP.

libxml2-dev

Extension PHP.

libargon2-dev

Extension PHP (si PHP ≥ 7.2).

libsodium-dev

Extension PHP (si PHP ≥ 7.2).

asciidoctor

≥ 1.5.4

Construction de la page man et de la documentation.

ruby-pygments.rb

Construction de la documentation.

libcpputest-dev

≥ 3.4

Construction et lancement des tests.

(1) Le nom provient de la distribution GNU/Linux Debian Bookworm, la version et le nom peuvent être différents dans les autres distributions.

Si vous utilisez une distribution basée sur Debian ou Ubuntu, et si vous avez des entrées source "deb-src" dans votre fichier /etc/apt/sources.list, vous pouvez installer toutes les dépendances avec la commande :

# apt-get build-dep weechat

Construction

  • Installation dans les répertoires systèmes (nécessite les droits root) :

$ mkdir build
$ cd build
$ cmake ..
$ make
$ sudo make install
  • Installation dans un répertoire spécifique (par exemple dans votre "home") :

$ mkdir build
$ cd build
$ cmake .. -DCMAKE_INSTALL_PREFIX=/chemin/vers/répertoire
$ make
$ make install

Des options peuvent être utilisées pour CMake, avec le format : -DOPTION=VALUE.

Liste des options disponibles :

Option Valeurs Valeur par défaut Description

CMAKE_BUILD_TYPE

Debug, Release, RelWithDebInfo, MinSizeRel

Type de construction : Debug (ou RelWithDebInfo) est recommandé si vous utilisez une version de développement de WeeChat.

CMAKE_INSTALL_PREFIX

répertoire

/usr/local

Le répertoire dans lequel WeeChat sera installé.

WEECHAT_HOME

répertoire

(chaîne vide)

Le répertoire "maison" par défaut lors du lancement de WeeChat.
Avec une valeur vide (recommandé), les répertoires XDG sont utilisés par défaut. Si non vide, un répertoire unique est utilisé pour tous les fichiers. La valeur peut aussi être 4 répertoires séparés par ":", dans cet ordre : config, data, cache, runtime.

ENABLE_ALIAS

ON, OFF

ON

Compiler l’extension Alias.

ENABLE_BUFLIST

ON, OFF

ON

Compiler l’extension Buflist.

ENABLE_CHARSET

ON, OFF

ON

Compiler l’extension Charset.

ENABLE_MAN

ON, OFF

OFF

Construire la page man.

ENABLE_DOC

ON, OFF

OFF

Construire la documentation HTML.

ENABLE_DOC_INCOMPLETE

ON, OFF

OFF

Forcer la construction de la documentation même si des extensions ne sont pas compilées (déconseillé : les documentations seront incomplètes).

ENABLE_ENCHANT

ON, OFF

OFF

Compiler l’extension Spell avec Enchant.

ENABLE_EXEC

ON, OFF

ON

Compiler l’extension Exec.

ENABLE_FIFO

ON, OFF

ON

Compiler l’extension Fifo.

ENABLE_FSET

ON, OFF

ON

Compiler l’extension Fset.

ENABLE_GUILE

ON, OFF

ON

Compiler l’extension Guile (Scheme).

ENABLE_HEADLESS

ON, OFF

ON

Compiler le binaire sans interface (« headless »).

ENABLE_IRC

ON, OFF

ON

Compiler l’extension IRC.

ENABLE_JAVASCRIPT

ON, OFF

OFF

Compiler l’extension JavaScript.

ENABLE_LARGEFILE

ON, OFF

ON

Support des gros fichiers.

ENABLE_LOGGER

ON, OFF

ON

Compiler l’extension Logger.

ENABLE_LUA

ON, OFF

ON

Compiler l’extension Lua.

ENABLE_NCURSES

ON, OFF

ON

Compiler l’interface Ncurses.

ENABLE_NLS

ON, OFF

ON

Activer NLS (traductions).

ENABLE_PERL

ON, OFF

ON

Compiler l’extension Perl.

ENABLE_PHP

ON, OFF

ON

Compiler l’extension PHP.

ENABLE_PYTHON

ON, OFF

ON

Compiler l’extension Python.

ENABLE_RELAY

ON, OFF

ON

Compiler l’extension Relay.

ENABLE_RUBY

ON, OFF

ON

Compiler l’extension Ruby.

ENABLE_SCRIPT

ON, OFF

ON

Compiler l’extension Script.

ENABLE_SCRIPTS

ON, OFF

ON

Compiler les extensions de script (Python, Perl, Ruby, Lua, Tcl, Guile, PHP).

ENABLE_SPELL

ON, OFF

ON

Compiler l’extension Spell.

ENABLE_TCL

ON, OFF

ON

Compiler l’extension Tcl.

ENABLE_TRIGGER

ON, OFF

ON

Compiler l’extension Trigger.

ENABLE_TYPING

ON, OFF

ON

Compiler l’extension Typing.

ENABLE_XFER

ON, OFF

ON

Compiler l’extension Xfer.

ENABLE_ZSTD

ON, OFF

ON

Activer la compression Zstandard .

ENABLE_TESTS

ON, OFF

OFF

Compiler les tests.

ENABLE_CODE_COVERAGE

ON, OFF

OFF

Compiler avec les options de couverture de code.
Cette option ne devrait être utilisée que pour les tests, pour mesurer la couverture de tests.

Les autres options peuvent être affichées avec cette commande :

$ cmake -LA

Ou avec l’interface Curses :

$ ccmake ..

Tests

Les paquets suivants sont nécessaires pour compiler les tests :

  • libcpputest-dev

  • C++ compiler

Les tests doivent être activés pour compiler WeeChat :

$ cmake .. -DENABLE_TESTS=ON

Ils peuvent être lancés après compilation depuis le répertoire de construction :

$ ctest -V

2.4. Sources Git

Attention : les sources Git sont réservées aux utilisateurs avancés : il se peut que WeeChat ne compile pas et qu’il soit très instable. Vous êtes prévenus !

Pour récupérer les sources Git, tapez cette commande :

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

Suivez alors les instructions du paquet source (voir paquet source).

2.5. Rapporter les plantages

Si vous avez eu des plantages, ou si vous souhaitez rapporter tout plantage futur de WeeChat, vous devez :

  • Compiler avec :

    • les infos de debug (ou installer un paquet binaire avec les infos de debug),

    • la vérification des adresses (« address sanitizer ») (facultatif).

  • Activer les fichiers core sur votre système.

  • Installer gdb.

Construction en debug

Si vous compilez avec CMake :

$ cmake .. -DCMAKE_BUILD_TYPE=Debug

Vérification des adresses

Vous pouvez aussi activer la vérification des adresses (« address sanitizer »), ce qui provoquera immédiatement un plantage de WeeChat en cas de problème :

$ cmake .. -DCMAKE_BUILD_TYPE=Debug -DCMAKE_C_FLAGS=-fsanitize=address -DCMAKE_CXX_FLAGS=-fsanitize=address -DCMAKE_EXE_LINKER_FLAGS=-fsanitize=address
Vous ne devriez activer la vérification des adresses que si vous essayez de provoquer un plantage, ce qui n’est pas recommandé en production.

Une fois compilé et installé, vous devez lancer WeeChat comme ceci :

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

En cas de plantage, la trace se trouve dans le fichier asan.log.

Fichiers core

Pour activer les fichiers core, vous pouvez utiliser l’option weechat.startup.sys_rlimit :

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

Pour WeeChat ≤ 0.3.8 ou si vous voulez activer les fichiers core avant que WeeChat ne démarre, vous pouvez utiliser la commande ulimit.

Par exemple sous Linux avec le shell bash, ajoutez cette ligne dans votre ~/.bashrc :

ulimit -c unlimited

Ou une taille maximum :

ulimit -c 200000

Obtenir la trace avec gdb

Lorsque WeeChat se plante, votre système génère un fichier core ou core.12345 (12345 est l’identifiant du processus) si l’option est activée. Ce fichier est créé dans le répertoire où vous avez lancé WeeChat (ce n’est pas le répertoire où WeeChat est installé !).

Sur certains systèmes comme Archlinux, les fichiers core se trouvent dans un autre répertoire tel que /var/lib/systemd/coredump et vous devez utiliser la commande coredumpctl pour le lire.
Pour plus d’informations, voir cette page wiki .

Par exemple si weechat est installé dans /usr/bin/ et que le fichier core se trouve dans /home/user/, alors il faut lancer gdb avec cette commande :

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

Puis sous gdb, utilisez la commande bt full pour afficher la trace. Vous verrez quelque chose comme ceci :

(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/wee-hook.c:1364
        hook_process = 0x254eb90
        status = <value optimized out>
#5  0x000000000044cc7d in hook_timer_exec ()
    at /some_path/src/core/wee-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>

Vous devez envoyer cette trace aux développeurs, et leur indiquer quelle action a été la cause de ce plantage.

Merci pour votre aide !

Debug de WeeChat qui tourne

Pour déboguer WeeChat qui tourne (par exemple si WeeChat semble bloqué), vous pouvez utiliser gdb avec l’identifiant du processus (remplacez 12345 par le PID du processus weechat) :

gdb /usr/bin/weechat 12345

Ensuite comme pour un crash, utilisez la commande bt full :

(gdb) bt full

3. Lancement de WeeChat

Pour lancer WeeChat, tapez cette commande :

$ weechat

Lorsque vous lancez WeeChat pour la première fois, les fichiers de configuration par défaut sont créés dans ~/.config/weechat avec les options et valeurs par défaut (voir Fichiers et répertoires).

3.1. Options de ligne de commande

-a, --no-connect

Supprimer la connexion automatique aux serveurs lors du démarrage.

-c, --colors

Afficher les couleurs par défaut du terminal.

--daemon

Lancer WeeChat en tâche de fond, comme un daemon (fonctionne seulement avec la commande weechat-headless).

--stdout

Afficher les messages de log sur la sortie standard plutôt que de les écrire dans le fichier de log (fonctionne seulement avec la commande weechat-headless, non compatible avec l’option "--daemon").

-d, --dir <répertoire>

Forcer un unique répertoire pour tous les fichiers WeeChat (le répertoire est créé s’il n’est pas trouvé). Quatre répertoires peuvent être donnés, séparés par ":" (dans cet ordre : config, data, cache, runtime). Si cette option n’est pas donnée, la variable d’environnement WEECHAT_HOME est utilisée (si non vide).

-t, --temp-dir

Créer un répertoire de base WeeChat temporaire et le supprimer en quittant (incompatible avec l’option "-d").
Le nom du répertoire est automatiquement construit par WeeChat, avec ce modèle : "weechat_temp_XXXXXX" (où "XXXXXX" est aléatoire). Il est créé dans le premier répertoire disponible de cette liste : variable d’environnement "TMPDIR", "/tmp" (cela peut être différent selon le système d’exploitation), variable d’environnement "HOME", répertoire courant.
Le répertoire de base temporaire a les permissions 0700 (seul le propriétaire peut lire, écrire et exécuter).

-h, --help

Afficher l’aide.

-l, --license

Afficher la licence de WeeChat.

-p, --no-plugin

Supprimer le chargement automatique des extensions au démarrage.

-P, --plugins <extensions>

Charger uniquement ces extensions au démarrage (voir /help weechat.plugin.autoload). Si cette option est donnée, l’option weechat.plugin.autoload n’est pas utilisée.

-r, --run-command <commande>

Lancer la/les commande(s) après le démarrage ; plusieurs commandes peuvent être séparées par des points-virgules, cette option peut être donnée plusieurs fois.

-s, --no-script

Supprimer le chargement automatique des scripts au démarrage.

--upgrade

Mettre à jour WeeChat en utilisant les fichiers de session générés avec la commande /upgrade -quit.

-v, --version

Afficher la version de WeeChat.

extension:option

Option pour une extension.

Quelques options supplémentaires sont disponibles pour du debug seulement :

N’utilisez AUCUNE de ces options in production !
--no-dlclose

Do not call the function dlclose after plugins are unloaded. This is useful with tools like Valgrind to display stack for unloaded plugins.

--no-gnutls

Do not call the init and deinit functions of GnuTLS library. This is useful with tools like Valgrind and electric-fence, to prevent GnuTLS memory errors.

--no-gcrypt

Do not call the init and deinit functions of Gcrypt library. This is useful with tools like Valgrind, to prevent Gcrypt memory errors.

3.2. Variables d’environnement

Des variables d’environnement sont utilisées par WeeChat si elles sont définies :

Nom Description

WEECHAT_HOME

Le répertoire "maison" de WeeChat (avec les fichiers de configuration, logs, scripts, etc.). Même comportement que l’option CMake WEECHAT_HOME.

WEECHAT_PASSPHRASE

La phrase secrète utilisée pour déchiffrer les données sécurisées.

WEECHAT_EXTRA_LIBDIR

Un répertoire supplémentaire pour charger les extensions (depuis le répertoire "plugins" sous ce chemin).

3.3. Support des Couleurs

WeeChat peut utiliser jusqu’à 32767 paires de couleur pour afficher le texte dans les barres et la zone de discussion (votre terminal doit supporter 256 couleurs pour pouvoir les utiliser dans WeeChat).

Selon la valeur de la variable d’environnement TERM, vous pouvez avoir les limites suivantes pour les couleurs dans WeeChat :

$TERM Couleurs Paires

"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

Vous pouvez lancer weechat --colors ou utiliser la commande /color dans WeeChat pour afficher les limites de votre environnement.

Quelques valeurs recommandées pour TERM si vous voulez 256 couleurs :

  • sous screen : screen-256color

  • sous tmux : screen-256color ou tmux-256color

  • en dehors de screen/tmux : xterm-256color, rxvt-256color, putty-256color, …​

Si vous utilisez screen, vous pouvez ajouter cette ligne dans votre ~/.screenrc :

Vous devrez peut-être installer le paquet "ncurses-term" pour utiliser ces valeurs dans la variable TERM.
term screen-256color

Si votre variable TERM a une valeur erronée et que WeeChat est déjà lancé, vous pouvez la changer avec ces deux commandes :

/set env TERM screen-256color
/upgrade

3.4. Fichiers et répertoires

XDG directories

WeeChat utilise les répertoires XDG par défaut (selon la spécification "XDG Base Directory" ).
Un répertoire de base unique pour tous les fichiers peut être forcé par l’option CMake WEECHAT_HOME, la variable d’environnement WEECHAT_HOME ou l’option de ligne de commande -d / --dir.

Lorsqu’un répertoire de base unique n’est pas forcé, les répertoires XDG sont utilisés et déterminés ainsi :

Répertoire Valeur par défaut Valeur de repli si $XDG_XXX n’est pas définie

config

$XDG_CONFIG_HOME/weechat

$HOME/.config/weechat

data

$XDG_DATA_HOME/weechat

$HOME/.local/share/weechat

cache

$XDG_CACHE_HOME/weechat

$HOME/.cache/weechat

runtime

$XDG_RUNTIME_DIR/weechat

Identique au répertoire cache

Les fichiers de configuration sont créés avec les valeurs par défaut la première fois que vous lancez WeeChat.

Répertoires de WeeChat

Les répertoires de WeeChat sont :

Chemin (1) Description

~/.config/weechat/

Fichiers de configuration WeeChat : *.conf, certificats, etc.

~/.local/share/weechat/

Fichiers de données WeeChat : logs, scripts, données des scripts, fichiers xfer, etc.

   logs/

Fichiers de log (un fichier par tampon).

   python/

Scripts Python.

      autoload/

Scripts Python chargés automatiquement au démarrage (2).

   perl/

Scripts Perl.

      autoload/

Scripts Perl chargés automatiquement au démarrage (2).

   ruby/

Scripts Ruby.

      autoload/

Scripts Ruby chargés automatiquement au démarrage (2).

   lua/

Scripts Lua.

      autoload/

Scripts Lua chargés automatiquement au démarrage (2).

   tcl/

Scripts Tcl.

      autoload/

Scripts Tcl chargés automatiquement au démarrage (2).

   guile/

Scripts Guile.

      autoload/

Scripts Guile chargés automatiquement au démarrage (2).

   javascript/

Scripts JavaScript.

      autoload/

Scripts JavaScript chargés automatiquement au démarrage (2).

   php/

Scripts PHP.

      autoload/

Scripts PHP chargés automatiquement au démarrage (2).

~/.cache/weechat/

Fichiers de cache WeeChat : cache des scripts.

/run/user/1000/weechat/

Fichiers "runtime" WeeChat : tube FIFO, sockets UNIX Relay.

(1) Les répertoires XDG peuvent être différents selon vos variables d’environnement XDG_*.
(2) Ce répertoire contient souvent seulement des liens symboliques vers les scripts dans le répertoire parent.

Fichiers de WeeChat

Les fichiers dans le répertoire principal de WeeChat sont :

Fichier Description Données sensibles

weechat.conf

Fichier de configuration principal de WeeChat

Possible (par exemple : liste des canaux sauvés dans la disposition des tampons).

sec.conf

Fichier de configuration avec les données sécurisées

Oui, très sensibles : ce fichier ne doit jamais être partagé avec quiconque.

plugins.conf

Fichier de configuration des extensions

Possible, cela dépend des extensions/scripts.

alias.conf

Fichier de configuration de l’extension alias

Possible, cela dépend des alias.

buflist.conf

Fichier de configuration de l’extension buflist

Non.

charset.conf

Fichier de configuration de l’extension charset

Non.

exec.conf

Fichier de configuration de l’extension exec

Non.

fifo.conf

Fichier de configuration de l’extension fifo

Non.

fset.conf

Fichier de configuration de l’extension fset

Non.

guile.conf

Fichier de configuration de l’extension guile

Non.

irc.conf

Fichier de configuration de l’extension irc

Oui : il peut contenir des mots de passes pour les serveurs, nickserv et les canaux (si non stockés dans sec.conf).

javascript.conf

Fichier de configuration de l’extension javascript

Non.

logger.conf

Fichier de configuration de l’extension logger

Non.

lua.conf

Fichier de configuration de l’extension lua

Non.

perl.conf

Fichier de configuration de l’extension perl

Non.

php.conf

Fichier de configuration de l’extension php

Non.

python.conf

Fichier de configuration de l’extension python

Non.

relay.conf

Fichier de configuration de l’extension relay

Oui : il peut contenir le mot de passe relay et le secret TOTP (si non stockés dans sec.conf), les adresses IP/origines websocket autorisées et les ports ouverts.

ruby.conf

Fichier de configuration de l’extension ruby

Non.

script.conf

Fichier de configuration de l’extension script

Non.

tcl.conf

Fichier de configuration de l’extension tcl

Non.

spell.conf

Fichier de configuration de l’extension spell

Non.

trigger.conf

Fichier de configuration de l’extension trigger

Possible, cela dépend des triggers.

typing.conf

Fichier de configuration de l’extension typing

Non.

xfer.conf

Fichier de configuration de l’extension xfer

Non.

weechat.log

Fichier de log WeeChat

Non.

Il n’est pas recommandé de modifier les fichiers de configuration à la main car WeeChat peut les écrire à tout moment (par exemple sur /quit) et après chaque changement vous devez lancer la commande /reload (avec le risque de perdre d’autres changements qui n’auraient pas été sauvés avec /save).
Vous pouvez utiliser la commande /set, qui vérifie la valeur et applique les changements immédiatement.

4. Mise à jour

Si une nouvelle version stable de WeeChat est disponible, il est temps pour vous de passer à cette version.

Avant toute chose, vous devez installer la nouvelle version de WeeChat, soit via votre gestionnaire de paquets ou en le compilant vous-même, de telle sorte que le nouveau binaire weechat et tous les fichiers requis sont dans les mêmes répertoires.
Cela peut être fait pendant que WeeChat tourne.

4.1. Commande de mise à jour

WeeChat peut redémarrer le nouveau binaire avec la commande /upgrade : le contenu des tampons et les connexions non TLS sont préservées.
Les connexions TLS sont perdues pendant la mise à jour et sont automatiquement rétablies après la mise à jour (le rechargement des sessions TLS n’est pas possible actuellement avec GnuTLS).

La commande peut aussi être utilisée si vous devez redémarrer la machine, par exemple pour mettre à jour le noyau ou déplacer WeeChat vers une autre machine :

/upgrade -quit

Cela sauvegarde l’état actuel dans des fichiers *.upgrade. Vous pouvez soit rebooter ou déplacer les répertoires WeeChat (config, data, cache) vers une autre machine, et redémarrer WeeChat plus tard avec cette commande :

$ weechat --upgrade

4.2. Redémarrage après mise à jour

Notes de version

Après une mise à jour, il est fortement recommandé de lire les notes de version  qui contiennent des informations importantes sur les changements majeurs et quelques actions manuelles qui pourraient être nécessaires.

Vous devez lire les notes des versions entre votre version ancienne (exclue) et votre nouvelle version (incluse).
Par exemple si vous passez de la version 3.0 à 3.2, vous devez lire les notes des versions 3.1 et 3.2.

Mise à jour de la configuration

WeeChat a un système de mise à jour automatique des fichiers de configuration (*.conf) :

  • les nouvelles options sont silencieusement ajoutées avec la valeur par défaut

  • les options obsolètes sont automatiquement supprimées et WeeChat affiche un avertissement avec la valeur lue dans le fichier.

Exemple d’avertissement lorsqu’une option a été supprimée :

=!= Attention : /home/user/.config/weechat/sec.conf, ligne 15 : option inconnue pour la section "crypt" : passphrase_file = ""

Cela signifie que l’option sec.crypt.passphrase_file a été supprimée, et vous aviez la valeur définie à une chaîne vide, ce qui était la valeur par défaut dans la version précédente (dans ce cas aucune action manuelle n’est nécessaire).

5. Interface

5.1. Organisation de l’écran

Exemple de terminal avec WeeChat :

 ▼ barre "buflist"   ▼ barre "title"
┌──────────────────────────────────────────────────────────────────────────────────────┐
│1.libera │Bienvenue sur #test, canal de test                                          │
│  weechat│12:52:27   --> | Flashy (flashcode@weechat.org) a rejoint #test     │@Flashy│
│2.  #test│12:52:27    -- | Pseudos #test: [@Flashy @joe +weebot peter]        │@joe   │
│3.  #abc │12:52:27    -- | Canal #test: 4 pseudos (2 ops, 1 voice, 1 normal)  │+weebot│
│4.  #def │12:52:27    -- | Canal créé le Tue Jan 27 06:30:17 2009             │peter  │
│5.  #ghi │12:54:15 peter | bonjour !                                          │       │
│         │12:55:01  @joe | salut                                              │       │
│         │                                                                    │       │
│         │                                                                    │       │
│         │                                                                    │       │
│         │                                                                    │       │
│         │                                                                    │       │
│         │                                                                    │       │
│         │                                                                    │       │
│         │                                                                    │       │
│         │                                                                    │       │
│         │                                                                    │       │
│         │                                                                    │       │
│         │                                                                    │       │
│         │                                                                    │       │
│         │                                                                    │       │
│         │[12:55] [5] [irc/libera] 2:#test(+n){4}* [H: 3:#abc(2,5), 5]                │
│         │[@Flashy(i)] salut peter !█                                                 │
└──────────────────────────────────────────────────────────────────────────────────────┘
            ▲ barres "status" et "input"                            barre "nicklist" ▲

Par défaut, l’écran est composé des zones suivantes :

  • zone de discussion (milieu de l’écran) avec les lignes de discussion, et pour chaque ligne :

    • heure

    • préfixe (avant "|")

    • message (après "|")

  • barres autour de la zone de discussion, les barres par défaut sont :

    • barre buflist, sur la gauche

    • barre title, au dessus de la zone de discussion

    • barre status, sous la zone de discussion

    • barre input, sous la barre de statut

    • barre nicklist, sur la droite

La barre buflist contient les objets (items) suivants par défaut :

Objet (item) Exemple Description

buflist

1.weechat

Liste des tampons.

La barre title contient les objets (items) suivants par défaut :

Objet (item) Exemple Description

buffer_title

Bienvenue sur #test

Titre du tampon.

La barre status contient les objets (items) suivants par défaut :

Objet (item) Exemple Description

time

[12:55]

Heure.

buffer_last_number

[5]

Numéro du dernier tampon de la liste.

buffer_plugin

[irc/libera]

Extension du tampon courant (l’extension irc peut afficher le nom du serveur IRC auquel est rattaché ce tampon).

buffer_number

2

Numéro du tampon courant.

buffer_name

#test

Nom du tampon courant.

buffer_modes

+n

Modes du canal IRC.

buffer_nicklist_count

{4}

Nombre de pseudos affichés dans la liste des pseudos.

buffer_zoom

!

! signifie que le tampon mélangé est zoomé, une valeur vide signifie que tous les tampons mélangés sont affichés.

buffer_filter

*

Indicateur de filtrage : * signifie que des lignes sont filtrées (cachées), une valeur vide signifie que toutes les lignes sont affichées.

scroll

-PLUS(50)-

Indicateur de scroll, avec le nombre de lignes sous la dernière ligne affichée.

lag

[Lag: 2.5]

Indicateur de "lag" (ralentissements réseau), en secondes (caché si le lag est faible).

hotlist

[H: 3:#abc(2,5), 5]

Liste des tampons où il y a de l’activité (messages non lus) (dans cet exemple, 2 highlights et 5 messages non lus sur #abc, un message non lu sur le tampon numéro 5).

completion

abc(2) def(5)

Liste des mots pour la complétion, avec le nombre de complétions possibles pour chaque mot.

La barre input contient les objets (items) suivants par défaut :

Objet (item) Exemple Description

input_prompt

[@Flashy(i)]

Prompt, pour irc : pseudo et modes (le mode "+i" signifie invisible sur libera).

away

(absent)

Indicateur d’absence.

input_search

[Recherche lignes (~ str,msg)]

Indicateur de recherche de texte (voir ci-dessous).

input_paste

[Coller 7 lignes ? [ctrl-y] Oui [ctrl-n] Non]

Question à l’utilisateur pour coller des lignes.

input_text

salut peter !

Texte entré.

Il y a deux modes de recherche :

  • recherche dans les lignes, par exemple [Recherche lignes (~ str,msg)], avec les informations suivantes :

    • ~ : insensible à la casse

    • == : sensible à la casse

    • str : recherche de chaîne

    • regex : recherche d’expression régulière

    • msg : recherche dans les messages

    • pre : recherche dans les préfixes

    • pre\|msg : recherche dans les préfixes et messages

  • recherche dans l’historique de commandes, par exemple [Recherche commande (~ str,local)], avec les informations suivantes :

    • ~ : insensible à la casse

    • == : sensible à la casse

    • str : recherche de chaîne

    • regex : recherche d’expression régulière

    • local : recherche dans l’historique local du tampon

    • global : recherche dans l’historique global.

La barre nicklist contient les objets (items) suivants par défaut :

Objet (item) Exemple Description

buffer_nicklist

@Flashy

Liste des pseudos sur le tampon courant.

Autres objets (non utilisés dans des barres par défaut) :

Objet (item) Exemple Description

buffer_count

10

Nombre total de tampons ouverts.

buffer_last_number

10

Numéro du dernier tampon (peut être différent de buffer_count si l’option weechat.look.buffer_auto_renumber est off).

buffer_nicklist_count_all

4

Nombre de groupes et pseudos visibles dans la liste de pseudos.

buffer_nicklist_count_groups

0

Nombre de groupes visibles dans la liste de pseudos.

buffer_short_name

#test

Nom court du tampon courant.

buflist2

1.weechat

Liste des tampons, deuxième objet de barre (voir l’option buflist.look.use_items).

buflist3

1.weechat

Liste des tampons, troisième objet de barre (voir l’option buflist.look.use_items).

buflist4

1.weechat

Liste des tampons, quatrième objet de barre (voir l’option buflist.look.use_items).

buflist5

1.weechat

Liste des tampons, cinquième objet de barre (voir l’option buflist.look.use_items).

fset

buflist.look.sort: …

Aide sur l’option sélectionnée dans le tampon fset.

irc_channel

#test

Nom de canal IRC courant.

irc_host

user@host.com

Hôte sur IRC.

irc_nick

Flashy

Pseudo IRC.

irc_nick_host

Flashy!user@host.com

Pseudo et hôte IRC.

irc_nick_modes

i

Modes IRC pour le pseudo.

irc_nick_prefix

@

Préfixe de pseudo IRC sur le canal.

mouse_status

M

Statut de la souris (vide si la souris est désactivée).

spell_dict

fr,en

Dictionnaires utilisés pour la vérification de l’orthographe sur le tampon courant.

spell_suggest

print,prone,prune

Suggestions pour le mot sous le curseur (si mal orthographié).

tls_version

TLS1.3

Version de TLS utilisée sur le serveur IRC courant.

window_number

2

Numéro de la fenêtre courante.

Chaque aspect de la disposition peut être configuré par la command appropriée : /bar pour configurer les barres, /buffer et /window pour configurer les tampons et fenêtres, et /layout pour nommer, sauver et restaurer la disposition de l’écran et l’association entre les fenêtres et les tampons.

5.2. Ligne de commande

La ligne de commande WeeChat (située en bas de la fenêtre) permet d’exécuter des commandes ou d’envoyer du texte vers le tampon.

Syntaxe

Les commandes débutent par un caractère "/", suivi du nom de la commande. Par exemple pour afficher la liste de toutes les options :

/set

Le texte envoyé à un tampon est tout texte ne commençant pas par le caractère "/", par exemple pour envoyer bonjour sur le tampon courant :

bonjour

Il est cependant possible de faire débuter un texte par "/" en le doublant. Par exemple pour envoyer le texte /set sur le tampon courant :

//set

Codes couleurs

Pour certaines extensions comme IRC, il est possible d’utiliser des codes couleur et attributs comme suit (appuyer sur Ctrl+c puis sur la lettre qui suit et éventuellement une valeur) :

Touche Description

Ctrl+c, b

Texte gras.

Ctrl+c, c, xx

Couleur du texte xx (voir la liste des couleurs ci-dessous).

Ctrl+c, c, xx, ,, yy

Couleur du texte xx et du fond yy (voir la liste des couleurs ci-dessous).

Ctrl+c, d, xxxxxx

Couleur du texte xxxxxx (RGB en hexadécimal, par exemple FF0000 pour du rouge).

Ctrl+c, d, xxxxxx, ,, yyyyyy

Couleur du texte xxxxxx et du fond yyyyyy (RGB en hexadécimal).

Ctrl+c, i

Texte en italique.

Ctrl+c, o

Désactiver la couleur et tous les attributs.

Ctrl+c, v

Vidéo inverse (inversion de la couleur d’écriture et du fond).

Ctrl+c, _

Texte souligné.

Le même code (sans le numéro pour Ctrl+c, c et Ctrl+c, d) peut être utilisé pour stopper l’attribut défini.

Les codes couleur pour Ctrl+c, c sont :

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

Pour voir toutes les couleurs disponibles dans votre terminal, vous pouvez taper /color puis Alt+c dans WeeChat ou lancez cette commande dans le terminal : weechat --colors.

Exemple : affichage de "bonjour Alice !" avec "bonjour" en bleu clair gras, et "Alice" en rouge clair souligné :

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

Touches :

Ctrl+c c 1 2 Ctrl+c b
b o n j o u r Espace
Ctrl+c b Ctrl+c c 0 4 Ctrl+c _
A l i c e
Ctrl+c _ Ctrl+c c
Espace !

Dans l’extension irc, vous pouvez réassigner les couleurs en utilisant l’option irc.color.mirc_remap.

5.3. Tampons et fenêtres

Un tampon (buffer) est composé d’un numéro, un nom, des lignes affichées (ainsi que d’autres données).

Exemples de tampons :

  • tampon core (créé par WeeChat au démarrage, ne peut pas être fermé)

  • serveur irc (affiche les messages du serveur)

  • canal irc

  • messages privés irc

Une fenêtre (window) est une zone de l’écran affichant un tampon. Il est possible de découper l’écran horizontalement ou verticalement en plusieurs fenêtres (exemples ci-dessous, voir la commande /window pour plus d’informations).

Chaque fenêtre affiche un tampon. Un tampon peut être caché (affiché par aucune fenêtre) ou affiché par une ou plusieurs fenêtres.

Les dispositions d’écran et l’association entre les fenêtres et les tampons peuvent être sauvées et restaurées.

Exemples

Exemple de découpage horizontal (/window splith) :

                               ▼ fenêtre n°2 (tampon n°4)
┌──────────────────────────────────────────────────────────────────────────────────────┐
│1.libera │Bienvenue sur #def                                                          │
│  weechat│12:55:12     Max | bonjour                                          │@Flashy│
│2.  #test│12:55:20 @Flashy | salut Max !                                      │Max    │
│3.  #abc │                                                                    │       │
│4.  #def │                                                                    │       │
│5.  #ghi │                                                                    │       │
│         │                                                                    │       │
│         │                                                                    │       │
│         │                                                                    │       │
│         │[12:55] [5] [irc/libera] 4:#def(+n){2}                                      │
│         │[@Flashy]                                                                   │
│         │────────────────────────────────────────────────────────────────────────────│
│         │Bienvenue sur #abc                                                          │
│         │12:54:15 peter | ohé !                                              │@Flashy│
│         │12:55:01  @joe | salut                                              │@joe   │
│         │                                                                    │+weebot│
│         │                                                                    │peter  │
│         │                                                                    │       │
│         │                                                                    │       │
│         │                                                                    │       │
│         │                                                                    │       │
│         │[12:55] [5] [irc/libera] 3:#abc(+n){4}                                      │
│         │[@Flashy] salut peter !█                                                    │
└──────────────────────────────────────────────────────────────────────────────────────┘
                               ▲ fenêtre n°1 (tampon n°3)

Exemple de découpage vertical (/window splitv) :

┌──────────────────────────────────────────────────────────────────────────────────────┐
│1.libera │Bienvenue sur #abc                   │Bienvenue sur #def                    │
│  weechat│12:54:15 peter | ohé !       │@Flashy│12:55:12     Max | bonjour    │@Flashy│
│2.  #test│12:55:01  @joe | salut       │@joe   │12:55:20 @Flashy | salut 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] salut peter !█             │[@Flashy]                             │
└──────────────────────────────────────────────────────────────────────────────────────┘
                 ▲ fenêtre n°1 (tampon n°3)            ▲ fenêtre n°2 (tampon n°4)

Exemple de découpage vertical + horizontal :

                                                       ▼ fenêtre n°3 (tampon n°5)
┌──────────────────────────────────────────────────────────────────────────────────────┐
│1.libera │Bienvenue sur #abc                   │Bienvenue sur #ghi                    │
│  weechat│12:54:15 peter | ohé !       │@Flashy│12:55:42 @Flashy | salut      │@Flashy│
│2.  #test│12:55:01  @joe | salut       │@joe   │12:55:56    alex | salut      │alex   │
│3.  #abc │                             │+weebot│                              │       │
│4.  #def │                             │peter  │                              │       │
│5.  #ghi │                             │       │                              │       │
│         │                             │       │                              │       │
│         │                             │       │                              │       │
│         │                             │       │                              │       │
│         │                             │       │[12:55] [5] [irc/libera] 5:#ghi(+n)   │
│         │                             │       │[@Flashy]                             │
│         │                             │       │──────────────────────────────────────│
│         │                             │       │Bienvenue sur #def                    │
│         │                             │       │12:55:12     Max | bonjour    │@Flashy│
│         │                             │       │12:55:20 @Flashy | salut Max  │Max    │
│         │                             │       │                              │       │
│         │                             │       │                              │       │
│         │                             │       │                              │       │
│         │                             │       │                              │       │
│         │                             │       │                              │       │
│         │                             │       │                              │       │
│         │[12:55] [5] [irc/libera] 3:#abc(+n)  │[12:55] [5] [irc/libera] 4:#def(+n)   │
│         │[@Flashy] salut peter !█             │[@Flashy]                             │
└──────────────────────────────────────────────────────────────────────────────────────┘
                 ▲ fenêtre n°1 (tampon n°3)            ▲ fenêtre n°2 (tampon n°4)

Affichage dépouillé

Un affichage spécial, appelé "dépouillé" (bare display) peut être utilisé pour un clic facile sur les URLs longs et la sélection de texte (avec la souris).

L’affichage dépouillé a les caractéristiques suivantes :

  • Il n’affiche que le contenu du tampon courant : pas de découpage de fenêtres ni de barre (pas de titre, liste de pseudos, statut, ligne de commande, …​).

  • Le support souris de WeeChat est désactivé (s’il avait été activé) : vous pouvez utiliser votre souris comme vous le faites dans le terminal pour cliquer sur les URLs et sélectionner du texte.

  • Ncurses n’est pas utilisé, par conséquent les URLs ne sont pas coupés en fin de ligne.

La touche par défaut pour activer l’affichage dépouillé est Alt+l (L), et la même touche pour en sortir (ou par défaut tout changement dans la ligne de commande sortira de l’affichage dépouillé, voir l’option weechat.look.bare_display_exit_on_input).

Le format de l’heure peut être personnalisé avec l’option weechat.look.bare_display_time_format.

L’affichage dépouillé peut être activé pour un temps donné en utilisant la commande /window.

Si WeeChat ressemble à ceci :

┌──────────────────────────────────────────────────────────────────────────────────────┐
│1.libera │Bienvenue sur #abc                                                          │
│  weechat│12:52:27   --> | Flashy (flashcode@weechat.org) a rejoint #abc      │@Flashy│
│2.  #test│12:52:27    -- | Pseudos #abc: [@Flashy @joe +weebot peter]         │@joe   │
│3.  #abc │12:52:27    -- | Canal #abc: 4 pseudos (2 ops, 1 voice, 1 normal)   │+weebot│
│4.  #def │12:52:27    -- | Canal créé le Tue Jan 27 06:30:17 2009             │peter  │
│5.  #ghi │12:54:15 peter | bonjour !                                          │       │
│         │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)] salut peter !█                                                 │
└──────────────────────────────────────────────────────────────────────────────────────┘

L’écran ressemblera à ça en mode dépouillé :

┌──────────────────────────────────────────────────────────────────────────────────────┐
│                                                                                      │
│                                                                                      │
│                                                                                      │
│                                                                                      │
│                                                                                      │
│                                                                                      │
│                                                                                      │
│                                                                                      │
│                                                                                      │
│                                                                                      │
│                                                                                      │
│                                                                                      │
│                                                                                      │
│                                                                                      │
│                                                                                      │
│                                                                                      │
│12:52 --> Flashy (flashcode@weechat.org) a rejoint #abc                               │
│12:52 -- Pseudos #abc: [@Flashy @joe +weebot peter]                                   │
│12:52 -- Canal #abc: 4 pseudos (2 ops, 1 voice, 1 normal)                             │
│12:52 -- Canal créé le Tue Jan 27 06:30:17 2009                                       │
│12:54 <peter> bonjour !                                                               │
│12:55 <@joe> peter: hook_process: https://weechat.org/files/doc/weechat/devel/weechat_│
│plugin_api.en.html#_weechat_hook_process                                              │
└──────────────────────────────────────────────────────────────────────────────────────┘

Donc vous pouvez cliquer l’URL de joe sans problème dans votre terminal (bien entendu cela suppose que votre terminal permet le clic sur les URLs).

5.4. Tampons

Format des lignes

Les lignes affichées dans les tampons formatés ont les champs suivants :

Champ Affiché Description

date/heure (message)

Oui

Date/heure du message (peut être dans le passé).

date/heure (print)

Non

Date/heure lorsque WeeChat affiche le message.

préfixe

Oui

Préfixe du message, couramment un pseudo.

message

Oui

Le message lui-même.

affichée

Non

Booléen : vrai si la ligne est affichée, faux si la ligne est filtrée avec la commande /filter.

highlight

Non

Booléen : vrai si la ligne a un highlight, faux sinon.

étiquettes

Avec /debug tags

Étiquettes associées avec la ligne (voir les étiquettes des lignes).

L’affichage des lignes peut être personnalisé avec des nombreuses options de présentation (weechat.look.*) et de couleur (weechat.color.chat_*).

Étiquettes des lignes

WeeChat utilise des étiquettes (« tags ») dans les lignes pour différentes raisons :

  • highlight

  • niveau de notification

  • enregistrement (« log »)

  • utilisation de la commande /filter

Les étiquettes peuvent être affichées avec la commande /debug tags (même commande pour les cacher).

Les étiquettes couramment utilisées (liste non exhaustive) :

Étiquette Description

no_filter

La ligne ne peut pas être filtrée.

no_highlight

Aucun highlight n’est possible sur cette ligne.

no_log

La ligne n’est pas écrite dans le fichier de log.

log0 … log9

Niveau de log pour la ligne (voir /help logger).

notify_none

La ligne ne doit pas être ajoutée à la "hotlist". (1)

notify_message

La ligne est un message utilisateur. (1)

notify_private

La ligne est un message privé. (1)

notify_highlight

La ligne est un message avec un highlight. (1)

self_msg

Message de soi-même.

nick_xxx

Le message vient du pseudo "xxx".

prefix_nick_ccc

Le préfixe est un pseudo avec la couleur "ccc".

host_xxx

Nom d’utilisateur et hôte dans le message.

irc_xxx

Message IRC "xxx" (peut-être une commande ou un numérique sur 3 chiffres).

irc_numeric

Message IRC numérique.

irc_error

Erreur du serveur IRC.

irc_action

Action d’un pseudo (commande /me).

irc_ctcp

Message CTCP.

irc_ctcp_reply

Réponse à un message CTCP.

irc_smart_filter

Message IRC qui peut être filtré avec le "smart filter" (filtre intelligent).

away_info

Message avec une info d’absence.

(1) Lorsque aucune étiquette "notify_xxx" n’est présente, le niveau de notification par défaut est "low". Si une étiquette "notify_xxx" est présente, le niveau de notification réel peut être différent, par exemple si un niveau maximum de hotlist est utilisé pour un pseudo, le niveau de notification peut être inférieur à la valeur de l’étiquette.

Variables locales

Des variables locales peuvent être définies dans les tampons.

Une variable locale a :

  • un nom (chaîne)

  • une valeur (chaîne, peut être vide).

Les variables locales peuvent être définies par WeeChat, les extensions, les scripts, ou manuellement sur la ligne de commande, dans le tampon.

Par exemple pour ajouter la variable locale "completion_default_template" :

/buffer setvar completion_default_template %(my_completion)

Pour afficher les variables locales du tampon courant :

/buffer listvar

Pour supprimer la variable locale "completion_default_template" :

/buffer delvar completion_default_template

Par défaut WeeChat et ses extensions par défaut interprètent ces variables :

Nom Valeur Description

away

toute chaîne

Message d’absence sur le serveur, défini par l’extension irc.

channel

toute chaîne

Nom du canal, défini par les extensions irc/xfer et le tampon de debug des extensions relay/trigger.

charset_modifier

toute chaîne

Modificateur de charset du tampon serveur, défini par l’extension irc.

completion_default_template

toute chaîne

Modèle de complétion par défaut pour le tampon, qui remplace l’option weechat.completion.default_template.

filter

toute chaîne

Filtre défini sur certains tampons comme /fset, /list (irc), /server raw (irc) et /script.

host

toute chaîne

Nom d’hôte personnel (si connu), défini par l’extension irc.

lag

toute chaîne

Lag sur le serveur, défini par l’extension irc.

name

toute chaîne

Nom du tampon (attention, ce n’est pas le nom complet du tampon et ce nom n’est pas suffisant pour identifier ou chercher un tampon).

nick

toute chaîne

Pseudo personnel, défini par les extensions irc et xfer.

no_log

1 (or any non-empty string)

Si défini, l’extension logger n’écrira pas le "log" du tampon sur disque.

plugin

toute chaîne

Nom de l’extension qui a créé le tampon (core pour les tampons WeeChat).

script_close_cb

toute chaîne

Nom de la fonction de rappel pour la fermeture, défini par un script pour le tampon.

script_close_cb_data

toute chaîne

Données pour la fonction de rappel pour la fermeture, définies par un script pour le tampon.

script_input_cb

toute chaîne

Nom de la fonction de rappel d’entrée, défini par un script pour le tampon.

script_input_cb_data

toute chaîne

Données pour la fonction de rappel d’entrée, définies par un script pour le tampon.

script_name

toute chaîne

Nom du script qui a créé le tampon.

server

toute chaîne

Nom du serveur, défini par l’extension irc et le tampon de debug des extensions relay/trigger.

spell_suggest

toute chaîne

Mot mal orthographié et ses suggestions (format : "mot:suggestions"), défini par l’extension spell.

trigger_filter

toute chaîne

Filtre trigger, défini par l’extension trigger.

type

toute chaîne, par exemple : channel, debug, exec, option, private, relay, script, server, user, xfer

Type de tampon, défini par WeeChat et plusieurs extensions.

Les extensions et script externes peuvent définir et utiliser d’autres variables locales.

5.5. Liste des tampons

L’extension Buflist affiche une liste des tampons dans un objet de barre appelé "buflist" (quatre autres objets de barre "buflist2", "buflist3", "buflist4" et "buflist5" sont également disponibles).
Une barre par défaut "buflist" est créée au démarrage avec cet objet de barre.

Commandes

  • 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)

Options

Sections dans le fichier buflist.conf :

Section Commande de contrôle Description

format

/set buflist.format.*

Formats utilisés pour l’affichage de la liste des tampons.

look

/set buflist.look.*

Aspect/présentation.

Options :

  • 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.creation_time.tv_sec,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. Mode curseur

Le mode curseur vous permet de déplacer librement le curseur partout sur l’écran, dans la zone de discussion et les barres, et vous permet d’effectuer des actions à la position donnée.
Vous pouvez entrer dans le mode curseur avec la commande /cursor ou avec un clic du milieu sur la souris (la souris doit avoir été activée avec la touche Alt+m ou la commande /mouse enable).

L’utilisation typique est de citer des messages (zone de discussion) ou d’interagir avec des pseudos (barre avec la liste de pseudos).

Voir la commande /cursor et les touches du contexte curseur pour la liste des actions que vous pouvez effectuer dans ce mode.

6. Raccourcis clavier

WeeChat fournit beaucoup de raccourcis clavier par défaut, listés dans les chapitres suivants.
Ils peuvent être modifiés et de nouveaux peuvent être ajoutés avec la commande /key.

6.1. Ligne de commande

Mouvement du curseur

Touche Description Commande


Shift+
Ctrl+b

Aller au caractère précédent sur la ligne de commande.

/input move_previous_char


Shift+
Ctrl+f

Aller au caractère suivant sur la ligne de commande.

/input move_next_char

Shift+

Aller à la ligne précédente.

/input move_previous_line

Shift+

Aller à la ligne suivante.

/input move_next_line

Ctrl+
Alt+b

Aller au mot précédent sur la ligne de commande.

/input move_previous_word

Ctrl+
Alt+f

Aller au mot suivant sur la ligne de commande.

/input move_next_word

Home
Ctrl+a

Aller au début de la ligne courante.

/input move_beginning_of_line

Shift+Home

Aller au début de la ligne de commande.

/input move_beginning_of_input

End
Ctrl+e

Aller à la fin de la ligne courante.

/input move_end_of_line

Shift+End

Aller à la fin de la ligne de commande.

/input move_end_of_input

Édition

Touche Description Commande

Del
Ctrl+d

Effacer le caractère suivant sur la ligne de commande.

/input delete_next_char

Backspace
Ctrl+h

Effacer le caractère précédent sur la ligne de commande.

/input delete_previous_char

Ctrl+k

Effacer du curseur jusqu’à la fin de la ligne courante (la chaîne supprimée est copiée dans le presse-papiers interne).

/input delete_end_of_line

Alt+Ctrl+k

Effacer du curseur jusqu’à la fin de la ligne de commande (la chaîne supprimée est copiée dans le presse-papiers interne).

/input delete_end_of_input

Ctrl+t

Inverser deux caractères.

/input transpose_chars

Ctrl+u

Effacer du curseur jusqu’au début de la ligne courante (la chaîne supprimée est copiée dans le presse-papiers interne).

/input delete_beginning_of_line

Alt+Ctrl+u

Effacer du curseur jusqu’au début de la ligne de commande (la chaîne supprimée est copiée dans le presse-papiers interne).

/input delete_beginning_of_input

Alt+Backspace

Effacer le mot précédent sur la ligne de commande (la chaîne supprimée est copiée dans le presse-papiers interne).

/input delete_previous_word

Ctrl+w

Effacer le mot précédent sur la ligne de commande jusqu’à un espace (la chaîne supprimée est copiée dans le presse-papiers interne).

/input delete_previous_word_whitespace

Ctrl+y

Coller le contenu du presse-papiers interne.

/input clipboard_paste

Ctrl+_

Défaire la dernière action sur la ligne de commande.

/input undo

Alt+_

Refaire la dernière action sur la ligne de commande.

/input redo

Tab

Compléter la commande ou le pseudo (Tab de nouveau : trouver la complétion suivante).

/input complete_next

Shift+Tab

Sans complétion, effectue une complétion partielle. Avec une complétion en cours, complète avec la complétion précédente.

/input complete_previous

Enter
Ctrl+j
Ctrl+m

Exécuter la commande ou envoyer le message (en mode recherche : arrêter la recherche).

/input return

Alt+Enter

Insérer une nouvelle ligne.

/input insert \n

Alt+d

Effacer le mot suivant (la chaîne supprimée est copiée dans le presse-papiers interne).

/input delete_next_word

Alt+k

Capturer une touche et insérer son code (et la commande associée si la commande existe) sur la ligne de commande.

/input grab_key_command

Alt+r

Effacer la ligne courante.

/input delete_line

Alt+R

Effacer entièrement la ligne de commande.

/input delete_input

Codes couleur

Touche Description Commande

Ctrl+c, b

Insérer le code pour mettre le texte en gras.

/input insert \x02

Ctrl+c, c

Insérer le code pour écrire en couleur.

/input insert \x03

Ctrl+c, d

Insérer le code pour écrire en couleur (couleur RGB, en hexadécimal).

/input insert \x04

Ctrl+c, i

Insérer le code pour mettre le texte en italique.

/input insert \x1D

Ctrl+c, o

Insérer le code pour réinitialiser la couleur.

/input insert \x0F

Ctrl+c, v

Insérer le code pour écrire en couleur inversée.

/input insert \x16

Ctrl+c, _

Insérer le code pour écrire en souligné.

/input insert \x1F

Historique de commandes

Touche Description Commande

Rappeler la commande précédente (en mode recherche : chercher plus haut).

/input history_previous

Rappeler la commande suivante (en mode recherche : chercher plus bas).

/input history_next

Ctrl+

Rappeler la commande précédente dans l’historique global (commun à tous les tampons).

/input history_global_previous

Ctrl+

Rappeler la commande suivante dans l’historique global (commun à tous les tampons).

/input history_global_next

Système

Touche Description Commande

Ctrl+z

Suspendre le processus WeeChat.

/sys suspend

6.2. Tampons

Touche Description Commande

Ctrl+r

Chercher du texte dans l’historique de commandes (voir les touches pour le contexte "histsearch").

/input search_history

Ctrl+s

Chercher du texte dans les lignes du tampon (voir les touches pour le contexte "search").

/input search_text_here

Ctrl+x

Changer de tampon courant si plusieurs tampons sont mélangés avec le même numéro, par exemple basculer vers un autre tampon serveur IRC.

/buffer switch

Alt+x

Zoomer sur le tampon mélangé (Alt+x de nouveau : afficher tous les tampons mélangés).

/buffer zoom

PgUp

Monter d’une page dans l’historique du tampon.

/window page_up

PgDn

Descendre d’une page dans l’historique du tampon.

/window page_down

Alt+PgUp

Monter de quelques lignes dans l’historique du tampon.

/window scroll_up

Alt+PgDn

Descendre de quelques lignes dans l’historique du tampon.

/window scroll_down

Alt+Home

Aller au début du tampon.

/window scroll_top

Alt+End

Aller à la fin du tampon.

/window scroll_bottom

Alt+
Alt+
Ctrl+p
F5

Aller au tampon précédent.

/buffer -1

Alt+
Alt+
Ctrl+n
F6

Aller au tampon suivant.

/buffer +1

Alt+j, Alt+f

Sauter au premier tampon.

/buffer -

Alt+j, Alt+l (L)

Sauter au dernier tampon.

/buffer +

Alt+j, Alt+r

Sauter au tampon IRC de données brutes.

/server raw

Alt+j, Alt+s

Sauter au tampon IRC du serveur.

/server jump

Alt+0…​9

Sauter au tampon qui porte ce numéro (0 = 10).

/buffer *N

Alt+j, 01…​99

Sauter au tampon qui porte ce numéro.

/buffer *NN

Alt+n

Se positionner sur le highlight suivant.

/window scroll_next_highlight

Alt+p

Se positionner sur le highlight précédent.

/window scroll_previous_highlight

Alt+u

Se positionner sur la première ligne non lue du tampon.

/window scroll_unread

Alt+Shift+U

Positionner le marqueur de données non lues sur tous les tampons.

/allbuf /buffer set unread

Alt+<

Sauter au tampon précédent dans la liste des tampons visités.

/buffer jump prev_visited

Alt+>

Sauter au tampon suivant dans la liste des tampons visités.

/buffer jump next_visited

Alt+/

Sauter au dernier tampon affiché (avant le dernier saut vers un tampon).

/buffer jump last_displayed

6.3. Fenêtres

Touche Description Commande

Ctrl+l (L)

Réafficher toute la fenêtre.

/window refresh

Alt+l (L)

Activer/désactiver le mode d’affichage dépouillé.

/window bare

F7

Aller à la fenêtre précédente.

/window -1

F8

Aller à la fenêtre suivante.

/window +1

Alt+w, Alt+

Sauter à la fenêtre au dessus.

/window up

Alt+w, Alt+

Sauter à la fenêtre en dessous.

/window down

Alt+w, Alt+

Sauter à la fenêtre de gauche.

/window left

Alt+w, Alt+

Sauter à la fenêtre de droite.

/window right

Alt+w, Alt+b

Équilibrer la taille de toutes les fenêtres.

/window balance

Alt+w, Alt+s

Échanger les tampons de deux fenêtres.

/window swap

Alt+z

Zoomer sur la fenêtre courante (Alt+z de nouveau : restaurer l’état initial des fenêtres, avant le zoom).

/window zoom

6.4. Barres

Touche Description Commande

F1
Ctrl+F1

Monter d’une page dans la liste des tampons.

/bar scroll buflist * -100%

F2
Ctrl+F2

Descendre d’une page dans la liste des tampons.

/bar scroll buflist * +100%

Alt+F1

Aller au début de la liste des tampons.

/bar scroll buflist * b

Alt+F2

Aller à la fin de la liste des tampons.

/bar scroll buflist * e

F9

Faire défiler le titre du tampon vers la gauche.

/bar scroll title * -30%

F10

Faire défiler le titre du tampon vers la droite.

/bar scroll title * +30%

F11
Ctrl+F11

Monter d’une page dans la liste des pseudos.

/bar scroll nicklist * -100%

F12
Ctrl+F12

Descendre d’une page dans la liste des pseudos.

/bar scroll nicklist * +100%

Alt+F11

Aller au début de la liste des pseudos.

/bar scroll nicklist * b

Alt+F12

Aller à la fin de la liste des pseudos.

/bar scroll nicklist * e

Alt+Shift+B

Activer/désactiver buflist.

/buflist toggle

Alt+Shift+N

Activer/désactiver la barre nicklist.

/bar toggle nicklist

6.5. Hotlist

Touche Description Commande

Alt+a

Sauter au prochain tampon avec activité (avec priorité : highlight, message, autre).

/buffer jump smart

Alt+h, Alt+c

Vider la hotlist (notification d’activité sur les tampons).

/hotlist clear

Alt+h, Alt+m

Supprimer le tampon courant de la hotlist.

/hotlist remove

Alt+h, Alt+r

Restaurer la dernière hotlist supprimée dans le tampon courant.

/hotlist restore

Alt+h, Alt+Shift+R

Restaurer la dernière hotlist supprimée dans tous les tampons.

/hotlist restore -all

6.6. Touches de bascule

Touche Description Commande

Alt+m

Activer/désactiver la souris.

/mouse toggle

Alt+s

Activer/désactiver la vérification de l’orthographe.

/mute spell toggle

Alt+=

Activer/désactiver les filtres.

/filter toggle

Alt+-

Activer/désactiver les filtres dans le tampon courant.

/filter toggle @

6.7. Contexte de recherche

Ces touches sont utilisées dans le contexte "search" (lorsque Ctrl+s est pressé pour chercher du texte dans les lignes du tampon).

Touche Description Commande

Ctrl+x

Basculer le type de recherche : chaîne (par défaut), expression régulière.

/input search_switch_regex

Alt+c

Basculer la casse exacte pour la recherche.

/input search_switch_case

Tab

Basculer la recherche dans : les messages (par défaut), les préfixes, les préfixes + messages.

/input search_switch_where

Ctrl+r

Chercher la ligne précédente.

/input search_previous

Ctrl+s

Chercher la ligne suivante.

/input search_next

Enter
Ctrl+j
Ctrl+m

Arrêter la recherche à la position courante.

/input search_stop_here

Ctrl+q

Arrêter la recherche et réinitialiser le défilement à l’état antérieur à la recherche de texte.

/input search_stop

6.8. Contexte de recherche dans l’historique

Ces touches sont utilisées dans le contexte "histsearch" (lorsque Ctrl+r est pressé pour chercher du texte dans l’historique des commandes).

Touche Description Commande

Ctrl+x

Basculer le type de recherche : chaîne (par défaut), expression régulière.

/input search_switch_regex

Alt+c

Basculer la casse exacte pour la recherche.

/input search_switch_case

Tab

Basculer la recherche dans : l’historique local du tampon (par défaut), l’historique global.

/input search_switch_where

Ctrl+r

Chercher dans les entrées précédentes (plus anciennes) de l’historique.

/input search_previous

Ctrl+s

Chercher dans les entrées suivantes (plus récentes) de l’historique.

/input search_next

Enter
Ctrl+j
Ctrl+m

Arrêter la recherche et utiliser la commande trouvée.

/input search_stop_here

Ctrl+o

Exécuter la commande trouvée dans l’historique et insérer la suivante sur la ligne de commande.

/input history_use_get_next

Ctrl+q

Arrêter la recherche et restaurer la ligne de commande à sa valeur initiale.

/input search_stop

6.9. Contexte curseur

Ces touches sont utilisées dans le contexte "cursor" (mouvement libre du curseur à l’écran), voir le Mode curseur.

Touche Zone Description Commande

-

Déplacer le curseur d’une ligne vers le haut.

/cursor move up

-

Déplacer le curseur d’une ligne vers le bas.

/cursor move down

-

Déplacer le curseur d’une colonne vers la gauche.

/cursor move left

-

Déplacer le curseur d’une colonne vers la droite.

/cursor move right

Alt+

-

Déplacer le curseur vers la première ligne de la zone.

/cursor move edge_top

Alt+

-

Déplacer le curseur vers la dernière ligne de la zone.

/cursor move edge_bottom

Alt+

-

Déplacer le curseur vers la première colonne de la zone.

/cursor move edge_left

Alt+

-

Déplacer le curseur vers la dernière colonne de la zone.

/cursor move edge_right

Alt+Home

-

Déplacer le curseur vers le coin supérieur gauche de la zone.

/cursor move top_left

Alt+End

-

Déplacer le curseur vers la coin inférieur droit de la zone.

/cursor move bottom_right

Alt+Shift+

-

Déplacer le curseur vers la zone au dessus.

/cursor move area_up

Alt+Shift+

-

Déplacer le curseur vers la zone en dessous.

/cursor move area_down

Alt+Shift+

-

Déplacer le curseur vers la zone sur la gauche.

/cursor move area_left

Alt+Shift+

-

Déplacer le curseur vers la zone sur la droite.

/cursor move area_right

m

chat

Citer le message.

hsignal:chat_quote_message;/cursor stop

l

chat

Citer la ligne ciblée.

hsignal:chat_quote_focused_line;/cursor stop

q

chat

Citer le préfixe + le message.

hsignal:chat_quote_prefix_message;/cursor stop

Q

chat

Citer l’heure + le préfixe + le message.

hsignal:chat_quote_time_prefix_message;/cursor stop

b

liste des pseudos

Bannir le pseudo.

/window ${_window_number};/ban ${nick}

k

liste des pseudos

Retirer par la force le pseudo.

/window ${_window_number};/kick ${nick}

K

liste des pseudos

Retirer par la force et bannir le pseudo.

/window ${_window_number};/kickban ${nick}

q

liste des pseudos

Ouvrir une discussion avec le pseudo.

/window ${_window_number};/query ${nick};/cursor stop

w

liste des pseudos

Effectuer un whois sur le pseudo.

/window ${_window_number};/whois ${nick}

Enter
Ctrl+j
Ctrl+m

-

Arrêter le mode curseur ("cursor").

/cursor stop

6.10. Souris

Ces actions avec la souris sont possibles seulement si la souris est activée avec la touche Alt+m (commande : /mouse toggle).

Bouton/Roulette (1) Geste Zone Description Commande

■ □ □

-

chat

Aller à la fenêtre.

/window ${_window_number}

■ □ □

gauche

chat

Aller au tampon précédent.

/window ${_window_number};/buffer +1

■ □ □

droit

chat

Aller au tampon suivant.

/window ${_window_number};/buffer +1

■ □ □

gauche (long)

chat

Aller au premier tampon.

/window ${_window_number};/buffer 1

■ □ □

droit (long)

chat

Aller au dernier tampon.

/window ${_window_number};/buffer +

-

chat

Monter de quelques lignes dans l’historique du tampon.

/window scroll_up -window ${_window_number}

-

chat

Descendre de quelques lignes dans l’historique du tampon.

/window scroll_down -window ${_window_number}

Ctrl+

-

chat

Faire défiler horizontalement vers la gauche.

/window scroll_horiz -window ${_window_number} -10%

Ctrl+

-

chat

Faire défiler horizontalement vers la droite.

/window scroll_horiz -window ${_window_number} +10%

-

chat : tampon fset

Monter de cinq lignes dans le tampon fset.

/fset -up 5

-

chat : tampon fset

Descendre de cinq lignes dans le tampon fset.

/fset -down 5

■ □ □

-

chat : tampon fset

Sélectionner la ligne dans le tampon fset.

/window ${_window_number};/fset -go ${fset_option_index}

□ □ ■

-

chat : tampon fset

Basculer le booléen (on/off) ou éditer la valeur de l’option.

hsignal:fset_mouse

□ □ ■

gauche

chat : tampon fset

Décrémenter la valeur de l’entier/couleur/énuméré, définir/ajouter à la valeur pour les autres types.

hsignal:fset_mouse

□ □ ■

droit

chat : tampon fset

Incrémenter la valeur de l’entier/couleur/énuméré, définir/ajouter à la valeur pour les autres types.

hsignal:fset_mouse

□ □ ■

haut / bas

chat : tampon fset

Marquer/démarquer de multiples options.

hsignal:fset_mouse

-

chat : tampon /list

Monter de cinq lignes dans le tampon /list.

/list -up 5

-

chat : tampon /list

Descendre de cinq lignes dans le tampon /list.

/list -down 5

■ □ □

-

chat : tampon /list

Sélectionner la ligne dans le tampon /list.

/window ${_window_number};/list -go ${_chat_line_y}

□ □ ■

-

chat : tampon /list

Rejoindre le canal IRC sur la ligne sélectionnée.

hsignal:irc_list_mouse

-

chat : tampon script

Monter de 5 lignes dans le tampon script.

/script up 5

-

chat : tampon script

Descendre de 5 lignes dans le tampon script.

/script down 5

■ □ □

-

chat : tampon script

Sélectionner la ligne dans le tampon script.

/script go ${_chat_line_y}

□ □ ■

-

chat : tampon script

Installer/supprimer un script.

/script go ${_chat_line_y};/script installremove -q ${script_name_with_extension}

■ □ □

haut / gauche

buflist

Déplacer le tampon vers un numéro inférieur.

Signal buflist_mouse.

■ □ □

bas / droit

buflist

Déplacer le tampon vers un numéro supérieur.

Signal buflist_mouse.

■ □ □

-

buflist

Aller au tampon (tampon précédent dans la liste des tampons visités si le tampon est le courant).

Signal buflist_mouse.

□ □ ■

-

buflist

Aller au tampon suivant dans la liste des tampons visités si le tampon est le courant.

Signal buflist_mouse.

Ctrl+

-

buflist

Aller au tampon précédent.

Signal buflist_mouse.

Ctrl+

-

buflist

Aller au tampon suivant.

Signal buflist_mouse.

■ □ □

haut

liste des pseudos

Monter d’une page dans la liste des pseudos.

/bar scroll nicklist ${_window_number} -100%

■ □ □

bas

liste des pseudos

Descendre d’une page dans la liste des pseudos.

/bar scroll nicklist ${_window_number} +100%

■ □ □

haut (long)

liste des pseudos

Aller au début de la liste des pseudos.

/bar scroll nicklist ${_window_number} b

■ □ □

bas (long)

liste des pseudos

Aller à la fin de la liste des pseudos.

/bar scroll nicklist ${_window_number} e

■ □ □

-

liste des pseudos

Ouvrir une discussion avec le pseudo.

/window ${_window_number};/query ${nick}

□ □ ■

-

liste des pseudos

Effectuer un whois sur le pseudo.

/window ${_window_number};/whois ${nick}

■ □ □

gauche

liste des pseudos

Retirer par la force le pseudo.

/window ${_window_number};/kick ${nick}

■ □ □

gauche (long)

liste des pseudos

Retirer par la force et bannir le pseudo.

/window ${_window_number};/kickban ${nick}

□ □ ■

gauche

liste des pseudos

Bannir le pseudo.

/window ${_window_number};/ban ${nick}

□ □ ■

-

ligne de commande

Capturer un évènement de la souris et insérer son code sur la ligne de commande.

/input grab_mouse_area

-

toute barre

Faire défiler la barre de -20%.

/bar scroll ${_bar_name} ${_window_number} -20%

-

toute barre

Faire défiler la barre de +20%.

/bar scroll ${_bar_name} ${_window_number} +20%

□ ■ □

-

n’importe où

Démarrer le mode curseur ("cursor") à ce point.

/cursor go ${_x},${_y}

(1) Boutons :
◼ □ □ : clic sur le bouton de gauche
□ ◼ □ : clic sur le bouton du milieu
□ □ ◼ : clic sur le bouton de droite
Roulette :
 : roulette vers le haut
 : roulette vers le bas

6.11. Tampon fset

Ces touches et actions sont utilisées sur le tampon fset (voir l’extension Fset).

Touche Action (1) Description Commande

Monter d’une ligne.

/fset -up

Descendre d’une ligne.

/fset -down

PgUp

Monter d’une page.

/window page_up

PgDn

Descendre d’une page.

/window page_down

Alt+Home

<<

Aller à la première ligne.

/fset -go 0

Alt+End

>>

Aller à la dernière ligne.

/fset -go end

F11

<

Faire défiler horizontalement vers la gauche.

/fset -left

F12

>

Faire défiler horizontalement vers la droite.

/fset -right

Alt+Space

t

Basculer la valeur booléenne.

/fset -toggle

Alt+-

-

Soustraire 1 de la valeur de l’entier/couleur/énuméré, définir la valeur pour les autres types.

/fset -add -1

Alt++

+

Ajouter 1 à la valeur de l’entier/couleur/énuméré, ajouter à la valeur pour les autres types.

/fset -add 1

Alt+f, Alt+r

r

Réinitialiser la valeur.

/fset -reset

Alt+f, Alt+u

u

Supprimer/réinitialiser la valeur.

/fset -unset

Alt+Enter

s

Définir la valeur.

/fset -set

Alt+f, Alt+n

n

Définir une nouvelle valeur.

/fset -setnew

Alt+f, Alt+a

a

Ajouter à la valeur.

/fset -append

Alt+,

,

Marquer/démarquer l’option.

/fset -mark 1

Shift+

Se déplacer d’une ligne vers le haut et marquer/démarquer l’option.

/fset -up; /fset -mark

Shift+

Marquer/démarquer l’option et se déplacer d’une ligne vers le bas.

/fset -mark; /fset -down

m:xxx

Marquer les options affichées qui correspondent au filtre "xxx" (tout filtre sur une option ou valeur est autorisé, voir la commande /fset).

u:xxx

Démarquer les options affichées qui correspondent au filtre "xxx" (tout filtre sur une option ou valeur est autorisé, voir la commande /fset).

Ctrl+l (L)

Rafraîchir les options et l’écran entier.

/fset -refresh

$

Rafraîchir les options (garder les options marquées).

$$

Rafraîchir les options (démarquer toutes les options).

Alt+p

p

Activer/désactiver la description des options d’extensions (plugins.desc.*).

/mute /set fset.look.show_plugins_desc toggle

Alt+v

v

Activer/désactiver la barre d’aide.

/bar toggle fset

s:x,y

Trier les options par les champs x,y (voir l’option fset.look.sort).

/mute /set fset.look.sort x,y

s:

Réinitialiser le tri à sa valeur par défaut (voir l’option fset.look.sort).

/mute /unset fset.look.sort

w:xxx

Exporter les options dans le fichier "xxx".

/fset -export xxx

w-:xxx

Exporter les options dans le fichier "xxx" sans aide.

/fset -export -nohelp xxx

w+:xxx

Exporter les options dans le fichier "xxx" avec aide.

/fset -export -help xxx

Ctrl+x

x

Basculer le format utilisé pour afficher les options.

/fset -format

q

Fermer le tampon fset.

/buffer close

(1) L’action doit être tapée comme entrée dans la ligne de commande, suivie de Enter.

6.12. Tampon IRC /list

Ces touches et actions sont utilisées sur le tampon IRC /list (voir la commande /list).

Touche Action (1) Description Commande

Monter d’une ligne.

/list -up

Descendre d’une ligne.

/list -down

PgUp

Monter d’une page.

/window page_up

PgDn

Descendre d’une page.

/window page_down

Alt+Home

<<

Aller à la première ligne.

/list -go 0

Alt+End

>>

Aller à la dernière ligne.

/list -go end

F11

<

Faire défiler horizontalement vers la gauche.

/list -left

F12

>

Faire défiler horizontalement vers la droite.

/list -right

Ctrl+j

j

Rejoindre le canal IRC sur la ligne sélectionnée.

/list -join

xxx

Afficher seulement les canaux avec "xxx" dans le nom ou le titre (insensible à la casse).

n:xxx

Afficher seulement les canaux avec "xxx" dans le nom (insensible à la casse).

t:xxx

Afficher seulement les canaux avec "xxx" dans le titre (insensible à la casse).

u:n

Afficher seulement les canaux avec au moins "n" utilisateurs.

u:>n

Afficher seulement les canaux avec plus de "n" utilisateurs.

u:<n

Afficher seulement les canaux avec moins de "n" utilisateurs.

c:xxx

Afficher seulement les canaux qui correspondent à la condition évaluée "xxx", en utilisant les variables suivantes : name, name2, users, topic.

s:x,y

Trier les canaux par les champs x,y (voir la commande /list).

s:

Réinitialiser le tri à sa valeur par défaut (voir la commande /list).

$

Rafraîchir la liste (relancer la commande /list).

q

Fermer le tampon.

/buffer close

(1) L’action doit être tapée comme entrée dans la ligne de commande, suivie de Enter.

6.13. Tampon script

Ces touches et actions sont utilisées sur le tampon script (voir le gestionnaire de scripts).

Touche Action (1) Description Commande

Monter d’une ligne.

/script up

Descendre d’une ligne.

/script down

PgUp

Monter d’une page.

/window page_up

PgDn

Descendre d’une page.

/window page_down

Alt+i

i

Installer le script.

/script install

Alt+r

r

Supprimer le script.

/script remove

Alt+l

l

Charger le script.

/script load

Alt+L

L

Recharger le script.

/script reload

Alt+u

u

Décharger le script.

/script unload

Alt+Shift+A

A

Charger automatiquement le script.

/script toggleautoload

Alt+h

h

Figer/défiger le script.

/script hold

Alt+v

v

Voir le script.

/script show

s:x,y

Trier les scripts par les champs x,y (voir l’option script.look.sort).

s:

Reset sort to its default value (voir l’option script.look.sort).

$

Rafraîchir la liste.

q

Fermer le tampon.

/buffer close

(1) L’action doit être tapée comme entrée dans la ligne de commande, suivie de Enter.

7. Configuration

7.1. Fset

L’extension Fset affiche une liste des options dans un tampon et aide à définir les options de WeeChat et des extensions.

Exemple de tampon fset affichant les options commençant par weechat.look :

┌──────────────────────────────────────────────────────────────────────────────────────┐
│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                                                   │
│         │█                                                                           │
└──────────────────────────────────────────────────────────────────────────────────────┘

Commandes

  • 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>
       <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")
   -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

Options

Sections dans le fichier fset.conf :

Section Commande de contrôle Description

color

/set fset.color.*

Couleurs.

format

/set fset.format.*

Formats utilisés pour afficher la liste des options.

look

/set fset.look.*

Aspect/présentation.

Options :

  • 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. Couleurs

Couleurs de base

Les couleurs de base dans WeeChat sont :

Nom Couleur

default

Couleur par défaut du terminal (transparent pour le fond)

black

Noir

darkgray

Gris foncé

red

Rouge foncé

lightred

Rouge clair

green

Vert foncé

lightgreen

Vert clair

brown

Marron

yellow

Jaune

blue

Bleu foncé

lightblue

Bleu clair

magenta

Violet foncé

lightmagenta

Violet clair

cyan

Cyan foncé

lightcyan

Cyan clair

gray

Gris

white

Blanc

Couleurs étendues

WeeChat alloue dynamiquement les paires de couleurs quand elles sont utilisées sur l’écran (pour afficher les tampons et les barres).

En plus des couleurs de base, vous pouvez utiliser un numéro de couleur entre 1 et la limite de votre terminal.

Utilisez la commande /color pour voir les couleurs et les limites. Avec la touche Alt+c, vous pouvez basculer temporairement vers les couleurs du terminal pour choisir une couleur.

Par exemple si vous souhaitez afficher l’heure en orange dans le tampon, faites :

/set weechat.color.chat_time 214

Ou si vous voulez un fond vert très foncé pour la barre de statut :

/set weechat.bar.status.color_bg 22

Alias

Vous pouvez ajouter des alias de couleur avec la commande /color alias puis utiliser cet alias dans n’importe quelle option de couleur.

Par exemple :

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

Attributs

Il est possible d’utiliser des attributs pour les couleurs. Un ou plusieurs attributs peuvent être ajoutés avant le nom ou le numéro de la couleur :

  • % : clignotement

  • . : "dim" (demi-intensité)

  • * : texte gras

  • ! : mode vidéo inverse

  • / : italique

  • _ : texte souligné

  • | : garder les attributs : ne pas réinitialiser clignotement/dim/gras/inverse/souligné lors du changement de couleur

Par exemple si vous voulez votre pseudo en blanc souligné, faites :

/set weechat.color.chat_nick_self _white

Ou si vous voulez l’heure dans la barre de statut en orange souligné avec gras :

/set weechat.color.status_time *_214

Pour utiliser un attribut avec la couleur par défaut du terminal (-1), vous devez utiliser un nombre supérieur à la dernière couleur du terminal, par exemple la couleur maximum de WeeChat : 99999.

Exemple de gras avec la couleur de texte du terminal :

/set weechat.color.status_time *99999

7.3. Charset

L’extension Charset vous permet de décoder et encoder les données en utilisant un jeu de caractères.

Il y a un jeu de caractère par défaut pour le décodage/encodage, et un spécifique pour les tampons (ou groupes de tampons).

Cette extension est facultative, mais recommandée : si elle n’est pas chargée, WeeChat pourra uniquement lire/écrire des données UTF-8.

L’extension Charset devrait être automatiquement chargée par WeeChat au démarrage. Pour s’assurer que l’extension est bien chargée, essayez :

/charset

Si la commande n’est pas trouvée, alors chargez l’extension avec la commande :

/plugin load charset

Si l’extension n’est pas trouvée, alors vous devriez recompiler WeeChat avec les extensions et le support de Charset.

Lorsque l’extension Charset démarre, elle affiche le jeu de caractères du terminal et l’interne. Le jeu de caractères du terminal dépend de votre locale, et l’interne est UTF-8.

Par exemple :

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

Définir le jeu de caractère

Pour modifier les jeux de caractères de décodage et d’encodage globaux, utilisez la commande /set.

Par exemple :

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

Si le jeu de caractères de décodage global n’est pas renseigné (par exemple pendant le premier chargement de Charset), il sera renseigné automatiquement avec le jeu de caractères du terminal (s’il est différent de UTF-8) ou par défaut à ISO-8859-1.

La valeur d’encodage par défaut est vide, donc WeeChat envoie par défaut avec le jeu de caractères interne (UTF-8).

Pour modifier le jeu de caractères d’un serveur IRC, utilisez la commande /charset sur le tampon serveur. Si vous donnez seulement le jeu de caractères, alors vous modifiez en même temps les valeurs de décodage et d’encodage.

Par exemple :

/charset ISO-8859-15

Ce qui est équivalent à :

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

Pour modifier le jeu de caractères d’un canal IRC (ou d’une conversation privée), utilisez la même commande que pour le serveur, mais sur le tampon du canal (ou du privé).

Pour définir le jeu de caractères pour tous les canaux/privés d’un serveur IRC :

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

Pour voir tous les jeux de caractères utilisés, utilisez la commande suivante :

/set charset.*

En cas de problème

Pour tout problème avec les jeux de caractères, merci de consulter la FAQ WeeChat / Accents .

Commandes

  • 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

Options

Sections dans le fichier charset.conf :

Section Commande de contrôle Description

default

/set charset.default.*

Jeu de caractère d’encodage/décodage par défaut.

decode

/charset decode
/set charset.decode.*

Jeu de caractère d’encodage par tampon (les options peuvent être ajoutées/supprimées dans la section).

encode

/charset encode
/set charset.encode.*

Jeu de caractère de décodage par tampon (les options peuvent être ajoutées/supprimées dans la section).

Options :

  • 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: "ANSI_X3.4-1968"

  • 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. Niveaux de notification

Configurer les niveaux de notification

Quatre niveaux sont possibles dans les messages affichés dans les tampons, du moins important au plus important :

  • low : message avec faible importance (par exemple un join/part/quit irc)

  • message : message d’un utilisateur

  • private : message dans un tampon privé

  • highlight : message avec highlight

Chaque tampon a un niveau de notification, qui est utilisé pour décider quels messages ajouteront le tampon dans la hotlist.

Le niveau de notification par défaut peut être défini avec l’option weechat.look.buffer_notify_default, la valeur par défaut est all.

Niveau de notification Niveau des messages ajoutés à la hotlist

none

(aucun)

highlight

highlight + private

message

highlight + private + message

all

highlight + private + message + low

Le niveau de notification peut être défini pour un ensemble de tampons, par exemple tous les tampons du serveur irc "libera" :

/set weechat.notify.irc.libera message

Définir le niveau de notification highlight sur le canal "#weechat" seulement :

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

Le niveau de notification pour un tampon peut aussi être défini avec la commande /buffer :

/buffer notify highlight

Niveau maximal de hotlist pour des pseudos

Il est possible de définir un niveau maximal de hotlist pour certains pseudos, par tampon ou groupe de tampons (comme des serveurs IRC).

La propriété de tampon "hotlist_max_level_nicks" peut être définie avec une liste de pseudos et pour chaque pseudo le niveau maximal de hotlist à déclencher, les niveaux possibles sont :

  • -1 : pas de changement dans la hotlist pour ce pseudo

  • 0 : faible priorité (comme les messages join/part)

  • 1 : message

  • 2 : message privé

  • 3 : highlight (en réalité inutile, car il s’agit déjà du niveau maximal par défaut pour tous les messages)

Par exemple pour désactiver les « highlights » de "joe" et "mike" sur le tampon courant :

/buffer setauto hotlist_max_level_nicks_add joe:2,mike:2

7.5. Highlights

Désactiver les highlights

Vous pouvez désactiver les highlights avec l’option weechat.look.highlight_disable_regex (expression régulière).
Lorsqu’un highlight est désactivé avec cette option, les autres options de highlight sont ignorées.

Par exemple pour désactiver tout highlight sur les messages avec un mot commençant par "flash" entre chevrons :

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

Ceci peut aussi être défini avec la propriété de tampon "highlight_disable_regex".

Même exemple, spécifique au tampon courant :

/buffer setauto highlight_disable_regex <flash.*>

Ajouter des mots pour le « highlight »

Par défaut, WeeChat met en valeur les messages des autres utilisateurs qui contiennent votre pseudo, par conséquent le highlight dépend du tampon (le pseudo peut être différent d’un tampon à l’autre).

Vous pouvez ajouter d’autres mots à mettre en valeur avec l’option weechat.look.highlight, par exemple pour mettre en valeur votre pseudo, "mot1", "mot2" et tous les mots commençants par "test" :

/set weechat.look.highlight "mot1,mot2,test*"

Si vous avez besoin d’une règle plus spécifique pour un mot, vous pouvez utiliser des expressions régulières avec l’option weechat.look.highlight_regex, par exemple pour mettre en valeur les mots "flashcode", "flashcöde" et "flashy" :

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

Les délimiteurs autour des mots à mettre en valeur peuvent être paramétrés avec l’option weechat.look.word_chars_highlight.

Ajouter des étiquettes pour le « highlight »

Les lignes affichées contiennent des étiquettes (« tags »), qui donnent des informations sur l’origine du message ou le message lui-même.
Vous pouvez afficher les étiquettes avec la commande /debug tags (même commande pour les cacher).

Vous pouvez ajouter des étiquettes à mettre en valeur avec l’option weechat.look.highlight_tags. Les étiquettes sont séparées par des virgules, et plusieurs étiquettes peuvent être séparées par + pour faire un "et" logique entre elles.

Par exemple pour mettre en valeur tous les messages du pseudo "FlashCode" et toutes les notices des pseudos commençant par "toto" :

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

Définir des highlights supplémentaires sur le tampon

Vous pouvez forcer le highlight en utilisant une expression regulière avec la propriété de tampon "highlight_regex".

Par exemple pour forcer le highlight sur tous les messages dans le canal courant :

/buffer setauto highlight_regex .*

7.6. Enregistrement des tampons

L’extension Logger permet de sauvegarder le contenu des tampons dans des fichiers, avec des options sur comment et quoi sauvegarder.

Niveaux d’enregistrement

L’enregistrement est fait selon un niveau pour chaque tampon. Le niveau par défaut est 9 (enregistrer tous les messages affichés dans le tampon). Vous pouvez changer ce niveau pour un tampon, ou un groupe de tampons.

Les niveaux possibles vont de 0 à 9. Zéro signifie "ne rien enregistrer" et 9 signifie "enregistrer tous les messages".

Les extensions utilisent différent niveaux pour les messages affichés. L’extension IRC utilise les niveaux suivants :

  • niveau 1 : message d’un utilisateur (sur un canal ou en privé)

  • niveau 2 : changement de pseudo (vous ou quelqu’un d’autre)

  • niveau 3 : tout message du serveur (sauf join/part/quit)

  • niveau 4 : message join/part/quit du serveur

Donc si vous affectez le niveau 3 pour un canal IRC, WeeChat enregistrera tous les messages sauf les join/part/quit.

Quelques exemples :

  • Affecter le niveau 3 pour le canal IRC #weechat :

/set logger.level.irc.libera.#weechat 3
  • Affecter le niveau 3 pour le tampon serveur libera :

/set logger.level.irc.server.libera 3
  • Affecter le niveau 3 pour tous les canaux sur le serveur libera :

/set logger.level.irc.libera 3
  • Affecter le niveau 2 pour tous les tampons IRC :

/set logger.level.irc 2

Masques de noms de fichiers

Il est possible de définir un masque de nom de fichier pour chaque tampon, et d’utiliser les variables locales du tampon pour construire le nom de fichier. Pour voir les variables disponibles sur le tampon courant :

/buffer listvar

Les masques seront utilisés par ordre de priorité descendante sur logger.mask.$plugin.*, avec logger.file.mask comme option par défaut.

Par exemple, sur le tampon "irc.libera.#weechat", WeeChat cherchera un masque avec le nom de l’option, dans cet ordre :

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

Cela signifie que vous pouvez avoir un masque spécifique pour certaines serveurs IRC ("logger.mask.irc.libera") ou pour une extension ("logger.mask.irc").

Fichiers de log par date

Pour avoir des fichiers de log par date, vous pouvez utiliser des marqueurs dans le masque (voir man strftime pour le format), par exemple :

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

Vous obtiendrez les fichiers suivants :

~/.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
    ...
Fichiers de log IRC par serveur et canal

Si vous voulez un répertoire par serveur IRC et un fichier par canal dedans :

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

Vous obtiendrez les fichiers suivants :

~/.local/share/weechat
└── logs
    └── irc
        ├── libera
        │   ├── libera.weechatlog
        │   ├── #weechat.weechatlog
        │   └── #moncanal.weechatlog
        ├── oftc
        │   ├── oftc.weechatlog
        │   ├── #canal1.weechatlog
        │   └── #canal2.weechatlog
        ...

Rotation et compression

Il est possible de définir une taille maximale pour les fichiers de logs, et lorsqu’elle est atteinte, il y a une rotation automatique du fichier de log.

Les fichiers de logs qui ont tourné peuvent être compressés avec gzip ou zstd .

La compression du fichier pouvant prendre du temps, elle est exécutée en tâche de fond.

Exemple avec une taille maximale de 2 Go et la compression avec gzip, en utilisant un bon niveau de compression (plus lent que celui par défaut) :

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

Si vous voulez utiliser un nombre décimal, vous pouvez utiliser l’unité en dessous et multiplier par 1000, par exemple pour une taille maximale de 2,5 Go :

/set logger.file.rotation_size_max "2500m"

Avec cette configuration, vous aurez des fichiers comme ceux-ci (dans cet exemple il y a eu une rotation seulement pour le log du canal "#weechat"):

~/.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

Commandes

  • 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"

Options

Sections dans le fichier logger.conf :

Section Commande de contrôle Description

look

/set logger.look.*

Aspect/présentation.

color

/set logger.color.*

Couleurs.

file

/set logger.file.*

Options pour les fichiers de log.

level

/set logger.level.*

Niveau de log par tampon (les options peuvent être ajoutées/supprimées dans la section).

mask

/set logger.mask.*

Masque de nom de fichier par tampon (les options peuvent être ajoutées/supprimées dans la section).

Options :

  • 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. Support souris

WeeChat supporte les clics et mouvements avec la souris. Cela fonctionne avec un terminal local, et à distance via une connexion ssh, avec ou sans screen/tmux.

Activer la souris

Pour activer la souris au démarrage :

/set weechat.look.mouse on

Pour activer la souris maintenant, appuyez sur Alt+m ou lancez la commande suivante :

/mouse enable

Il est possible de désactiver temporairement la souris, et associer ça à une touche. Par exemple la touche Alt+% pour désactiver la souris pendant 10 secondes :

/key bind meta-% /mouse toggle 10
Lorsque la souris est activée dans WeeChat, tous les évènements souris sont capturés par WeeChat, donc les actions comme le copier/coller et les clics sur les URLs ne sont pas envoyées au terminal.
Utiliser la touche Shift permet d’envoyer directement les évènements au terminal, comme si la souris était désactivée (sous certains terminaux comme iTerm, vous devez utiliser Alt au lieu de Shift).
Pour tout problème avec la souris, merci de consulter la FAQ WeeChat / Souris .

Associer des évènements souris à des commandes

De nombreux évènements souris sont déjà définis par WeeChat (voir les actions souris).

Vous pouvez modifier ou ajouter des associations avec la commande /key en utilisant le contexte "mouse" (pour la syntaxe voir la commande /key).

Un nom d’évènement consiste en un modificateur (facultatif), un bouton/roulette et un geste (facultatif). Les différents éléments sont séparés par -.

Liste des modificateurs :

Modificateur Description

ctrl

Touche Ctrl

alt

Touche Alt

ctrl-alt

Touches Ctrl + Alt

Liste des boutons/roulette :

Bouton/roulette Description

button1

Clic sur le bouton gauche

button2

Clic sur le bouton droit

button3

Clic sur le bouton du milieu (souvent clic sur la roulette)

button4 …​ button9

Clic sur un bouton additionnel

wheelup

Roulette (haut)

wheeldown

Roulette (bas)

Liste des gestes (seulement pour les boutons, pas la roulette) :

Geste Distance

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 des évènements incomplets (seulement pour les boutons, pratique pour les extensions/scripts) :

Évènement Description

event-down

Le bouton a été pressé mais pas encore relâché

event-drag

La souris a bougé avec le bouton pressé

Exemples d’évènements :

  • button1

  • ctrl-button1

  • button1-gesture-right

  • button1-event-down

  • button1-event-drag

  • alt-button2-gesture-down-long

  • wheelup

  • ctrl-alt-wheeldown

  • …​

Lors de l’association d’une touche dans le contexte "mouse", il est possible d’adresser plusieurs évènements en utilisant * au début ou la fin du nom, par exemple button1-gesture-* qui correspond à n’importe quel geste effectué avec le bouton gauche.
Vous pouvez trouver le nom de l’évènement avec la commande /input grab_mouse puis en faisant l’action avec la souris. Cela insérera le nom de l’évènement sur la ligne de commande.

7.8. Vérification orthographique

L’extension Spell permet de vérifier l’orthographe de la ligne de commande. Il est possible d’utiliser plusieurs langages par tampon.

La vérification de l’orthographe est désactivée par défaut et peut être activée/désactivée avec la touche Alt+s.

Dictionnaires

Avant d’utiliser la vérification de l’orthographe, les dictionnaires doivent être définis soit globalement, soit spécifiquement sur un tampon.

Plusieurs dictionnaires peuvent être utilisés en même temps : WeeChat vérifiera les mots dans tous les dictionnaires.

Par exemple pour utiliser l’anglais et le français :

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

Il est possible d’utiliser un dictionnaire différent sur un tampon spécifique, par exemple sur un canal allemand :

/spell setdict de

Vous pouvez aussi spécifier un dictionnaire pour un groupe de tampons, par exemple l’anglais pour tous les canaux du serveur IRC libera :

/set spell.dict.irc.libera en

Pour plus d’informations, voir la commande /spell.

Options du vérificateur d’orthographe

Les options du vérificateur d’orthographe peuvent être définies en ajoutant des options dans la section "option" de la configuration aspell.

Le nom de l’option est une option de configuration aspell. La liste des options peut être trouvée par la commande suivante sous le shell :

$ aspell config

Par exemple, pour activer l’option "ignore-case" :

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

Suggestions

Les suggestions sont affichées dans un objet de barre appelé "spell_suggest". Le nombre de suggestions est défini dans l’option spell.check.suggestions.

Pour activer les suggestions, vous devez modifier l’option spell.check.suggestions avec un entier ≥ 0 et ajouter l’objet de barre "spell_suggest" à une barre, par exemple status.

Exemple de suggestions avec un dictionnaire anglais (en) :

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

Exemple de suggestions avec des dictionnaires anglais et français (en,fr) :

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

Commandes

  • 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.

Options

Sections dans le fichier spell.conf :

Section Commande de contrôle Description

color

/set spell.color.*

Couleurs.

check

/set spell.check.*

Options pour contrôler la vérification orthographique.

dict

/spell setdict
/set spell.dict.*

Dictionnaires utilisés par tampon (les options peuvent être ajoutées/supprimées dans la section).

look

/set spell.look.*

Aspect/présentation.

option

/set spell.option.*

Options du vérificateur d’orthographe (les options peuvent être ajoutées/supprimées dans la section).

Options :

  • 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. Barres

Une barre est une zone à côté de la discussion qui peut contenir tout type de texte.

Les options de barre sont définies avec les options weechat.bar.nom.optionnom et le nom de la barre et option l’option pour cette barre.

Liste des options de barre :

Option Valeurs Description

type

root, window

Une barre avec le type root est affichée exactement une fois à l’écran, en dehors de toutes les fenêtres. La barre par défaut buflist est de type root.
Une barre avec le type window est affichée dans chaque fenêtre, par exemple si vous découpez l’écran (avec /window splith ou /window splitv), vous aurez une barre dans chaque fenêtre. Les barres par défaut title, status, input et nicklist sont de type window.

position

top, bottom, left, right

Position de la barre : au dessus/en dessous de la discussion, sur la gauche/droite.

priority

entier ≥ 0

Priorité de la barre : elle est utilisée pour ordonner les barres à l’écran, quand plusieurs barres utilisent le même type et position.
Les barres sont affichées depuis le bord de l’écran vers le centre. Une priorité plus haute affichera la barre au début, donc près du bord.
Exemple : la barre input a une priorité de 1000, donc elle est affichée avant la barre status, qui a une priorité de 500.

size

entier ≥ 0

La taille de la barre : nombre de colonnes pour une position left/right, nombre de lignes pour une position top/bottom. Une taille de 0 signifie automatique, donc la taille sera calculée en fonction du contenu affiché dans la barre.

size_max

entier ≥ 0

La taille maximum pour la barre, 0 = pas de limite (cette option est utilisée seulement si size = 0).

color_bg

couleur

La couleur par défaut du fond de la barre.

color_fg

couleur

La couleur par défaut du texte dans la barre.

color_delim

couleur

La couleur des délimiteurs dans la barre.

hidden

on, off

Lorsque l’option est on, la barre est cachée.
Note : plutôt que de changer cette option, il est préférable d’utiliser la commande /bar, par exemple : /bar toggle nicklist (voir la commande /bar).

separator

on, off

Lorsque l’option est on, un séparateur (ligne) est affiché entre la barre et les autres barres (ou la discussion).

items

chaîne

Une liste d’objets (voir objets pour plus d’infos).

filling_left_right

horizontal, vertical, columns_horizontal, columns_vertical

Type de remplissage pour la barre lorsqu’elle a une position left ou right (voir remplissage pour plus d’infos).

filling_top_bottom

horizontal, vertical, columns_horizontal, columns_vertical

Type de remplissage pour la barre lorsqu’elle a une position top ou bottom (voir remplissage pour plus d’infos).

conditions

chaîne

Les conditions pour afficher la barre (voir conditions pour plus d’infos).

Objets

L’option items est une chaîne avec une liste d’objets de barre, séparés par une virgule (espace entre les objets à l’écran) ou un + (objets collés).

La liste des objets de barre est affichée avec la commande /bar listitems.

Avant ou après l’objet de barre, vous pouvez utiliser des caractères (qui ne sont pas alphanumériques, - ou _). Ils seront affichés avant/après l’objet de barre avec la couleur des délimiteurs définie dans la barre (option color_delim).

Exemple de barre avec les objets "[time],buffer_number+:+buffer_plugin+.+buffer_name,[buffer_last_number]" :

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

Un objet appelé spacer peut être utilisé pour aligner les objets (gauche, centre, droite).

Lorsqu’au moins un objet spacer est utilisé dans une barre, la largeur totale de la barre est utilisée : les espacements sont automatiquement étendus avec la même taille (ou presque).
Lorsque la barre n’est pas assez large pour afficher tous les objets, les espacements ne sont pas affichés.

L’objet de barre spacer ne peut être utilisé que dans les barres avec position top ou bottom, remplissage horizontal et taille 1.

Exemple de barre avec les objets "[time],spacer,buffer_number+:+buffer_plugin+.+buffer_name,spacer,[buffer_last_number]" :

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

Une syntaxe spéciale peut être utilisée pour forcer le tampon utilisé lors de l’affichage de l’objet de barre : "@tampon:objet" (où "tampon" est le nom complet du tampon et "objet" est le nom d’un objet de barre).

Ceci peut être pratique dans les barres "root", pour afficher un objet de barre pour un tampon qui n’est pas affiché dans la fenêtre courante (ou même pas affiché du tout).

Exemple : liste de pseudos de bitlbee dans une barre "root" (si la barre s’appelle bitlist et si le serveur bitlbee s’appelle bitlbee) :

/set weechat.bar.bitlist.items "@irc.bitlbee.&bitlbee:buffer_nicklist"
Objets de barre personnalisés

Des objets de barre personnalisés peuvent être ajoutés avec la commande /item, chaque nouvel objet ayant deux propriétés définies via des options de configuration :

  • conditions : conditions évaluées pour afficher l’objet de barre, par exemple pour restreindre l’objet de barre à certains tampons (si vide, l’objet de barre est affiché partout)

  • content : contenu évalué de l’objet de barre.

Dans chacune des options, les variables suivantes peuvent être utilisées :

  • window : pointeur vers la fenêtre où la barre est affichée (NULL pour une barre de type "root")

  • buffer : pointeur vers le tampon où la barre est affichée (tampon courant pour les barres de type "root").

Exemples de conditions :

Condition Description

${window}

Affiché seulement dans les barres de type "window"

${buffer.number} == 1

Affiché dans tous les tampons avec "number" = 1

${buffer.plugin.name} == irc

Affiché dans tous les tampons IRC

${type} == channel

Affiché dans tous les tampons où la variable locale type est channel (exemple : tous les canaux IRC)

${type} == private

Affiché dans tous les tampons où la variable locale type est private (exemple : tous les tampons privés IRC)

Il n’y a pas de moyen intégré de rafraîchir les objets de barre personnalisés. Vous pouvez utiliser l’extension Trigger pour forcer un rafraîchissement, par exemple sur un ou plusieurs signaux reçus.

Pour plus d’informations et des exemples, voir la commande /item.

Remplissage

Il y a quatre types de remplissage :

  • horizontal : les objets sont affichés horizontalement, de gauche à droite. S’il y a des retours à la ligne dans les objets, un espace est utilisé pour séparer les lignes.

  • vertical : les objets sont affichés de haut en bas. S’il y a des retours à la ligne dans les objets, une nouvelle ligne est utilisée pour séparer les lignes.

  • columns_horizontal : les objets sont affichés en utilisant des colonnes, où le texte est aligné à gauche. Le premier objet est en haut à gauche, le second est sur la même ligne, sur la droite.

  • columns_vertical : les objets sont affichés en utilisant des colonnes, où le texte est aligné à gauche. Le premier objet est en haut à gauche, le second est sur la ligne en dessous.

Les barres par défaut title, status et input ont un remplissage horizontal, et la barre par défaut nicklist a un remplissage vertical.

Quelques exemples de remplissage pour la barre nicklist :

┌───────────────────────────────────────────────────────────────────────┐
│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 ▲

Conditions

L’option conditions est une chaîne qui est évaluée pour savoir si la barre doit être affichée ou non.

La chaîne peut être :

  • active : la fenêtre doit être active

  • inactive : la fenêtre doit être inactive

  • nicklist : le tampon affiché dans la fenêtre doit avoir une liste de pseudos

  • une expression : elle est évaluée comme booléen (voir la commande /eval)

Pour une expression, les variables suivantes sont disponibles :

  • ${active} : vrai si la fenêtre est active

  • ${inactive} : vrai si la fenêtre est inactive

  • ${nicklist} : vrai si le tampon affiché dans la fenêtre a une liste de pseudos

Les pointeurs suivants sont disponibles :

  • ${window} : la fenêtre où la condition est évaluée

  • ${buffer} : le tampon de la fenêtre où la condition est évaluée

Exemple pour afficher la liste de pseudos dans tous les tampons possédant une liste de pseudos, et seulement si la largeur du terminal est supérieure à 100 :

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

Même condition, mais afficher toujours la liste de pseudos sur le tampon &bitlbee (même si le terminal est petit) :

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

7.10. Données sécurisées

Stockage

WeeChat peut chiffrer les mots de passe ou les données sensibles en utilisant des données sécurisées, stockées dans le fichier sec.conf.

Ce fichier de configuration est lu avant tout autre fichier, et les valeurs ici stockées peuvent être utilisées dans diverses options de WeeChat ou des extensions/scripts.

Vous pouvez définir une phrase secrète pour chiffrer les données dans le fichier sec.conf. Ce n’est pas obligatoire, mais fortement recommandé, sinon les données sont stockées sous forme de texte en clair dans le fichier.

/secure passphrase ceci est ma phrase secrète
Phrase secrète au démarrage

Lorsqu’une phrase secrète est définie, WeeChat vous demandera de la saisir lors du démarrage (mais pas sur /upgrade).

Si vous utilisez un gestionnaire de mots de passe, vous pouvez lancer un programme externe pour lire la phrase secrète au lieu d’avoir à l’entrer manuellement au démarrage de WeeChat.
Par exemple avec password-store (command pass) :

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

Le programme peut vous demander de déverrouiller votre clé GPG ou d’entrer une autre phrase secrète. WeeChat attendra la fin de la commande pour lire la phrase secrète sur la sortie standard (elle doit être sur la première ligne et sans caractère supplémentaire).
Si la sortie ne contient pas de phrase secrète ou si celle-ci est erronée, WeeChat vous demandera alors de la saisir.

Chiffrement

Le chiffrement des données se fait en 3 étapes :

  1. Dériver une clé de la phrase secrète (avec du salage en option).

  2. Calculer la somme de contrôle des données à chiffrer.

  3. Chiffrer la somme de contrôle + les données (la sortie est : sel + somme de contrôle et données chiffrées).

Le mode de chiffrement par bloc est CFB.

Le résultat est stocké sous forme d’une chaîne hexadécimale dans le fichier sec.conf, par exemple :

[data]
__passphrase__ = on
libera = "53B1C86FCDA28FC122A95B0456ABD79B5AB74654F21C3D099A6CCA8173239EEA59533A1D83011251F96778AC3F5166A394"
Déchiffrement

Le déchiffrement des données se fait en 3 étapes :

  1. Dériver une clé en utilisant le sel et la phrase secrète.

  2. Déchiffrer la somme de contrôle et les données.

  3. Vérifier que la somme de contrôle déchiffrée correspond à la somme de contrôle des données.

Gérer les données sécurisées

Pour ajouter une donnée sécurisée, utilisez la commande /secure set, par exemple un mot de passe pour le serveur IRC libera :

/secure set libera motdepasse

Pour plus de confort, les données sécurisées peuvent être affichées dans un tampon dédié (touche Alt+v sur le tampon pour voir les valeurs), faites simplement :

/secure

Les données sécurisées peuvent être utilisées dans quelques options qui peuvent contenir des données sensibles comme un mot de passe, en utilisant ce format : "${sec.data.xxx}" où "xxx" est le nom de la donnée sécurisée (utilisé dans la commande /secure set xxx …​).
Pour une liste complète des options supportées, voir /help secure.

Pour utiliser le mot de passe libera, par exemple avec l’authentification SASL :

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

7.11. Alias de commandes

L’extension Alias permet de définir des alias pour des commandes (WeeChat ou d’autres extensions).

Des alias sont créés par défaut, avec le nom en lettres majuscules (pour les différencier des commandes standard) ; les commandes ne sont pas sensibles à la casse dans WeeChat, donc par exemple /close lance l’alias /CLOSE.

Liste des alias par défaut :

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

-

Commandes

  • 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

Options

Sections dans le fichier alias.conf :

Section Commande de contrôle Description

cmd

/alias
/set alias.cmd.*

Commandes pour les alias.

completion

/alias
/set alias.completion.*

Complétions pour les alias.

7.12. Commandes et options

Commandes WeeChat

  • 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

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>

-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)
  • 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 function "string_eval_expression" in "Plugin API reference")
  operator: a logical or comparison operator (see function "string_eval_expression" in "Plugin API reference")

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

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

Options des données sécurisées

Sections dans le fichier sec.conf :

Section Commande de contrôle Description

crypt

/set sec.crypt.*

Options pour le chiffrement.

data

/secure

Données sécurisées.

Options :

  • 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

Options WeeChat

Sections dans le fichier weechat.conf :

Section Commande de contrôle Description

debug

/debug set
/set weechat.debug.*

Niveau de debug, pour le cœur et les extensions (les options peuvent être ajoutées/supprimées dans la section).

startup

/set weechat.startup.*

Options de démarrage.

look

/set weechat.look.*

Aspect/présentation.

palette

/color alias
/set weechat.palette.*

Alias de couleurs (les options peuvent être ajoutées/supprimées dans la section).

color

/set weechat.color.*

Couleurs.

completion

/set weechat.completion.*

Options de complétion.

history

/set weechat.history.*

Options d’historique (commandes et tampons).

proxy

/proxy
/set weechat.proxy.*

Options des proxies.

network

/set weechat.network.*

Options réseau/TLS.

plugin

/set weechat.plugin.*

Options sur les extensions.

signal

/set weechat.signal.*

Options sur les signaux.

bar

/bar
/set weechat.bar.*

Options des barres.

layout

/layout

Dispositions.

buffer

/buffer setauto

Propriétés appliquées automatiquement sur les tampons lorsqu’ils sont ouverts.

notify

/buffer notify

Niveaux de notification des tampons (les options peuvent être ajoutées/supprimées dans la section).

filter

/filter

Filtres.

key

/key

Touches pour le contexte "default".

key_search

/key

Touches pour le contexte "search".

key_cursor

/key

Touches pour le contexte "cursor".

key_mouse

/key

Touches pour le contexte "mouse".

Options :

  • 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_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.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); 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"

    • 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.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_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: sort of hotlist: group_time_*: group by notify level (highlights first) then sort by time, group_number_*: group by notify level (highlights first) then sort by number, number_*: sort by number; asc = ascending sort, desc = descending sort

    • type: enum

    • values: group_time_asc, group_time_desc, group_number_asc, group_number_desc, number_asc, number_desc

    • default value: group_time_asc

  • 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.mouse_timer_delay

    • description: delay (in milliseconds) to grab a mouse event: WeeChat will wait this delay before processing event

    • type: integer

    • values: 1 .. 10000

    • default value: 100

  • 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

L’extension IRC permet de dialoguer avec d’autres personnes via le protocole IRC.

Elle est multi-serveurs, et offre toutes les commandes IRC supportées, y compris la discussion directe (DCC chat) et le transfert de fichier DCC (via l’extension xfer, voir extension Xfer).

8.1. Options de ligne de commande

Il est possible de passer une URL pour un ou plusieurs serveurs, comme suit :

irc[6][s]://[pseudo[:mot_passe]@]irc.example.org[:port][/canal][,canal[...]]

Exemple pour rejoindre #weechat et #weechat-fr sur le serveur irc.libera.chat, port par défaut (6667), avec le pseudo alice :

$ weechat irc://alice@irc.libera.chat/#weechat,#weechat-fr

8.2. Serveurs

Ajout d’un serveur

Par défaut aucun serveur n’est défini. Vous pouvez ajouter autant de serveurs que vous le souhaitez avec la commande /server.

Par exemple pour vous connecter à libera.chat  avec TLS (communications chiffrées) :

/server add libera irc.libera.chat/6697 -tls

Vous pouvez demander à WeeChat de se connecter automatiquement à ce serveur au démarrage :

/set irc.server.libera.autoconnect on

Pour vous authentifier, il est recommandé d’utiliser SASL (si le serveur le supporte), avec le mot de passe stocké sous forme de donnée sécurisée (voir aussi le chapitre sur l’authentification avec SASL) :

/set irc.server.libera.sasl_username "alice"
/secure set libera xxxxxxx
/set irc.server.libera.sasl_password "${sec.data.libera}"

Si SASL n’est pas supporté, vous pouvez utiliser une commande pour envoyer un message à nickserv :

/set irc.server.libera.command "/msg nickserv identify ${sec.data.libera}"
En envoyant une commande à nickserv, vous pourriez être authentifié après avoir rejoint les canaux, ce qui peut être un problème sur certains canaux qui vous obligent à être authentifié pour les rejoindre. Dans ce cas, vous pouvez définir un délai après la commande : /set irc.server.libera.command_delay 5.

Options du serveur

Les options du serveur sont nommées irc.server.<serveur>.<option><serveur> est le nom interne du serveur et <option> le nom de l’option.
La valeur d’une option de serveur est héritée de irc.server_default.xxx si l’option de serveur a la valeur spéciale null.

Par exemple si vous avez créé le serveur libera avec les commandes ci-dessus, vous verrez ceci avec la commande /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"

Par exemple si vous voulez vous connecter automatiquement à tous les serveurs que vous ajoutez sans avoir à le faire sur chaque serveur, vous pouvez faire :

/set irc.server_default.autoconnect on

Et puis vous pouvez réinitialiser l’option du serveur pour qu’elle utilise la valeur héritée, qui est maintenant on au lieu de la valeur par défaut off :

/unset irc.server.libera.autoconnect

Certificats TLS

Lors de la connexion à un serveur IRC avec TLS, WeeChat vérifie par défaut que la connexion est entièrement de confiance.

Quelques options sont utilisées pour contrôler la connexion TLS :

weechat.network.gnutls_ca_system

charger les certificats des autorités de certification système au démarrage

weechat.network.gnutls_ca_user

fichier(s) supplémentaire(s) avec des autorités de certification

irc.server.xxx.tls_cert

fichier de certificat TLS utilisé pour authentifier automatiquement votre pseudo (par exemple CertFP sur oftc, voir ci-dessous)

irc.server.xxx.tls_dhkey_size

taille de clé utilisée pour l’échange de clé Diffie-Hellman (par défaut : 2048)

irc.server.xxx.tls_verify

vérifier que la connexion TLS est entièrement de confiance (activé par défaut)

L’option "tls_verify" est activée par défaut, donc la vérification est stricte et peut échouer, même si cela pouvait être OK dans les versions inférieures à 0.3.1.
Premier exemple : se connecter à oftc en vérifiant le certificat
  • Importer le certificat sous le shell :

$ mkdir -p ~/.config/weechat/tls
$ wget -O ~/.config/weechat/tls/CAs.pem https://www.spi-inc.org/ca/spi-cacert.crt
Vous devez remplacer ~/.config/weechat par le chemin vers votre répertoire de config WeeChat qui peut aussi être par exemple ~/.weechat.
Il est possible de concaténer plusieurs certificats dans le fichier CAs.pem.
  • Sous WeeChat, avec le serveur "oftc" déjà ajouté :

/connect oftc
Second exemple : se connecter à oftc en utilisant CertFP
  • Créer le certificat sous le 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
Vous devez remplacer ~/.config/weechat par le chemin vers votre répertoire de config WeeChat qui peut aussi être par exemple ~/.weechat.
  • Sous WeeChat, avec le serveur "oftc" déjà ajouté :

/set irc.server.oftc.tls_cert "${weechat_config_dir}/tls/nick.pem"
/connect oftc
/msg nickserv cert add

Pour plus d’informations, merci de consulter cette page .

Authentification avec SASL

WeeChat supporte l’authentification avec SASL, en utilisant différents mécanismes :

  • plain : mot de passe en clair (par défaut)

  • scram-sha-1 : SCRAM avec algorithme de hachage SHA-1

  • scram-sha-256 : SCRAM avec algorithme de hachage SHA-256

  • scram-sha-512 : SCRAM avec algorithme de hachage SHA-512

  • ecdsa-nist256p-challenge : challenge avec clé publique/privée

  • external : certificat TLS côté client

Les options dans le serveur sont :

  • sasl_mechanism : mécanisme à utiliser (voir ci-dessus)

  • sasl_timeout : délai d’attente maximum (en secondes) pour l’authentification

  • sasl_fail : action à effectuer si l’authentification échoue

  • sasl_username : nom d’utilisateur (pseudo)

  • sasl_password : mot de passe

  • sasl_key : fichier avec la clé privée ECC (pour le mécanisme ecdsa-nist256p-challenge)

SASL ECDSA-NIST256P-CHALLENGE

Vous devez générer une clé privée pour vous authentifier avec le mécanisme ECDSA-NIST256P-CHALLENGE (aucun mot de passe n’est requis lors de la connexion).

Vous pouvez générer la clé avec cette commande :

$ openssl ecparam -genkey -name prime256v1 -out ~/.config/weechat/ecdsa.pem
Vous devez remplacer ~/.config/weechat par le chemin vers votre répertoire de config WeeChat qui peut aussi être par exemple ~/.weechat.

Récupérez la clé publique (encodée en base64) avec cette commande :

$ 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

Connectez-vous au serveur, identifiez vous (par exemple avec "nickserv identify") et définissez la clé publique dans votre compte, en utilisant nickserv (remplacez la valeur base64 par votre clé publique) :

/connect libera
/msg nickserv identify votre_mot_de_passe
/msg nickserv set pubkey Av8k1FOGetUDq7sPMBfufSIZ5c2I/QYWgiwHtNXkVe/q

Configurez les options SASL dans le serveur :

/set irc.server.libera.sasl_mechanism ecdsa-nist256p-challenge
/set irc.server.libera.sasl_username "votre_pseudo"
/set irc.server.libera.sasl_key "${weechat_config_dir}/ecdsa.pem"

Reconnectez-vous au serveur :

/reconnect libera

Connexion

Vous pouvez vous connecter au serveur avec la commande /connect :

/connect libera

Pour vous déconnecter :

/disconnect libera

Ou juste ceci si vous être sur un tampon appartenant au serveur libera (serveur, canal, privé) :

/disconnect

Lorsque vous vous connectez à plusieurs serveurs à la fois, les tampons des serveurs sont mélangés par défaut et vous pouvez basculer entre eux avec la touche Ctrl+x.
Il est possible de désactiver le mélange des tampons serveurs pour avoir un tampon distinct par serveur :

/set irc.look.server_buffer independent

Connexion avec Tor et SASL

Quelques serveurs acceptent les connexions avec Tor , un réseau de tunnels virtuels qui permet aux personnes et groupes d’améliorer leur vie privée et sécurité sur Internet.

En premier lieu, installez Tor. Pour Debian (et dérivés) :

$ sudo apt-get install tor

Sous WeeChat vous devez ajouter un proxy socks5 pour le service Tor (le nom/IP et port dépend de votre configuration de Tor) :

/proxy add tor socks5 127.0.0.1 9050

Maintenant, ajoutez un nouveau serveur (remplacez le nom du serveur "irc-tor" et l’adresse par une valide) :

/server add irc-tor this.is.the.address.onion

Définissez le proxy pour Tor :

/set irc.server.irc-tor.proxy "tor"

Définissez l’authentification SASL avec ECDSA-NIST256P-CHALLENGE (voir le chapitre SASL ECDSA-NIST256P-CHALLENGE pour générer une clé privée) :

/set irc.server.irc-tor.sasl_mechanism ecdsa-nist256p-challenge
/set irc.server.irc-tor.sasl_username "your_nickname"
/set irc.server.irc-tor.sasl_key "${weechat_config_dir}/ecdsa.pem"

Et enfin, connectez-vous au serveur :

/connect irc-tor

8.3. Support IRCv3

WeeChat supporte les extensions IRCv3  suivantes :

Par défaut toutes les capacités supportées par le serveur et WeeChat sont automatiquement activées (voir l’option irc.server_default.capabilities).

Des tableaux avec une comparaison des différents clients IRC, incluant WeeChat, sont disponibles sur cette page .

account-notify

Spécification : account-notify 

Cette capacité autorise le serveur à envoyer des messages lorsque les utilisateurs s’identifient ou perdent l’identification sur le serveur.
WeeChat affiche ces messages si l’option irc.look.display_account_message est activée (valeur par défaut).

Exemples :

-- alice s'est identifié en tant que Alice01

-- alice n'est plus identifié

account-tag

Spécification : account-tag 

Cette capacité autorise le serveur à envoyer le compte comme étiquette de message dans les commandes envoyées au client.
WeeChat extrait cette étiquette et la sauve dans le message, mais elle n’est pas utilisée ni affichée. Elle peut être utilisée dans la commande /filter pour filtrer les messages correspondants à des comptes spécifiques.

Exemple de message IRC brut reçu :

@account=Alice01 :user@example.com PRIVMSG #test :Bonjour !

Message affiché dans le canal :

<alice> Bonjour !

Message avec les étiquettes :

<alice> Bonjour ! [irc_privmsg,irc_tag_account_Alice01,notify_message,prefix_nick_lightcyan,nick_alice,host_user@example.com,log1]

away-notify

Spécification : away-notify 

Cette capacité autorise le serveur à envoyer des notifications d’absence pour les utilisateurs qui sont sur les mêmes canaux que vous.

Lorsque le statut d’absence est changé pour un utilisateur (absent ou de retour), cela est reflété avec une couleur spécifique dans la liste des pseudos, en utilisant les options suivantes :

batch

Spécification : batch 

Cette capacité autorise le serveur à envoyer des évènements "batch" (regroupement de plusieurs messages qui sont liés).

Pour l’instant, WeeChat stocke seulement ces messages reçus dans un "batch" et les traite plus tard comme d’habitude, lorsque le "batch" prend fin.

cap-notify

Spécification : cap-notify 

Cette capacité autorise le serveur à avertir des nouvelles capacités ou celles supprimées sur le serveur (via les commandes CAP NEW et CAP DEL).

Exemples :

-- irc : client capability, maintenant disponible : sasl

-- irc : client capability, supprimé : sasl

chghost

Spécification : chghost 

Cette capacité autorise le serveur à envoyer des messages lorsque les utilisateurs changent de nom ou d’hôte.
Lorsque l’option irc.look.smart_filter_chghost est activée (valeur par défaut), les changements d’hôtes sont automatiquement masqués si le pseudo n’a pas parlé pendant plusieurs minutes.
La couleur du message de changement d’hôte est contrôlée par l’option irc.color.message_chghost.

Exemple :

-- alice (user@example.com) a changé d'hôte pour test.com

draft/multiline

Spécification : multiline 

Cette capacité autorise le client et le serveur à envoyer des messages avec plusieurs lignes, en utilisant la capacité batch, qui doit être activée également.

Il y a des limites en terme d’octets ou nombre de lignes dans un message multi-lignes qui sont données dans la capacité envoyée par le serveur, par exemple :

CAP alice LS * :draft/multiline=max-bytes=4096,max-lines=24

Cela fixe la limite à 4096 octets et 24 lignes pour un contenu "batch" multi-lignes.

Si les limites ne sont pas envoyées par le serveur, celles par défaut dans WeeChat sont :

  • max octets : 4096

  • max lignes : 24

Seuls les messages standards et ceux envoyés avec la commande /notice peuvent être multi-lignes.
Les messages ACTION CTCP envoyés par avec la commande /me ne sont pas affectés par cette capacité. Cela signifie que les actions multi-lignes sont envoyées sous forme de plusieurs actions.

Comme la spécification est un brouillon (« draft »), elle peut changer et le support "multiline" peut être cassé à tout moment dans WeeChat.
La capacité est automatiquement activée si le serveur la supporte et peut être désactivée avec cette commande : /set irc.server_default.capabilities "*,!draft/multiline".
Lorsque la capacité est désactivée, un message multi-lignes est envoyé sous forme de plusieurs messages, comme s’ils avaient été envoyés séquentiellement au serveur.

Exemple de messages IRC envoyés pour un message utilisateur avec deux lignes (ceci est un test / sur deux lignes), envoyé au canal #test :

BATCH +i8Je7M7gquddoyC9 draft/multiline #test
@batch=i8Je7M7gquddoyC9 PRIVMSG #test :ceci est un test
@batch=i8Je7M7gquddoyC9 PRIVMSG #test :sur deux lignes
BATCH -i8Je7M7gquddoyC9

Affichage du message envoyé dans WeeChat :

19:01:45 alice | ceci est un test
               | sur deux lignes

echo-message

Spécification : echo-message 

Cette capacité oblige le serveur à renvoyer les messages PRIVMSG, NOTICE et TAGMSG à WeeChat.

WeeChat affiche seulement le message reçu et non pas le message envoyé, donc un délai peut être perçu entre l’envoi et l’affichage. Lorsque le message est affiché, cela signifie qu’il a bien été reçu par le serveur et également propagé aux autres clients connectés sur le serveur.

extended-join

Spécification : extended-join 

Cette capacité autorise le serveur à envoyer le compte et nom réel lorsque les utilisateurs rejoignent les canaux.
WeeChat affiche les informations additionnelles dans les messages de "join" si l’option irc.look.display_extended_join est activée (valeur par défaut).

Exemple :

--> john [John01] (John Doe) (~user@example.com) a rejoint #test

invite-notify

Spécification : invite-notify 

Cette capacité autorise le serveur à envoyer des messages d’invitation lorsque les utilisateurs sont invités sur des canaux.

Exemple :

-- alice a invité bob sur #test

message-tags

Spécification : message-tags 

Cette capacité autorise l’envoi de méta-données dans les messages.
Ces étiquettes peuvent être affichées avec la commande /debug tags.

Elle doit être activée pour utiliser les notifications de saisie.

monitor

Spécification : monitor 

Cette capacité autorise le serveur à envoyer des notifications lorsque les clients se connectent ou se déconnectent.
WeeChat utilise automatiquement cette extension si disponible lorsque la commande /notify est utilisée.

multi-prefix

Spécification : multi-prefix 

Cette capacité autorise le serveur à envoyer tous les modes utilisateur d’un coup dans les réponses à /names et /whois.

Pour l’instant, WeeChat n’affiche pas les préfixes dans la sortie de /names, même s’ils sont reçus et correctement sauvegardés en interne.

Exemple : sortie de /whois alice :

-- [alice] @%+#test

SASL

Spécification : SASL 3.2 

Voir le chapitre dédié Authentification avec SASL.

server-time

Spécification : server-time 

Cette capacité autorise le serveur à envoyer l’heure pour les messages sous forme d’étiquette de message.
Lorsque l’heure est reçue dans un message, WeeChat l’utilise pour afficher le message (qui peut alors avoir une date dans le passé).

Le proxy IRC dans l’extension Relay supporte cette capacité, donc tout client IRC de Relay devrait l’activer pour afficher l’heure réelle des messages dans l’historique des messages envoyés à la connexion.

setname

Spécification : setname 

Cette capacité vous permet de changer votre nom réel en utilisant la commande /setname.

typing

Spécification : typing 

Voir le chapitre dédié Notifications de saisie.

userhost-in-names

Spécification : userhost-in-names 

Cette capacité autorise le serveur à envoyer les noms d’hôtes dans les réponses à /names.

WeeChat n’affiche pas les noms d’hôtes dans la sortie de /names.

Exemple de message IRC brut reçu sans la capacité :

:irc.server 353 alice = #test :@alice bob +carol

Exemple de message IRC brut reçu avec la capacité :

:irc.server 353 alice = #test :@alice!user1@host1 bob!user2@host2 +carol!user3@host3

WHOX

Spécification : WHOX 

Cette capacité vous permet de demander des champs additionnels dans la réponse WHO (via la commande /who).
WeeChat affiche ces informations additionnelles reçus dans la sortie de WHO.

8.4. Canaux

Vous pouvez rejoindre des canaux avec la commande /join :

/join #canal

Quitter un canal (en laissant le tampon ouvert) :

/part [message de fin]

Les canaux que vous rejoignez ne sont pas sauvegardés. Si vous souhaitez les rejoindre automatiquement à la connexion au serveur, vous devez définir l’option autojoin du serveur :

/set irc.server.libera.autojoin "#weechat,#weechat-fr"
Certains scripts peuvent aider pour définir automatiquement cette option, voir /script search autojoin.

Attention, les espaces ne peuvent être utilisés que pour séparer les canaux des clés, par exemple si #canal1 requiert une clé mais pas #canal2:

/set irc.server.libera.autojoin "#canal1,#canal2 cle1"

Pour de l’aide sur le format, voir /help irc.server.libera.autojoin.

8.5. Messages privés

Vous pouvez envoyer un message privé avec la commande /query, qui ouvre un tampon séparé :

/query bob salut, comment vas-tu ?

Sans paramètre la commande ouvre juste le tampon (ou le sélectionne s’il est déjà ouvert) :

/query bob

Pour fermer le tampon privé, vous pouvez utiliser cette commande sur le tampon privé :

/close

8.6. Filtre intelligent

Un filtre intelligent est disponible pour filtrer certains messages lorsqu’une personne n’a rien écrit sur le canal durant un délai configurable :

  • join : l’utilisateur rejoint le canal

  • part : l’utilisateur quitte le canal

  • quit : l’utilisateur quitte le serveur

  • account : l’utilisateur change de compte

  • chghost : l’utilisateur change son nom ou hôte

  • mode : changements de modes sur le canal

  • nick : l’utilisateur change son pseudo

  • setname : l’utilisateur change son nom réel

Le filtre intelligent est activé par défaut, mais vous devez ajouter un filtre pour cacher les lignes sur les tampons, par exemple :

/filter add irc_smart * irc_smart_filter *

Il est possible de créer un filtre pour un canal seulement ou plusieurs canaux commençant par le même nom (voir /help filter) :

/filter add irc_smart_weechat irc.libera.#weechat* irc_smart_filter *

Vous pouvez définir un délai plus long (en minutes) :

/set irc.look.smart_filter_delay 10

Si quelqu’un n’a rien écrit durant les 10 dernières minutes, ses messages comme les join/part/quit seront cachés par défaut sur le canal, et vous pouvez utiliser la touche Alt+= (activer/désactiver les filtres) pour les voir.

8.7. Réponses CTCP

Il est possible de personnaliser les réponses CTCP, ou de bloquer certaines demandes CTCP (ne pas y répondre).

Par exemple, pour personnaliser la réponse au CTCP "VERSION", utilisez la commande suivante :

/set irc.ctcp.version "Je suis sous WeeChat ${version}, ça déchire !"
Le nom du CTCP doit être en minuscules. Cela signifie que l’option irc.ctcp.VERSION ne fonctionnerait pas.

Si vous voulez bloquer le CTCP "VERSION" (ne pas répondre à une demande), alors affectez une chaîne vide :

/set irc.ctcp.version ""

Même un CTCP inconnu peut être personnalisé, par exemple vous pouvez répondre au CTCP "BLABLA" :

/set irc.ctcp.blabla "C'est ma réponse au CTCP BLABLA"

Il est possible de personnaliser le CTCP pour un seul serveur, en utilisant son nom interne avant le nom du CTCP :

/set irc.ctcp.libera.version "WeeChat ${version} (pour libera)"

Si vous voulez restaurer la réponse CTCP standard, alors supprimez l’option :

/unset irc.ctcp.version

Les réponses CTCP sont évaluées (voir la commande /eval) et les variables supplémentaires suivantes sont disponibles :

Variable Description Valeur / exemple

${clientinfo}

Liste des CTCP supportés

ACTION DCC CLIENTINFO PING SOURCE TIME VERSION

${version}

Version de WeeChat

4.1.0-dev

${versiongit}

Version de WeeChat + version Git (1)

4.1.0-dev (git: v4.0.0-51-g8f98b922a)

${git}

Version Git (1)

v4.0.0-51-g8f98b922a

${compilation}

Date de compilation WeeChat

Jul 8 2023 20:14:23

${osinfo}

Information sur l’OS

Linux 5.10.0-23-amd64 / x86_64

${site}

Site WeeChat

https://weechat.org/

${download}

Site WeeChat, page téléchargement

https://weechat.org/download/

${time}

Date/heure courante

Sat, 08 Jul 2023 21:11:19 +0200

${username}

Nom d’utilisateur sur le serveur

nom

${realname}

Nom réel sur le serveur

John Doe

(1) La version Git est la sortie de la commande git describe. Elle est connue seulement si WeeChat a été compilé dans le dépôt Git et si Git était installé.

Les réponses CTCP par défaut sont :

CTCP Format de réponse Exemple

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. Tampon cible pour les messages IRC

Il est possible de personnaliser le tampon cible pour les messages IRC (le tampon utilisé pour afficher le message) avec les options irc.msgbuffer.*.

Pour certains messages IRC (voir la liste ci-dessous), vous pouvez utiliser la valeur :

current

tampon courant (si c’est un tampon IRC, sinon sur le tampon du serveur)

private

tampon privé pour le pseudo, ou le tampon courant s’il n’est pas trouvé (selon l’option irc.look.msgbuffer_fallback)

server

tampon du serveur

weechat

tampon "core" WeeChat

Lorsque l’option n’est pas définie (par défaut), WeeChat choisira le tampon approprié, généralement le tampon du serveur ou du canal.

Liste non exhaustive des messages ou alias que vous pouvez paramétrer :

message alias description

error

erreur

invite

invité sur un canal

join

join

kick

kick

kill

kill

mode

mode

notice

notice

part

part

quit

quit

topic

topic

wallops

wallops

ctcp

ctcp (envoyé ou reçu, dans un message privmsg ou notice)

221

chaîne de mode utilisateur

275

whois

whois (connexion sécurisée)

301

whois

whois (absent)

303

ison

305

unaway

non absent

306

away

absent

307

whois

whois (pseudo enregistré)

310

whois

whois (mode aide)

311

whois

whois (utilisateur)

312

whois

whois (serveur)

313

whois

whois (opérateur)

314

whowas

whowas

315

who

who (fin)

317

whois

whois (inactivité)

318

whois

whois (fin)

319

whois

whois (canaux)

320

whois

whois (utilisateur identifié)

321

list

list (début)

322

list

list (canal)

323

list

list (fin)

326

whois

whois (a les privilèges oper)

327

whois

whois (machine)

328

URL du canal

329

date de création du canal

330

whois

whois (identifié comme)

331

pas de titre ("topic") pour le canal

332

titre du canal ("topic")

333

infos sur le titre ("topic")

335

whois

whois (est un robot sur)

338

whois

whois (machine)

341

invitation

343

whois

whois (est opéré comme)

344

reop

reop canal

345

reop

reop canal (fin)

346

invitelist

liste des invitations

347

invitelist

liste des invitations (fin)

348

exceptionlist

liste des exceptions

349

exceptionlist

liste des exceptions (fin)

351

version du serveur

352

who

who

353

names

liste des utilisateurs sur le canal

366

names

fin de la liste /names

367

banlist

liste de bannissement

368

banlist

fin de la liste de bannissement

369

whowas

whowas (fin)

378

whois

whois (connexion depuis)

379

whois

whois (utilise les modes)

401

whois

pas de tel pseudo/canal

402

whois

pas de tel serveur

432

pseudo erroné

433

pseudo déjà en cours d’utilisation

438

pas autorisé à changer de pseudo

671

whois

whois (connexion sécurisée)

728

quietlist

liste des "quiet"

729

quietlist

fin de la liste des "quiet"

732

monitor

liste des pseudos surveillés

733

monitor

liste des pseudos surveillés (fin)

901

vous êtes maintenant identifié

Les autres messages numériques peuvent être paramétrés de la même manière.

Le message peut être préfixé par le nom du serveur pour être spécifique à un serveur IRC (par exemple: libera.whois).

Quelques exemples :

  • Afficher le résultat de /whois sur le tampon privé :

/set irc.msgbuffer.whois private
  • Restaurer le tampon par défaut pour whois (tampon du serveur) :

/unset irc.msgbuffer.whois
  • Afficher une invitation sur le tampon courant, pour le serveur "libera" seulement :

/set irc.msgbuffer.libera.invite current
  • Afficher le message "303" (ison) sur le tampon "core" WeeChat :

/set irc.msgbuffer.303 weechat

8.9. Commandes

  • 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] [-exclude=<channel>[,<channel>...]] <command>
          [-current] [-parted] -include=<channel>[,<channel>...] <command>

-current: execute command for channels of current server only
 -parted: execute on parted channels only
-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> [<nick>|<number>...]

channel: channel name
   nick: nick or host
 number: ban number (as displayed by command /ban)
  • unquiet: unquiet nicks or hosts

/unquiet  [<channel>] <nick>|<number> [<nick>|<number>...]

channel: channel name
   nick: nick or host
 number: quiet number (as displayed by command /quiet)
  • 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. Options

Sections dans le fichier irc.conf :

Section Commande de contrôle Description

look

/set irc.look.*

Aspect/présentation.

color

/set irc.color.*

Couleurs.

network

/set irc.network.*

Options réseau.

msgbuffer

/set irc.msgbuffer.*

Tampon cible pour les messages IRC (les options peuvent être ajoutées/supprimées dans la section).

ctcp

/set irc.ctcp.*

Réponses CTCP (les options peuvent être ajoutées/supprimées dans la section).

ignore

/ignore

Personnes ignorées.

server_default

/set irc.server_default.*

Valeurs par défaut pour serveurs (les options peuvent être ajoutées/supprimées dans la section).

server

/server
/set irc.server.*

Serveurs.

Options :

  • 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_channel_modes

    • description: color for channel modes, near channel 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

  • 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_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) after execution of command and 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.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

L’extension Xfer permet :

  • la discussion directe (entre deux machines, sans serveur), par exemple le "DCC Chat" via l’extension IRC

  • le transfert de fichiers, par exemple le "DCC" via l’extension IRC

9.1. Commandes

  • 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. Options

Sections dans le fichier xfer.conf :

Section Commande de contrôle Description

look

/set xfer.look.*

Aspect/présentation.

color

/set xfer.color.*

Couleurs.

network

/set xfer.network.*

Options réseau.

file

/set xfer.file.*

Options pour les fichiers envoyés/reçus.

Options :

  • 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. Notifications de saisie

L’extension typing est utilisée pour informer les autres utilisateurs quand vous êtes en train d’écrire un message et afficher la liste des utilisateurs qui écrivent actuellement un message sur un tampon.

Elle est utilisée par l’extension IRC sur les tampons de canaux et privés, lorsque la capacité "message-tags" est activée (vous pouvez vérifier avec la commande /cap).
Sous le capot, l’étiquette client typing est utilisée, en suivant cette spécification .

10.1. Activation

Pour des considérations de confidentialité, la fonctionnalité typing est désactivée par défaut.
Si vous voulez l’utiliser, vous devez activer des options dans les extensions typing et irc :

/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

Les notifications "typing" sont affichées à la fin de la barre de statut.

Exemple de barre de statut avec l’objet "typing" : "bob" écrit un message et "alice" était en train d’en écrire un mais a fait une pause :

│[12:55] [6] [irc/libera] 3:#test(+n){4} [Écrit : bob, (alice)]                   │
│[@Flashy] █                                                                      │
└─────────────────────────────────────────────────────────────────────────────────┘

10.2. Signaux envoyés

Lorsque vous écrivez un message (pas une commande commençant par /), l’extension typing envoie des signaux pour informer les autres extensions (comme IRC) que vous êtes en train d’écrire, et ces extensions peuvent alors envoyer des notifications aux autres utilisateurs.

Les signaux suivants sont envoyés quand vous écrivez des messages :

Signal Paramètres Description

typing_self_typing

Pointeur : tampon.

Vous écrivez un message.

typing_self_paused

Pointeur : tampon.

Vous avez fait une pause dans l’écriture d’un message.

typing_self_cleared

Pointeur : tampon.

Vous avez effacé la ligne de commande sans envoyée le message.

typing_self_sent

Pointeur : tampon.

Vous avez envoyé le message au tampon.

10.3. Signaux captés

L’extension typing capte des signaux qui peuvent être envoyés par d’autres extensions (comme IRC), pour mettre à jour des tables de hachage internes qui sont utilisées pour sauvegarder l’état d’écriture de message des pseudos sur les tampons. Ces tables de hachages sont utilisées pour construire le contenu de l’objet de barre "typing".

Les signaux suivants sont captés par l’extension typing :

Signal Paramètres Description

typing_set_nick

Chaîne : pointeur tampon + ";" + état (un parmi ceux-ci : "off", "typing", "paused", "cleared") + ";" + pseudo.
Example: "0x1234abcd;typing;alice".

Définir l’état de la saisie du pseudo sur le tampon.

typing_reset_buffer

Pointeur : tampon.

Supprimer l’état de saisir pour tous les pseudos d’un tampon.

10.4. Options

Sections dans le fichier typing.conf :

Section Commande de contrôle Description

look

/set typing.look.*

Aspect/présentation.

Options :

  • 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

L’extension Relay est utilisée pour relayer des données via le réseau, en utilisant divers protocoles :

  • irc : proxy IRC : utilisé pour partager la connexions aux serveurs IRC avec un ou plusieurs autres clients IRC

  • weechat : protocole utilisé par les interfaces distantes pour afficher et interagir avec WeeChat, voir cette page .

11.1. Mot de passe

Il est fortement recommandé de définir un mot de passe pour le relai, avec ces commandes :

/secure set relay motdepasse
/set relay.network.password "${sec.data.relay}"

Ce mot de passe sera utilisé pour les protocoles irc et weechat.

11.2. TOTP

TOTP (« Time-based One-Time Password » : mot de passe à usage unique basé sur le temps) peut être utilisé comme second facteur d’authentification pour le protocole weechat, en plus du mot de passe.

Il est optionnel et augmente le niveau de sécurité.

Les mots de passe à usage unique peuvent être générés avec des applications, par exemple :

Le « secret » TOTP doit être défini dans WeeChat et dans l’application utilisée pour générer les mots de passe à usage unique.

Il doit être une chaîne encodée en base32, avec seulement des lettres et des chiffres de 2 à 7, par exemple :

/secure set relay_totp secretpasswordbase32
/set relay.network.totp_secret "${sec.data.relay_totp}"

11.3. TLS

Vous pouvez utiliser TLS en créant un certificat et clé privée et en utilisant le préfixe "tls." dans le nom du protocole.

Le chemin par défaut vers le certificat/clé est défini par l’option relay.network.tls_cert_key.

Vous pouvez créer le certificat et la clé privée avec les commandes suivantes :

$ mkdir -p ~/.config/weechat/tls
$ cd ~/.config/weechat/tls
$ openssl req -nodes -newkey rsa:2048 -keyout relay.pem -x509 -days 365 -out relay.pem
Vous devez remplacer ~/.config/weechat par le chemin vers votre répertoire de config WeeChat qui peut aussi être par exemple ~/.weechat.

Si WeeChat tourne déjà, vous pouvez recharger le certificat et clé privée avec la commande :

/relay tlscertkey

11.4. Proxy IRC

L’extension Relay peut agir comme un proxy IRC : elle simulera un serveur IRC, et vous pourrez vous connecter sur WeeChat avec n’importe quel autre client IRC (y compris WeeChat lui-même).

Vous pouvez définir un port par serveur IRC, ou bien un port générique pour tous les serveurs.

Lors de l’utilisation d’un port pour tous les serveurs, le client doit envoyer le nom interne du serveur dans la commande IRC "PASS", avec le format (voir l’exemple ci-dessous) :

PASS serveur:motdepasse

Exemple : proxy IRC avec TLS pour tout serveur (le client choisira) :

/relay add tls.irc 8000

Exemple : proxy IRC sans TLS seulement pour le serveur "libera" :

/relay add irc.libera 8000

Maintenant vous pouvez vous connecter sur le port 8000 avec n’importe quel client IRC en utilisant le mot de passe "motdepasse" (ou "libera:motdepasse" si aucun serveur n’a été spécifié dans le relai).

Par exemple si vous utilisez WeeChat comme client IRC du relai, avec un serveur "relay" et un mot de passe relay "secret", vous pouvez configurer le mot de passe avec ces commandes :

/secure set relay_libera libera:secret
/set irc.server.relay.password "${sec.data.relay_libera}"

11.5. Protocole WeeChat

L’extension Relay peut envoyer les données à une interface distante en utilisant le protocole WeeChat.

Vous pouvez vous connecter avec une interface distante, voir cette page .

WeeChat lui-même ne peut PAS se connecter sur un autre WeeChat avec ce protocole.

Par exemple :

/relay add weechat 9000

Maintenant vous pouvez vous connecter sur le port 9000 avec une interface distante en utilisant le mot de passe "motdepasse".

11.6. WebSocket

Le protocole WebSocket (RFC 6455 ) est supporté dans l’extension Relay pour tous les protocoles.

La poignée de main ("handshake") WebSocket est automatiquement détectée et le socket devient prêt pour WebSocket si les en-tête requis sont trouvés dans la poignée de main et si l’origine est autorisée (voir l’option relay.network.websocket_allowed_origins).

Un WebSocket peut être ouvert dans une page HTML5 avec une seule ligne de JavaScript :

websocket = new WebSocket("ws://server.com:9000/weechat");

Le port (9000 dans l’exemple) est le port défini dans l’extension Relay. L’URI doit toujours se terminer par "/weechat" (pour les protocoles irc et weechat).

11.7. UNIX domain sockets

En utilisant l’option de protocole "unix" avec la commande /relay add, vous pouvez écouter avec n’importe quel protocole sur un socket UNIX et un chemin donné. Par exemple :

/relay add unix.weechat ${weechat_runtime_dir}/relay_socket

Cela autorise les clients à se connecter en utilisant le protocole weechat à /run/user/1000/weechat/relay_socket. Cela est utile pour autoriser le "SSH forwarding" pour les clients relay, quand d’autres ports ne peuvent pas être ouverts.

Avec OpenSSH :

$ ssh -L 9000:.weechat/relay_socket user@hostname

Cela redirige les clients relay locaux qui se connectent au port 9000 vers l’instance de WeeChat qui tourne sur "hostname".

11.8. Commandes

  • 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 "weechat" (name is not used)

The "irc" protocol allows any IRC client (including WeeChat itself) to connect on the port.
The "weechat" protocol allows a remote interface to connect on the port, see the list 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 weechat 9000
  /relay add tls.weechat 9001
  /relay add ipv4.tls.weechat 9001
  /relay add ipv6.tls.weechat 9001
  /relay add ipv4.ipv6.tls.weechat 9001
  /relay add unix.weechat ${weechat_runtime_dir}/relay_socket

11.9. Options

Sections dans le fichier relay.conf :

Section Commande de contrôle Description

look

/set relay.look.*

Aspect/présentation.

color

/set relay.color.*

Couleurs.

network

/set relay.network.*

Options réseau.

irc

/set relay.irc.*

Options spécifiques au protocole irc (proxy irc).

port

/relay add
/set relay.port.*

Ports utilisés pour le relai (protocoles irc et weechat) (les options peuvent être ajoutées/supprimées dans la section).

Options :

  • 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_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.status_waiting_auth

    • description: text color for "waiting authentication" 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.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

    • type: boolean

    • values: on, off

    • default value: on

  • 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.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.compression

    • description: compression of messages sent to clients with "weechat" protocol: 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.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 protocol, 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: ""

  • relay.weechat.commands

    • description: comma-separated list of commands allowed/denied when input data (text or command) is received from a client; "*" 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: ""

12. Commandes externes

La commande /exec vous permet de lancer des commandes externes dans WeeChat et d’afficher la sortie localement, ou de l’envoyer à un tampon.

12.1. Commandes

  • 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. Options

Sections dans le fichier exec.conf :

Section Commande de contrôle Description

command

/set exec.command.*

Options pour les commandes.

color

/set exec.color.*

Couleurs.

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. Tube FIFO

Vous pouvez contrôler WeeChat à distance, en envoyant des commandes ou du texte dans un tube FIFO (si l’option fifo.file.enabled est activée, elle l’est par défaut).

Le tube FIFO est dans le répertoire WeeChat "runtime" et s’appelle weechat_fifo_12345 par défaut (où 12345 est le process id de WeeChat).

La syntaxe pour envoyer des commandes ou du texte dans le tube FIFO est une des suivantes :

  plugin.buffer *texte ou commande ici
  *texte ou commande ici

Les barres obliques inverses peuvent être interprétées avec ce format, où * est remplacé par \, autorisant par exemple l’envoi de messages multi-lignes :

  plugin.buffer \texte ou commande ici
  \texte ou commande ici

Quelques exemples :

  • Changer le pseudo sur libera en "autrepseudo" :

$ echo 'irc.server.libera */nick autrepseudo' >/run/user/1000/weechat/weechat_fifo_12345
  • Envoyer un message sur le canal IRC #weechat :

$ echo 'irc.libera.#weechat *bonjour !' >/run/user/1000/weechat/weechat_fifo_12345
  • Envoyer un message multi-lignes sur le canal IRC #test, si la capacité "draft/multiline" est activée sur le serveur ergo :

$ echo 'irc.ergo.#test \bonjour\n...sur deux lignes !' >/run/user/1000/weechat/weechat_fifo_12345
  • Envoyer un message sur le tampon courant :

$ echo '*bonjour !' >/run/user/1000/weechat/weechat_fifo_12345
  • Envoyer deux commandes pour décharger/recharger les scripts Python (vous devez les séparer par "\n") :

$ printf '%b' '*/python unload\n*/python autoload\n' >/run/user/1000/weechat/weechat_fifo_12345

13.1. Commandes

  • 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. Options

Sections dans le fichier fifo.conf :

Section Commande de contrôle Description

file

/set fifo.file.*

Contrôle du tube FIFO.

Options :

  • 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 est le couteau suisse de WeeChat : il peut accrocher différentes choses (signal, modificateur, print, …​), changer le contenu des données, et exécuter une ou plusieurs commandes. Une condition peut être utilisée pour empêcher le trigger de s’exécuter dans certaines circonstances.

Utiliser les triggers nécessite de connaître le fonctionnement des signaux, modificateurs, etc. Il peut être utile de lire la Référence API extension WeeChat / Hooks .

14.1. Triggers par défaut

WeeChat créé 5 triggers par défaut, qui peuvent être désactivés, mis à jour ou supprimés :

  • un trigger beep pour les notifications

  • quatre autre triggers pour cacher les mots de passe à l’écran

Liste des triggers par défaut :

Nom Hook Description

beep

print

Faire un bip sur un message de highlight ou privé.

cmd_pass

modifier

Cacher le mot de passe dans les commandes : /msg nickserv id|identify|set password|ghost|release|regain|recover, /oper, /quote pass, /secure passphrase|decrypt|set.

cmd_pass_register

modifier

Cacher le mot de passe dans la commande /msg nickserv register.

msg_auth

modifier

Cacher le mot de passe dans le message d’authentification IRC affiché (message reçu du serveur après l’envoi de la commande par l’utilisateur).

server_pass

modifier

Cacher le mot de passe du serveur dans les commandes /server et /connect.

14.2. Anatomie d’un trigger

Un trigger a les options suivantes (les noms sont trigger.trigger.<nom>.<option>) :

Option Valeurs Description

enabled

on, off

Lorsque l’option est off, le trigger est désactivé et les actions ne sont plus exécutées.

hook

signal, hsignal, modifier, line, print, command, command_run, timer, config, focus, info, info_hashtable

Le "hook" utilisé dans le trigger. Pour plus d’information, voir la Référence API extension WeeChat / Hooks .

arguments

chaîne

Les paramètres pour le "hook", ils dépendent du type de hook utilisé.

conditions

chaîne

Conditions pour exécuter le trigger : elles sont évaluées (voir la commande /eval).

regex

chaîne

Une ou plusieurs expressions régulières POSIX étendues, pour modifier les données reçues dans la fonction de rappel du "hook" (et d’autres choses ajoutées par l’extension trigger), voir expression régulière.

command

chaîne

Commande à exécuter (plusieurs commandes peuvent être séparées par des points-virgules) ; elle est évaluée (voir la commande /eval).

return_code

ok, ok_eat, error

Le code retour de la fonction de rappel (ok par défaut, qui devrait être utilisé dans quasiment tous les triggers, les autres valeurs sont rarement utilisées).

post_action

none, disable, delete

Action à effectuer sur le trigger après l’exécution (none par défaut, qui devrait être utilisé dans quasiment tous les triggers, les autres valeurs sont rarement utilisées).

Par exemple, le trigger beep par défaut a les options suivantes :

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. Exécution

Lorsque la fonction de rappel d’un trigger est appelée, les actions suivantes sont exécutées, dans cet ordre, si les triggers sont globalement activés et si le trigger lui-même est activé :

  1. vérifier les conditions du trigger : si faux, sortir

  2. remplacer du texte dans le trigger en utilisant des expressions régulières

  3. exécuter la/les commande(s)

  4. sortir avec un code retour (sauf pour les "hooks" modifier, line, focus, info et info_hashtable)

  5. effectuer l’action "post" (si différente de none).

14.4. Paramètres du hook

Les paramètres dépendent du type de "hook" utilisé. Ils sont séparés par des points-virgules.

Hook Paramètres Exemples Documentation (API)

signal

1. nom de signal (priorité autorisée) (obligatoire)
2. nom de signal (priorité autorisée)
3. …​

*,irc_in_privmsg
*,irc_in_privmsg;*,irc_in_notice
signal_sigwinch

hook_signal 

hsignal

1. nom de signal (priorité autorisée) (obligatoire)
2. nom de signal (priorité autorisée)
3. …​

nicklist_nick_added

hook_hsignal 

modifier

1. nom de modificateur (priorité autorisée) (obligatoire)
2. nom de modificateur (priorité autorisée)
3. …​

weechat_print
5000|input_text_display;5000|history_add

hook_modifier 

line

1. type de tampon
2. nom de tampon
3. étiquettes

formatted
free
*;irc.libera.*
*;irc.libera.#weechat
formatted;irc.libera.#weechat;irc_notice

hook_line 

print

1. nom de tampon
2. étiquettes
3. message
4. suppression des couleurs (0/1)

irc.libera.*
irc.libera.#weechat
irc.libera.#weechat;irc_notice
*;;;1

hook_print 

command

1. nom de commande (priorité autorisée) (obligatoire)
2. description (évalué, voir la commande /eval)
3. paramètres (évalué, voir la commande /eval)
4. description des paramètres (évalué, voir la commande /eval)
5. complétion (évalué, voir la commande /eval)

test
5000|test
test;commande de test;arg1 arg2;arg1: description 1${\n}arg2: description 2

hook_command 

command_run

1. commande (priorité autorisée) (obligatoire)
2. commande (priorité autorisée)
3. …​

/cmd paramètres

hook_command_run 

timer

1. intervalle, en millisecondes (obligatoire)
2. alignement sur la seconde (par défaut : 0)
3. nombre maximum d’appels (par défaut : 0, qui signifie "sans fin")

3600000
60000;0;5

hook_timer 

config

1. nom d’option (priorité autorisée) (obligatoire)
2. nom d’option (priorité autorisée)
3. …​

weechat.look.*

hook_config 

focus

1. nom d’aire (priorité autorisée) (obligatoire)
2. nom d’aire (priorité autorisée)
3. …​

buffer_nicklist

hook_focus 

info

1. nom de l’info (priorité autorisée) (obligatoire)
2. nom de l’info (priorité autorisée)
3. …​

mon_info

hook_info 

info_hashtable

1. nom de l’info (priorité autorisée) (obligatoire)
2. nom de l’info (priorité autorisée)
3. …​

mon_info

hook_info_hashtable 

14.5. Conditions

Les conditions sont utilisées pour continuer l’exécution du trigger, ou tout stopper.

Elles sont évaluées, et les données disponibles dans la fonction de rappel peuvent être utilisées (voir données dans les callbacks et la commande /eval).

Exemple : le trigger beep par défaut utilise cette condition pour faire un beep seulement sur un highlight ou un message privé :

${tg_displayed} && (${tg_highlight} || ${tg_msg_pv})

14.6. Expression régulière

L’expression régulière est utilisée pour modifier des variables dans la table de hachage de la fonction de rappel.

Le format est l’un des suivants :

/chaîne1/chaîne2
/chaîne1/chaîne2/var
s/chaîne1/chaîne2
s/chaîne1/chaîne2/var
y/chaîne1/chaîne2
y/chaîne1/chaîne2/var

Champs :

  • s ou y : une lettre avec la commande ; si manquante, la commande par défaut est s et le premier caractère est alors utilisé comme délimiteur :

    • s : remplacement par expression régulière : la première chaîne est l’expression régulière, la seconde chaîne est le remplacement pour chaque chaîne trouvée

    • y : traduction de caractères : la première chaîne est un ensemble de caractères qui sont remplacés par les caractères de la seconde chaîne ; une fois évaluée, chaque chaîne doit contenir exactement le même nombre de caractères UTF-8

  • / : le délimiteur d’expression régulière ; le caractère "/" peut être remplacé par n’importe quel caractère (un ou plusieurs caractères identiques)

  • chaîne1 : la première chaîne (l’utilisation dépend de la commande)

  • chaîne2 : la seconde chaîne (l’utilisation dépend de la commande)

  • var : la table de hachage avec la variable à mettre à jour

Plusieurs expressions régulières peuvent être séparées par un espace, par exemple :

s/regex1/remplacement1/var1 y/abcdef/ABDDEF/var2

Regex replace

Pour la commande s, le format est : s/regex/remplacement ou s/regex/remplacement/var (où var est une variable de la table de hachage).

Comme s est la commande par défaut, elle peut être omise, donc /regex/replace est également valide (mais le premier caractère, qui est le délimiteur, ne doit pas être une lettre).

Les groupes de correspondance peuvent être utilisés dans le remplacement :

  • ${re:0} à ${re:99} : ${re:0} est la correspondance complète, ${re:1} à ${re:99} sont les groupes capturés

  • ${re:}+ : la dernière correspondance (avec le numéro le plus élevé)

  • ${hide:c,${re:N}} : la correspondance "N" avec tous les caractères remplacés par "c" (exemple : ${hide:*,${re:2}} est le groupe n°2 avec tous les caractères remplacés par *).

Exemple : utiliser du gras pour les mots entre * :

s/\*([^ ]+)\*/*${color:bold}${re:1}${color:-bold}*/

Exemple : le trigger par défaut server_pass utilise cette expression régulière pour cacher le mot de passe dans les commandes /server et /connect (les caractères des mots de passe sont remplacés par *) :

s==^(/(server|connect) .*-(sasl_)?password=)([^ ]+)(.*)==${re:1}${hide:*,${re:4}}${re:5}
Dans cet exemple, le séparateur utilisé est "==" car il y a "/" dans l’expression régulière.

Translate chars

Pour la commande y, le format est : y/caractères1/caractères2 ou y/caractères1/caractères2/var (où var est une variable de la table de hachage).

Exemple : remplacer "a", "b" et "c" par la lettre en majuscules :

y/abc/ABC/

Exemple : faire tourner une flèche dans le sens horaire :

y/←↑→↓/↑→↓←/

Exemple : convertir toutes les lettres en minuscules :

y/${chars:upper}/${chars:lower}/

Exemple : décaler toutes les lettres d’une position, en préservant la casse : a→b, b→c … y→z, z→a :

y/${chars:a-z}${chars:A-Z}/${chars:b-z}a${chars:B-Z}A/

Variable

Si var n’existe pas dans la table de hachage, elle est automatiquement créée avec une valeur vide. Cela permet de créer des variables temporaires.

Si var n’est pas spécifiée, la variable par défaut est utilisée, elle dépend du type de hook :

Hook Variable par défaut Mise à jour autorisée (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

toutes les variables reçues dans la table de hachage

(1) Toutes les variables peuvent être mises à jour dans le trigger, mais seulement ces variables ont un effet sur la valeur retournée par le trigger et utilisée par WeeChat.

14.7. Commande

La commande est exécutée après le remplacement du texte avec l’expression régulière. Plusieurs commandes peuvent être séparées par des points-virgules.

Elle est évaluée (voir la commande /eval) et le texte remplacé avec l’expression régulière peut être utilisé dans la commande.

Exemple : le trigger par défaut beep utilise cette commande pour produire un beep (BEL) :

/print -beep

14.8. Données dans les fonctions de rappel

Les données reçues dans les fonctions de rappel sont stockées dans des tables de hachage (pointeurs et chaînes) et peuvent être utilisées dans les options suivantes :

  • conditions

  • regex

  • command

Le contenu des tables de hachage dépend du type de hook.

Une manière pratique de voir les données dans le trigger est d’ouvrir le tampon moniteur des triggers :

/trigger monitor

Toutes les fonctions de rappel définissent les variables suivantes dans la table de hachage :

Variable Type Description

tg_trigger_name

chaîne

Nom du trigger.

tg_hook_type

chaîne

Type de hook : "signal", "command", etc.

Signal

La fonction de rappel "signal" définit les variables suivantes dans la table de hachage :

Variable Type Description

tg_signal

chaîne

Nom du signal.

tg_signal_data

chaîne

Données envoyées avec le signal.

Si le signal contient un message IRC, le message est analysé et les données suivantes sont ajoutées dans la table de hachage :

Variable Type Description

irc_server

pointeur

Pointeur vers le serveur IRC (les variables dans le hdata de type "irc_server" peuvent être utilisées, comme ${irc_server.name}).

irc_channel

pointeur

Pointeur vers le canal IRC (les variables dans le hdata de type "irc_channel" peuvent être utilisées, comme ${irc_channel.name}).

server

chaîne

Nom du serveur (exemple : "libera").

tags

chaîne

Étiquettes dans le message (rarement utilisées).

message_without_tags

chaîne

Message sans les étiquettes.

nick

chaîne

Pseudo.

host

chaîne

Nom d’hôte.

command

chaîne

Commande IRC (exemple : "PRIVMSG", "NOTICE", …​).

channel

chaîne

Canal IRC.

arguments

chaîne

Paramètres de la commande (inclut la valeur de channel).

text

chaîne

Texte (par exemple message utilisateur).

pos_command

chaîne

L’index de command dans le message ("-1" si command n’a pas été trouvé).

pos_arguments

chaîne

L’index de arguments dans le message ("-1" si arguments n’a pas été trouvé).

pos_channel

chaîne

L’index de channel dans le message ("-1" si channel n’a pas été trouvé).

pos_text

chaîne

L’index de text dans le message ("-1" si text n’a pas été trouvé).

Lorsque la donnée est un pointeur, la variable tg_signal_data peut être utilisée comme ceci pour lire une propriété hdata (dans cet exemple il s’agit d’un pointeur sur un tampon) :

${buffer[${tg_signal_data}].full_name}

Hsignal

La fonction de rappel "hsignal" définit les variables suivantes dans la table de hachage :

Variable Type Description

tg_signal

chaîne

Nom du signal

La table de hachage contient toutes les clés/valeurs de la table de hachage reçue (type : chaîne/chaîne).

Modifier

La fonction de rappel "modifier" définit les variables suivantes dans la table de hachage :

Variable Type Description

tg_modifier

chaîne

Nom du modificateur.

tg_modifier_data

chaîne

Données envoyées avec le modificateur.

tg_string

chaîne

La chaîne qui peut être modifiée.

tg_string_nocolor

chaîne

La chaîne sans les codes couleur.

Pour le modificateur weechat_print, les variables en utilisant les étiquettes du message sont ajoutées (voir le hook print ci-dessous), ainsi que les variables suivantes :

Variable Type Description

buffer

pointeur

Tampon où le message est affiché.

tg_plugin

chaîne

Extension du tampon où le message est affiché.

tg_buffer

chaîne

Nom complet du tampon où le message est affiché.

tg_prefix

chaîne

Préfixe du message affiché.

tg_prefix_nocolor

chaîne

Préfixe sans les codes couleur.

tg_message

chaîne

Message affiché.

tg_message_nocolor

chaîne

Message sans les codes couleur.

Si le modificateur contient un message IRC, le message est analysé et des données supplémentaires sont ajoutées dans la table de hachage (voir le "hook" signal).

Line

La fonction de rappel "line" définit les variables suivantes dans la table de hachage :

Variable Type Description

buffer

pointeur

Tampon.

buffer_name

chaîne

Nom du tampon.

buffer_type

chaîne

Type de tampon ("formatted" ou "free").

y

chaîne

Numéro de ligne pour un tampon avec contenu libre (≥ 0), -1 pour un tampon avec contenu formaté.

date

chaîne

Date de la ligne (horodatage).

date_usec

chaîne

Microsecondes de la date de la ligne.

date_printed

chaîne

Date d’affichage de la ligne (horodatage).

date_usec_printed

chaîne

Microsecondes de la date d’affichage de la ligne.

str_time

chaîne

Date pour l’affichage. Elle peut contenir des codes couleur.

tags

chaîne

Étiquettes du message (avec une virgule en début/fin de chaîne).

displayed

chaîne

"1" si affichée, "0" si la ligne est filtrée.

notify_level

chaîne

"-1" = pas de notification, "0" = niveau bas, "1" = message, "2" = message privé, "3" = highlight

highlight

chaîne

"1" si highlight, sinon "0".

prefix

chaîne

Préfixe.

tg_prefix_nocolor

chaîne

Préfixe sans les codes couleur.

message

chaîne

Message.

tg_message_nocolor

chaîne

Message sans les codes couleur.

Variables définies avec les étiquettes du message :

Variable Type Description

tg_tags_count

chaîne

Nombre d’étiquettes dans le message.

tg_tag_nick

chaîne

Pseudo (depuis l’étiquette "nick_xxx").

tg_tag_prefix_nick

chaîne

Couleur du pseudo dans le préfixe (depuis l’étiquette "prefix_nick_ccc").

tg_tag_host

chaîne

Nom d’utilisateur et hôte, format : utilisateur@hôte (depuis l’étiquette "host_xxx").

tg_tag_notify

chaîne

Niveau de notification (none, message, private, highlight).

tg_tag_irc_xxx

chaîne

Étiquette de message IRC (clé "xxx"). (1)

tg_notify

chaîne

Niveau de notification, si différent de none.

tg_msg_pv

chaîne

"1" pour un message privé, sinon "0".

(1) Les virgules sont remplacées par des point-virgules dans l’étiquette IRC (clé et valeur).

Print

La fonction de rappel "print" définit les variables suivantes dans la table de hachage :

Variable Type Description

buffer

pointeur

Tampon.

tg_date

chaîne

Date/heure du message (format : %FT%T.%f, voir la Référence API extension WeeChat / util_strftimeval ).

tg_displayed

chaîne

"1" si affiché, "0" si ligne filtrée.

tg_highlight

chaîne

"1" si highlight, sinon "0".

tg_prefix

chaîne

Préfixe.

tg_prefix_nocolor

chaîne

Préfixe sans les codes couleur.

tg_message

chaîne

Message.

tg_message_nocolor

chaîne

Message sans les codes couleur.

Variables définies avec les étiquettes du message :

Variable Type Description

tg_tags

chaîne

Étiquettes du message (avec une virgule en début/fin de chaîne).

tg_tags_count

chaîne

Nombre d’étiquettes dans le message.

tg_tag_nick

chaîne

Pseudo (depuis l’étiquette "nick_xxx").

tg_tag_prefix_nick

chaîne

Couleur du pseudo dans le préfixe (depuis l’étiquette "prefix_nick_ccc").

tg_tag_host

chaîne

Nom d’utilisateur et hôte, format : utilisateur@hôte (depuis l’étiquette "host_xxx").

tg_tag_notify

chaîne

Niveau de notification (none, message, private, highlight).

tg_tag_irc_xxx

chaîne

Étiquette de message IRC (clé "xxx"). (1)

tg_notify

chaîne

Niveau de notification, si différent de none.

tg_msg_pv

chaîne

"1" pour un message privé, sinon "0".

(1) Les virgules sont remplacées par des point-virgules dans l’étiquette IRC (clé et valeur).

Command

La fonction de rappel "command" définit les variables suivantes dans la table de hachage :

Variable Type Description

buffer

pointeur

Tampon.

tg_argc

chaîne

Nombre de paramètres (la commande elle-même compte pour un).

tg_argvN

chaîne

Paramètre n°N (tg_argv0 est la commande elle-même, les autres sont les paramètres de la commande).

tg_argv_eolN

chaîne

Depuis le paramètre n°N jusqu’à la fin des paramètres (tg_argv_eol0 inclut la commande elle-même).

tg_shell_argc

chaîne

Nombre de paramètres avec un découpage comme le fait le shell (la commande elle-même compte pour un).

tg_shell_argvN

chaîne

Paramètre n°N avec un découpage comme le fait le shell (tg_shell_argv0 est la commande elle-même, les autres sont les paramètres de la commande).

Command_run

La fonction de rappel "command_run" définit les variables suivantes dans la table de hachage :

Variable Type Description

buffer

pointeur

Tampon.

tg_command

chaîne

Commande exécutée.

Timer

La fonction de rappel "timer" définit les variables suivantes dans la table de hachage :

Variable Type Description

tg_remaining_calls

chaîne

Nombre d’appels restants.

tg_date

chaîne

Date/heure courante (format : %FT%T.%f, voir la Référence API extension WeeChat / util_strftimeval ).

Config

La fonction de rappel "config" définit les variables suivantes dans la table de hachage :

Variable Type Description

tg_option

chaîne

Option.

tg_value

chaîne

Valeur.

Focus

La fonction de rappel "focus" définit les variables suivantes dans la table de hachage :

Variable Type Description

window

pointeur

Fenêtre.

buffer

pointeur

Tampon.

La table de hachage contient toutes les clés/valeurs de la table de hachage reçue (type : chaîne/chaîne).

Info

La fonction de rappel "info" définit les variables suivantes dans la table de hachage :

Variable Type Description

tg_info_name

string

Nom de l’info.

tg_arguments

string

Paramètres.

tg_info

string

Chaîne vide (l’info à renvoyer).

Info_hashtable

La fonction de rappel "info_hashtable" définit les variables suivantes dans la table de hachage :

Variable Type Description

tg_info_name

string

Nom de l’info.

La table de hachage contient toutes les clés/valeurs de la table de hachage reçue (type : chaîne/chaîne).

14.9. Exemples

Couleur pour les URLs

Afficher les URLs en vert :

/trigger add url_color modifier weechat_print "${tg_notify}" "==[a-zA-Z0-9_]+://[^ ]+==${color:green}${re:0}${color:reset}=="
La simple expression régulière utilisée pour détecter l’URL peut ne pas capturer correctement toutes les URLs, mais elle est plus rapide qu’une expression régulière complexe.

Pong auto sur les requêtes ping

Lorsque quelqu’un envoie un "ping" dans un tampon privé, le trigger répondra automatiquement avec un pong :

/trigger add pong print "" "${type} == private && ${tg_message} == ping" "" "pong"

Disposition réceptive

Les triggers suivants peuvent être utilisées pour personnaliser l’affichage lorsque la taille du terminal change :

/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"

Les triggers attrapent le signal "signal_sigwinch", qui et envoyé par WeeChat lorsque le signal SIGWINCH est reçu (lorsque la taille du terminal a changé).

La condition avec ${info:term_width} vérifie la largeur du terminal (vous pouvez aussi utiliser ${info:term_height} si besoin).

Dans l’exemple, si le terminal devient petit, la liste de pseudos est cachée. Et la barre est restaurée lorsque la largeur du terminal est supérieure ou égale à 100 caractères.

Sauvegarde automatique de la configuration

Vous pouvez sauvegarder automatiquement les fichiers de configuration (*.conf), par example chaque heure :

/trigger add cfgsave timer 3600000;0;0 "" "" "/mute /save"

Les paramètres pour le minuteur sont :

  • 3600000 : 3600 * 1000 millisecondes, la fonction de rappel est appelée toutes les heures

  • 0 : alignement sur la seconde (pas d’alignement ici)

  • 0 : nombre maximum d’appels (0 = pas de fin pour le minuteur)

La commande /mute /save sauvegarde silencieusement les fichiers de configuration (rien n’est affiché sur le tampon "core").

14.10. Commandes

  • 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. Options

Sections dans le fichier trigger.conf :

Section Commande de contrôle Description

look

/set trigger.look.*

Aspect/présentation.

color

/set trigger.color.*

Couleurs.

trigger

/trigger add
/trigger set
/set trigger.trigger.*

Options des triggers.

Options :

  • 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. Extension de WeeChat

WeeChat est conçu de manière modulaire et peut être étendu avec des extensions et des scripts.

Il est important de bien faire la différence entre une extension et un script : une extension est un fichier binaire compilé et chargé avec la commande /plugin, tandis qu’un script est un fichier texte chargé par une extension comme python par la commande /python.

15.1. Extensions

Une extension est une bibliothèque dynamique, écrite en C et compilée, qui est chargée par WeeChat. Sous GNU/Linux, ce fichier a une extension ".so", et ".dll" sous Windows.

Les extensions trouvées sont automatiquement chargées par WeeChat lorsqu’il démarre, et il est possible de charger et décharger des extensions pendant que WeeChat tourne.

Vous pouvez utiliser la commande /plugin pour charger/décharger une extension, ou afficher les extensions chargées.

Quand une extension est déchargée, WeeChat supprime :

  • les tampons

  • les options de configuration (les options sont écrites dans les fichiers)

  • tous les "hooks" : commandes, modificateurs, processus, etc.

  • les infos et infolists

  • les "hdata"

  • les objets de barre.

Exemples pour charger, décharger et afficher les extensions :

/plugin load irc
/plugin unload irc
/plugin list

Les extensions par défaut sont :

Extension Description

alias

Définition d’alias pour les commandes.

buflist

Objet de barre avec la liste des tampons.

charset

Encodage/encodage avec jeu de caractère sur les tampons.

exec

Exécution de commandes externes dans WeeChat.

fifo

Tube FIFO pour envoyer des commandes à distance vers WeeChat.

fset

Modification rapide des options de WeeChat et des extensions.

irc

Discussion avec le protocole IRC.

logger

Enregistrement des tampons dans des fichiers.

relay

Relai de données via le réseau.

script

Gestionnaire de scripts.

python

Interface (API) pour scripts Python.

perl

Interface (API) pour scripts Perl.

ruby

Interface (API) pour scripts Ruby.

lua

Interface (API) pour scripts Lua.

tcl

Interface (API) pour scripts Tcl.

guile

Interface (API) pour scripts Guile (scheme).

javascript

Interface (API) pour scripts JavaScript.

php

Interface (API) pour scripts PHP.

spell

Vérification orthographique de la ligne de commande.

trigger

Remplacement de texte et exécution de commande sur des évènements de WeeChat ou des extensions.

typing

Affichage des utilisateurs qui sont en train d’écrire des messages.

xfer

Transfert de fichier et discussion directe.

Pour en apprendre plus sur le développement d’extension ou de script (via l’API), merci de consulter la Référence API extension WeeChat  ou le Guide pour scripts WeeChat .

15.2. Scripts

WeeChat fournit 8 extensions pour scripts : Python, Perl, Ruby, Lua, Tcl, Guile (scheme), JavaScript et PHP. Ces extensions peuvent charger, exécuter et décharger des scripts pour ces langages.

Pour plus d’informations sur comment écrire des scripts, ou sur l’API WeeChat pour les scripts, merci de lire le Guide pour scripts WeeChat .

Gestionnaire de scripts

Le gestionnaire de scripts (commands /script) est utilisé pour charger/décharger des scripts pour n’importe quel langage, et installer/supprimer des scripts du dépôt WeeChat, qui sont visibles sur cette page .

Pour des considérations de confidentialité, le téléchargement des scripts est désactivé par défaut.
Pour l’activer, tapez cette commande :

/set script.scripts.download_enabled on

Vous pouvez alors télécharger la liste des scripts et les afficher dans un tampon avec la commande /script :

┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│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                                                                      │
│         │█                                                                                                   │
└──────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
Commandes Script
  • script: WeeChat script manager

/script  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

          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
Options Script

Sections dans le fichier script.conf :

Section Commande de contrôle Description

look

/set script.look.*

Aspect/présentation.

color

/set script.color.*

Couleurs.

scripts

/set script.scripts.*

Options pour le téléchargement des scripts.

Options :

  • 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"

Extensions pour les scripts

Commandes Python
  • 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.
Commandes Perl
  • 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.
Commandes Ruby
  • 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.
Commandes Lua
  • 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.
Commandes Tcl
  • 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.
Commandes Guile
  • 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.
Commandes PHP
Options Python

Sections dans le fichier python.conf :

Section Commande de contrôle Description

look

/set python.look.*

Aspect/présentation.

Options :

  • 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

Options Perl

Sections dans le fichier perl.conf :

Section Commande de contrôle Description

look

/set perl.look.*

Aspect/présentation.

Options :

  • 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

Options Ruby

Sections dans le fichier ruby.conf :

Section Commande de contrôle Description

look

/set ruby.look.*

Aspect/présentation.

Options :

  • 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

Options Lua

Sections dans le fichier lua.conf :

Section Commande de contrôle Description

look

/set lua.look.*

Aspect/présentation.

Options :

  • 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

Options Tcl

Sections dans le fichier tcl.conf :

Section Commande de contrôle Description

look

/set tcl.look.*

Aspect/présentation.

Options :

  • 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

Options Guile

Sections dans le fichier guile.conf :

Section Commande de contrôle Description

look

/set guile.look.*

Aspect/présentation.

Options :

  • 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

Options PHP

Sections dans le fichier php.conf :

Section Commande de contrôle Description

look

/set php.look.*

Aspect/présentation.

Options :

16. Support

Avant de faire appel au support, merci de lire la documentation et la FAQ de WeeChat.

Pour le support via IRC, sur le serveur irc.libera.chat :

  • canaux officiels (avec les développeurs) :

    • #weechat (Anglais)

    • #weechat-fr (Français)

  • canaux non officiels :

    • #weechat-de (Allemand)

    • #weechat-fi (Finnois)

Pour les autres formes de support, voir cette page .