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 : http://weechat.org/doc

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 : IRC et Jabber (avec le script jabber.py ou bitlbee/minbif)

  • connexion multi-serveurs (avec SSL, 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 et 2813

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

  • 100% GPL, logiciel libre

La page d’accueil de WeeChat est ici : http://weechat.org/

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)

  • la bibliothèque ncurses

2. Installation

2.1. Paquets binaires

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

  • Debian (ou toute distribution compatible Debian) : apt-get install weechat-curses

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

  • Gentoo : emerge weechat

  • Arch Linux : pacman -S weechat

  • Fedora Core : yum install weechat

  • Sourcemage : cast 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. Paquet source

WeeChat peut être compilé avec cmake ou les autotools (cmake est la méthode recommandée).

2.2.1. Dépendances

Le tableau suivant liste les paquets qui sont requis ou optionnels pour compiler WeeChat.

Paquet (1) Version Requis Fonctionnalité

cmake

oui

Construction (autotools toujours possible, mais cmake est recommandé)

libncursesw5-dev (2)

oui

Interface ncurses

libcurl4-gnutls-dev

oui

Transfert d’URL

zlib1g-dev

oui

Compression des paquets dans l’extension relay (protocole weechat), extension script

libgcrypt11-dev

oui

Données sécurisées, authentification IRC SASL (DH-BLOWFISH/DH-AES), extension script

libgnutls-dev

≥ 2.2.0

Connexion SSL au serveur IRC, support SSL dans l’extension relay

gettext

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

ca-certificates

Certificats pour les connexions SSL

libaspell-dev ou libenchant-dev

Extension aspell

python-dev

≥ 2.5 (3)

Extension python

libperl-dev

Extension perl

ruby1.9.1-dev

≥ 1.8

Extension ruby

liblua5.1-0-dev

Extension lua

tcl-dev

≥ 8.5

Extension tcl

guile-2.0-dev

≥ 2.0

Extension guile (scheme)

asciidoc

≥ 8.5.0

Construction de la page man et de la documentation

source-highlight

Coloration des sources dans la documentation

xsltproc, docbook-xml, docbook-xsl

Construction de la page de manuel

libcpputest-dev

≥ 3.4

Lancement des tests

C++ compiler

Note
(1) Le nom provient de la distribution GNU/Linux Debian, la version dans le nom du paquet peut être différente.
(2) WeeChat peut compiler avec libncurses5-dev, mais ce n’est PAS recommandé (vous aurez des bugs d’affichage avec les caractères larges).
(3) La version recommandée de Python est 2.7 (tous les scripts tournent bien avec la version 2.7, mais pas avec les versions ≤ 2.6 ou ≥ 3.0).

2.2.2. Compilation avec cmake

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

$ mkdir build
$ cd build
$ cmake ..
$ make
% make install    (en root)
  • Installation dans un répertoire spécifique :

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

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

Liste des options couramment utilisées :

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.

PREFIX

répertoire

/usr/local

Le répertoire dans lequel WeeChat sera installé.

WEECHAT_HOME

répertoire

~/.weechat

Le répertoire "maison" par défaut lors du lancement de WeeChat.

CA_FILE

fichier

/etc/ssl/certs/ca-certificates.crt

Fichier contenant les autorités de certification. C’est la valeur par défaut de l’option weechat.network.gnutls_ca_file.

ENABLE_ALIAS

ON, OFF

ON

Compiler l’extension Alias.

ENABLE_ASPELL

ON, OFF

ON

Compiler l’extension Aspell.

ENABLE_CHARSET

ON, OFF

ON

Compiler l’extension Charset.

ENABLE_MAN

ON, OFF

OFF

Compiler la page man.

ENABLE_DOC

ON, OFF

OFF

Compiler la documentation (cela prend beaucoup de temps, recommandé seulement si vous construisez un paquet binaire intégrant la documentation ou si vous ne pouvez pas consulter la documentation en ligne).

ENABLE_ENCHANT

ON, OFF

OFF

Compiler l’extension Aspell avec Enchant.

ENABLE_EXEC

ON, OFF

ON

Compiler l’extension Exec.

ENABLE_FIFO

ON, OFF

ON

Compiler l’extension Fifo.

ENABLE_GNUTLS

ON, OFF

ON

Activer Gnutls (pour SSL).

ENABLE_GUILE

ON, OFF

ON

Compiler l’extension Guile (Scheme).

ENABLE_IRC

ON, OFF

ON

Compiler l’extension IRC.

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_PYTHON

ON, OFF

ON

Compiler l’extension Python.

ENABLE_PYTHON3

ON, OFF

OFF

Compiler l’extension Python en utilisant Python 3 (NON recommandé car beaucoup de scripts ne sont pas compatibles avec Python 3).

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

ENABLE_TCL

ON, OFF

ON

Compiler l’extension Tcl.

ENABLE_TRIGGER

ON, OFF

ON

Compiler l’extension Trigger.

ENABLE_XFER

ON, OFF

ON

Compiler l’extension Xfer.

ENABLE_TESTS

ON, OFF

OFF

Compiler les tests.

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

$ cmake -LA

Ou avec l’interface Curses :

$ ccmake ..

2.2.3. Compilation avec autotools

Attention
Seulement cmake est officiellement supporté pour construire WeeChat. Vous ne devriez utiliser les autotools que si vous n’avez pas la possibilité d’utiliser cmake.
La compilation avec les autotools requiert plus de dépendances et est plus lente qu’avec cmake.
  • Installation dans les répertoires systèmes (nécessite les droits root) :

$ ./autogen.sh
$ mkdir build
$ cd build
$ ../configure
$ make
% make install    (en root)
  • Installation dans un répertoire spécifique :

$ ./autogen.sh
$ mkdir build
$ cd build
$ ../configure --prefix=/chemin/vers/répertoire
$ make
$ make install

Des options peuvent être utilisées pour le script configure, elles peuvent être affichées avec cette commande :

$ ./configure --help

2.3. Sources Git

Attention : les sources git sont réservés 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.4. 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)

  • activer les fichiers core sur votre système

  • installer gdb

2.4.1. Infos de debug

Si vous compilez avec cmake :

$ cmake .. -DCMAKE_BUILD_TYPE=Debug

Si vous compilez avec les autotools, le debug est par défaut (--with-debug=1).

Si vous avez installé un paquet binaire, alors installez le paquet weechat-dbg.

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

2.4.3. 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). Ce fichier est créé dans le répertoire où vous avez lancé WeeChat (ce n’est pas le répertoire où WeeChat est installé !).

Par exemple si weechat est installé dans /usr/bin/ et que le fichier core est dans /home/xxx/, alors lancez gdb avec cette commande :

gdb /usr/bin/weechat /home/xxx/core
Note
Si vous avez installé le paquet binaire weechat-dbg (par exemple sous Debian), alors vous pouvez utiliser ce chemin pour l’exécutable WeeChat : /usr/lib/debug/usr/bin/weechat

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 !

2.4.4. 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. Utilisation

3.1. Lancer WeeChat

Paramètres 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.

-d, --dir <répertoire>

Définir le répertoire comme étant la base de WeeChat (utilisé pour les fichiers de configuration, logs, extensions et scripts de l’utilisateur), la valeur par défaut est ~/.weechat (note : le répertoire est créé s’il n’est pas trouvé par WeeChat).

-h, --help

Afficher l’aide.

-l, --license

Afficher la licence de WeeChat.

-p, --no-plugin

Supprimer le chargement automatique des extensions au démarrage.

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

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

Pour lancer WeeChat, tapez cette commande :

$ weechat

Lorsque vous lancez WeeChat pour la première fois, un fichier de configuration par défaut est créé, avec les options par défaut. Le fichier de configuration par défaut est : ~/.weechat/weechat.conf.

Vous pouvez éditer ce fichier pour configurer WeeChat à votre convenance ou vous pouvez modifier les paramètres dans WeeChat avec la commande /set (voir commandes WeeChat).

3.2. Organisation de l'écran

Exemple de terminal avec WeeChat :

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

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 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 status contient les objets (items) suivants par défaut :

Objet (item) Exemple Description

time

[12:55]

Heure

buffer_count

[6]

Nombre de tampons ouverts

buffer_plugin

[irc/freenode]

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

buffer_number

3

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

lag

[Lag: 2.5]

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

hotlist

[H: 4:#abc(2,5), 6]

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

completion

abc(2) def(5)

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

scroll

-PLUS(50)-

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

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

Objet (item) Exemple Description

input_paste

[Coller 7 lignes ? [ctrl-Y] Oui [ctrl-N] Non]

Question à l’utilisateur pour coller des lignes

input_prompt

[@Flashy(i)]

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

away

(absent)

Indicateur d’absence

input_search

[Recherche (~ str,msg)]

Indicateur de recherche de texte ("~" : 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)

input_text

salut peter !

Texte entré

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

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

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

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

                          ▼ fenêtre n°2 (tampon n°4)
┌───────────────────────────────────────────────────────────────────────────┐
│Bienvenue sur #abc                                                         │
│12:55:12     Max | bonjour                                         │@Flashy│
│12:55:20 @Flashy | salut Max !                                     │Max    │
│12:55:32     Max | ça va bien ?                                    │       │
│                                                                   │       │
│                                                                   │       │
│                                                                   │       │
│                                                                   │       │
│                                                                   │       │
│[12:55] [6] [irc/freenode] 4:#abc(+n){2}                                   │
│[@Flashy]                                                                  │
│───────────────────────────────────────────────────────────────────────────│
│Bienvenue sur #test                                                        │
│12:54:15 peter | ohé !                                             │@Flashy│
│12:55:01  @joe | salut                                             │@joe   │
│                                                                   │+weebot│
│                                                                   │peter  │
│                                                                   │       │
│                                                                   │       │
│                                                                   │       │
│                                                                   │       │
│[12:55] [6] [irc/freenode] 3:#test(+n){4}                                  │
│[@Flashy] hi peter!█                                                       │
└───────────────────────────────────────────────────────────────────────────┘
                          ▲ fenêtre n°1 (tampon n°3)

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

┌───────────────────────────────────────────────────────────────────────────┐
│Bienvenue sur #test                  │Bienvenue sur #abc                   │
│12:54:15 peter | ohé !       │@Flashy│12:55:12     Max | bonjour   │@Flashy│
│12:55:01  @joe | salut       │@joe   │12:55:20 @Flashy | plop Max  │Max    │
│                             │+weebot│                             │       │
│                             │peter  │                             │       │
│                             │       │                             │       │
│                             │       │                             │       │
│                             │       │                             │       │
│                             │       │                             │       │
│                             │       │                             │       │
│                             │       │                             │       │
│                             │       │                             │       │
│                             │       │                             │       │
│                             │       │                             │       │
│                             │       │                             │       │
│                             │       │                             │       │
│                             │       │                             │       │
│                             │       │                             │       │
│[12:55] [irc/oftc] 3:#test(+n){4}    │[12:55] [irc/oftc] 4:#abc(+n){2}     │
│[@Flashy] hi 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)
┌───────────────────────────────────────────────────────────────────────────┐
│Bienvenue sur #test                  │Bienvenue sur #def                   │
│12:54:15 peter | ohé !       │@Flashy│12:55:42 @Flashy | salut     │@Flashy│
│12:55:01  @joe | salut       │@joe   │12:55:56    alex | salut     │alex   │
│                             │+weebot│                             │       │
│                             │peter  │                             │       │
│                             │       │                             │       │
│                             │       │                             │       │
│                             │       │                             │       │
│                             │       │                             │       │
│                             │       │[12:55] [irc/oftc] 5:#def(+n){2}     │
│                             │       │[@Flashy]                            │
│                             │       │─────────────────────────────────────│
│                             │       │Bienvenue sur #abc                   │
│                             │       │12:55:12     Max | bonjour   │@Flashy│
│                             │       │12:55:20 @Flashy | salut Max │Max    │
│                             │       │                             │       │
│                             │       │                             │       │
│                             │       │                             │       │
│                             │       │                             │       │
│                             │       │                             │       │
│                             │       │                             │       │
│[12:55] [irc/oftc] 3:#test(+n){4}    │[12:55] [irc/oftc] 4:#abc(+n){2}     │
│[@Flashy] salut peter !█             │[@Flashy]                            │
└───────────────────────────────────────────────────────────────────────────┘
      ▲ fenêtre n°1 (tampon n°3)            ▲ fenêtre n°2 (tampon n°4)

3.4. 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. Il n’y a pas de barre root par défaut, mais un exemple est la barre buffers créée par le script buffers.pl (barre latérale avec la liste des tampons).
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 quatre barres par défaut (title, status, input, 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).

3.4.1. 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" :

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

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"

3.4.2. 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/freenode] 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/freenode] 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 ▲

3.4.3. Conditions

L’option conditions est une chaîne évaluée pour savoir si la barre doit être affichée ou non dans la fenêtre (elle est utilisée seulement pour les barres avec type window).

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 de fenêtre est supérieurs à 100 :

/set weechat.bar.nicklist.conditions "${nicklist} && ${window.win_width} > 100"

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

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

3.5. 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, 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 :

┌───────────────────────────────────────────────────────────────────────────┐
│Bienvenue sur #test, canal de test                                         │
│12:52:27   --> | Flashy (flashcode@weechat.org) a rejoint #test    │@Flashy│
│12:52:27    -- | Pseudos #test: [@Flashy @joe +weebot peter]       │@joe   │
│12:52:27    -- | Canal #test: 4 pseudos (2 ops, 1 voice, 1 normal) │+weebot│
│12:52:27    -- | Canal créé le Tue Jan 27 06:30:17 2009            │peter  │
│12:54:15 peter | bonjour !                                         │       │
│12:55:01  @joe | peter: hook_process: http://weechat.org/files/doc │       │
│               | /devel/weechat_plugin_api.en.html#_weechat_hook_p │       │
│               | rocess                                            │       │
│                                                                   │       │
│                                                                   │       │
│                                                                   │       │
│                                                                   │       │
│                                                                   │       │
│                                                                   │       │
│                                                                   │       │
│                                                                   │       │
│                                                                   │       │
│[12:55] [6] [irc/freenode] 3:#test(+n){4}* [H: 4:#abc(2,5), 6]             │
│[@Flashy(i)] salut peter!█                                                 │
└───────────────────────────────────────────────────────────────────────────┘

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

┌───────────────────────────────────────────────────────────────────────────┐
│                                                                           │
│                                                                           │
│                                                                           │
│                                                                           │
│                                                                           │
│                                                                           │
│                                                                           │
│                                                                           │
│                                                                           │
│                                                                           │
│                                                                           │
│                                                                           │
│                                                                           │
│12:52 --> Flashy (flashcode@weechat.org) a rejoin #test                    │
│12:52 -- Pseudos #test: [@Flashy @joe +weebot peter]                       │
│12:52 -- Canal #test: 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: http://weechat.org/files/doc/devel/weecha│
│t_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).

3.6. 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 "freenode" :

/set weechat.notify.irc.freenode message

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

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

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

/buffer notify highlight

3.7. Raccourcis clavier par défaut

3.7.1. Touches pour la ligne de commande

Touche Description Commande

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

/input move_previous_char

ctrl+b

Aller au caractère suivant sur la ligne de commande

/input move_next_char

ctrl+f

ctrl+

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

/input move_previous_word

alt+b

ctrl+

Aller au mot suivant sur la ligne de commande

/input move_next_word

alt+f

Home

Aller au début de la ligne de commande

/input move_beginning_of_line

ctrl+a

End

Aller à la fin de la ligne de commande

/input move_end_of_line

ctrl+e

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

Del

Effacer le caractère suivant sur la ligne de commande

/input delete_next_char

ctrl+d

Backsp.

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

/input delete_previous_char

ctrl+h

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)

/input delete_end_of_line

ctrl+r

Chercher du texte dans l’historique du tampon (voir les touches pour le contexte de recherche)

/input search_text

ctrl+t

Inverser deux caractères

/input transpose_chars

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)

/input delete_beginning_of_line

ctrl+w

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

/input delete_previous_word

ctrl+y

Coller le contenu du presse-papiers

/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

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

/input return

ctrl+j

ctrl+m

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

alt+d

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

/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 entièrement la ligne de commande

/input delete_line

alt+s

Activer/désactiver aspell

/mute aspell toggle

3.7.2. Touches pour les tampons / fenêtres

Touche Description Commande

ctrl+l

Réafficher toute la fenêtre

/window refresh

ctrl+s, ctrl+u

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

/input set_unread

ctrl+x

Changer de tampon courant si plusieurs tampons sont attachés avec le même numéro

/input switch_active_buffer

alt+x

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

/input zoom_merged_buffer

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+

Aller au tampon précédent

/buffer -1

alt+

ctrl+p

F5

alt+

Aller au tampon suivant

/buffer +1

alt+

ctrl+n

F6

F7

Aller à la fenêtre précédente

/window -1

F8

Aller à la fenêtre suivante

/window +1

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

Monter d’une page dans la liste des pseudos

/bar scroll nicklist * -100%

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+a

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

/input jump_smart

alt+h

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

/input hotlist_clear

alt+j, alt+f

Sauter au premier tampon

/buffer -

alt+j, alt+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+l

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

/window bare

alt+m

Activer/désactiver la souris

/mouse toggle

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+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

alt+<

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

/input jump_previously_visited_buffer

alt+>

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

/input jump_next_visited_buffer

alt+/

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

/input jump_last_buffer_displayed

alt+=

Activer/désactiver les filtres

/filter toggle

alt+-

Activer/désactiver les filtres dans le tampon courant

/filter toggle @

3.7.3. Touches pour le contexte "search"

Ces touches sont utilisées dans le contexte "search" (lorsque ctrl+r est pressé pour chercher du texte dans le tampon).

Touche Description Commande

ctrl+r

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

Chercher la ligne précédente

/input search_previous

Chercher la ligne suivante

/input search_next

Enter

Arrêter la recherche

/input search_stop

ctrl+j

ctrl+m

3.7.4. Touches pour le contexte "cursor"

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

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 zone au dessus

/cursor move area_up

alt+

-

Déplacer le curseur vers la zone en dessous

/cursor move area_down

alt+

-

Déplacer le curseur vers la zone sur la gauche

/cursor move area_left

alt+

-

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

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

-

Arrêter le mode curseur ("cursor")

/cursor stop

ctrl+j

ctrl+m

3.7.5. Touches pour le contexte "mouse"

Ces touches sont utilisées dans le contexte "mouse", c’est-à-dire lorsqu’un évènement de la souris se produit.

Bouton (1) Geste Zone Description Commande

◾◽◽

-

chat

Aller à la fenêtre

/window ${_window_number}

◾◽◽

left

chat

Aller au tampon précédent

/window ${_window_number};/buffer +1

◾◽◽

right

chat

Aller au tampon suivant

/window ${_window_number};/buffer +1

◾◽◽

left (long)

chat

Aller au premier tampon

/window ${_window_number};/buffer 1

◾◽◽

right (long)

chat

Aller au dernier tampon

/window ${_window_number};/input jump_last_buffer

◾◽◽

-

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}

-

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}

-

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

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%

◾◽◽

up

liste des pseudos

Monter d’une page dans la liste des pseudos

/bar scroll nicklist ${_window_number} -100%

◾◽◽

down

liste des pseudos

Descendre d’une page dans la liste des pseudos

/bar scroll nicklist ${_window_number} +100%

◾◽◽

up (long)

liste des pseudos

Aller au début de la liste des pseudos

/bar scroll nicklist ${_window_number} b

◾◽◽

down (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}

◾◽◽

left

liste des pseudos

Retirer par la force le pseudo

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

◾◽◽

left (long)

liste des pseudos

Retirer par la force et bannir le pseudo

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

◽◽◾

left

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}

Note
(1) "⇑" et "⇓" sont la roulette vers le haut et le bas.

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

3.8.1. 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+x pour désactiver la souris pendant 10 secondes :

/key bind meta-x /mouse toggle 10

Lorsque la souris est activée dans WeeChat, vous pouvez utiliser la touche shift pour sélectionner ou cliquer dans le terminal, comme si la souris était désactivée (sous certains terminaux comme iTerm, vous devez utiliser alt au lieu de shift).

Note
Pour tout problème avec la souris, merci de consulter la FAQ WeeChat.

3.8.2. Associer des évènements souris à des commandes

De nombreux évènements souris sont déjà définis par WeeChat (voir les touches pour le contexte "mouse").

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

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

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

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

3.9.2. 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) :

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, 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é

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

Les codes couleur pour ctrl+c, c sont :

Code IRC WeeChat (curses)

00

blanc

white

01

noir

black

02

bleu foncé

blue

03

vert foncé

green

04

rouge clair

lightred

05

rouge foncé

red

06

violet

magenta

07

orange

brown

08

jaune

yellow

09

vert clair

lightgreen

10

cyan

cyan

11

cyan clair

lightcyan

12

bleu clair

lightblue

13

violet clair

lightmagenta

14

gris

darkgray

15

gris clair

gray

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

^Cc12^Cbbonjour ^Cb^Cc04^Cutout le monde^Cu^Cc !
Note
Dans l’extension irc, vous pouvez réassigner les couleurs en utilisant l’option irc.color.mirc_remap.

3.10. Couleurs

WeeChat peut utiliser jusqu'à 256 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 (1)

"rxvt-unicode", "xterm", …

88

256

"rxvt-256color", "xterm-256color", …

256

32767

"screen"

8

64

"screen-256color"

256

32767

Note
(1) Même si votre terminal supporte plus de 256 paires, seules 256 paires peuvent être utilisées dans WeeChat, en raison d’une limitation de ncurses.

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

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

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

Note
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.10.1. 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

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

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

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

  • * : texte gras

  • ! : mode vidéo inverse

  • / : italique

  • _ : texte souligné

  • | : garder les attributs : ne pas réinitialiser 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

3.11. Données sécurisées

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

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

Vous pouvez modifier ce comportement et utiliser un fichier avec la phrase secrète (voir l’option sec.crypt.passphrase_file).

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 seomme de contrôle + les données (la sortie est : sel + somme de contrôle et données chiffrées).

Note
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
freenode = "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.

3.11.2. 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 freenode :

/secure set freenode 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 freenode, par exemple avec l’authentification SASL:

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

3.12. Options et commandes

3.12.1. Options des données sécurisées (sec.conf)

Sections :

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: chiffrement ("cipher") utilisé pour chiffrer les données (le nombre après l'algorithme est la taille de la clé en bits)

    • type: entier

    • valeurs: aes128, aes192, aes256 (valeur par défaut: aes256)

  • sec.crypt.hash_algo

    • description: algorithme de hash pour vérifier les données déchiffrées

    • type: entier

    • valeurs: sha224, sha256, sha384, sha512 (valeur par défaut: sha256)

  • sec.crypt.passphrase_file

    • description: chemin vers un fichier contenant la phrase de chiffrement pour (dé)chiffrer les données sécurisées ; cette option est utilisée seulement lors de la lecture du fichier sec.conf ; seulement la première ligne du fichier est utilisée ; ce fichier est utilisé seulement si la variable d'environnement "WEECHAT_PASSPHRASE" n'est pas définie (la variable d'environnement a une priorité plus haute) ; note de sécurité : il est recommandé de garder ce fichier en lecture seulement par vous et de le stocker en dehors du "home" WeeChat (par exemple dans votre "home") ; exemple : "~/.weechat-passphrase"

    • type: chaîne

    • valeurs: toute chaîne (valeur par défaut: "")

  • sec.crypt.salt

    • description: utiliser du sel lors de la génération de la clé utilisée dans le chiffrement (recommandé pour un maximum de sécurité) ; lorsque cette option est activée, le contenu des données chiffrées dans le fichier sec.conf sera différent à chaque écriture du fichier ; si vous utilisez le fichier sec.conf dans un système de contrôle de version, alors vous pouvez désactiver cette option pour avoir toujours le même contenu de fichier

    • type: booléen

    • valeurs: on, off (valeur par défaut: on)

3.12.2. Options WeeChat (weechat.conf)

Sections :

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/SSL

bar

/bar
/set weechat.bar.*

Options des barres

layout

/layout

Dispositions

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: couleur du texte pour les '+' lors du défilement des barres

    • type: couleur

    • valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias ; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour le gras, "!" pour la vidéo inverse, "/" pour l’italique, "_" pour le souligné (valeur par défaut: lightmagenta)

  • weechat.color.chat

    • description: couleur du texte pour la discussion

    • type: couleur

    • valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias ; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour le gras, "!" pour la vidéo inverse, "/" pour l’italique, "_" pour le souligné (valeur par défaut: default)

  • weechat.color.chat_bg

    • description: couleur du fond pour la discussion

    • type: couleur

    • valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias ; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour le gras, "!" pour la vidéo inverse, "/" pour l’italique, "_" pour le souligné (valeur par défaut: default)

  • weechat.color.chat_buffer

    • description: couleur du texte pour le nom des tampons

    • type: couleur

    • valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias ; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour le gras, "!" pour la vidéo inverse, "/" pour l’italique, "_" pour le souligné (valeur par défaut: white)

  • weechat.color.chat_channel

    • description: couleur du texte pour le nom des canaux

    • type: couleur

    • valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias ; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour le gras, "!" pour la vidéo inverse, "/" pour l’italique, "_" pour le souligné (valeur par défaut: white)

  • weechat.color.chat_day_change

    • description: couleur du texte pour le message affiché lorsque le jour a changé

    • type: couleur

    • valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias ; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour le gras, "!" pour la vidéo inverse, "/" pour l’italique, "_" pour le souligné (valeur par défaut: cyan)

  • weechat.color.chat_delimiters

    • description: couleur du texte pour les délimiteurs

    • type: couleur

    • valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias ; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour le gras, "!" pour la vidéo inverse, "/" pour l’italique, "_" pour le souligné (valeur par défaut: green)

  • weechat.color.chat_highlight

    • description: couleur du texte pour le préfixe surligné (highlight)

    • type: couleur

    • valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias ; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour le gras, "!" pour la vidéo inverse, "/" pour l’italique, "_" pour le souligné (valeur par défaut: yellow)

  • weechat.color.chat_highlight_bg

    • description: couleur du fond pour le préfixe surligné (highlight)

    • type: couleur

    • valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias ; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour le gras, "!" pour la vidéo inverse, "/" pour l’italique, "_" pour le souligné (valeur par défaut: magenta)

  • weechat.color.chat_host

    • description: couleur du texte pour les noms d'hôtes

    • type: couleur

    • valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias ; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour le gras, "!" pour la vidéo inverse, "/" pour l’italique, "_" pour le souligné (valeur par défaut: cyan)

  • weechat.color.chat_inactive_buffer

    • description: couleur du texte pour la discussion lorsque la ligne est inactive (tampon mélangé avec d'autres tampons et non sélectionné)

    • type: couleur

    • valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias ; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour le gras, "!" pour la vidéo inverse, "/" pour l’italique, "_" pour le souligné (valeur par défaut: default)

  • weechat.color.chat_inactive_window

    • description: couleur du texte pour la discussion lorsque la fenêtre n'est pas active (pas la fenêtre sélectionnée)

    • type: couleur

    • valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias ; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour le gras, "!" pour la vidéo inverse, "/" pour l’italique, "_" pour le souligné (valeur par défaut: default)

  • weechat.color.chat_nick

    • description: couleur du texte pour les pseudos dans la fenêtre de discussion

    • type: couleur

    • valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias ; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour le gras, "!" pour la vidéo inverse, "/" pour l’italique, "_" pour le souligné (valeur par défaut: lightcyan)

  • weechat.color.chat_nick_colors

    • description: couleur du texte pour les pseudos (liste de couleurs séparées par une virgule, un fond est autorisé avec le format : "couleur:fond", par exemple : "lightred:blue")

    • type: chaîne

    • valeurs: toute chaîne (valeur par défaut: "cyan,magenta,green,brown,lightblue,default,lightcyan,lightmagenta,lightgreen,blue")

  • weechat.color.chat_nick_offline

    • description: couleur du texte pour un pseudo déconnecté (qui n'est plus dans la liste de pseudos)

    • type: couleur

    • valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias ; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour le gras, "!" pour la vidéo inverse, "/" pour l’italique, "_" pour le souligné (valeur par défaut: default)

  • weechat.color.chat_nick_offline_highlight

    • description: couleur du texte pour un pseudo déconnecté avec highlight

    • type: couleur

    • valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias ; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour le gras, "!" pour la vidéo inverse, "/" pour l’italique, "_" pour le souligné (valeur par défaut: default)

  • weechat.color.chat_nick_offline_highlight_bg

    • description: couleur du fond pour un pseudo déconnecté avec highlight

    • type: couleur

    • valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias ; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour le gras, "!" pour la vidéo inverse, "/" pour l’italique, "_" pour le souligné (valeur par défaut: blue)

  • weechat.color.chat_nick_other

    • description: couleur du texte pour l'autre pseudo dans le tampon privée

    • type: couleur

    • valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias ; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour le gras, "!" pour la vidéo inverse, "/" pour l’italique, "_" pour le souligné (valeur par défaut: cyan)

  • weechat.color.chat_nick_prefix

    • description: couleur pour le préfixe du pseudo (chaîne affichée avant le pseudo dans le préfixe)

    • type: couleur

    • valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias ; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour le gras, "!" pour la vidéo inverse, "/" pour l’italique, "_" pour le souligné (valeur par défaut: green)

  • weechat.color.chat_nick_self

    • description: couleur du texte pour le pseudo local dans la fenêtre de discussion

    • type: couleur

    • valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias ; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour le gras, "!" pour la vidéo inverse, "/" pour l’italique, "_" pour le souligné (valeur par défaut: white)

  • weechat.color.chat_nick_suffix

    • description: couleur pour le suffixe du pseudo (chaîne affichée après le pseudo dans le préfixe)

    • type: couleur

    • valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias ; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour le gras, "!" pour la vidéo inverse, "/" pour l’italique, "_" pour le souligné (valeur par défaut: green)

  • weechat.color.chat_prefix_action

    • description: couleur du texte pour le préfixe d'action

    • type: couleur

    • valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias ; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour le gras, "!" pour la vidéo inverse, "/" pour l’italique, "_" pour le souligné (valeur par défaut: white)

  • weechat.color.chat_prefix_buffer

    • description: couleur du texte pour le nom du tampon (avant le préfixe, quand plusieurs tampons sont mélangés avec le même numéro)

    • type: couleur

    • valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias ; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour le gras, "!" pour la vidéo inverse, "/" pour l’italique, "_" pour le souligné (valeur par défaut: brown)

  • weechat.color.chat_prefix_buffer_inactive_buffer

    • description: couleur du texte pour le nom du tampon inactif (avant le préfixe, quand plusieurs tampons sont mélangés avec le même numéro et si le tampon n'est pas sélectionné)

    • type: couleur

    • valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias ; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour le gras, "!" pour la vidéo inverse, "/" pour l’italique, "_" pour le souligné (valeur par défaut: default)

  • weechat.color.chat_prefix_error

    • description: couleur du texte pour le préfixe d'erreur

    • type: couleur

    • valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias ; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour le gras, "!" pour la vidéo inverse, "/" pour l’italique, "_" pour le souligné (valeur par défaut: yellow)

  • weechat.color.chat_prefix_join

    • description: couleur du texte pour le préfixe d'arrivée

    • type: couleur

    • valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias ; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour le gras, "!" pour la vidéo inverse, "/" pour l’italique, "_" pour le souligné (valeur par défaut: lightgreen)

  • weechat.color.chat_prefix_more

    • description: couleur du texte pour les '+' lorsque le préfixe est trop long

    • type: couleur

    • valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias ; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour le gras, "!" pour la vidéo inverse, "/" pour l’italique, "_" pour le souligné (valeur par défaut: lightmagenta)

  • weechat.color.chat_prefix_network

    • description: couleur du texte pour le préfixe réseau

    • type: couleur

    • valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias ; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour le gras, "!" pour la vidéo inverse, "/" pour l’italique, "_" pour le souligné (valeur par défaut: magenta)

  • weechat.color.chat_prefix_quit

    • description: couleur du texte pour le préfixe de départ

    • type: couleur

    • valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias ; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour le gras, "!" pour la vidéo inverse, "/" pour l’italique, "_" pour le souligné (valeur par défaut: lightred)

  • weechat.color.chat_prefix_suffix

    • description: couleur du texte pour le suffixe (après le préfixe)

    • type: couleur

    • valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias ; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour le gras, "!" pour la vidéo inverse, "/" pour l’italique, "_" pour le souligné (valeur par défaut: green)

  • weechat.color.chat_read_marker

    • description: couleur du texte pour le marqueur de données non lues

    • type: couleur

    • valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias ; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour le gras, "!" pour la vidéo inverse, "/" pour l’italique, "_" pour le souligné (valeur par défaut: magenta)

  • weechat.color.chat_read_marker_bg

    • description: couleur du fond pour le marqueur de données non lues

    • type: couleur

    • valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias ; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour le gras, "!" pour la vidéo inverse, "/" pour l’italique, "_" pour le souligné (valeur par défaut: default)

  • weechat.color.chat_server

    • description: couleur du texte pour le nom des serveurs

    • type: couleur

    • valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias ; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour le gras, "!" pour la vidéo inverse, "/" pour l’italique, "_" pour le souligné (valeur par défaut: brown)

  • weechat.color.chat_tags

    • description: couleur du texte pour les étiquettes après les messages (affichées avec la commande /debug tags)

    • type: couleur

    • valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias ; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour le gras, "!" pour la vidéo inverse, "/" pour l’italique, "_" pour le souligné (valeur par défaut: red)

  • weechat.color.chat_text_found

    • description: couleur du texte pour le marqueur sur les lignes où le texte demandé est trouvé

    • type: couleur

    • valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias ; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour le gras, "!" pour la vidéo inverse, "/" pour l’italique, "_" pour le souligné (valeur par défaut: yellow)

  • weechat.color.chat_text_found_bg

    • description: couleur du fond pour le marqueur sur les lignes où le texte demandé est trouvé

    • type: couleur

    • valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias ; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour le gras, "!" pour la vidéo inverse, "/" pour l’italique, "_" pour le souligné (valeur par défaut: lightmagenta)

  • weechat.color.chat_time

    • description: couleur du texte pour l'heure dans la fenêtre de discussion

    • type: couleur

    • valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias ; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour le gras, "!" pour la vidéo inverse, "/" pour l’italique, "_" pour le souligné (valeur par défaut: default)

  • weechat.color.chat_time_delimiters

    • description: couleur du texte pour les délimiteurs de l'heure

    • type: couleur

    • valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias ; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour le gras, "!" pour la vidéo inverse, "/" pour l’italique, "_" pour le souligné (valeur par défaut: brown)

  • weechat.color.chat_value

    • description: couleur du texte pour les valeurs

    • type: couleur

    • valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias ; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour le gras, "!" pour la vidéo inverse, "/" pour l’italique, "_" pour le souligné (valeur par défaut: cyan)

  • weechat.color.emphasized

    • description: couleur du texte pour le texte mis en valeur (par exemple lors de la recherche de texte) ; cette option est utilisée seulement si l'option weechat.look.emphasized_attributes est une chaîne vide (valeur par défaut)

    • type: couleur

    • valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias ; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour le gras, "!" pour la vidéo inverse, "/" pour l’italique, "_" pour le souligné (valeur par défaut: yellow)

  • weechat.color.emphasized_bg

    • description: couleur du fond pour le texte mis en valeur (par exemple lors de la recherche de texte) ; cette option est utilisée seulement si l'option weechat.look.emphasized_attributes est une chaîne vide (valeur par défaut)

    • type: couleur

    • valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias ; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour le gras, "!" pour la vidéo inverse, "/" pour l’italique, "_" pour le souligné (valeur par défaut: magenta)

  • weechat.color.input_actions

    • description: couleur du texte pour les actions dans la ligne de saisie

    • type: couleur

    • valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias ; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour le gras, "!" pour la vidéo inverse, "/" pour l’italique, "_" pour le souligné (valeur par défaut: lightgreen)

  • weechat.color.input_text_not_found

    • description: couleur du texte pour la recherche infructueuse de texte dans la ligne de saisie

    • type: couleur

    • valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias ; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour le gras, "!" pour la vidéo inverse, "/" pour l’italique, "_" pour le souligné (valeur par défaut: red)

  • weechat.color.nicklist_away

    • description: couleur du texte pour les pseudos absents

    • type: couleur

    • valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias ; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour le gras, "!" pour la vidéo inverse, "/" pour l’italique, "_" pour le souligné (valeur par défaut: cyan)

  • weechat.color.nicklist_group

    • description: couleur du texte pour les groupes dans la liste des pseudos

    • type: couleur

    • valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias ; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour le gras, "!" pour la vidéo inverse, "/" pour l’italique, "_" pour le souligné (valeur par défaut: green)

  • weechat.color.nicklist_offline

    • description: couleur du texte pour les pseudos déconnectés

    • type: couleur

    • valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias ; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour le gras, "!" pour la vidéo inverse, "/" pour l’italique, "_" pour le souligné (valeur par défaut: blue)

  • weechat.color.separator

    • description: couleur pour les séparateurs de fenêtres (quand divisé) et les séparateurs à côté des barres (comme la liste de pseudos)

    • type: couleur

    • valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias ; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour le gras, "!" pour la vidéo inverse, "/" pour l’italique, "_" pour le souligné (valeur par défaut: blue)

  • weechat.color.status_count_highlight

    • description: couleur du texte pour le nombre de highlights dans la hotlist (barre de statut)

    • type: couleur

    • valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias ; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour le gras, "!" pour la vidéo inverse, "/" pour l’italique, "_" pour le souligné (valeur par défaut: magenta)

  • weechat.color.status_count_msg

    • description: couleur du texte pour le nombre de messages dans la hotlist (barre de statut)

    • type: couleur

    • valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias ; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour le gras, "!" pour la vidéo inverse, "/" pour l’italique, "_" pour le souligné (valeur par défaut: brown)

  • weechat.color.status_count_other

    • description: couleur du texte pour le nombre d'autres messages dans la hotlist (barre de statut)

    • type: couleur

    • valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias ; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour le gras, "!" pour la vidéo inverse, "/" pour l’italique, "_" pour le souligné (valeur par défaut: default)

  • weechat.color.status_count_private

    • description: couleur du texte pour le nombre de messages privés dans la hotlist (barre de statut)

    • type: couleur

    • valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias ; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour le gras, "!" pour la vidéo inverse, "/" pour l’italique, "_" pour le souligné (valeur par défaut: green)

  • weechat.color.status_data_highlight

    • description: couleur du texte pour un tampon avec un highlight (barre de statut)

    • type: couleur

    • valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias ; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour le gras, "!" pour la vidéo inverse, "/" pour l’italique, "_" pour le souligné (valeur par défaut: lightmagenta)

  • weechat.color.status_data_msg

    • description: couleur du texte pour un tampon avec de nouveaux messages (barre de statut)

    • type: couleur

    • valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias ; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour le gras, "!" pour la vidéo inverse, "/" pour l’italique, "_" pour le souligné (valeur par défaut: yellow)

  • weechat.color.status_data_other

    • description: couleur du texte pour un tampon avec des nouvelles données (pas des messages) (barre de statut)

    • type: couleur

    • valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias ; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour le gras, "!" pour la vidéo inverse, "/" pour l’italique, "_" pour le souligné (valeur par défaut: default)

  • weechat.color.status_data_private

    • description: couleur du texte pour un tampon avec un message privé (barre de statut)

    • type: couleur

    • valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias ; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour le gras, "!" pour la vidéo inverse, "/" pour l’italique, "_" pour le souligné (valeur par défaut: lightgreen)

  • weechat.color.status_filter

    • description: couleur du texte pour l'indicateur de filtrage dans la barre de statut

    • type: couleur

    • valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias ; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour le gras, "!" pour la vidéo inverse, "/" pour l’italique, "_" pour le souligné (valeur par défaut: green)

  • weechat.color.status_more

    • description: couleur du texte pour un tampon avec des nouvelles données (barre de statut)

    • type: couleur

    • valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias ; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour le gras, "!" pour la vidéo inverse, "/" pour l’italique, "_" pour le souligné (valeur par défaut: yellow)

  • weechat.color.status_name

    • description: couleur du texte pour le nom du tampon courant dans la barre de statut

    • type: couleur

    • valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias ; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour le gras, "!" pour la vidéo inverse, "/" pour l’italique, "_" pour le souligné (valeur par défaut: white)

  • weechat.color.status_name_ssl

    • description: couleur du texte pour le nom du tampon courant dans la barre de statut, si les données sont sécurisées avec un protocole tel que SSL

    • type: couleur

    • valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias ; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour le gras, "!" pour la vidéo inverse, "/" pour l’italique, "_" pour le souligné (valeur par défaut: lightgreen)

  • weechat.color.status_nicklist_count

    • description: couleur du texte pour le nombre de pseudos dans la liste de pseudos (barre de statut)

    • type: couleur

    • valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias ; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour le gras, "!" pour la vidéo inverse, "/" pour l’italique, "_" pour le souligné (valeur par défaut: default)

  • weechat.color.status_number

    • description: couleur du texte pour le numéro du tampon courant dans la barre de statut

    • type: couleur

    • valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias ; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour le gras, "!" pour la vidéo inverse, "/" pour l’italique, "_" pour le souligné (valeur par défaut: yellow)

  • weechat.color.status_time

    • description: couleur du texte pour l'heure (barre de statut)

    • type: couleur

    • valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias ; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour le gras, "!" pour la vidéo inverse, "/" pour l’italique, "_" pour le souligné (valeur par défaut: default)

  • weechat.completion.base_word_until_cursor

    • description: si activé, le mot de base pour la complétion s'arrête au caractère avant le curseur ; sinon le mot de base s'arrête au premier espace après le curseur

    • type: booléen

    • valeurs: on, off (valeur par défaut: on)

  • weechat.completion.default_template

    • description: modèle de complétion par défaut (merci de consulter la documentation pour les codes et valeurs du modèle : Référence API extension, fonction "weechat_hook_command")

    • type: chaîne

    • valeurs: toute chaîne (valeur par défaut: "%(nicks)|%(irc_channels)")

  • weechat.completion.nick_add_space

    • description: ajouter un espace après la complétion du pseudo (quand le pseudo n'est pas le premier mot sur la ligne de commande)

    • type: booléen

    • valeurs: on, off (valeur par défaut: on)

  • weechat.completion.nick_completer

    • description: chaîne insérée après la complétion du pseudo (quand le pseudo est le premier mot sur la ligne de commande)

    • type: chaîne

    • valeurs: toute chaîne (valeur par défaut: ":")

  • weechat.completion.nick_first_only

    • description: compléter seulement avec le premier pseudo trouvé

    • type: booléen

    • valeurs: on, off (valeur par défaut: off)

  • weechat.completion.nick_ignore_chars

    • description: caractères à ignorer pour la complétion des pseudos

    • type: chaîne

    • valeurs: toute chaîne (valeur par défaut: "[]`_-^")

  • weechat.completion.partial_completion_alert

    • description: alerte l'utilisateur lorsqu'une complétion partielle survient

    • type: booléen

    • valeurs: on, off (valeur par défaut: on)

  • weechat.completion.partial_completion_command

    • description: complète partiellement les noms de commandes (stoppe quand plusieurs commandes trouvées commencent par les mêmes lettres)

    • type: booléen

    • valeurs: on, off (valeur par défaut: off)

  • weechat.completion.partial_completion_command_arg

    • description: complète partiellement les paramètres de commande (stoppe quand plusieurs paramètres trouvés commencent par les mêmes lettres)

    • type: booléen

    • valeurs: on, off (valeur par défaut: off)

  • weechat.completion.partial_completion_count

    • description: afficher le compteur pour chaque complétion partielle dans l'objet de barre

    • type: booléen

    • valeurs: on, off (valeur par défaut: on)

  • weechat.completion.partial_completion_other

    • description: complète partiellement en dehors des commandes (stoppe quand plusieurs mots trouvés commencent par les mêmes lettres)

    • type: booléen

    • valeurs: on, off (valeur par défaut: off)

  • weechat.history.display_default

    • description: nombre maximum de commandes à afficher par défaut dans le listing d'historique (0 = sans limite)

    • type: entier

    • valeurs: 0 .. 2147483647 (valeur par défaut: 5)

  • weechat.history.max_buffer_lines_minutes

    • description: nombre maximum de minutes dans l'historique par tampon (0 = sans limite) ; exemples : 1440 = une journée, 10080 = une semaine, 43200 = un mois, 525600 = une année ; utilisez 0 SEULEMENT si l'option weechat.history.max_buffer_lines_number n'est pas égale à 0

    • type: entier

    • valeurs: 0 .. 2147483647 (valeur par défaut: 0)

  • weechat.history.max_buffer_lines_number

    • description: nombre maximum de lignes dans l'historique par tampon (0 = sans limite) ; utilisez 0 SEULEMENT si l'option weechat.history.max_buffer_lines_minutes n'est PAS égale à 0

    • type: entier

    • valeurs: 0 .. 2147483647 (valeur par défaut: 4096)

  • weechat.history.max_commands

    • description: nombre maximum de commandes utilisateur dans l'historique (0 = sans limite, NON RECOMMANDÉ : pas de limite dans l'utilisation mémoire)

    • type: entier

    • valeurs: 0 .. 2147483647 (valeur par défaut: 100)

  • weechat.history.max_visited_buffers

    • description: nombre maximum de tampons visités à garder en mémoire

    • type: entier

    • valeurs: 0 .. 1000 (valeur par défaut: 50)

  • weechat.look.align_end_of_lines

    • description: alignement pour la fin des lignes (toutes les lignes après la première) : elles démarrent sous cette donnée (time, buffer, prefix, suffix, message (par défaut))

    • type: entier

    • valeurs: time, buffer, prefix, suffix, message (valeur par défaut: message)

  • weechat.look.bar_more_down

    • description: chaîne affichée quand la barre peut être défilée vers le bas (pour les barres avec un remplissage différent de "horizontal")

    • type: chaîne

    • valeurs: toute chaîne (valeur par défaut: "++")

  • weechat.look.bar_more_left

    • description: chaîne affichée quand la barre peut être défilée vers la gauche (pour les barres avec un remplissage "horizontal")

    • type: chaîne

    • valeurs: toute chaîne (valeur par défaut: "<<")

  • weechat.look.bar_more_right

    • description: chaîne affichée quand la barre peut être défilée vers la droite (pour les barres avec un remplissage "horizontal")

    • type: chaîne

    • valeurs: toute chaîne (valeur par défaut: ">>")

  • weechat.look.bar_more_up

    • description: chaîne affichée quand la barre peut être défilée vers le haut (pour les barres avec un remplissage différent de "horizontal")

    • type: chaîne

    • valeurs: toute chaîne (valeur par défaut: "--")

  • weechat.look.bare_display_exit_on_input

    • description: sortir du mode d'affichage dépouillé ("bare") sur tout changement dans la ligne de commande

    • type: booléen

    • valeurs: on, off (valeur par défaut: on)

  • weechat.look.bare_display_time_format

    • description: format de date/heure dans l'affichage dépouillé ("bare") (voir man strftime pour le format de date/heure)

    • type: chaîne

    • valeurs: toute chaîne (valeur par défaut: "%H:%M")

  • weechat.look.buffer_auto_renumber

    • description: renuméroter automatiquement les tampons pour qu'ils aient des numéros consécutifs et démarrent au numéro 1 ; si désactivé, des trous entre les numéros de tampons sont autorisés et le premier tampon peut avoir un numéro supérieur à 1

    • type: booléen

    • valeurs: on, off (valeur par défaut: on)

  • weechat.look.buffer_notify_default

    • description: niveau de notification par défaut pour les tampons (utilisé pour dire à WeeChat si le tampon doit être affiché dans la hotlist ou non, selon l'importance du message) : all=tous les messages (par défaut), message=messages+highlights, highlight=highlights seulement, none=ne jamais afficher dans la hotlist

    • type: entier

    • valeurs: none, highlight, message, all (valeur par défaut: all)

  • weechat.look.buffer_position

    • description: position d'un nouveau tampon : end = après la fin de la liste (numéro = dernier numéro + 1), first_gap = au premier numéro disponible dans la liste (après la fin de la liste si aucun numéro n'est disponible) ; cette option est utilisée seulement si le tampon n'a pas de numéro dans le "layout"

    • type: entier

    • valeurs: end, first_gap (valeur par défaut: end)

  • weechat.look.buffer_search_case_sensitive

    • description: recherche par défaut dans le tampon : sensible à la casse ou non

    • type: booléen

    • valeurs: on, off (valeur par défaut: off)

  • weechat.look.buffer_search_force_default

    • description: forcer les valeurs par défaut pour la recherche de texte dans le tampon (au lieu d'utiliser les valeurs de la dernière recherche dans le tampon)

    • type: booléen

    • valeurs: on, off (valeur par défaut: off)

  • weechat.look.buffer_search_regex

    • description: recherche par défaut dans le tampon : si activé, rechercher une expression régulière POSIX étendue, sinon rechercher du texte simple

    • type: booléen

    • valeurs: on, off (valeur par défaut: off)

  • weechat.look.buffer_search_where

    • description: recherche par défaut dans le tampon : dans le message, le préfixe, le préfixe et le message

    • type: entier

    • valeurs: prefix, message, prefix_message (valeur par défaut: prefix_message)

  • weechat.look.buffer_time_format

    • description: format de date/heure pour chaque ligne affichée dans les tampons (voir man strftime pour le format de date/heure) (note : le contenu est évalué, donc vous pouvez utiliser des couleurs avec le format "${color:xxx}", voir /help eval) ; par exemple l'heure avec des niveaux de gris (requiert le support de 256 couleurs) : "${color:252}%H${color:245}%M${color:240}%S"

    • type: chaîne

    • valeurs: toute chaîne (valeur par défaut: "%H:%M:%S")

  • weechat.look.color_basic_force_bold

    • description: forcer l'attribut "bold" (gras) pour les couleurs claires et "darkgray" dans les couleurs de base (cette option est désactivée par défaut : le gras est utilisé seulement si le terminal a moins de 16 couleurs)

    • type: booléen

    • valeurs: on, off (valeur par défaut: off)

  • weechat.look.color_inactive_buffer

    • description: utiliser une couleur différente pour les lignes dans un tampon inactif (si la ligne est d'un tampon mélangé et le tampon n'est pas sélectionné)

    • type: booléen

    • valeurs: on, off (valeur par défaut: on)

  • weechat.look.color_inactive_message

    • description: utiliser une couleur différente pour un message inactif (quand la fenêtre n'est pas la fenêtre courante, ou si la ligne est d'un tampon mélangé et le tampon n'est pas sélectionné)

    • type: booléen

    • valeurs: on, off (valeur par défaut: on)

  • weechat.look.color_inactive_prefix

    • description: utiliser une couleur différente pour le préfixe inactif (quand la fenêtre n'est pas la fenêtre courante, ou si la ligne est d'un tampon mélangé et le tampon n'est pas sélectionné)

    • type: booléen

    • valeurs: on, off (valeur par défaut: on)

  • weechat.look.color_inactive_prefix_buffer

    • description: utiliser une couleur différente pour le nom de tampon inactif dans le préfixe (quand la fenêtre n'est pas la fenêtre courante, ou si la ligne est d'un tampon mélangé et le tampon n'est pas sélectionné)

    • type: booléen

    • valeurs: on, off (valeur par défaut: on)

  • weechat.look.color_inactive_time

    • description: utiliser une couleur différente pour l'heure inactive (quand la fenêtre n'est pas la fenêtre courante, ou si la ligne est d'un tampon mélangé et le tampon n'est pas sélectionné)

    • type: booléen

    • valeurs: on, off (valeur par défaut: off)

  • weechat.look.color_inactive_window

    • description: utiliser une couleur différente pour les lignes dans une fenêtre inactive (quand la fenêtre n'est pas la fenêtre courante)

    • type: booléen

    • valeurs: on, off (valeur par défaut: on)

  • weechat.look.color_nick_offline

    • description: utiliser une couleur différente pour les pseudos déconnectés (qui ne sont plus dans la liste de pseudos)

    • type: booléen

    • valeurs: on, off (valeur par défaut: off)

  • weechat.look.color_pairs_auto_reset

    • description: réinitialisation automatique de la table des paires de couleurs quand le nombre de paires disponibles est inférieur ou égal à ce nombre (-1 = désactiver la réinitialisation automatique, et donc un "/color reset" manuel est nécessaire quand la table est pleine)

    • type: entier

    • valeurs: -1 .. 256 (valeur par défaut: 5)

  • weechat.look.color_real_white

    • description: si activé, utilise la vraie couleur blanche, désactivé par défaut pour les terminaux avec un fond blanc (si vous n'utilisez jamais de fond blanc, vous devriez activer cette option pour voir du vrai blanc au lieu de la couleur d'avant plan par défaut du terminal)

    • type: booléen

    • valeurs: on, off (valeur par défaut: off)

  • weechat.look.command_chars

    • description: caractères utilisés pour déterminer si la chaîne entrée est une commande ou non : l'entrée doit démarrer avec un de ces caractères ; la barre oblique ("/") est toujours considérée comme un préfixe de commande (exemple : ".$")

    • type: chaîne

    • valeurs: toute chaîne (valeur par défaut: "")

  • weechat.look.confirm_quit

    • description: si activé, la commande /quit doit être confirmée par le paramètre supplémentaire "-yes" (voir /help quit)

    • type: booléen

    • valeurs: on, off (valeur par défaut: off)

  • weechat.look.day_change

    • description: affiche un message quand le jour change

    • type: booléen

    • valeurs: on, off (valeur par défaut: on)

  • weechat.look.day_change_message_1date

    • description: message affiché lorsque le jour a changé, avec une date affichée (par exemple au début d'un tampon) (voir man strftime pour le format de date/heure) (note : le contenu est évalué, donc vous pouvez utiliser des couleurs avec le format "${color:xxx}", voir /help eval)

    • type: chaîne

    • valeurs: toute chaîne (valeur par défaut: "-- %a, %d %b %Y --")

  • weechat.look.day_change_message_2dates

    • description: message affiché lorsque le jour a changé, avec deux dates affichées (entre deux messages) ; les formats pour la seconde date doivent démarrer par deux "%" car strftime est appelé deux fois sur cette chaîne (voir man strftime pour le format de date/heure) (note : le contenu est évalué, donc vous pouvez utiliser des couleurs avec le format "${color:xxx}", voir /help eval)

    • type: chaîne

    • valeurs: toute chaîne (valeur par défaut: "-- %%a, %%d %%b %%Y (%a, %d %b %Y) --")

  • weechat.look.eat_newline_glitch

    • description: si activé, le eat_newline_glitch sera positionné à 0 ; cela est utilisé pour ne pas ajouter de nouvelle ligne à la fin de chaque ligne, et donc ne pas couper le texte quand vous copiez/collez du texte depuis WeeChat vers une autre application (cette option est désactivée par défaut car elle peut causer de sérieux problèmes d'affichages)

    • type: booléen

    • valeurs: on, off (valeur par défaut: off)

  • weechat.look.emphasized_attributes

    • description: attributs pour le texte mis en valeur : un ou plusieurs caractères d'attributs ("*" pour le gras, "!" pour la vidéo inverse, "/" pour l'italique, "_" pour le souligné) ; si la chaîne est vide, les couleurs weechat.color.emphasized* sont utilisées

    • type: chaîne

    • valeurs: toute chaîne (valeur par défaut: "")

  • weechat.look.highlight

    • description: liste des mots pour la notification séparés par des virgules ; la comparaison est insensible à la casse (utilisez "(?-i)" au début des mots pour les rendre sensibles à la casse), les mots peuvent commencer ou se terminer par "*" pour une comparaison partielle ; exemple : "test,(?-i)*toto*,flash*"

    • type: chaîne

    • valeurs: toute chaîne (valeur par défaut: "")

  • weechat.look.highlight_regex

    • description: expression régulière POSIX étendue utilisée pour vérifier si un message a un "highlight" ou non, au moins une correspondance dans la chaîne doit être entourée de délimiteurs (caractères différents de : alphanumérique, "-", "_" et "|"), l'expression régulière est insensible à la casse (utilisez "(?-i)" au début pour la rendre sensible à la casse), exemples : "flashcode|flashy", "(?-i)FlashCode|flashy"

    • type: chaîne

    • valeurs: toute chaîne (valeur par défaut: "")

  • weechat.look.highlight_tags

    • description: liste des étiquettes pour le highlight (séparées par des virgules) ; la comparaison ne tient pas compte de la casse ; le caractère joker "*" est autorisé dans chaque étiquette ; plusieurs étiquettes peuvent être séparées par "+" pour faire un "et" logique entre les étiquettes ; exemples : "nick_flashcode" pour les messages du pseudo "FlashCode", "irc_notice+nick_toto*" pour les notices d'un pseudo commençant par "toto"

    • type: chaîne

    • valeurs: toute chaîne (valeur par défaut: "")

  • weechat.look.hotlist_add_conditions

    • description: conditions pour ajouter un tampon dans la hotlist (si le niveau de notification est OK pour le tampon) ; vous pouvez utiliser dans ces conditions : \"window\" (pointeur de la fenêtre courante), \"buffer\" (pointeur du tampon à ajouter dans la hotlist), "priority" (0 = faible, 1 = message, 2 = privé, 3 = highlight) ; par défaut un tampon est ajouté dans la hotlist si vous êtes absent, ou si le tampon n'est pas visible à l'écran (pas affiché dans une fenêtre)

    • type: chaîne

    • valeurs: toute chaîne (valeur par défaut: "${away} || ${buffer.num_displayed} == 0")

  • weechat.look.hotlist_buffer_separator

    • description: chaîne affichée entre les tampons dans la hotlist

    • type: chaîne

    • valeurs: toute chaîne (valeur par défaut: ", ")

  • weechat.look.hotlist_count_max

    • description: nombre maximum de compteurs de messages à afficher dans la hotlist pour un tampon (0 = ne jamais afficher les compteurs de messages)

    • type: entier

    • valeurs: 0 .. 4 (valeur par défaut: 2)

  • weechat.look.hotlist_count_min_msg

    • description: afficher les compteurs de messages si le nombre de messages est supérieur ou égal à cette valeur

    • type: entier

    • valeurs: 1 .. 100 (valeur par défaut: 2)

  • weechat.look.hotlist_names_count

    • description: nombre maximum de noms dans la liste d'activité (0 = pas de nom affiché, seulement les numéros de tampons)

    • type: entier

    • valeurs: 0 .. 10000 (valeur par défaut: 3)

  • weechat.look.hotlist_names_length

    • description: nombre maximum des noms dans la liste d'activité (0 = pas de limite)

    • type: entier

    • valeurs: 0 .. 32 (valeur par défaut: 0)

  • weechat.look.hotlist_names_level

    • description: niveau pour l'affichage des noms dans la liste d'activité (combinaison de : 1=join/part, 2=message, 4=privé, 8=highlight, par exemple : 12=privé+highlight)

    • type: entier

    • valeurs: 1 .. 15 (valeur par défaut: 12)

  • weechat.look.hotlist_names_merged_buffers

    • description: si défini, force l'affichage des noms dans la hotlist pour les tampons mélangés

    • type: booléen

    • valeurs: on, off (valeur par défaut: off)

  • weechat.look.hotlist_prefix

    • description: chaîne affichée au début de la hotlist

    • type: chaîne

    • valeurs: toute chaîne (valeur par défaut: "H: ")

  • weechat.look.hotlist_remove

    • description: supprimer les tampons de la liste d'activité : buffer = supprimer tampon par tampon, merged = supprimer tous les tampons mélangés visibles d'un seul coup

    • type: entier

    • valeurs: buffer, merged (valeur par défaut: merged)

  • weechat.look.hotlist_short_names

    • description: si défini, utilise des noms courts pour afficher les noms de tampons dans la hotlist (commence après le premier '.' dans le nom)

    • type: booléen

    • valeurs: on, off (valeur par défaut: on)

  • weechat.look.hotlist_sort

    • description: type de tri pour la liste d'activité : group_time_* : grouper par niveau de notification (les highlights en premier) puis tri par date, group_number_* : grouper par niveau de notification (les highlights en premier) puis tri par numéro, number_* : tri par numéro ; asc = tri ascendant, desc = tri descendant

    • type: entier

    • valeurs: group_time_asc, group_time_desc, group_number_asc, group_number_desc, number_asc, number_desc (valeur par défaut: group_time_asc)

  • weechat.look.hotlist_suffix

    • description: chaîne affichée à la fin de la hotlist

    • type: chaîne

    • valeurs: toute chaîne (valeur par défaut: "")

  • weechat.look.hotlist_unique_numbers

    • description: garde seulement des numéros uniques dans la hotlist (cela s'applique seulement aux éléments de la hotlist où le nom n'est PAS affiché après le numéro)

    • type: booléen

    • valeurs: on, off (valeur par défaut: on)

  • weechat.look.input_cursor_scroll

    • description: nombre de caractères affichés après la fin de la ligne de saisie lors d'un défilement pour afficher la fin de la ligne

    • type: entier

    • valeurs: 0 .. 100 (valeur par défaut: 20)

  • weechat.look.input_share

    • description: partage les commandes, le texte, ou les deux dans la zone de saisie pour tous les tampons (il y a toujours un historique local sur chaque tampon)

    • type: entier

    • valeurs: none, commands, text, all (valeur par défaut: none)

  • weechat.look.input_share_overwrite

    • description: si défini et que la zone de saisie est partagée, écrase toujours la zone de saisie sur le tampon cible

    • type: booléen

    • valeurs: on, off (valeur par défaut: off)

  • weechat.look.input_undo_max

    • description: nombre maximum de "undo" pour la ligne de commande, par tampon (0 = undo désactivé)

    • type: entier

    • valeurs: 0 .. 65535 (valeur par défaut: 32)

  • weechat.look.item_buffer_filter

    • description: chaîne utilisée pour montrer que des lignes sont filtrées dans le tampon courant (objet de barre "buffer_filter")

    • type: chaîne

    • valeurs: toute chaîne (valeur par défaut: "*")

  • weechat.look.item_buffer_zoom

    • description: chaîne utilisée pour montrer le zoom sur un tampon mélangé (objet de barre "buffer_zoom")

    • type: chaîne

    • valeurs: toute chaîne (valeur par défaut: "!")

  • weechat.look.item_time_format

    • description: format de date/heure pour l'objet de barre "time" (voir man strftime pour le format de date/heure)

    • type: chaîne

    • valeurs: toute chaîne (valeur par défaut: "%H:%M")

  • weechat.look.jump_current_to_previous_buffer

    • description: sauter au tampon affiché précédemment lors du saut vers le numéro de tampon courant avec /buffer *N (où N est un numéro de tampon), pour facilement basculer à un autre tampon, puis revenir au tampon courant

    • type: booléen

    • valeurs: on, off (valeur par défaut: on)

  • weechat.look.jump_previous_buffer_when_closing

    • description: sauter au tampon précédemment visité lors de la fermeture d'un tampon (si désactivé, alors le saut se fait vers le numéro de tampon - 1)

    • type: booléen

    • valeurs: on, off (valeur par défaut: on)

  • weechat.look.jump_smart_back_to_buffer

    • description: retourner au tampon initial après avoir atteint la fin de la hotlist

    • type: booléen

    • valeurs: on, off (valeur par défaut: on)

  • weechat.look.key_bind_safe

    • description: autoriser seulement l'association de touches "sûres" (commençant par un code ctrl ou meta)

    • type: booléen

    • valeurs: on, off (valeur par défaut: on)

  • weechat.look.mouse

    • description: activer le support de la souris

    • type: booléen

    • valeurs: on, off (valeur par défaut: off)

  • weechat.look.mouse_timer_delay

    • description: délai (en millisecondes) pour capturer un évènement de la souris : WeeChat attendra ce délai avant de traiter l'évènement

    • type: entier

    • valeurs: 1 .. 10000 (valeur par défaut: 100)

  • weechat.look.nick_prefix

    • description: texte à afficher avant le pseudo dans le préfixe, exemple : "<"

    • type: chaîne

    • valeurs: toute chaîne (valeur par défaut: "")

  • weechat.look.nick_suffix

    • description: texte à afficher après le pseudo dans le préfixe, exemple : ">"

    • type: chaîne

    • valeurs: toute chaîne (valeur par défaut: "")

  • weechat.look.paste_bracketed

    • description: activer le mode du terminal "bracketed paste" (pas supporté par tous les terminaux/multiplexeurs) : dans ce mode, le texte collé est entouré avec des séquences de contrôle de sorte que WeeChat puisse différencier le texte collé du texte tapé ("ESC[200~", suivi par le texte collé, suivi par "ESC[201~")

    • type: booléen

    • valeurs: on, off (valeur par défaut: on)

  • weechat.look.paste_bracketed_timer_delay

    • description: forcer la fin du "bracketed paste" après ce délai (en secondes) si la séquence de contrôle pour la fin du "bracketed paste" ("ESC[201~") n'a pas été reçue à temps

    • type: entier

    • valeurs: 1 .. 60 (valeur par défaut: 10)

  • weechat.look.paste_max_lines

    • description: nombre maximum de lignes pour la détection de collage sans demander à l'utilisateur (-1 = désactiver cette fonctionnalité)

    • type: entier

    • valeurs: -1 .. 2147483647 (valeur par défaut: 1)

  • weechat.look.prefix_action

    • description: préfixe pour les messages d'action (note : le contenu est évalué, donc vous pouvez utiliser des couleurs avec le format "${color:xxx}", voir /help eval)

    • type: chaîne

    • valeurs: toute chaîne (valeur par défaut: " *")

  • weechat.look.prefix_align

    • description: alignement de préfixe (none, left, right (par défaut))

    • type: entier

    • valeurs: none, left, right (valeur par défaut: right)

  • weechat.look.prefix_align_max

    • description: taille maximum pour le préfixe (0 = pas de taille maximum)

    • type: entier

    • valeurs: 0 .. 128 (valeur par défaut: 0)

  • weechat.look.prefix_align_min

    • description: taille minimum pour le préfixe

    • type: entier

    • valeurs: 0 .. 128 (valeur par défaut: 0)

  • weechat.look.prefix_align_more

    • description: caractère à afficher si le préfixe est tronqué (doit être exactement un caractère à l'écran)

    • type: chaîne

    • valeurs: toute chaîne (valeur par défaut: "+")

  • weechat.look.prefix_align_more_after

    • description: afficher le caractère de troncature (par défaut "+") après le texte (en remplaçant l'espace qui devrait être affiché ici) ; si désactivé, le caractère de troncature remplace le dernier caractère du texte

    • type: booléen

    • valeurs: on, off (valeur par défaut: on)

  • weechat.look.prefix_buffer_align

    • description: alignement de préfixe pour le nom du tampon, quand plusieurs tampons sont mélangés avec le même numéro (none, left, right (par défaut))

    • type: entier

    • valeurs: none, left, right (valeur par défaut: right)

  • weechat.look.prefix_buffer_align_max

    • description: taille maximum pour le nom du tampon, quand plusieurs tampons sont mélangés avec le même numéro (0 = pas de taille maximum)

    • type: entier

    • valeurs: 0 .. 128 (valeur par défaut: 0)

  • weechat.look.prefix_buffer_align_more

    • description: caractère à afficher si le nom du tampon est tronqué (lorsque plusieurs tampons sont mélangés avec le même numéro) (doit être exactement un caractère à l'écran)

    • type: chaîne

    • valeurs: toute chaîne (valeur par défaut: "+")

  • weechat.look.prefix_buffer_align_more_after

    • description: afficher le caractère de troncature (par défaut "+") après le texte (en remplaçant l'espace qui devrait être affiché ici) ; si désactivé, le caractère de troncature remplace le dernier caractère du texte

    • type: booléen

    • valeurs: on, off (valeur par défaut: on)

  • weechat.look.prefix_error

    • description: préfixe pour les messages d'erreur (note : le contenu est évalué, donc vous pouvez utiliser des couleurs avec le format "${color:xxx}", voir /help eval)

    • type: chaîne

    • valeurs: toute chaîne (valeur par défaut: "=!=")

  • weechat.look.prefix_join

    • description: préfixe pour les messages d'arrivée (note : le contenu est évalué, donc vous pouvez utiliser des couleurs avec le format "${color:xxx}", voir /help eval)

    • type: chaîne

    • valeurs: toute chaîne (valeur par défaut: "-->")

  • weechat.look.prefix_network

    • description: préfixe pour les messages réseau (note : le contenu est évalué, donc vous pouvez utiliser des couleurs avec le format "${color:xxx}", voir /help eval)

    • type: chaîne

    • valeurs: toute chaîne (valeur par défaut: "--")

  • weechat.look.prefix_quit

    • description: préfixe pour les messages de départ (note : le contenu est évalué, donc vous pouvez utiliser des couleurs avec le format "${color:xxx}", voir /help eval)

    • type: chaîne

    • valeurs: toute chaîne (valeur par défaut: "<--")

  • weechat.look.prefix_same_nick

    • description: préfixe affiché pour un message avec le même pseudo que le précédent message : utiliser un espace " " pour cacher le préfixe, une autre chaîne pour l'afficher à la place du préfixe, ou une chaîne vide pour désactiver cette fonctionnalité (afficher le préfixe)

    • type: chaîne

    • valeurs: toute chaîne (valeur par défaut: "")

  • weechat.look.prefix_suffix

    • description: chaîne affichée après le préfixe

    • type: chaîne

    • valeurs: toute chaîne (valeur par défaut: "|")

  • weechat.look.read_marker

    • description: utiliser un marqueur (ligne ou caractère) sur les tampons pour montrer la première ligne non lue

    • type: entier

    • valeurs: none, line, char (valeur par défaut: line)

  • weechat.look.read_marker_always_show

    • description: toujours afficher le marqueur de lecture, même s'il est après la dernière ligne du tampon

    • type: booléen

    • valeurs: on, off (valeur par défaut: off)

  • weechat.look.read_marker_string

    • description: chaîne utilisée pour tracer la ligne de marqueur des données non lues (la chaîne est répétée jusqu'à la fin de la ligne)

    • type: chaîne

    • valeurs: toute chaîne (valeur par défaut: "- ")

  • weechat.look.save_config_on_exit

    • description: sauvegarder la configuration en quittant

    • type: booléen

    • valeurs: on, off (valeur par défaut: on)

  • weechat.look.save_layout_on_exit

    • description: sauvegarder la disposition en quittant (tampons, fenêtres, ou les deux)

    • type: entier

    • valeurs: none, buffers, windows, all (valeur par défaut: none)

  • weechat.look.scroll_amount

    • description: nombre de lignes pour le défilement avec scroll_up et scroll_down

    • type: entier

    • valeurs: 1 .. 2147483647 (valeur par défaut: 3)

  • weechat.look.scroll_bottom_after_switch

    • description: faire défiler en bas de la fenêtre après un basculement vers un autre tampon (ne pas sauvegarder la position du défilement dans les fenêtres) ; le défilement n'est fait que pour les tampons avec contenu formaté (pas le contenu libre)

    • type: booléen

    • valeurs: on, off (valeur par défaut: off)

  • weechat.look.scroll_page_percent

    • description: pourcentage de l'écran à faire défiler lors du défilement avec page précédente ou suivante (par exemple 100 signifie une page, 50 une demi-page)

    • type: entier

    • valeurs: 1 .. 100 (valeur par défaut: 100)

  • weechat.look.search_text_not_found_alert

    • description: alerte l'utilisateur lorsque le texte cherché n'est pas trouvé dans le tampon

    • type: booléen

    • valeurs: on, off (valeur par défaut: on)

  • weechat.look.separator_horizontal

    • description: caractère utilisé pour tracer les séparateurs horizontaux autour des barres et fenêtres (une valeur vide tracera une vraie ligne avec ncurses, mais peut causer des problèmes d'affichage avec la sélection d'URL sous certains terminaux) ; la largeur à l'écran doit être exactement d'un caractère

    • type: chaîne

    • valeurs: toute chaîne (valeur par défaut: "-")

  • weechat.look.separator_vertical

    • description: caractère utilisé pour tracer les séparateurs verticaux autour des barres et fenêtres (une valeur vide tracera une vraie ligne avec ncurses) ; la largeur à l'écran doit être exactement d'un caractère

    • type: chaîne

    • valeurs: toute chaîne (valeur par défaut: "")

  • weechat.look.tab_width

    • description: nombre d'espaces utilisés pour afficher les tabulations dans les messages

    • type: entier

    • valeurs: 1 .. 64 (valeur par défaut: 1)

  • weechat.look.time_format

    • description: format de date/heure pour les dates converties en chaînes et affichées dans les messages (voir man strftime pour le format de date/heure)

    • type: chaîne

    • valeurs: toute chaîne (valeur par défaut: "%a, %d %b %Y %T")

  • weechat.look.window_auto_zoom

    • description: zoomer automatiquement la fenêtre courante si le terminal devient trop petit pour afficher les fenêtres (utilisez alt-z pour dézoomer la fenêtre quand le terminal est suffisamment grand)

    • type: booléen

    • valeurs: on, off (valeur par défaut: off)

  • weechat.look.window_separator_horizontal

    • description: afficher un séparateur horizontal entre les fenêtres

    • type: booléen

    • valeurs: on, off (valeur par défaut: on)

  • weechat.look.window_separator_vertical

    • description: afficher un séparateur vertical entre les fenêtres

    • type: booléen

    • valeurs: on, off (valeur par défaut: on)

  • weechat.look.window_title

    • description: titre pour la fenêtre (le terminal pour l'interface Curses), défini au démarrage ; une chaîne vide gardera le titre inchangé (note : le contenu est évalué, voir /help eval)

    • type: chaîne

    • valeurs: toute chaîne (valeur par défaut: "WeeChat ${info:version}")

  • weechat.network.connection_timeout

    • description: délai d'attente maximum (en secondes) pour la connexion à une machine distante (effectuée dans un processus fils)

    • type: entier

    • valeurs: 1 .. 2147483647 (valeur par défaut: 60)

  • weechat.network.gnutls_ca_file

    • description: fichier contenant les autorités de certification ("%h" sera remplacé par le répertoire de base WeeChat, par défaut : "~/.weechat")

    • type: chaîne

    • valeurs: toute chaîne (valeur par défaut: "/etc/ssl/certs/ca-certificates.crt")

  • weechat.network.gnutls_handshake_timeout

    • description: délai d'attente maximum (en secondes) pour la poignée de main (handshake) gnutls

    • type: entier

    • valeurs: 1 .. 2147483647 (valeur par défaut: 30)

  • weechat.network.proxy_curl

    • description: nom du proxy utilisé pour télécharger les URLs avec Curl (utilisé pour télécharger la liste des scripts et dans les scripts appelant la fonction hook_process) ; le proxy doit être défini avec la commande /proxy

    • type: chaîne

    • valeurs: toute chaîne (valeur par défaut: "")

  • weechat.plugin.autoload

    • description: liste des extensions à charger automatiquement au démarrage (séparées par des virgules), "*" signifie toutes les extensions trouvées, un nom commençant par "!" est une valeur négative pour empêcher une extension d'être chargée, le caractère joker "*" est autorisé dans les noms (exemples : "*" ou "*,!lua,!tcl")

    • type: chaîne

    • valeurs: toute chaîne (valeur par défaut: "*")

  • weechat.plugin.debug

    • description: active les messages de debug par défaut pour toutes les extensions (option désactivée par défaut, ce qui est hautement recommandé)

    • type: booléen

    • valeurs: on, off (valeur par défaut: off)

  • weechat.plugin.extension

    • description: liste d'extensions de noms de fichiers pour les extensions (séparées par des virgules)

    • type: chaîne

    • valeurs: toute chaîne (valeur par défaut: ".so,.dll")

  • weechat.plugin.path

    • description: chemin de recherche des extensions ("%h" sera remplacé par le répertoire de base WeeChat, par défaut : "~/.weechat")

    • type: chaîne

    • valeurs: toute chaîne (valeur par défaut: "%h/plugins")

  • weechat.plugin.save_config_on_unload

    • description: sauvegarder les fichiers de configuration lors du déchargement des extensions

    • type: booléen

    • valeurs: on, off (valeur par défaut: on)

  • weechat.startup.command_after_plugins

    • description: commande exécutée quand WeeChat démarre, après le chargement des extensions (note : le contenu est évalué, voir /help eval)

    • type: chaîne

    • valeurs: toute chaîne (valeur par défaut: "")

  • weechat.startup.command_before_plugins

    • description: commande exécutée quand WeeChat démarre, avant le chargement des extensions (note : le contenu est évalué, voir /help eval)

    • type: chaîne

    • valeurs: toute chaîne (valeur par défaut: "")

  • weechat.startup.display_logo

    • description: afficher le logo WeeChat au démarrage

    • type: booléen

    • valeurs: on, off (valeur par défaut: on)

  • weechat.startup.display_version

    • description: afficher la version de WeeChat au démarrage

    • type: booléen

    • valeurs: on, off (valeur par défaut: on)

  • weechat.startup.sys_rlimit

    • description: définir les limites de ressource pour le processus WeeChat, le format est : "res1:limite1,res2:limite2" ; le nom de ressource est la fin de la constante (RLIMIT_XXX) en minuscules (voir man setrlimit pour les valeurs) ; une limite de -1 signifie "illimitée" ; exemple : définir une taille illimitée pour le fichier core et max 1 Go de mémoire virtuelle : "core:-1,as:1000000000"

    • type: chaîne

    • valeurs: toute chaîne (valeur par défaut: "")

3.12.3. Commandes WeeChat

away définir ou supprimer le statut d’absence
/away  [-all] [<message>]

   -all : définir ou supprimer le statut d'absence sur tous les serveurs connectés
message : message pour l'absence (si pas de message donné, le statut d'absence est supprimé)
bar gestion des barres
/bar  list|listfull|listitems
      add <nom> <type>[,<conditions>] <position> <taille> <séparateur> <objet1>[,<objet2>...]
      default [input|title|status|nicklist]
      del <nom>|-all
      set <nom> <option> <valeur>
      hide|show|toggle <nom>
      scroll <nom> <fenêtre> <valeur_scroll>

         list : lister toutes les barres
     listfull : lister toutes les barres (verbeux)
    listitems : lister tous les objets de barre
          add : ajouter une nouvelle barre
          nom : nom de la barre (doit être unique)
         type :   root : en dehors des fenêtres
                window : dans les fenêtres, avec condition(s) optionnelle(s) (voir ci-dessous)
    condition : condition(s) pour afficher cette barre (seulement pour le type "window") :
                  active : sur la fenêtre active
                inactive : sur les fenêtres inactives
                nicklist : sur les fenêtres avec liste de pseudos
                autre condition : voir /help weechat.bar.xxx.conditions et /help eval
                sans condition, la barre est toujours affichée
     position : bottom (bas), top (haut), left (gauche) ou right (droite)
       taille : taille de la barre (en caractères)
   séparateur : 1 pour utiliser un séparateur (ligne), 0 ou rien signifie sans séparateur
   objet1,... : objets pour cette barre (les objets peuvent être séparés par une virgule (espace entre les objets) ou "+" (objets collés))
      default : créer une barre par défaut (toutes les barres par défaut si aucun nom de barre n'est donné)
          del : supprimer une barre (ou toutes les barres avec -all)
          set : changer la valeur d'une propriété de la barre
       option : option à modifier (pour la liste des options, voir /set weechat.bar.<nombarre>.*
       valeur : nouvelle valeur pour l'option
         hide : cacher la barre
         show : montrer une barre cachée
       toggle : cacher/montrer une barre
       scroll : faire défiler la barre
      fenêtre : numéro de fenêtre (utilisez '*' pour la fenêtre courante ou une barre de type root)
valeur_scroll : valeur pour le défilement : 'x' ou 'y' (optionnel), suivi par '+', '-', 'b' (début) ou 'e' (fin), valeur (pour +/-), et un % optionnel (pour faire défiler par % de la largeur/hauteur, sinon la valeur est un nombre de caractères)

Exemples :
  créer une barre avec l'heure, numéro + nom de tampon, et la complétion :
    /bar add mabarre root bottom 1 0 [time],buffer_number+:+buffer_name,completion
  cacher une barre :
    /bar hide mabarre
  faire défiler la liste des pseudos de 10 lignes vers le bas sur le tampon courant :
    /bar scroll nicklist * y+10
  faire défiler la liste des pseudos à la fin sur le tampon courant :
    /bar scroll nicklist * ye
buffer gestion des tampons
/buffer  list
         clear [<nombre>|<nom>|-merged|-all [<nombre>|<nom>...]]
         move <nombre>|-|+
         swap <nombre1>|<nom1> [<nombre2>|<nom2>]
         merge <nombre>
         unmerge [<nombre>|-all]
         hide [<nombre>|<nom>|-all [<nombre>|<nom>...]]
         unhide [<nombre>|<nom>|-all [<nombre>|<nom>...]]
         renumber <nombre1> [<nombre2> [<départ>]]
         close [<n1>[-<n2>]|<nom>]
         notify <niveau>
         localvar
         set <propriété> <valeur>
         get <propriété>
         <nombre>|<nom>

    list : lister les tampons ouverts (sans paramètre, cette liste est affichée)
   clear : effacer le contenu du tampon (un numéro pour un tampon, -merged pour les tampons mélangés, -all pour tous les tampons, ou rien pour le tampon courant)
    move : déplacer le tampon dans la liste (peut être relatif, par exemple -1) ; "-" = déplacer vers le premier numéro de tampon, "+" = déplacer vers le dernier numéro de tampon + 1
    swap : échanger deux tampons (échanger avec le tampon courant si un seul numéro/nom donné)
   merge : mélanger le tampon courant avec un autre tampon (la zone de discussion sera un mélange des deux tampons)
           (par défaut ctrl-x bascule entre les tampons mélangés)
 unmerge : détacher le tampon courant des autres tampons portant le même numéro
    hide : masquer le tampon
  unhide : démasquer le tampon
renumber : renuméroter des tampons (fonctionne seulement si l'option weechat.look.buffer_auto_renumber est désactivée)
   close : fermer le tampon (nombre/intervalle ou nom optionnel)
  notify : définir le niveau de notification pour le tampon courant : ce niveau détermine si le tampon doit être ajouté à la hotlist ou pas :
                none : jamais
           highlight : pour les highlights seulement
             message : pour les messages d'utilisateurs + highlights
                 all : pour tous les messages
               reset : réinitialise à valeur par défaut (all)
localvar : afficher la liste des variables locales pour le tampon courant
     set : modifier une propriété du tampon courant
     get : afficher une propriété du tampon courant
  nombre : sauter au tampon qui a ce numéro, préfixe possible :
           '+' : saut relatif, ajoute le numéro au courant,
           '-' : saut relatif, soustrait le numéro au courant,
           '*' : saut au numéro en utilisant l'option "jump_current_to_previous_buffer"
       - : sauter au premier numéro de tampon
       + : sauter au dernier numéro de tampon
     nom : sauter au tampon par nom (partiel)

Exemples :
  effacer le tampon courant :
    /buffer clear
  déplacer le tampon vers le numéro 5 :
    /buffer move 5
  échanger le tampon 1 avec le 3 :
    /buffer swap 1 3
  échanger le tampon #weechat avec le tampon courant :
    /buffer swap #weechat
  mélanger avec le tampon core :
    /buffer merge 1
  détacher le tampon :
    /buffer unmerge
  fermer le tampon courant :
    /buffer close
  fermer les tampons 5 à 7 :
    /buffer close 5-7
  aller sur #weechat :
    /buffer #weechat
  aller au tampon suivant :
    /buffer +1
  aller au dernier numéro de tampon :
    /buffer +
color définir des alias de couleurs et afficher la palette des couleurs
/color  alias <couleur> <nom>
        unalias <couleur>
        reset
        term2rgb <color>
        rgb2term <rgb> [<limit>]
        -o

   alias : ajouter un alias pour une couleur
 unalias : supprimer un alias pour une couleur
 couleur : numéro de couleur (supérieur ou égal à 0, le max dépend du terminal, généralement 63 ou 255)
     nom : nom d'alias pour la couleur (par exemple : "orange")
   reset : réinitialiser toutes les paires de couleurs (requis quand il n'y a plus de paires de couleurs disponibles si la réinitialisation automatique est désactivée, voir l'option weechat.look.color_pairs_auto_reset)
term2rgb : convertir une couleur du terminal (0-255) en couleur RGB
rgb2term : convertir une couleur RGB en couleur du terminal (0-255)
  limite : nombre de couleurs à utiliser dans la table du terminal (en démarrant de 0) ; par défaut 256
      -o : envoyer les infos terminal/couleurs sur le tampon courant comme entrée

Sans paramètre, cette commande affiche les couleurs dans un nouveau tampon.

Exemples :
  ajouter l'alias "orange" pour la couleur 214 :
    /color alias 214 orange
  supprimer la couleur 214 :
    /color unalias 214
command lancer explicitement une commande WeeChat ou d’une extension
/command  [-buffer <nom>] <extension> <commande>

  -buffer : exécuter la commande sur ce tampon
extension : exécuter la commande de cette extension ; 'core' pour une commande WeeChat, '*' pour une extension automatique (cela dépend sur quel tampon est exécutée la commande)
 commande : commande à exécuter (un '/' est automatiquement ajouté s'il n'est pas trouvé au début de la commande)
cursor mouvement libre du curseur sur l'écran pour exécuter des actions sur des zones spécifiques de l'écran
/cursor  go chat|<barre>|<x>,<y>
         move up|down|left|right|area_up|area_down|area_left|area_right
         stop

  go : déplacer le curseur vers la zone de discussion ("chat"), une barre (en utilisant son nom) ou les coordonnées "x,y"
move : déplacer le curseur dans une direction
stop : arrêter le mode curseur

Sans paramètre, cette commande active/désactive le mode curseur.

Lorsque la souris est activée (voir /help mouse), par défaut un clic du milieu démarre le mode curseur à ce point.

Exemples :
  aller dans la liste des pseudos :
    /cursor go nicklist
  aller aux coordonnées x=10, y=5 :
    /cursor go 10,5
debug contrôle du debug pour le cœur/les extensions
/debug  list
        set <extension> <niveau>
        dump [<extension>]
        buffer|color|infolists|memory|tags|term|windows
        cursor|mouse [verbose]
        hdata [free]

     list : lister les extensions avec leur niveau de debug
      set : définir le niveau de debug pour l'extension
extension : nom de l'extension ("core" pour le cœur de WeeChat)
   niveau : niveau de debug pour l'extension
     dump : afficher les variables mémoire WeeChat dans le fichier log (les mêmes messages sont affichés lorsque WeeChat plante)
   buffer : afficher le contenu du tampon en valeurs hexadécimales dans le fichier log
    color : afficher des infos sur les paires de couleur courantes
   cursor : activer/désactiver le debug pour le mode curseur
     dirs : afficher les répertoires
    hdata : afficher des infos sur les hdata (avec free : supprimer tous les hdata en mémoire)
    hooks : afficher des infos sur les hooks
infolists : afficher des infos sur les infolists
     libs : afficher des infos sur les bibliothèques externes utilisées
   memory : afficher des infos sur l'utilisation de la mémoire
    mouse : activer/désactiver le debug pour la souris
     tags : afficher les étiquettes pour les lignes
     term : afficher des infos sur le terminal
  windows : afficher l'arbre des fenêtres
eval évaluer une expression
/eval  [-n] <expression>
       [-n] -c <expression1> <opérateur> <expression2>

        -n : afficher le résultat sans envoyer au tampon (mode debug)
        -c : évaluer comme une condition : utiliser les opérateurs et les parenthèses, retourner une valeur booléenne ("0" ou "1")
expression : expression à évaluer, les variables avec le format ${variable} sont remplacées (voir ci-dessous) ; plusieurs commandes peuvent être séparées par des points-virgules
 opérateur : un opérateur logique ou de comparaison :
             - opérateurs logiques :
                 &&  "et" booléen
                 ||  "ou" booléen
             - opérateurs de comparaison :
                 ==  égal
                 !=  non égal
                 <=  inférieur ou égal
                 <   inférieur
                 >=  supérieur ou égal
                 >   supérieur
                 =~  correspond à l'expression régulière POSIX étendue
                 !~  ne correspond PAS à l'expression régulière POSIX étendue

Une expression est considérée comme "vraie" si elle est non NULL, non vide, et différente de "0".
La comparaison est faite en utilisant des entiers si les deux expressions sont des entiers valides.
Pour forcer une comparaison de chaînes, ajoutez des guillemets autour de chaque expression, par exemple :
  50 > 100      ==> 0
  "50" > "100"  ==> 1

Des variables sont remplacées dans l'expression, en utilisant le format ${variable}, la variable pouvant être, par ordre de priorité :
  1. une chaîne avec les caractères échappés (format : "esc:xxx" ou "\xxx")
  2. une couleur (format : "color:xxx")
  3. une info (format : "info:nom,paramètres", les paramètres sont optionnels)
  4. une option (format : "fichier.section.option")
  5. une variable locale du tampon
  6. un hdata/variable (la valeur est automatiquement convertie en chaîne), par défaut "window" et "buffer" pointent vers la fenêtre et le tampon courants.
Le format du hdata peut être le suivant :
  hdata.var1.var2... : démarrer avec un hdata (le pointeur doit être connu), et demander les variables l'une après l'autre (d'autres hdata peuvent être suivis)
  hdata[list].var1.var2... : démarrer avec un hdata en utilisant une liste, par exemple :
    ${buffer[gui_buffers].full_name} : nom complet du premier tampon dans la liste chaînée des tampons
    ${plugin[weechat_plugins].name} : nom de la première extension dans la liste chaînée des extensions
Pour le nom du hdata et des variables, voir la "Référence API extension", fonction "weechat_hdata_get".

Exemples (chaînes simples) :
  /eval -n ${info:version}                 ==> 0.4.3
  /eval -n ${weechat.look.scroll_amount}   ==> 3
  /eval -n ${window}                       ==> 0x2549aa0
  /eval -n ${window.buffer}                ==> 0x2549320
  /eval -n ${window.buffer.full_name}      ==> core.weechat
  /eval -n ${window.buffer.number}         ==> 1
  /eval -n ${\t}                           ==> <tab>

Exemples (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
filter filtrer les messages dans les tampons, pour les cacher/afficher selon des étiquettes ou expressions régulières
/filter  list
         enable|disable|toggle [<nom>|@]
         add <nom> <tampon>[,<tampon>...] <étiquettes> <regex>
         rename <nom> <nouveau_nom>
         del <nom>|-all

      list : lister tous les filtres
    enable : activer les filtres (par défaut les filtres sont activés)
   disable : désactiver les filtres
    toggle : activer/désactiver les filtres
       nom : nom de filtre ("@" = activer/désactiver tous les filtres dans le tampon courant)
       add : ajouter un filtre
    rename : renommer un filtre
       del : supprimer un filtre
      -all : supprimer tous les filtres
    tampon : liste des tampons, séparés par des virgules, où le filtre est actif :
             - il s'agit du nom complet incluant l'extension (exemple : "irc.freenode.#weechat")
             - "*" signifie tous les tampons
             - un nom commençant par '!' est exclu
             - le caractère joker "*" est autorisé
étiquettes : liste d'étiquettes, séparées par des virgules, par exemple : "irc_join,irc_part,irc_quit"
             - "et" logique : utilisez "+" entre les étiquettes (par exemple : "nick_toto+irc_action")
             - le caractère joker "*" est autorisé
             - si l'étiquette commence par '!', alors elle est exclue et ne doit PAS être dans le message
     regex : expression régulière POSIX étendue à rechercher dans la ligne
             - utiliser '\t' pour séparer le préfixe du message, les caractères spéciaux comme '|' doivent être échappés : '\|'
             - si l'expression régulière commence par '!' alors le résultat est inversé (utiliser '\!' pour démarrer par '!')
             - deux expressions régulières sont créées : une pour le préfixe et une pour le message
             - les expressions régulières sont insensibles à la casse, elles peuvent commencer par "(?-i)" pour devenir sensibles à la casse

La touche par défaut alt+'=' active/désactive le filtrage.

Les étiquettes les plus couramment utilisées :
  no_filter, no_highlight, no_log, log0..log9 (niveau de log),
  notify_none, notify_message, notify_private, notify_highlight,
  nick_xxx (xxx est le pseudo dans le message), prefix_nick_ccc (ccc est la couleur du pseudo),
  host_xxx (xxx est le nom d'utilisateur + hôte dans le message),
  irc_xxx (xxx est un nom de commande ou nombre, voir /server raw ou /debug tags),
  irc_numeric, irc_error, irc_action, irc_ctcp, irc_ctcp_reply, irc_smart_filter, away_info.
Pour voir les étiquettes des lignes affichées : /debug tags

Exemples :
  utiliser le filtre intelligent IRC sur tous les tampons :
    /filter add irc_smart * irc_smart_filter *
  utiliser le filtre intelligent IRC sur tous les tampons sauf ceux avec "#weechat" dans le nom :
    /filter add irc_smart *,!*#weechat* irc_smart_filter *
  filtrer tous les messages IRC join/part/quit :
    /filter add joinquit * irc_join,irc_part,irc_quit *
  filtrer les pseudos afficher en rejoignant les canaux ou avec /names :
    /filter add nicks * irc_366 *
  filtrer le pseudo "toto" sur le canal IRC #weechat :
    /filter add toto irc.freenode.#weechat nick_toto *
  filtrer les messages IRC join/action du pseudo "toto" :
    /filter add toto * nick_toto+irc_join,nick_toto+irc_action *
  filtrer les lignes contenant "weechat sucks" sur le canal IRC #weechat :
    /filter add sucks irc.freenode.#weechat * weechat sucks
help afficher l’aide sur les commandes et les options
/help  -list|-listfull [<extension> [<extension>...]]
       <commande>
       <option>

    -list : lister les commandes, par extension (sans paramètre, cette liste est affichée)
-listfull : lister les commandes avec description, par extension
extension : lister les commandes de cette extension
 commande : un nom de commande
   option : un nom d'option (utilisez /set pour voir la liste)
history afficher l’historique des commandes du tampon
/history  clear
          <valeur>

 clear : effacer l'historique
valeur : nombre d'entrées dans l'historique à afficher
input fonctions pour la ligne de commande
/input  <action> [<paramètres>]

liste des actions :
  return : simuler la touche "entrée"
  complete_next : compléter le mot avec la complétion suivante
  complete_previous : compléter le mot avec la complétion précédente
  search_text : chercher du texte dans le tampon
  search_switch_case : basculer la casse exacte pour la recherche
  search_switch_regex : basculer le type de recherche : chaîne/expression régulière
  search_switch_where : basculer la recherche dans les messages/préfixes
  search_previous : chercher la ligne précédente
  search_next : chercher la ligne suivante
  search_stop : arrêter la recherche
  delete_previous_char : effacer le caractère précédent
  delete_next_char : effacer le caractère suivant
  delete_previous_word : effacer le mot précédent
  delete_next_word : effacer le mot suivant
  delete_beginning_of_line : effacer du début de la ligne jusqu'au curseur
  delete_end_of_line : effacer du curseur jusqu'à la fin de la ligne
  delete_line : effacer la ligne entière
  clipboard_paste : coller depuis le presse-papiers
  transpose_chars : inverser deux caractères
  undo : défaire la dernière action de la ligne de commande
  redo : refaire la dernière action de la ligne de commande
  move_beginning_of_line : déplacer le curseur au début de la ligne
  move_end_of_line : déplacer le curseur à la fin de la ligne
  move_previous_char : déplacer le curseur sur le caractère précédent
  move_next_char : déplacer le curseur sur le caractère suivant
  move_previous_word : déplacer le curseur sur le mot précédent
  move_next_word : déplacer le curseur sur le mot suivant
  history_previous : rappeler la commande précédente dans l'historique du tampon courant
  history_next : rappeler la commande suivante dans l'historique du tampon courant
  history_global_previous : rappeler la commande précédente dans l'historique global
  history_global_next : rappeler la commande suivante dans l'historique global
  jump_smart : sauter au prochain tampon avec de l'activité
  jump_last_buffer_displayed : sauter au dernier tampon affiché (avant le dernier saut vers un tampon)
  jump_previously_visited_buffer : sauter au tampon visité précédemment
  jump_next_visited_buffer : sauter au tampon visité après
  hotlist_clear : effacer la hotlist
  grab_key : capturer une touche (paramètre facultatif : délai pour la fin de la capture, par défaut 500 millisecondes)
  grab_key_command : capturer une touche avec sa commande associée (paramètre facultatif : délai pour la fin de la capture, par défaut 500 millisecondes)
  grab_mouse : capturer un évènement de la souris
  grab_mouse_area : capturer un évènement de la souris avec la zone
  set_unread : définir le marqueur de données non lues pour tous les tampons
  set_unread_current_buffer : définir le marqueur de données non lues pour le tampon courant
  switch_active_buffer : basculer vers le tampon mélangé suivant
  switch_active_buffer_previous : basculer vers le tampon mélangé précédent
  zoom_merged_buffer : zoom sur le tampon mélangé
  insert : insérer du texte dans la ligne de commande (les caractères échappés sont autorisés, voir /help print)
  send : envoyer du texte au tampon
  paste_start : début de collage (mode "bracketed paste")
  paste_stop : fin de collage (mode "bracketed paste")

Cette commande est utilisé par les associations de touches ou les extensions.
key associer/libérer des touches
/key  list|listdefault|listdiff [<contexte>]
      bind <touche> [<commande> [<args>]]
      bindctxt <contexte> <touche> [<commande> [<args>]]
      unbind <touche>
      unbindctxt <contexte> <touche>
      reset <touche>
      resetctxt <contexte> <touche>
      resetall -yes [<contexte>]
      missing [<contexte>]

       list : afficher toutes les touches courantes (sans paramètre, cette liste est affichée)
listdefault : afficher les touches par défaut
   listdiff : afficher les différences entre les touches courantes et celles par défaut (touches ajoutées, redéfinies ou supprimées)
   contexte : nom du contexte ("default" ou "search")
       bind : associer une commande à une touche ou affiche la commande associée à la touche
   bindctxt : associer une commande à une touche ou affiche la commande associée à la touche pour le contexte donné
   commande : commande (plusieurs commandes peuvent êtres séparées par des points-virgules)
     unbind : supprimer l'association à une touche
 unbindctxt : supprimer l'association à une touche pour le contexte donné
      reset : réinitialiser une touche à son association par défaut
  resetctxt : réinitialiser une touche à son association par défaut pour le contexte donné
   resetall : restaurer les touches aux valeurs par défaut et supprimer TOUTES les touches personnelles (utiliser avec précaution !)
    missing : ajouter les touches manquantes (en utilisant les touches par défaut), pratique après installation d'une nouvelle version de WeeChat

Lors de l'association d'une commande à une touche, il est recommandé d'utiliser la touche alt+k (ou Échap puis k), et puis de presser la touche à associer : cela insère le code de la touche dans la ligne de commande.

Pour le contexte "mouse" (possible aussi pour le contexte "cursor"), la touche a le format : "@zone:touche" ou "@zone1>zone2:touche" où la zone peut être :
          * : n'importe quelle zone à l'écran
       chat : la zone de discussion (n'importe quel tampon)
  chat(xxx) : la zone de discussion pour le tampon avec le nom "xxx" (nom complet incluant l'extension)
     bar(*) : n'importe quelle barre
   bar(xxx) : la barre "xxx"
    item(*) : n'importe quel objet de barre
  item(xxx) : l'objet de barre "xxx"
La caractère joker "*" est autorisé pour plusieurs évènements de la souris.
Une valeur spéciale pour la commande avec le format "hsignal:nom" peut être utilisée dans le contexte "mouse", cela enverra le signal "nom" avec la table de hachage du focus comme paramètre.
Une autre valeur spéciale "-" peut être utilisée pour désactiver la touche (elle sera ignorée lors de la recherche de touches).

Exemples :
  touche alt-x pour activer/désactiver la liste des pseudos :
    /key bind meta-x /bar toggle nicklist
  touche alt-r pour aller sur le canal IRC #weechat :
    /key bind meta-r /buffer #weechat
  restaure l'association par défaut pour la touche alt-r :
    /key reset meta-r
  touche "tab" pour arrêter la recherche dans le tampon :
    /key bindctxt search ctrl-I /input search_stop
  bouton du milieu de la souris sur un pseudo pour récupérer les infos sur le pseudo :
    /key bindctxt mouse @item(buffer_nicklist):button3 /msg nickserv info ${nick}
layout gestion des dispositions de tampons/fenêtres
/layout  store [<nom>] [buffers|windows]
         apply [<nom>] [buffers|windows]
         leave
         del [<nom>] [buffers|windows]
         rename <nom> <nouveau_nom>

  store : stocker les tampons/fenêtres courants dans une disposition
  apply : appliquer une disposition stockée
  leave : quitter la disposition courante (ne met à jour aucune disposition)
    del : supprimer les tampons et/ou fenêtres dans une disposition stockée
          (si ni "buffers" ni "windows" n'est donné après le nom, la disposition est supprimée)
 rename : renommer une disposition
    nom : nom pour la disposition stockée (par défaut "default")
buffers : stocker/appliquer seulement pour les tampons (ordre des tampons)
windows : stocker/appliquer seulement pour les fenêtres (le tampon affiché par chaque fenêtre)

Sans paramètre, cette commande affiche les dispositions stockées.
mouse contrôle de la souris
/mouse  enable|disable|toggle [<délai>]

 enable : activer la souris
disable : désactiver la souris
 toggle : activer/désactiver la souris
  délai : délai (en secondes) après lequel l'état initial de la souris est restauré (pratique pour désactiver temporairement la souris)

L'état de la souris est sauvé dans l'option "weechat.look.mouse".

Exemples :
  activer la souris :
    /mouse enable
  activer/désactiver la souris pendant 5 secondes :
    /mouse toggle 5
mute exécuter une commande silencieusement
/mute  [-core | -current | -buffer <nom>] <commande>

   -core : pas d'affichage sur le tampon core WeeChat
-current : pas d'affichage sur le tampon courant
 -buffer : pas d'affichage sur le tampon spécifié
     nom : nom complet du tampon (exemples : "irc.server.freenode", "irc.freenode.#weechat")
commande : commande à exécuter silencieusement (un '/' est automatiquement ajouté s'il n'est pas trouvé au début de la commande)

Si aucune cible n'est spécifiée (-core, -current ou -buffer), alors par défaut tous les tampons seront silencieux.

Exemples :
  sauvegarde configuration :
    /mute save
  message au canal IRC courant :
    /mute -current msg * bonjour !
  message au canal #weechat :
    /mute -buffer irc.freenode.#weechat msg #weechat bonjour !
plugin lister/charger/décharger des extensions
/plugin  list|listfull [<nom>]
         load <fichier> [<paramètres>]
         autoload [<paramètres>]
         reload [<nom> [<paramètres]]
         unload [<nom>]

      list : lister les extensions chargées
  listfull : lister les extensions chargées (verbeux)
      load : charger une extension
  autoload : charger automatiquement les extensions dans un répertoire système ou utilisateur
    reload : recharger une extension (si pas de nom donné, décharger toutes les extensions, puis recharger automatiquement les extensions)
    unload : décharger une extension (si pas de nom donné, décharger toutes les extensions)
   fichier : extension (fichier) à charger
       nom : nom d'extension
paramètres : paramètres donnés à l'extension lors de son chargement

Sans paramètre, cette commande liste les extensions chargées.
print afficher du texte dans un tampon
/print  [-buffer <numéro>|<nom>] [-core] [-escape] [-date <date>] [-tags <étiquettes>] [-action|-error|-join|-network|-quit] [<texte>]
        -stdout|-stderr [<texte>]
        -beep

 -buffer : afficher le texte dans ce tampon (par défaut : tampon où est exécutée la commande)
   -core : alias de "-buffer core.weechat"
-current : afficher le texte dans le tampon courant
 -escape : interpréter les caractères échappés (par exemple \a, \07, \x07)
   -date : date du message, le format peut être :
             -n : 'n' secondes avant maintenant
             +n : 'n' secondes dans le futur
              n : 'n' secondes depuis l'époque (voir man time)
             date/heure (ISO 8601) : yyyy-mm-ddThh:mm:ss, exemple : 2014-01-19T04:32:55
             heure : hh:mm:ss (exemple : 04:32:55)
   -tags : liste d'étiquettes séparées par des virgules (voir /help filter pour une liste des étiquettes couramment utilisées)
   texte : texte à afficher (le préfixe et le message doivent être séparés par "\t", si le texte commence par "-", ajoutez "\" avant)
 -stdout : afficher le texte sur stdout (les caractères échappés sont interprétés)
 -stderr : afficher le texte sur stderr (les caractères échappés sont interprétés)
   -beep : alias de "-stderr \a"

Les options -action ... -quit utilisent le préfixe défini dans les options "weechat.look.prefix_*".

Les caractères échappés suivants sont supportés :
  \" \\ \a \b \e \f \n \r \t \v \0ooo \xhh \uhhhh \Uhhhhhhhh

Exemples :
  afficher un pense-bête sur le tampon core avec un highlight :
    /print -core -tags notify_highlight Pense-bête : acheter du lait
  afficher une erreur sur le tampon core :
    /print -core -error Une erreur ici
  afficher un message sur le tampon core avec le préfixe "abc" :
    /print -core abc\tLe message
  afficher un message sur le canal #weechat :
    /print -buffer irc.freenode.#weechat Message sur #weechat
  afficher un bonhomme de neige (U+2603) :
    /print -escape \u2603
  envoyer une alerte (BEL) :
    /print -beep
proxy gestion des proxies
/proxy  list
        add <nom> <type> <adresse> <port> [<utilisateur> [<mot_de_passe>]]
        del <nom>|-all
        set <nom> <option> <valeur>

        list : lister tous les proxies
         add : ajouter un nouveau proxy
         nom : nom du proxy (doit être unique)
        type : http, socks4 ou socks5
     adresse : IP ou nom de machine
        port : port
 utilisateur : nom d'utilisateur (optionnel)
mot_de_passe : mot de passe (optionnel)
         del : supprimer un proxy (ou tous les proxies avec -all)
         set : changer la valeur d'une propriété d'un proxy
      option : option à modifier (pour la liste des options, voir /set weechat.proxy.<proxyname>.*)
      valeur : nouvelle valeur pour l'option

Exemples :
  créer un proxy http, tournant en local, port 8888 :
    /proxy add local http 127.0.0.1 8888
  créer un proxy http en utilisant le protocole IPv6 :
    /proxy add local http ::1 8888
    /proxy set local ipv6 on
  créer un proxy socks5 avec un utilisateur/mot de passe :
    /proxy add myproxy socks5 sample.host.org 3128 myuser mypass
  supprimer un proxy :
    /proxy del myproxy
quit quitter WeeChat
/quit  [-yes] [<paramètres>]

      -yes : requis si l'option weechat.look.confirm_quit est activée
paramètres : texte envoyé avec le signal "quit"
             (par exemple l'extension irc utilise ce texte pour envoyer le message de quit au serveur)
reload recharger les fichiers de configuration depuis le disque
/reload  [<fichier> [<fichier>...]]

fichier : fichier de configuration à recharger (sans l'extension ".conf")

Sans paramètre, tous les fichiers (WeeChat et extensions) sont rechargés.
repeat exécuter une commande plusieurs fois
/repeat  [-interval <délai>] <nombre> <commande>

   délai : délai entre l'exécution des commandes (en millisecondes)
  nombre : nombre de fois que la commande sera exécutée
commande : commande à exécuter (un '/' est automatiquement ajouté s'il n'est pas trouvé au début de la commande)

Toutes les commandes sont exécutées sur le tampon où la commande a été lancée.

Exemple :
  faire défiler de 2 pages vers le haut :
    /repeat 2 /window page_up
save sauvegarder les fichiers de configuration sur disque
/save  [<fichier> [<fichier>...]]

fichier : fichier de configuration à sauvegarder (sans l'extension ".conf")

Sans paramètre, tous les fichiers (WeeChat et extensions) sont sauvegardés.
secure gestion des données sécurisées (mots de passe ou données privées chiffrés dans le fichier sec.conf)
/secure  passphrase <phrase de chiffrement>|-delete
         decrypt <phrase de chiffrement>|-discard
         set <nom> <valeur>
         del <nom>

passphrase : modifier la phrase de chiffrement (sans phrase de chiffrement, les données sont stockées en texte brut dans le fichier sec.conf)
   -delete : supprimer la phrase de chiffrement
   decrypt : déchiffrer les données toujours chiffrées
  -discard : jeter toutes les données encore chiffrées
       set : ajouter ou modifier une donnée sécurisée
       del : supprimer une donnée sécurisée

Sans paramètre, cette commande affiche les données sécurisées dans un nouveau tampon.

Lorsqu'une phrase de chiffrement est utilisée (données chiffrées), elle est demandée au démarrage de WeeChat.
Il est possible de définir la variable d'environnement WEECHAT_PASSPHRASE pour éviter la demande (cette même variable est utilisée par WeeChat sur le /upgrade).

Les données sécurisées avec le format ${sec.data.xxx} peuvent être utilisées dans :
  - le paramètre de ligne de commande "--run-command"
  - les options weechat.startup.command_{before|after}_plugins
  - les options de proxy : username, password
  - les options de serveur irc : autojoin, command, password, sasl_{username|password}, username, realname
  - l'option relay.network.password
  - la commande /eval.

Exemples :
  définir une phrase de chiffrement :
    /secure passphrase ceci est ma phrase de chiffrement
  chiffrer le mot de passe freenode SASL :
    /secure set freenode motdepasse
    /set irc.server.freenode.sasl_password "${sec.data.freenode}"
  chiffrer le mot de passe oftc pour nickserv :
    /secure set oftc motdepasse
    /set irc.server.oftc.command "/msg nickserv identify ${sec.data.oftc}"
  alias pour ghost du pseudo "pseudo" :
    /alias ghost /eval /msg -server freenode nickserv ghost pseudo ${sec.data.freenode}
set définir des options de configuration et des variables d’environnement
/set  [<option> [<valeur>]]
      diff [<option> [<option>...]]
      env [<variable> [<valeur>]]

option : nom d'une option (le caractère joker "*" est autorisé)
valeur : nouvelle valeur pour l'option, selon le type :
           booléen : on, off ou toggle
            entier : nombre, ++nombre ou --nombre
            chaîne : toute chaîne ("" pour une chaîne vide)
           couleur : nom de couleur, ++nombre ou --nombre
         Note : pour tous les types, vous pouvez utiliser null pour supprimer la valeur de l'option (valeur non définie). Cela ne fonctionne qu'avec certaines options spéciales des extensions.
  diff : afficher seulement les options modifiées
   env : afficher ou définir une variable d'environnement (utilisez la valeur "" pour supprimer une variable)

Exemples :
  afficher les options à propos du highlight :
    /set *highlight*
  ajouter un mot pour le highlight :
    /set weechat.look.highlight "mot"
  afficher les options modifiées :
    /set diff
  afficher les options modifiées dans l'extension irc :
    /set diff irc.*
  afficher la valeur de la variable d'environnement LANG :
    /set env LANG
  modifier la variable d'environnement LANG et l'utiliser :
    /set env LANG=fr_FR.UTF-8
    /upgrade
  réinitialiser la variable d'environnement ABC :
    /set env ABC ""
unset supprimer/réinitialiser des options de configuration
/unset  <option>
        -mask <option>

option : nom d'une option
 -mask : utiliser un masque pour l'option (le caractère joker "*" est autorisé pour réinitialiser plusieurs options, à utiliser avec prudence !)

Selon l'option, elle est réinitialisée (pour les options standards) ou supprimée (pour les options facultatives, comme les valeurs pour les serveurs).

Exemples :
  réinitialiser une option :
    /unset weechat.look.item_time_format
  réinitialiser toutes les options de couleur :
    /unset -mask weechat.color.*
upgrade mettre à jour WeeChat sans se déconnecter des serveurs
/upgrade  [<chemin_vers_binaire>|-quit]

chemin_vers_binaire : chemin vers le binaire WeeChat (par défaut le binaire courant)
             -dummy : ne rien faire (option utilisée pour éviter une complétion accidentelle avec "-quit")
              -quit : fermer *TOUTES* les connexions, sauver la session et quitter, ce qui rend possible une restauration différée (voir ci-dessous)

Cette commande met à jour et recharge une session de WeeChat qui tourne. Le nouveau binaire WeeChat doit avoir été compilé ou installé via un gestionnaire de paquet avant de lancer cette commande.

Note : les connexions SSL sont perdues durant la mise à jour, car le rechargement de session SSL n'est pas possible actuellement avec GnuTLS. Il y a une reconnexion automatique après la mise à jour.

Le processus de mise à jour comporte 4 étapes :
  1. sauvegarder la session pour le cœur et les extensions (tampons, historique, ...)
  2. décharger toutes les extensions (les fichiers de configuration (*.conf) sont écrits sur disque)
  3. sauvegarder la configuration WeeChat (weechat.conf)
  4. exécuter le nouveau binaire WeeChat et recharger la session.

Avec l'option "-quit", le processus est légèrement différent :
  1. fermer *TOUTES* les connexions
  2. sauvegarder la session (fichiers *.upgrade)
  3. décharger les extensions
  4. sauvegarder la configuration WeeChat
  5. quitter WeeChat
Et plus tard vous pouvez restaurer la session avec la commande : weechat --upgrade
IMPORTANT : vous devez restaurer la session avec exactement la même configuration (fichiers *.conf).
Il est également possible de restaurer la session WeeChat sur une autre machine si vous y copiez le contenu du répertoire "~/.weechat".
uptime montrer l’uptime de WeeChat
/uptime  [-o | -ol]

 -o : envoyer l'uptime sur le tampon courant comme entrée (chaîne en anglais)
-ol : envoyer l'uptime sur le tampon courant comme entrée (chaîne traduite)
version afficher la version de WeeChat et la date de compilation
/version  [-o | -ol]

 -o : envoyer la version sur le tampon courant comme entrée (chaîne en anglais)
-ol : envoyer la version sur le tampon courant comme entrée (chaîne traduite)
wait planifier l’exécution d’une commande dans le futur
/wait  <nombre>[<unité>] <commande>

  nombre : temps à attendre (nombre entier)
   unité : optionnelle, valeurs possibles :
             ms : millisecondes
              s : secondes (par défaut)
              m : minutes
              h : heures
commande : commande à exécuter (ou texte à envoyer au tampon si la commande ne commence pas par '/')

Note : la commande est exécutée sur le tampon où /wait a été exécuté (si le tampon n'est pas trouvé, alors la commande est exécutée sur le tampon WeeChat principal).

Exemples :
  rejoindre le canal dans 10 secondes :
    /wait 10 /join #test
  passer absent dans 15 minutes :
    /wait 15m /away -all I'm away
  dire 'bonjour' dans 2 minutes :
    /wait 2m bonjour
window gestion des fenêtres
/window  list
         -1|+1|b#|up|down|left|right [-window <numéro>]
         <numéro>
         splith|splitv [-window <numéro>] [<pct>]
         resize [-window <numéro>] [+/-]<pct>
         balance
         merge [-window <numéro>] [all]
         page_up|page_down [-window <numéro>]
         refresh
         scroll [-window <numéro>] [+/-]<valeur>[s|m|h|d|M|y]
         scroll_horiz [-window <numéro>] [+/-]<valeur>[%]
         scroll_up|scroll_down|scroll_top|scroll_bottom|scroll_beyond_end|scroll_previous_highlight|scroll_next_highlight|scroll_unread [-window <numéro>]
         swap [-window <numéro>] [up|down|left|right]
         zoom [-window <numéro>]
         bare [<délai>]

         list : lister les fenêtres ouvertes (sans paramètre, cette liste est affichée)
           -1 : sauter à la fenêtre précédente
           +1 : sauter à la fenêtre suivante
           b# : sauter à la fenêtre affichant le tampon #
           up : sauter à la fenêtre au dessus
         down : sauter à la fenêtre au dessous
         left : sauter à la fenêtre à gauche
        right : sauter à la fenêtre à droite
       numéro : numéro de fenêtre (voir /window list)
       splith : éclater la fenêtre en deux horizontalement
       splitv : éclater la fenêtre en deux verticalement
       resize : redimensionner une fenêtre, la nouvelle taille est <pct> pourcentage de la fenêtre parent
      balance : équilibrer la taille de toutes les fenêtres
        merge : fusionner la fenêtre avec une autre
      page_up : faire défiler d'une page vers le haut
    page_down : faire défiler d'une page vers le bas
      refresh : redessiner l'écran
       scroll : faire défiler d'un nombre de lignes (+/-N) ou avec du temps : s=secondes, m=minutes, h=heures, d=jours, M=mois, y=année
 scroll_horiz : faire défiler horizontalement d'un nombre de colonnes (+/-N) ou un pourcentage de la taille de fenêtre (ce défilement est possible seulement sur les tampons avec contenu libre)
    scroll_up : faire défiler de quelques lignes vers le haut
  scroll_down : faire défiler de quelques lignes vers le bas
   scroll_top : faire défiler jusqu'au début du tampon
scroll_bottom : faire défiler jusqu'en bas du tampon
scroll_beyond_end : faire défiler au-delà de la fin du tampon
scroll_previous_highlight : faire défiler jusqu'au highlight précédent
scroll_next_highlight : faire défiler jusqu'au highlight suivant
scroll_unread : faire défiler jusqu'au marqueur de données non lues
         swap : échanger les tampons de deux fenêtres (avec une direction facultative pour la fenêtre cible)
         zoom : zoomer sur la fenêtre
         bare : activer/désactiver le mode d'affichage dépouillé (avec un délai facultatif en secondes pour un retour automatique au mode d'affichage standard)

Pour splith et splitv, pct est un pourcentage qui représente la taille de la nouvelle fenêtre, calculée par rapport à la taille de la fenêtre courante. Par exemple 25 signifie créer une fenêtre qui a pour taille : taille_courante / 4

Exemples :
  sauter à la fenêtre affichant le tampon 1 :
    /window b1
  défilement de 2 lignes vers le haut :
    /window scroll -2
  défilement de 2 jours vers le haut :
    /window scroll -2d
  défilement jusqu'au début du jour courant :
    /window scroll -d
  zoom sur la fenêtre numéro 2 :
    /window zoom -window 2
  activer le mode d'affichage dépouillé pendant 2 secondes :
    /window bare 2

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

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.

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, tous les tampons créés par cette extension sont automatiquement fermés.

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éfinir des alias pour les commandes

aspell

Vérification orthographique de la ligne de commande

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

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)

trigger

Remplacement de texte et exécution de commande sur des évènements de WeeChat ou des extensions

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.

4.1. Extension Alias

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

4.1.1. Commandes

alias créer un alias pour une commande
/alias  [-completion <complétion>] alias [<commande> [;<commande>...]]

complétion : complétion pour l'alias (optionnel, par défaut la complétion se fait avec la commande cible)
             note : vous pouvez utiliser %%commande pour utiliser la complétion d'une commande existante
     alias : nom de l'alias (le caractère joker "*" est autorisé)
  commande : nom de la commande avec les paramètres (plusieurs commandes peuvent être séparées par des points-virgules)

Sans paramètre, cette commande liste tous les alias définis.

Note : dans la commande, les variables spéciales sont remplacées :
        $n : paramètre 'n' (entre 1 et 9)
       $-m : paramètres de 1 à 'm'
       $n- : paramètres de 'n' au dernier
      $n-m : paramètres de 'n' à 'm'
        $* : tous les paramètres
        $~ : le dernier paramètre
      $var : où "var" est une variable locale du tampon (voir /buffer localvar)
             exemples : $nick, $channel, $server, $plugin, $name

Pour supprimer un alias, utilisez la commande /unalias.

Exemples :
  alias /split pour diviser la fenêtre horizontalement :
    /alias split /window splith
  alias /hello pour dire "hello" sur tous les canaux mais pas sur #weechat :
    /alias hello /allchan -exclude=#weechat msg * hello
  alias /forcejoin pour envoyer la commande IRC "forcejoin" avec la complétion de /sajoin :
    /alias -completion %%sajoin forcejoin /quote forcejoin

4.2. Extension Aspell

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

4.2.1. Options (aspell.conf)

Sections :

Section Commande de contrôle Description

color

/set aspell.color.*

Couleurs

check

/set aspell.check.*

Options pour contrôler la vérification orthographique

dict

/aspell setdict
/set aspell.dict.*

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

option

/set aspell.option.*

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

Options :

  • aspell.check.commands

    • description: liste de commandes (séparées par des virgules) pour lesquelles la vérification orthographique est activée (la vérification est désactivée pour toutes les autres commandes)

    • type: chaîne

    • valeurs: toute chaîne (valeur par défaut: "ame,amsg,away,command,cycle,kick,kickban,me,msg,notice,part,query,quit,topic")

  • aspell.check.default_dict

    • description: dictionnaire par défaut (ou liste de dictionnaires séparés par une virgule) à utiliser quand le tampon courant n'a pas de dictionnaire défini (laissez blanc pour désactiver aspell sur les tampons pour lesquels vous ne l'avez pas explicitement activé)

    • type: chaîne

    • valeurs: toute chaîne (valeur par défaut: "")

  • aspell.check.during_search

    • description: vérifier les mots pendant la recherche de texte dans le tampon

    • type: booléen

    • valeurs: on, off (valeur par défaut: off)

  • aspell.check.enabled

    • description: activer la vérification aspell pour la ligne de commande

    • type: booléen

    • valeurs: on, off (valeur par défaut: off)

  • aspell.check.real_time

    • description: vérification orthographique des mots en temps réel (plus lent, désactivé par défaut : les mots sont vérifiés seulement s'il y a un délimiteur après)

    • type: booléen

    • valeurs: on, off (valeur par défaut: off)

  • aspell.check.suggestions

    • description: nombre de suggestions à afficher dans l'objet de barre "aspell_suggest" pour chaque dictionnaire du tampon (-1 = désactiver les suggestions, 0 = afficher toutes les suggestions possibles dans toutes les langues)

    • type: entier

    • valeurs: -1 .. 2147483647 (valeur par défaut: -1)

  • aspell.check.word_min_length

    • description: longueur minimum d'un mot pour que l'orthographe soit vérifiée (utilisez 0 pour vérifier tous les mots)

    • type: entier

    • valeurs: 0 .. 2147483647 (valeur par défaut: 2)

  • aspell.color.misspelled

    • description: couleur du texte pour les mots mal orthographiés (barre de saisie)

    • type: couleur

    • valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias ; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour le gras, "!" pour la vidéo inverse, "/" pour l’italique, "_" pour le souligné (valeur par défaut: lightred)

  • aspell.color.suggestions

    • description: couleur du texte pour les suggestions sur un mot mal orthographié (barre de statut)

    • type: couleur

    • valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias ; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour le gras, "!" pour la vidéo inverse, "/" pour l’italique, "_" pour le souligné (valeur par défaut: default)

4.2.2. Commandes

aspell configuration de l’extension aspell
/aspell  enable|disable|toggle
         listdict
         setdict <dict>[,<dict>...]
         deldict
         addword [<dict>] <mot>

  enable : activer aspell
 disable : désactiver aspell
  toggle : activer/désactiver aspell
listdict : afficher les dictionnaires installés
 setdict : définir le dictionnaire pour le tampon courant (plusieurs dictionnaires peuvent être séparés par une virgule)
 deldict : supprimer le dictionnaire utilisé sur le tampon courant
 addword : ajouter un mot dans le dictionnaire personnel aspell

Les lignes d'entrée commençant par '/' ne sont pas vérifiées, sauf pour certaines commandes (voir /set aspell.check.commands).

Pour activer aspell sur tous les tampons, utilisez l'option "default_dict", par exemple :
  /set aspell.check.default_dict "en"
  /aspell enable

La touche par défaut pour activer/désactiver aspell est alt-s.

4.2.3. 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 aspell.option.ignore-case "true"

4.2.4. Suggestions

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

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

Exemple de suggestions avec un dictionnaire anglais (en) :

│[12:55] [6] [irc/freenode] 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/freenode] 3:#test(+n){4} [print,prone,prune/prime,primer,primé] │
│[@Flashy] prinr █                                                                │
└─────────────────────────────────────────────────────────────────────────────────┘

4.3. Extension 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

4.3.1. Options (charset.conf)

Sections :

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: charset de décodage global : charset utilisé pour décoder les messages entrants lorsqu'ils ne sont pas valides UTF-8

    • type: chaîne

    • valeurs: toute chaîne (valeur par défaut: "iso-8859-1")

  • charset.default.encode

    • description: charset d'encodage global : charset utilisé pour encoder les messages sortants (si vide, le défaut est UTF-8 car c'est le charset interne de WeeChat)

    • type: chaîne

    • valeurs: toute chaîne (valeur par défaut: "")

4.3.2. Commandes

charset changer le charset pour le tampon courant
/charset  decode|encode <charset>
          reset

 decode : changer le charset de décodage
 encode : changer le charset d'encodage
charset : nouveau charset pour le tampon courant
  reset : réinitialiser les charsets pour le tampon courant

4.3.3. 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.freenode ISO-8859-15

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

/set charset.*

4.3.4. En cas de problème

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

4.4. Extension Exec

La commande /exec vous permet de lancer des commandes externes dans WeeChat et d’afficher la sortie localement, ou de l’envoyer à un tampon.

4.4.1. Options (exec.conf)

Sections :

Section Commande de contrôle Description

command

/set exec.command.*

Options for commands

color

/set exec.color.*

Colors

Options :

  • exec.color.flag_finished

    • description: couleur du texte pour le drapeau d'une commande terminée dans la liste des commandes

    • type: couleur

    • valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias ; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour le gras, "!" pour la vidéo inverse, "/" pour l’italique, "_" pour le souligné (valeur par défaut: lightred)

  • exec.color.flag_running

    • description: couleur du texte pour le drapeau d'une commande qui tourne dans la liste des commandes

    • type: couleur

    • valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias ; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour le gras, "!" pour la vidéo inverse, "/" pour l’italique, "_" pour le souligné (valeur par défaut: lightgreen)

  • exec.command.default_options

    • description: options par défaut pour la commande /exec (voir /help exec) ; exemple : "-nosh -bg" pour lancer toutes les commandes en tâche de fond (sans sortie) et sans utiliser le shell

    • type: chaîne

    • valeurs: toute chaîne (valeur par défaut: "")

  • exec.command.purge_delay

    • description: délai pour purger les commandes terminées (en secondes, 0 = purger les commandes immédiatement, -1 = ne jamais purger)

    • type: entier

    • valeurs: -1 .. 25920000 (valeur par défaut: 0)

4.4.2. Commandes

exec exécuter des commandes externes
/exec  -list
       [-sh|-nosh] [-bg|-nobg] [-stdin|-nostdin] [-buffer <nom>] [-l|-o|-n|-nf] [-cl|-nocl] [-sw|-nosw] [-ln|-noln] |-flush|-noflush] [-color ansi|auto|irc|weechat|strip] [-rc|-norc] [-timeout <délai>] [-name <nom>] [-pipe <commande>] [-hsignal <nom>] <commande>
       -in <id> <texte>
       -inclose <id> [<texte>]
       -signal <id> <signal>
       -kill <id>
       -killall
       -set <id> <propriété> <valeur>
       -del <id>|-all [<id>...]

    -list : lister les commandes
      -sh : utiliser le shell pour exécuter la commande (ATTENTION : utilisez cette option SEULEMENT si tous les paramètres sont fiables, voir l'option -nosh)
    -nosh : ne pas utiliser le shell pour exécuter la commande (requis si la commande a des données non fiables, par exemple le contenu d'un message d'un autre utilisateur) (par défaut)
      -bg : lancer le processus en tâche de fond : ne pas afficher la sortie ni le code retour (non compatible avec les options -o/-n)
    -nobg : capturer la sortie du processus et afficher le code retour (par défaut)
   -stdin : créer un tuyau pour envoyer des données sur l'entrée standard du processus (avec /exec -in/-inclose)
 -nostdin : ne pas créer de tuyau pour l'entrée standard (par défaut)
  -buffer : afficher/envoyer la sortie de la commande sur ce tampon (si le tampon n'est pas trouvé, un nouveau tampon avec le nom "exec.exec.xxx" est créé)
       -l : afficher localement la sortie de la commande sur le tampon (par défaut)
       -o : envoyer la sortie de la commande au tampon (non compatible avec l'option -bg)
       -n : afficher la sortie de la commande dans un nouveau tampon (non compatible avec l'option -bg)
      -nf : afficher la sortie de la commande dans un nouveau tampon avec contenu libre (pas de coupure des mots, pas de limite sur le nombre de lignes) (non compatible avec l'option -bg)
      -cl : effacer le nouveau tampon avant d'afficher la sortie
    -nocl : ajouter au nouveau tampon sans effacer (par défaut)
      -sw : basculer vers le tampon de sortie (par défaut)
    -nosw : ne pas basculer vers le tampon de sortie
      -ln : afficher les numéros de ligne (par défaut dans un nouveau tampon seulement)
    -noln : ne pas afficher les numéros de ligne
   -flush : afficher la sortie de la commande en temps réel (par défaut)
 -noflush : afficher la sortie de la commande une fois qu'elle est terminée
   -color : action sur les couleurs ANSI dans la sortie :
               ansi : garder les codes ANSI tels quels
               auto : convertir les couleurs ANSI en couleurs WeeChat/IRC (par défaut)
                irc : convertir les couleurs ANSI en couleurs IRC
            weechat : convertir les couleurs ANSI en couleurs WeeChat
              strip : supprimer les couleurs ANSI
      -rc : afficher le code retour (par défaut)
    -norc : ne pas afficher le code retour
 -timeout : définir un délai maximum pour la commande (en secondes)
    -name : définir un nom pour la commande (pour la nommer plus tard avec /exec)
    -pipe : envoyer la sortie vers une commande WeeChat/extension (ligne par ligne) ; s'il y a des espaces dans la commande/paramètres, entourez les de guillemets ; la variable $line est remplacée par la ligne (par défaut la ligne est ajoutée après la commande, séparée par un espace) (non compatible avec les options -bg/-o/-n)
 -hsignal : envoyer la sortie sous forme de hsignal (pour être utilisé par exemple dans un trigger) (non compatible avec les options -bg/-o/-n)
 commande : la commande à exécuter ; si elle commence par "url:", le shell est désactivé et le contenu de l'URL est téléchargé et envoyé comme sortie
       id : identifiant de commande : soit le numéro ou le nom (si défini avec "-name xxx")
      -in : envoyer le texte sur l'entrée standard du processus
 -inclose : identique à -in, mais l'entrée standard est fermée après (et le texte est facultatif : sans texte, l'entrée standard est juste fermée)
  -signal : envoyer un signal au processus ; le signal peut être un entier ou l'un de ces noms : hup, int, quit, kill, term, usr1, usr2
    -kill : alias de "-signal <id> kill"
 -killall : tuer tous les processus
     -set : définir une propriété du hook (voir la fonction hook_set dans l'API de référence extension)
propriété : propriété du hook
   valeur : nouvelle valeur pour la propriété du hook
     -del : supprimer la commande terminée
     -all : supprimer toutes les commandes terminées

Les options par défaut peuvent être définies dans l'option exec.command.default_options.

Exemples :
  /exec -n ls -l /tmp
  /exec -n ps xu | grep weechat
  /exec -n -norc url:http://pastebin.com/raw.php?i=xxxxxxxx
  /exec -nf -noln links -dump http://weechat.org/files/doc/devel/weechat_user.en.html
  /exec -o uptime
  /exec -pipe "/print Uptime de la machine :" uptime
  /exec -n tail -f /var/log/messages
  /exec -kill 0

4.5. Extension Fifo

Vous pouvez contrôler WeeChat à distance, en envoyant des commandes ou du texte dans un tube FIFO (si l’option plugins.var.fifo.fifo est activée, elle l’est par défaut).

Le tube FIFO est dans le répertoire ~/.weechat/ et s’appelle weechat_fifo_xxxx (où xxxx est l’ID du processus (PID) du WeeChat qui tourne).

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

Quelques exemples :

  • changement du pseudo sur freenode en "autrepseudo" :

$ echo 'irc.server.freenode */nick autrepseudo' >~/.weechat/weechat_fifo_12345
  • affichage de texte sur le canal IRC #weechat :

$ echo 'irc.freenode.#weechat *bonjour !' >~/.weechat/weechat_fifo_12345
  • affichage de texte sur le tampon courant :

$ echo '*bonjour !' >~/.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' >~/.weechat/weechat_fifo_12345

Vous pouvez écrire un script qui envoie les commandes à tous les WeeChat qui tournent en même temps, par exemple :

#!/bin/sh
if [ $# -eq 1 ]; then
    for fifo in ~/.weechat/weechat_fifo_*
    do
        printf '%b\n' "$1" >"$fifo"
    done
fi

Si le script s’appelle "auto_weechat_command", vous pouvez le lancer ainsi :

$ ./auto_weechat_command 'irc.freenode.#weechat *bonjour'

4.6. Extension 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).

4.6.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 #toto sur le serveur irc.freenode.net, port par défaut (6667), avec le pseudo nono :

$ weechat irc://nono@irc.freenode.net/#weechat,#toto

4.6.2. Options (irc.conf)

Sections :

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: couleur du pseudo dans la barre de saisie

    • type: couleur

    • valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias ; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour le gras, "!" pour la vidéo inverse, "/" pour l’italique, "_" pour le souligné (valeur par défaut: lightcyan)

  • irc.color.item_away

    • description: couleur pour l'objet away

    • type: couleur

    • valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias ; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour le gras, "!" pour la vidéo inverse, "/" pour l’italique, "_" pour le souligné (valeur par défaut: yellow)

  • irc.color.item_channel_modes

    • description: couleur pour les modes du canal, à côté du nom du canal

    • type: couleur

    • valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias ; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour le gras, "!" pour la vidéo inverse, "/" pour l’italique, "_" pour le souligné (valeur par défaut: default)

  • irc.color.item_lag_counting

    • description: couleur pour l'indicateur de lag, lorsque le décompte est en cours (pong non reçu du serveur, le lag augmente)

    • type: couleur

    • valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias ; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour le gras, "!" pour la vidéo inverse, "/" pour l’italique, "_" pour le souligné (valeur par défaut: default)

  • irc.color.item_lag_finished

    • description: couleur pour l'indicateur de lag, lorsque le pong a été reçu du serveur

    • type: couleur

    • valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias ; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour le gras, "!" pour la vidéo inverse, "/" pour l’italique, "_" pour le souligné (valeur par défaut: yellow)

  • irc.color.item_nick_modes

    • description: couleur pour les modes du pseudo dans l'objet de barre "input_prompt"

    • type: couleur

    • valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias ; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour le gras, "!" pour la vidéo inverse, "/" pour l’italique, "_" pour le souligné (valeur par défaut: default)

  • irc.color.message_join

    • description: couleur pour le texte dans les messages join

    • type: couleur

    • valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias ; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour le gras, "!" pour la vidéo inverse, "/" pour l’italique, "_" pour le souligné (valeur par défaut: green)

  • irc.color.message_quit

    • description: couleur pour le texte dans les messages part/quit

    • type: couleur

    • valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias ; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour le gras, "!" pour la vidéo inverse, "/" pour l’italique, "_" pour le souligné (valeur par défaut: red)

  • irc.color.mirc_remap

    • description: réassigner les couleurs mirc dans les messages en utilisant une table de hachage : les clés sont "fg,bg" sous forme d'entiers entre -1 (non spécifié) et 15, les valeurs sont des noms de couleur WeeChat ou nombres (le format est : "1,-1:couleur1;2,7:couleur2"), exemple : "1,-1:darkgray;1,2:white,blue" pour réassigner le noir en "darkgray" et le noir sur bleu en "white,blue" ; les couleurs WeeChat par défaut pour les codes IRC sont : 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=gray, 15=white

    • type: chaîne

    • valeurs: toute chaîne (valeur par défaut: "1,-1:darkgray")

  • irc.color.nick_prefixes

    • description: couleur pour les préfixes du pseudo en utilisant les caractères de mode (o=op, h=halfop, v=voice, ...), le format est : "o:couleur1;h:couleur2;v:couleur3" (si un mode n'est pas trouvé, WeeChat essaiera avec les modes suivants reçus du serveur ("PREFIX") ; un mode spécial "*" peut être utilisé comme couleur par défaut si aucun mode n'est trouvé dans la liste)

    • type: chaîne

    • valeurs: toute chaîne (valeur par défaut: "q:lightred;a:lightcyan;o:lightgreen;h:lightmagenta;v:yellow;*:lightblue")

  • irc.color.notice

    • description: couleur pour le texte "Notice" dans les notices

    • type: couleur

    • valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias ; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour le gras, "!" pour la vidéo inverse, "/" pour l’italique, "_" pour le souligné (valeur par défaut: green)

  • irc.color.reason_quit

    • description: couleur pour la raison dans les messages part/quit

    • type: couleur

    • valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias ; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour le gras, "!" pour la vidéo inverse, "/" pour l’italique, "_" pour le souligné (valeur par défaut: default)

  • irc.color.topic_new

    • description: couleur pour le nouveau titre du canal (lorsque le titre est changé)

    • type: couleur

    • valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias ; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour le gras, "!" pour la vidéo inverse, "/" pour l’italique, "_" pour le souligné (valeur par défaut: white)

  • irc.color.topic_old

    • description: couleur pour l'ancien titre du canal (lorsque le titre est changé)

    • type: couleur

    • valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias ; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour le gras, "!" pour la vidéo inverse, "/" pour l’italique, "_" pour le souligné (valeur par défaut: default)

  • irc.look.buffer_switch_autojoin

    • description: basculer automatiquement vers le tampon du canal lorsqu'il est automatiquement rejoint (avec l'option du serveur "autojoin")

    • type: booléen

    • valeurs: on, off (valeur par défaut: on)

  • irc.look.buffer_switch_join

    • description: basculer automatiquement vers le tampon du canal lorsqu'il est manuellement rejoint (avec la commande /join)

    • type: booléen

    • valeurs: on, off (valeur par défaut: on)

  • irc.look.color_nicks_in_names

    • description: utiliser la couleur du pseudo dans la sortie de /names (ou la liste des pseudos affichée lorsqu'on rejoint un canal)

    • type: booléen

    • valeurs: on, off (valeur par défaut: off)

  • irc.look.color_nicks_in_nicklist

    • description: utiliser la couleur du pseudo dans la liste des pseudos

    • type: booléen

    • valeurs: on, off (valeur par défaut: off)

  • irc.look.color_nicks_in_server_messages

    • description: utiliser la couleur du pseudo dans les messages du serveur

    • type: booléen

    • valeurs: on, off (valeur par défaut: on)

  • irc.look.color_pv_nick_like_channel

    • description: utiliser la même couleur de pseudo pour le canal et le privé

    • type: booléen

    • valeurs: on, off (valeur par défaut: on)

  • irc.look.ctcp_time_format

    • description: format de date/heure utilisé pour la réponse au message CTCP TIME (voir man strftime pour le format de date/heure)

    • type: chaîne

    • valeurs: toute chaîne (valeur par défaut: "%a, %d %b %Y %T %z")

  • irc.look.display_away

    • description: afficher un message pour l'absence/retour (off : ne rien afficher/envoyer, local : afficher en local, channel : envoyer l'action aux canaux)

    • type: entier

    • valeurs: off, local, channel (valeur par défaut: local)

  • irc.look.display_ctcp_blocked

    • description: afficher le message CTCP même s'il est bloqué

    • type: booléen

    • valeurs: on, off (valeur par défaut: on)

  • irc.look.display_ctcp_reply

    • description: afficher la réponse CTCP envoyée par WeeChat

    • type: booléen

    • valeurs: on, off (valeur par défaut: on)

  • irc.look.display_ctcp_unknown

    • description: afficher le message CTCP même si le CTCP est inconnu

    • type: booléen

    • valeurs: on, off (valeur par défaut: on)

  • irc.look.display_host_join

    • description: afficher le nom d'hôte dans les messages join

    • type: booléen

    • valeurs: on, off (valeur par défaut: on)

  • irc.look.display_host_join_local

    • description: afficher le nom d'hôte dans les messages join du client local

    • type: booléen

    • valeurs: on, off (valeur par défaut: on)

  • irc.look.display_host_quit

    • description: afficher le nom d'hôte dans les messages part/quit

    • type: booléen

    • valeurs: on, off (valeur par défaut: on)

  • irc.look.display_join_message

    • description: liste de messages (séparés par des virgules) à afficher après avoir rejoint un canal : 324 = modes du canal, 329 = date de création du canal, 332 = titre, 333 = pseudo/date pour le titre, 353 = noms sur le canal, 366 = décompte des noms

    • type: chaîne

    • valeurs: toute chaîne (valeur par défaut: "329,332,333,366")

  • irc.look.display_old_topic

    • description: afficher l'ancien titre lorsque le titre du canal est changé

    • type: booléen

    • valeurs: on, off (valeur par défaut: on)

  • irc.look.display_pv_away_once

    • description: afficher le message d'absence distant une seule fois en privé

    • type: booléen

    • valeurs: on, off (valeur par défaut: on)

  • irc.look.display_pv_back

    • description: afficher un message en privé lorsque l'utilisateur est de retour (après avoir quitté le serveur)

    • type: booléen

    • valeurs: on, off (valeur par défaut: on)

  • irc.look.highlight_channel

    • description: liste de mots pour le highlight dans les tampons de type "canal", séparés par des virgules (insensible à la casse, utilisez "(?-i)" au début des mots pour les rendre sensibles à la casse ; les variables spéciales $nick, $channel et $server sont remplacées par leurs valeurs), ces mots sont ajoutés à la propriété du tampon "highlight_words" seulement lorsque le tampon est créé (cela n'affecte pas les tampons courants), une chaîne vide désactive le highlight par défaut sur le pseudo, exemples : "$nick", "(?-i)$nick"

    • type: chaîne

    • valeurs: toute chaîne (valeur par défaut: "$nick")

  • irc.look.highlight_pv

    • description: liste de mots pour le highlight dans les tampons de type "privé", séparés par des virgules (insensible à la casse, utilisez "(?-i)" au début des mots pour les rendre sensibles à la casse ; les variables spéciales $nick, $channel et $server sont remplacées par leurs valeurs), ces mots sont ajoutés à la propriété du tampon "highlight_words" seulement lorsque le tampon est créé (cela n'affecte pas les tampons courants), une chaîne vide désactive le highlight par défaut sur le pseudo, exemples : "$nick", "(?-i)$nick"

    • type: chaîne

    • valeurs: toute chaîne (valeur par défaut: "$nick")

  • irc.look.highlight_server

    • description: liste de mots pour le highlight dans les tampons de type "serveur", séparés par des virgules (insensible à la casse, utilisez "(?-i)" au début des mots pour les rendre sensibles à la casse ; les variables spéciales $nick, $channel et $server sont remplacées par leurs valeurs), ces mots sont ajoutés à la propriété du tampon "highlight_words" seulement lorsque le tampon est créé (cela n'affecte pas les tampons courants), une chaîne vide désactive le highlight par défaut sur le pseudo, exemples : "$nick", "(?-i)$nick"

    • type: chaîne

    • valeurs: toute chaîne (valeur par défaut: "$nick")

  • irc.look.highlight_tags_restrict

    • description: restreindre les highlights à ces étiquettes sur les tampons irc (pour avoir un highlight seulement sur les messages utilisateur et pas les messages du serveur) ; les étiquettes doivent être séparées par des virgules et "+" peut être utilisé pour faire un "et" logique entre étiquettes ; le caractère joker "*" est autorisé dans les étiquettes ; une valeur vide autorise le highlight sur n'importe quelle étiquette

    • type: chaîne

    • valeurs: toute chaîne (valeur par défaut: "irc_privmsg,irc_notice")

  • irc.look.item_away_message

    • description: afficher le message d'absence du serveur dans l'objet de barre d'absence

    • type: booléen

    • valeurs: on, off (valeur par défaut: on)

  • irc.look.item_channel_modes_hide_args

    • description: cacher les paramètres des modes du canal si au moins un de ces modes est dans les modes du canal ("*" pour toujours cacher les paramètres, valeur vide pour ne jamais cacher les paramètres) ; exemple : "kf" pour cacher les paramètres si "k" ou "f" sont dans les modes du canal

    • type: chaîne

    • valeurs: toute chaîne (valeur par défaut: "k")

  • irc.look.item_display_server

    • description: nom de l'objet de barre où est affiché le serveur IRC (pour la barre de statut)

    • type: entier

    • valeurs: buffer_plugin, buffer_name (valeur par défaut: buffer_plugin)

  • irc.look.item_nick_modes

    • description: afficher les modes du pseudo dans l'objet de barre "input_prompt"

    • type: booléen

    • valeurs: on, off (valeur par défaut: on)

  • irc.look.item_nick_prefix

    • description: afficher le préfixe du pseudo dans l'objet de barre "input_prompt"

    • type: booléen

    • valeurs: on, off (valeur par défaut: on)

  • irc.look.join_auto_add_chantype

    • description: ajouter automatiquement le type de canal devant le nom du canal sur la commande /join si le nom du canal ne commence pas par un type de canal valide pour le serveur ; par exemple "/join weechat" enverra en fait : "/join #weechat"

    • type: booléen

    • valeurs: on, off (valeur par défaut: off)

  • irc.look.msgbuffer_fallback

    • description: tampon cible par défaut pour les options msgbuffer quand la cible est "private" et que le tampon privé n'est pas trouvé

    • type: entier

    • valeurs: current, server (valeur par défaut: current)

  • irc.look.new_channel_position

    • description: force la position du nouveau canal dans la liste des tampons (none = position par défaut (devrait être le dernier tampon), next = tampon courant + 1, near_server = après le dernier canal/privé du serveur)

    • type: entier

    • valeurs: none, next, near_server (valeur par défaut: none)

  • irc.look.new_pv_position

    • description: force la position du nouveau privé dans la liste des tampons (none = position par défaut (devrait être le dernier tampon), next = tampon courant + 1, near_server = après le dernier canal/privé du serveur)

    • type: entier

    • valeurs: none, next, near_server (valeur par défaut: none)

  • irc.look.nick_color_force

    • description: force la couleur pour certains pseudos : le hash calculé avec le pseudo pour trouver la couleur ne sera pas utilisé pour ces pseudos (le format est : "pseudo1:couleur1;pseudo2:couleur2") ; la recherche de pseudos s'effectue avec la casse exacte puis en minuscules, donc il est possible d'utiliser uniquement des minuscules pour les pseudos dans cette option

    • type: chaîne

    • valeurs: toute chaîne (valeur par défaut: "")

  • irc.look.nick_color_hash

    • description: algorithme de hash utilisé pour trouver la couleur du pseudo : djb2 = variante de djb2 (la position des lettres compte : les anagrammes d'un pseudo ont une couleur différente), sum = somme des lettres

    • type: entier

    • valeurs: djb2, sum (valeur par défaut: sum)

  • irc.look.nick_color_stop_chars

    • description: caractères utilisés pour l'arrêt dans le pseudo lors du calcul de la couleur avec les lettres du pseudo (au moins un caractère en dehors de cette liste doit être dans la chaîne avant de s'arrêter) (exemple : le pseudo "|nick|away" avec "|" dans les caractères retournera la couleur du pseudo "|nick")

    • type: chaîne

    • valeurs: toute chaîne (valeur par défaut: "_|[")

  • irc.look.nick_completion_smart

    • description: complétion intelligente pour les pseudos (complète d'abord avec les personnes qui ont parlé récemment) : speakers = tous ceux qui ont parlé (incluant les highlights), speakers_highlights = seulement ceux qui ont parlé avec un highlight

    • type: entier

    • valeurs: off, speakers, speakers_highlights (valeur par défaut: speakers)

  • irc.look.nick_mode

    • description: afficher le mode du pseudo (op, voice, ...) avant le pseudo (none = jamais, prefix = dans le préfixe seulement, action = dans les messages d'action seulement, both = préfixe + messages d'actions)

    • type: entier

    • valeurs: none, prefix, action, both (valeur par défaut: prefix)

  • irc.look.nick_mode_empty

    • description: afficher un espace si le mode du pseudo est activé mais que le pseudo n'a pas de mode (pas op, voice, ...)

    • type: booléen

    • valeurs: on, off (valeur par défaut: off)

  • irc.look.nicks_hide_password

    • description: liste des pseudos (séparés par des virgules) pour lesquels les mots de passe seront masqués quand un message est envoyé, par exemple pour cacher le mot de passe dans le message affiché par "/msg nickserv identify motedepasse", exemple : "nickserv|nickbot"

    • type: chaîne

    • valeurs: toute chaîne (valeur par défaut: "nickserv")

  • irc.look.notice_as_pv

    • description: afficher les notices comme des messages privés (si auto, utilise le tampon privé s'il est trouvé)

    • type: entier

    • valeurs: auto, never, always (valeur par défaut: auto)

  • irc.look.notice_welcome_redirect

    • description: rediriger automatiquement les notices de bienvenue sur le canal vers le tampon du canal ; de telles notices ont le pseudo comme cible mais le nom du canal au début du message de notice, par exemple les notices envoyées par le serveur freenode qui ressemblent à : "[#canal] Bienvenue sur ce canal..."

    • type: booléen

    • valeurs: on, off (valeur par défaut: on)

  • irc.look.notice_welcome_tags

    • description: liste des étiquettes (séparées par des virgules) utilisées dans la notice de bienvenue redirigée vers un canal, par exemple : "notify_private"

    • type: chaîne

    • valeurs: toute chaîne (valeur par défaut: "")

  • irc.look.notify_tags_ison

    • description: liste des étiquettes (séparées par des virgules) utilisées dans les messages affichés par notify lorsqu'un pseudo a rejoint ou quitté le serveur (résultat de la commande ison ou monitor), par exemple : "notify_message", "notify_private" ou "notify_highlight"

    • type: chaîne

    • valeurs: toute chaîne (valeur par défaut: "notify_message")

  • irc.look.notify_tags_whois

    • description: liste des étiquettes (séparées par des virgules) utilisées dans les messages affichés par notify lorsque le statut d'absence d'un pseudo change (résultat de la commande whois), par exemple : "notify_message", "notify_private" ou "notify_highlight"

    • type: chaîne

    • valeurs: toute chaîne (valeur par défaut: "notify_message")

  • irc.look.part_closes_buffer

    • description: fermer le tampon lorsque /part est exécuté sur un canal

    • type: booléen

    • valeurs: on, off (valeur par défaut: off)

  • irc.look.pv_buffer

    • description: mélanger les tampons privés

    • type: entier

    • valeurs: independent, merge_by_server, merge_all (valeur par défaut: independent)

  • irc.look.pv_tags

    • description: liste des étiquettes (séparées par des virgules) utilisées dans les messages privés, par exemple : "notify_message", "notify_private" ou "notify_highlight"

    • type: chaîne

    • valeurs: toute chaîne (valeur par défaut: "notify_private")

  • irc.look.raw_messages

    • description: nombre de messages bruts à sauvegarder en mémoire lorsque le tampon des données brutes est fermé (ces messages seront affichés lors de l'ouverture du tampon des données brutes)

    • type: entier

    • valeurs: 0 .. 65535 (valeur par défaut: 256)

  • irc.look.server_buffer

    • description: mélanger les tampons de serveur

    • type: entier

    • valeurs: merge_with_core, merge_without_core, independent (valeur par défaut: merge_with_core)

  • irc.look.smart_filter

    • description: filtrer les messages join/part/quit/nick pour un pseudo s'il n'a pas parlé pendant quelques minutes sur le canal (vous devez créer un filtre sur l'étiquette "irc_smart_filter")

    • type: booléen

    • valeurs: on, off (valeur par défaut: on)

  • irc.look.smart_filter_delay

    • description: délai pour filtrer les messages join/part/quit (en minutes) : si le pseudo n'a pas parlé durant les N dernières minutes, le join/part/quit est filtré

    • type: entier

    • valeurs: 1 .. 10080 (valeur par défaut: 5)

  • irc.look.smart_filter_join

    • description: activer le filtre intelligent pour les messages "join"

    • type: booléen

    • valeurs: on, off (valeur par défaut: on)

  • irc.look.smart_filter_join_unmask

    • description: délai pour démasquer un message "join" qui a été filtré avec l'étiquette "irc_smart_filter" (en minutes) : si le pseudo a rejoint au maximum il y a N minutes et qu'il a dit quelque chose sur le canal (message, notice ou mise à jour du topic), le "join" est démasqué, tout comme les changements de pseudo après ce "join" (0 = désactiver : ne jamais démasquer un "join")

    • type: entier

    • valeurs: 0 .. 10080 (valeur par défaut: 30)

  • irc.look.smart_filter_mode

    • description: activer le filtre intelligent pour les messages "mode" : "*" pour filtrer tous les modes, "+" pour filtrer tous les modes dans les préfixes du serveur (par exemple "ovh"), "xyz" pour filtrer seulement les modes x/y/z, "-xyz" pour filtrer tous les modes sauf x/y/z ; exemples : "ovh" : filtrer les modes o/v/h, "-bkl" : filtrer tous les modes sauf b/k/l

    • type: chaîne

    • valeurs: toute chaîne (valeur par défaut: "+")

  • irc.look.smart_filter_nick

    • description: activer le filtre intelligent pour les messages "nick" (changements de pseudo)

    • type: booléen

    • valeurs: on, off (valeur par défaut: on)

  • irc.look.smart_filter_quit

    • description: activer le filtre intelligent pour les messages "part" et "quit"

    • type: booléen

    • valeurs: on, off (valeur par défaut: on)

  • irc.look.topic_strip_colors

    • description: supprimer les couleurs dans le titre (utilisé seulement lors de l'affichage du titre du tampon)

    • type: booléen

    • valeurs: on, off (valeur par défaut: off)

  • irc.network.alternate_nick

    • description: obtenir un pseudo alternatif lorsque le pseudo est déjà utilisé sur le serveur : ajouter des "_" jusqu'à ce que le pseudo ait une longueur de 9, puis remplacer le dernier caractère (ou les deux derniers) par un nombre de 1 à 99, jusqu'à trouver un pseudo non utilisé sur le serveur

    • type: booléen

    • valeurs: on, off (valeur par défaut: on)

  • irc.network.autoreconnect_delay_growing

    • description: facteur de croissance du délai d'auto-reconnexion au serveur (1 = toujours le même délai, 2 = délai*2 pour chaque tentative, etc...)

    • type: entier

    • valeurs: 1 .. 100 (valeur par défaut: 2)

  • irc.network.autoreconnect_delay_max

    • description: délai maximum d'auto-reconnexion au serveur (en secondes, 0 = pas de maximum)

    • type: entier

    • valeurs: 0 .. 604800 (valeur par défaut: 600)

  • irc.network.ban_mask_default

    • description: masque de bannissement par défaut pour les commandes /ban, /unban et /kickban ; les variables $nick, $user, $ident et $host sont remplacées par leurs valeurs (extraites de "nick!user@host") ; $ident est identique à $user si $user ne commence pas par "~", sinon $ident vaut "*" ; ce masque par défaut est utilisé seulement si WeeChat connaît l'hôte pour le pseudo

    • type: chaîne

    • valeurs: toute chaîne (valeur par défaut: "*!$ident@$host")

  • irc.network.colors_receive

    • description: si désactivé, les codes couleurs des messages entrants sont ignorés

    • type: booléen

    • valeurs: on, off (valeur par défaut: on)

  • irc.network.colors_send

    • description: autorise l'utilisateur à envoyer des couleurs avec des codes spéciaux (ctrl-c + un code et une couleur optionnelle : b=gras, cxx=couleur, cxx,yy=couleur+fond, i=italique, o=désactiver couleur/attributs, r=inversé, u=souligné)

    • type: booléen

    • valeurs: on, off (valeur par défaut: on)

  • irc.network.lag_check

    • description: intervalle entre deux vérifications du lag (en secondes, 0 = ne jamais vérifier)

    • type: entier

    • valeurs: 0 .. 604800 (valeur par défaut: 60)

  • irc.network.lag_max

    • description: lag maximum (en secondes) : si ce lag est atteint, WeeChat considérera que la réponse du serveur (pong) ne sera jamais reçue et arrêtera de compter le lag (0 = ne jamais abandonner)

    • type: entier

    • valeurs: 0 .. 604800 (valeur par défaut: 1800)

  • irc.network.lag_min_show

    • description: lag minimum à afficher (en millisecondes)

    • type: entier

    • valeurs: 0 .. 86400000 (valeur par défaut: 500)

  • irc.network.lag_reconnect

    • description: se reconnecter au serveur si le lag est supérieur ou égal à cette valeur (en secondes, 0 = ne jamais se reconnecter) ; cette valeur doit être inférieure ou égale à irc.network.lag_max

    • type: entier

    • valeurs: 0 .. 604800 (valeur par défaut: 0)

  • irc.network.lag_refresh_interval

    • description: intervalle entre deux rafraîchissements du lag, lorsque le lag augmente (en secondes)

    • type: entier

    • valeurs: 1 .. 3600 (valeur par défaut: 1)

  • irc.network.notify_check_ison

    • description: intervalle entre deux vérifications de notification avec la commande IRC "ison" (en minutes)

    • type: entier

    • valeurs: 1 .. 10080 (valeur par défaut: 1)

  • irc.network.notify_check_whois

    • description: intervalle entre deux vérifications de notification avec la commande IRC "whois" (en minutes)

    • type: entier

    • valeurs: 1 .. 10080 (valeur par défaut: 5)

  • irc.network.send_unknown_commands

    • description: envoie les commandes inconnues au serveur

    • type: booléen

    • valeurs: on, off (valeur par défaut: off)

  • irc.network.whois_double_nick

    • description: doubler le pseudo dans la commande /whois (si un seul pseudo est donné), pour avoir le temps d'inactivité dans la réponse ; par exemple : "/whois pseudo" enverra "whois pseudo pseudo"

    • type: booléen

    • valeurs: on, off (valeur par défaut: off)

  • irc.server_default.addresses

    • description: liste de nom/port ou IP/port pour le serveur (séparés par des virgules)

    • type: chaîne

    • valeurs: toute chaîne (valeur par défaut: "")

  • irc.server_default.anti_flood_prio_high

    • description: anti-flood pour la file d'attente haute priorité : nombre de secondes entre deux messages utilisateur ou commandes envoyés au serveur IRC (0 = pas d'anti-flood)

    • type: entier

    • valeurs: 0 .. 60 (valeur par défaut: 2)

  • irc.server_default.anti_flood_prio_low

    • description: anti-flood pour la file d'attente basse priorité : nombre de secondes entre deux messages envoyés au serveur IRC (messages comme les réponses automatiques aux CTCP) (0 = pas d'anti-flood)

    • type: entier

    • valeurs: 0 .. 60 (valeur par défaut: 2)

  • irc.server_default.autoconnect

    • description: connexion automatique au serveur quand WeeChat démarre

    • type: booléen

    • valeurs: on, off (valeur par défaut: off)

  • irc.server_default.autojoin

    • description: liste des canaux (séparés par des virgules) à rejoindre après la connexion au serveur (et après exécution de la commande + délai s'ils sont définis) ; les canaux nécessitant une clé doivent être en début de liste, et toutes les clés doivent être données après les canaux (séparées par un espace) (exemple : "#canal1,#canal2,#canal3 clé1,clé2" où #canal1 et #canal2 sont protégés par clé1 et clé2) (note : le contenu est évalué, voir /help eval)

    • type: chaîne

    • valeurs: toute chaîne (valeur par défaut: "")

  • irc.server_default.autoreconnect

    • description: reconnexion automatique au serveur après une déconnexion

    • type: booléen

    • valeurs: on, off (valeur par défaut: on)

  • irc.server_default.autoreconnect_delay

    • description: délai (en secondes) avant de tenter une reconnexion au serveur

    • type: entier

    • valeurs: 1 .. 65535 (valeur par défaut: 10)

  • irc.server_default.autorejoin

    • description: rejoindre automatiquement les canaux après un "kick" ; vous pouvez définir une variable locale de tampon sur un canal pour remplacer cette valeur (nom de la variable : "autorejoin", valeur : "on" ou "off")

    • type: booléen

    • valeurs: on, off (valeur par défaut: off)

  • irc.server_default.autorejoin_delay

    • description: délai (en secondes) avant de rejoindre automatiquement (après un "kick")

    • type: entier

    • valeurs: 0 .. 86400 (valeur par défaut: 30)

  • irc.server_default.away_check

    • description: intervalle entre deux vérifications des absences (en minutes, 0 = ne jamais vérifier)

    • type: entier

    • valeurs: 0 .. 10080 (valeur par défaut: 0)

  • irc.server_default.away_check_max_nicks

    • description: ne pas vérifier les pseudos absents lorsqu'il y a un nombre important de pseudos (0 = pas de limite)

    • type: entier

    • valeurs: 0 .. 1000000 (valeur par défaut: 25)

  • irc.server_default.capabilities

    • description: liste séparée par des virgules de capacités client ("client capabilities") à activer sur le serveur si elles sont disponibles ; les capacités supportées par WeeChat sont : multi-prefix, userhost-in-names, away-notify (exemple : "multi-prefix,userhost-in-names,away-notify")

    • type: chaîne

    • valeurs: toute chaîne (valeur par défaut: "")

  • irc.server_default.command

    • description: commande(s) à exécuter après la connexion au serveur et avant le "join" automatique des canaux (plusieurs commandes peuvent être séparées par ";", utilisez "\;" pour un point-virgule, les variables spéciales $nick, $channel et $server sont remplacées par leur valeur) (note : le contenu est évalué, voir /help eval)

    • type: chaîne

    • valeurs: toute chaîne (valeur par défaut: "")

  • irc.server_default.command_delay

    • description: délai (en secondes) après exécution de la commande et avant le "join" automatique des canaux (exemple : donner du temps pour l'authentification avant de rejoindre les canaux)

    • type: entier

    • valeurs: 0 .. 3600 (valeur par défaut: 0)

  • irc.server_default.connection_timeout

    • description: délai d'attente (en secondes) entre la connexion TCP au serveur et la réception du message 001, si ce délai est atteint avant que le message 001 soit reçu, WeeChat se déconnectera du serveur

    • type: entier

    • valeurs: 1 .. 3600 (valeur par défaut: 60)

  • irc.server_default.default_msg_kick

    • description: message par défaut pour l'éjection utilisé par les commandes "/kick" et "/kickban" (les variables spéciales $nick, $channel et $server sont remplacées par leur valeur)

    • type: chaîne

    • valeurs: toute chaîne (valeur par défaut: "")

  • irc.server_default.default_msg_part

    • description: message par défaut pour le part (en quittant un canal) ("%v" sera remplacé par la version de WeeChat dans la chaîne)

    • type: chaîne

    • valeurs: toute chaîne (valeur par défaut: "WeeChat %v")

  • irc.server_default.default_msg_quit

    • description: message de fin par défaut (lors de la déconnexion du serveur) ("%v" sera remplacé par la version de WeeChat dans la chaîne)

    • type: chaîne

    • valeurs: toute chaîne (valeur par défaut: "WeeChat %v")

  • irc.server_default.ipv6

    • description: utiliser le protocole IPv6 pour la communication avec le serveur (essayer IPv6 puis repli sur l'IPv4) ; si désactivé, seulement l'IPv4 est utilisé

    • type: booléen

    • valeurs: on, off (valeur par défaut: on)

  • irc.server_default.local_hostname

    • description: nom local de machine/IP personnalisé pour le serveur (optionnel, si non renseigné, le nom de machine local est utilisé)

    • type: chaîne

    • valeurs: toute chaîne (valeur par défaut: "")

  • irc.server_default.nicks

    • description: pseudos à utiliser sur le serveur (séparés par des virgules)

    • type: chaîne

    • valeurs: toute chaîne (valeur par défaut: "")

  • irc.server_default.notify

    • description: liste de notifications pour le serveur (vous ne devriez pas changer cette option mais utiliser la commande /notify)

    • type: chaîne

    • valeurs: toute chaîne (valeur par défaut: "")

  • irc.server_default.password

    • description: mot de passe pour le serveur (note : le contenu est évalué, voir /help eval)

    • type: chaîne

    • valeurs: toute chaîne (valeur par défaut: "")

  • irc.server_default.proxy

    • description: nom du proxy utilisé pour ce serveur (optionnel, le proxy doit être défini avec la commande /proxy)

    • type: chaîne

    • valeurs: toute chaîne (valeur par défaut: "")

  • irc.server_default.realname

    • description: nom réel pour le serveur (note : le contenu est évalué, voir /help eval)

    • type: chaîne

    • valeurs: toute chaîne (valeur par défaut: "")

  • irc.server_default.sasl_mechanism

    • description: mécanisme pour l'authentification SASL : "plain" pour un mot de passe en clair, "dh-blowfish" pour un mot de passe chiffré avec blowfish, "dh-aes" pour un mot de passe chiffré avec AES, "external" pour une authentification en utilisant un certificat SSL côté client

    • type: entier

    • valeurs: plain, dh-blowfish, dh-aes, external (valeur par défaut: plain)

  • irc.server_default.sasl_password

    • description: mot de passe pour l'authentification SASL (note : le contenu est évalué, voir /help eval)

    • type: chaîne

    • valeurs: toute chaîne (valeur par défaut: "")

  • irc.server_default.sasl_timeout

    • description: délai d'attente maximum (en secondes) avant d'abandonner l'authentification SASL

    • type: entier

    • valeurs: 1 .. 3600 (valeur par défaut: 15)

  • irc.server_default.sasl_username

    • description: nom d'utilisateur pour l'authentification SASL (note : le contenu est évalué, voir /help eval)

    • type: chaîne

    • valeurs: toute chaîne (valeur par défaut: "")

  • irc.server_default.ssl

    • description: utiliser SSL pour la communication avec le serveur

    • type: booléen

    • valeurs: on, off (valeur par défaut: off)

  • irc.server_default.ssl_cert

    • description: fichier de certificat SSL utilisé pour identifier automatiquement votre pseudo ("%h" sera remplacé par le répertoire de base WeeChat, par défaut : "~/.weechat")

    • type: chaîne

    • valeurs: toute chaîne (valeur par défaut: "")

  • irc.server_default.ssl_dhkey_size

    • description: taille de clé utilisée pour l'échange de clé Diffie-Hellman

    • type: entier

    • valeurs: 0 .. 2147483647 (valeur par défaut: 2048)

  • irc.server_default.ssl_fingerprint

    • description: empreinte SHA1 du certificat qui est de confiance et accepté pour le serveur (elle doit avoir exactement 40 caractères hexadécimaux sans séparateurs) ; plusieurs empreintes peuvent être séparées par des virgules ; si cette option est définie, les autres vérifications sur les certificats ne sont PAS effectuées (option "ssl_verify")

    • type: chaîne

    • valeurs: toute chaîne (valeur par défaut: "")

  • irc.server_default.ssl_priorities

    • description: chaîne avec les priorités pour gnutls (pour la syntaxe, voir la documentation de la fonction gnutls_priority_init du manuel gnutls, les chaînes courantes sont : "PERFORMANCE", "NORMAL", "SECURE128", "SECURE256", "EXPORT", "NONE")

    • type: chaîne

    • valeurs: toute chaîne (valeur par défaut: "NORMAL")

  • irc.server_default.ssl_verify

    • description: vérifier que la connexion SSL est entièrement de confiance

    • type: booléen

    • valeurs: on, off (valeur par défaut: on)

  • irc.server_default.username

    • description: nom d'utilisateur pour le serveur (note : le contenu est évalué, voir /help eval)

    • type: chaîne

    • valeurs: toute chaîne (valeur par défaut: "")

4.6.3. Commandes

admin trouver les informations sur l’administrateur du serveur
/admin  [<cible>]

cible : nom du serveur
allchan exécuter une commande sur tous les canaux de tous les serveurs connectés
/allchan  [-current] [-exclude=<canal>[,<canal>...]] <commande> [<paramètres>]

  -current : exécuter la commande pour les canaux du serveur courant seulement
  -exclude : exclure certains canaux (le caractère joker "*" est autorisé)
  commande : commande à exécuter
paramètres : paramètres pour la commande (les variables spéciales $nick, $channel et $server sont remplacées par leur valeur)

Exemples :
  exécuter '/me teste' sur tous les canaux :
    /allchan me teste
  dire 'bonjour' partout sauf sur #weechat :
    /allchan -exclude=#weechat msg * bonjour
  dire 'bonjour' partout sauf sur #weechat et les canaux commençant par #linux :
    /allchan -exclude=#weechat,#linux* msg * bonjour
allpv exécuter une commande sur tous les tampons privés de tous les serveurs connectés
/allpv  [-current] [-exclude=<pseudo>[,<pseudo>...]] <commande> [<paramètres>]

  -current : exécuter la commande pour les tampons privés du serveur courant seulement
  -exclude : exclure certains pseudos (le caractère joker "*" est autorisé)
  commande : commande à exécuter
paramètres : paramètres pour la commande (les variables spéciales $nick, $channel et $server sont remplacées par leur valeur)

Exemples :
  exécuter '/me teste' sur tous les tampons privés :
    /allpv me teste
  dire 'bonjour' partout sauf sur pour le pseudo foo :
    /allpv -exclude=foo msg * bonjour
  dire 'bonjour' partout sauf pour le pseudo foo et les pseudos commençant par bar :
    /allpv -exclude=foo,bar* msg * bonjour
  fermer tous les tampons privés :
    /allpv close
allserv exécuter une commande sur tous les serveurs connectés
/allserv  [-exclude=<serveur>[,<serveur>...]] <commande> [<paramètres>]

  -exclude : exclude certains serveurs (le caractère joker "*" est autorisé)
  commande : commande à exécuter
paramètres : paramètres pour la commande (les variables spéciales $nick, $channel et $server sont remplacées par leur valeur)

Exemples :
  changer de pseudo sur tous les serveurs :
    /allserv nick newnick
  positionner l'absence sur tous les serveurs :
    /allserv away Je suis absent
  faire un whois sur mon pseudo sur tous les serveurs :
    /allserv whois $nick
ban bannir des pseudos ou hôtes
/ban  [<canal>] [<pseudo> [<pseudo>...]]

 canal : nom du canal
pseudo : pseudo ou hôte

Sans paramètre, cette commande affiche la liste des bannissements pour le canal courant.
connect se connecter à un/plusieurs serveur(s) IRC
/connect  [<serveur> [<serveur>...] [-<option>[=<valeur>]] [-no<option>] [-nojoin] [-switch]
          -all|-auto|-open [-nojoin] [-switch]

 serveur : nom du serveur, qui peut être :
           - nom interne de serveur (créé par /server add, usage recommandé)
           - nom/port ou IP/port (ceci créera un serveur TEMPORAIRE), le port par défaut est 6667
           - URL avec le format : irc[6][s]://[pseudo[:mot_passe]@]irc.example.org[:port][/#canal1][,#canal2[...]]
  option : définir l'option pour le serveur (pour une option booléenne, la valeur peut être omise)
nooption : définir l'option booléenne à 'off' (par exemple : -nossl)
    -all : se connecter à tous les serveurs définis dans la configuration
   -auto : se connecter aux serveurs qui ont "autoconnect" activé
   -open : se connecter à tous les serveurs ouverts qui ne sont pas actuellement connectés
 -nojoin : ne rejoindre aucun canal (même si l'autojoin est activé pour le serveur)
 -switch : basculer vers l'adresse suivante du serveur

Pour se déconnecter du serveur ou stopper toute tentative de connexion, utilisez la commande /disconnect.

Exemples :
  /connect freenode
  /connect irc.oftc.net/6667
  /connect irc6.oftc.net/6667 -ipv6
  /connect irc6.oftc.net/6697 -ipv6 -ssl
  /connect my.server.org/6697 -ssl -password=test
  /connect irc://nick@irc.oftc.net/#channel
  /connect -switch
ctcp envoyer un message CTCP (Client-To-Client Protocol)
/ctcp  <cible> <type> [<arguments>]

    cible : pseudo ou nom de canal à qui envoyer le CTCP
     type : type de CTCP (exemples : "version", "ping", etc...)
arguments : paramètres pour le CTCP
cycle quitter et rejoindre un canal
/cycle  [<canal>[,<canal>...]] [message]

  canal : nom du canal à quitter
message : message de fin (affiché aux autres utilisateurs)
dcc démarrer un DCC (transfert de fichier ou discussion directe)
/dcc  chat <pseudo>
      send <pseudo> <fichier>

 pseudo : pseudo
fichier : nom du fichier (sur la machine locale)

Exemples :
  discuter avec le pseudo "toto" :
    /dcc chat toto
  envoyer le fichier "/home/foo/bar.txt" au pseudo "toto" :
    /dcc send toto /home/foo/bar.txt
dehalfop retirer le statut de demi-opérateur du canal à/aux pseudo(s)
/dehalfop  <pseudo> [<pseudo>...]

pseudo : pseudo ou masque (le caractère joker "*" est autorisé)
     * : retirer le statut de demi-opérateur de tout le monde sur le canal excepté vous-même
deop retirer le statut d’opérateur du canal à/aux pseudo(s)
/deop  <pseudo> [<pseudo>...]
       * -yes

pseudo : pseudo ou masque (le caractère joker "*" est autorisé)
     * : retirer le statut d'opérateur de tout le monde sur le canal excepté vous-même
devoice retirer la voix du/des pseudo(s)
/devoice  <pseudo> [<pseudo>...]
          * -yes

pseudo : pseudo ou masque (le caractère joker "*" est autorisé)
     * : retirer la voix de tout le monde sur le canal
die arrêter le serveur
/die  [<cible>]

cible : nom du serveur
disconnect se déconnecter d’un ou de tous les serveurs IRC
/disconnect  [<serveur>|-all|-pending [<raison>]]

 serveur : nom interne du serveur
    -all : se déconnecter de tous les serveurs
-pending : annuler la reconnexion automatique sur les serveurs en cours de reconnexion
  raison : raison pour le "quit"
halfop donner le statut de demi-opérateur à un/des pseudo(s)
/halfop  <pseudo> [<pseudo>...]
         * -yes

pseudo : pseudo ou masque (le caractère joker "*" est autorisé)
     * : donner le statut de demi-opérateur à tout le monde sur le canal
ignore ignorer des pseudos/hôtes de serveurs ou canaux
/ignore  list
         add [re:]<pseudo> [<serveur> [<canal>]]
         del <numéro>|-all

       list : lister tous les ignores
        add : ajouter un ignore
     pseudo : pseudo ou hôte (peut être une expression régulière POSIX étendue si "re:" est donné ou un masque avec "*" pour remplacer un ou plusieurs caractères)
        del : supprimer un ignore
     numéro : numéro du ignore à supprimer (voir la liste des ignore pour le trouver)
       -all : supprimer tous les ignores
    serveur : nom de serveur interne où le ignore fonctionnera
      canal : canal où le ignore fonctionnera

Note : l'expression régulière peut commencer par "(?-i)" pour devenir sensible à la casse.

Exemples :
  ignorer le pseudo "toto" partout :
    /ignore add toto
  ignorer le hôte "toto@domain.com" sur le serveur freenode :
    /ignore add toto@domain.com freenode
  ignorer le hôte "toto*@*.domain.com" sur freenode/#weechat :
    /ignore add toto*@*.domain.com freenode #weechat
info voir les informations décrivant le serveur
/info  [<cible>]

cible : nom du serveur
invite inviter un pseudo sur un canal
/invite  <pseudo> [<pseudo>...] [<canal>]

pseudo : pseudo
 canal : canal
ison vérifier si un pseudo est actuellement sur IRC
/ison  <pseudo> [<pseudo>...]

pseudo : pseudo
join rejoindre un canal
/join  [-noswitch] [-server <serveur>] [<canal1>[,<canal2>...]] [<clé1>[,<clé2>...]]

-noswitch : ne pas basculer sur le nouveau tampon
  serveur : envoyer à ce serveur (nom interne)
    canal : nom du canal à rejoindre
      clé : clé pour rejoindre le canal (les canaux avec une clé doivent être les premiers dans la liste)

Exemples :
  /join #weechat
  /join #protectedchan,#weechat key
  /join -server freenode #weechat
  /join -noswitch #weechat
kick éjecter un utilisateur d’un canal
/kick  [<canal>] <pseudo> [<raison>]

 canal : nom du canal
pseudo : pseudo
raison : raison (les variables spéciales $nick, $channel et $server sont remplacées par leur valeur)
kickban éjecter un utilisateur d’un canal et bannir l’hôte
/kickban  [<canal>] <pseudo> [<raison>]

 canal : nom du canal
pseudo : pseudo
raison : raison (les variables spéciales $nick, $channel et $server sont remplacées par leur valeur)

Il est possible d'éjecter/bannir avec un masque, le pseudo sera extrait du masque et remplacé par "*".

Exemple :
  bannir "*!*@host.com" puis éjecter "toto" :
    /kickban toto!*@host.com
kill fermer la connexion client-serveur
/kill  <pseudo> [<raison>]

pseudo : pseudo
raison : raison
/links  [[<serveur>] <masque_serveur>]

       serveur : ce serveur doit répondre à la requête
masque_serveur : liste des serveurs correspondant au masque
list lister les canaux et leur titre
/list  [<canal>[,<canal>...]] [<serveur>] [-re <regex>]

  canal : canal à lister
serveur : nom du serveur
  regex : expression régulière POSIX étendue utilisée pour filtrer les résultats (insensible à la casse, peut commencer par "(?-i)" pour devenir sensible à la casse)

Exemples :
  lister tous les canaux du serveur (peut être très lent pour les grands réseaux) :
    /list
  lister le canal #weechat :
    /list #weechat
  lister tous les canaux commençant par "#weechat" (peut être très lent pour les grands réseaux) :
    /list -re #weechat.*
lusers obtenir des statistiques sur la taille du réseau IRC
/lusers  [<masque> [<cible>]]

masque : serveurs qui correspondent au masque seulement
 cible : serveur pour faire suivre la requête
map afficher une carte graphique du réseau IRC
me envoyer une action CTCP au canal courant
/me  <message>

message : message à envoyer
mode changer le mode du canal ou de l’utilisateur
/mode  [<canal>] [+|-]o|p|s|i|t|n|m|l|b|e|v|k [<paramètres>]
       <pseudo> [+|-]i|s|w|o

modes de canaux :
  canal : nom du canal à modifier (par défaut le canal courant)
  o : donner/reprendre le statut privilégié d'opérateur
  p : indicateur de canal privé
  s : indicateur de canal secret
  i : indicateur de canal avec invitation seulement
  t : le titre est modifiable seulement par un opérateur du canal
  n : aucun message au canal depuis l'extérieur
  m : canal modéré
  l : fixer la limite d'utilisateurs pour le canal
  b : paramétrer un masque de bannissement pour garder des utilisateurs dehors
  e : paramétrer un masque d'exception
  v : donner/reprendre la possibilité de parler sur un canal modéré
  k : définir une clé (mot de passe) pour accéder au canal
modes utilisateur :
  pseudo : pseudo à modifier
  i : marquer un utilisateur comme invisible
  s : marquer un utilisateur pour recevoir les notices du serveur
  w : l'utilisateur reçoit les wallops
  o : drapeau opérateur

La liste des modes n'est pas exhaustive, vous devriez lire la documentation de votre serveur pour voir tous les modes possibles.

Exemples :
  protéger le titre du canal #weechat :
    /mode #weechat +t
  devenir invisible sur le serveur :
    /mode nick +i
motd obtenir le message du jour
/motd  [<cible>]

cible : nom du serveur
msg envoyer un message à un pseudo ou canal
/msg  [-server <serveur>] <cible>[,<cible>...] <texte>

serveur : envoyer à ce serveur (nom interne)
  cible : pseudo ou canal (peut-être un masque, '*' = canal courant)
  texte : texte à envoyer
names lister les pseudos sur des canaux
/names  [<canal>[,<canal>...]]

canal : nom du canal
nick changer le pseudo courant
/nick  [-all] <pseudo>

  -all : définir le nouveau pseudo sur tous les serveurs connectés
pseudo : nouveau pseudo
notice envoyer un message notice à un utilisateur
/notice  [-server <serveur>] <cible> <texte>

serveur : envoyer à ce serveur (nom interne)
  cible : pseudo ou nom de canal
  texte : texte à envoyer
notify ajouter une notification de présence ou de statut d’absence pour des pseudos sur les serveurs
/notify  add <pseudo> [<serveur> [-away]]
         del <pseudo>|-all [<serveur>]

    add : ajouter une notification
 pseudo : pseudo
serveur : nom interne du serveur (par défaut le serveur courant)
  -away : notifier quand le message d'absence est changé (en faisant un whois sur le pseudo)
    del : supprimer une notification
   -all : supprimer toutes les notifications

Sans paramètre, cette commande affiche les notifications pour le serveur courant (ou tous les serveurs si la commande est exécutée sur le tampon "core").

Exemples :
  notifier quand "toto" rejoint/quitte le serveur courant :
    /notify add toto
  notifier quand "toto" rejoint/quitte le serveur freenode :
    /notify add toto freenode
  notifier quand "toto" est absent ou de retour sur le serveur freenode :
    /notify add toto freenode -away
op donner le statut d’opérateur à un/des pseudo(s)
/op  <pseudo> [<pseudo>...]
     * -yes

pseudo : pseudo ou masque (le caractère joker "*" est autorisé)
     * : donner le statut d'opérateur à tout le monde sur le canal
oper obtenir le statut d’opérateur
/oper  <utilisateur> <mot_de_passe>

 utilisateur : utilisateur
mot_de_passe : mot de passe
part quitter un canal
/part  [<canal>[,<canal>...]] [message]

  canal : canal à quitter
message : message de fin (affiché aux autres utilisateurs)
ping envoyer un ping au serveur
/ping  <serveur1> [<serveur2>]

serveur1 : serveur
serveur2 : faire suivre le ping à ce serveur
pong répondre à un message ping
/pong  <démon> [<démon2>]

 démon : démon qui a répondu au message Ping
démon2 : faire suivre le message à ce démon
query envoyer un message privé à un pseudo
/query  [-server <serveur>] <pseudo>[,<pseudo>...] [<texte>]

serveur : envoyer à ce serveur (nom interne)
 pseudo : pseudo
  texte : texte à envoyer
quiet faire taire des pseudos ou hôtes
/quiet  [<canal>] [<pseudo> [<pseudo>...]]

 canal : nom du canal
pseudo : pseudo ou hôte

Sans paramètre, cette commande affiche la liste des "quiet" pour le canal courant.
quote envoyer des données brutes au serveur sans analyse
/quote  [-server <serveur>] <données>

serveur : envoyer à ce serveur (nom interne)
données : données brutes à envoyer
reconnect se reconnecter à un/plusieurs serveur(s)
/reconnect  <serveur> [<serveur>...] [-nojoin] [-switch]
            -all [-nojoin] [-switch]

serveur : serveur pour se reconnecter (nom interne)
   -all : se reconnecter à tous les serveurs
-nojoin : ne rejoindre aucun canal (même si l'autojoin est activé pour le serveur)
-switch : basculer vers l'adresse suivante du serveur
rehash demander au serveur de recharger son fichier de configuration
/rehash  [<option>]

option : option supplémentaire, pour certains serveurs
remove forcer un utilisateur à quitter un canal
/remove  [<canal>] <pseudo> [<raison>]

 canal : nom du canal
pseudo : pseudo
raison : raison (les variables spéciales $nick, $channel et $server sont remplacées par leur valeur)
restart demander au serveur de redémarrer
/restart  [<cible>]

cible : nom du serveur
sajoin forcer un utilisateur à rejoindre un ou plusieurs canaux
/sajoin  <pseudo> <canal>[,<canal>...]

pseudo : pseudo
 canal : canal
samode changer le mode du canal, sans avoir le statut d’opérateur
/samode  <canal> <mode>

canal : nom du canal
 mode : mode pour le canal
sanick forcer un utilisateur à utiliser un autre pseudo
/sanick  <pseudo> <nouveau_pseudo>

        pseudo : pseudo
nouveau_pseudo : nouveau pseudo
sapart forcer un utilisateur à quitter un ou plusieurs canaux
/sapart  <pseudo> <canal>[,<canal>...]

pseudo : pseudo
 canal : canal
saquit forcer un utilisateur à quitter le serveur avec une raison
/saquit  <pseudo> <raison>

pseudo : pseudo
raison : raison
server lister, ajouter ou retirer des serveurs IRC
/server  list|listfull [<serveur>]
         add <serveur> <nom>[/<port>] [-temp] [-<option>[=<valeur>]] [-no<option>]
         copy|rename <serveur> <nouveau_nom>
         del|keep <serveur>
         deloutq|jump|raw

    list : afficher les serveurs (sans paramètre, cette liste est affichée)
listfull : afficher les serveurs avec de l'info détaillée pour chaque
     add : créer un nouveau serveur
 serveur : nom du serveur, pour usage interne et affichage
     nom : nom ou adresse IP du serveur avec port en option (défaut : 6667), plusieurs adresses peuvent être séparées par une virgule
    temp : créer un serveur temporaire (non sauvé)
  option : définir l'option pour le serveur (pour une option booléenne, la valeur peut être omise)
nooption : définir l'option booléenne à 'off' (par exemple : -nossl)
    copy : dupliquer un serveur
  rename : renommer un serveur
    keep : garder le serveur dans le fichier de configuration (pour les serveurs temporaires seulement)
     del : supprimer un serveur
 deloutq : supprimer la file d'attente des messages sortants pour tous les serveurs (tous les messages que WeeChat est actuellement en train d'envoyer)
    jump : sauter au tampon du serveur
     raw : ouvre le tampon avec les données brutes IRC

Exemples :
  /server listfull
  /server add oftc irc.oftc.net/6697 -ssl -autoconnect
  /server add oftc6 irc6.oftc.net/6697 -ipv6 -ssl
  /server add freenode2 chat.eu.freenode.net/6667,chat.us.freenode.net/6667
  /server add freenode3 irc.freenode.net -password=mypass
  /server copy oftc oftcbis
  /server rename oftc newoftc
  /server del freenode
  /server deloutq
service enregistrer un nouveau service
/service  <pseudo> <réservé> <distribution> <type> <réservé> <info>

distribution : visibilité du service
        type : réservé pour une utilisation future
servlist lister les services actuellement connectés au réseau
/servlist  [<masque> [<type>]]

masque : lister seulement les services qui correspondent à ce masque
  type : lister seulement les services de ce type
squery envoyer un message à un service
/squery  <service> <texte>

service : nom du service
  texte : texte à envoyer
squit déconnecter les liens vers un serveur
/squit  <serveur> <commentaire>

    serveur : nom du serveur
commentaire : commentaire
stats demander des statistiques sur le serveur
/stats  [<requête> [<serveur>]]

requête : c/h/i/k/l/m/o/y/u (voir la RFC1459)
serveur : nom du serveur
summon envoyer aux utilisateurs d’un serveur IRC un message leur demandant de rejoindre IRC
/summon  <utilisateur> [<cible> [<canal>]]

utilisateur : nom d'utilisateur
      cible : nom du serveur
      canal : nom du canal
time demander l’heure locale de serveur
/time  [<cible>]

cible : demander l'heure de ce serveur
topic recevoir/définir le titre du canal
/topic  [<canal>] [<titre>|-delete]

  canal : nom du canal
  titre : nouveau titre
-delete : supprimer le titre du canal
trace trouver le chemin jusqu'à un serveur spécifique
/trace  [<cible>]

cible : nom du serveur
unban supprimer le bannissement sur des pseudos ou hôtes
/unban  [<canal>] <pseudo> [<pseudo>...]

 canal : nom du canal
pseudo : pseudo ou hôte
unquiet ne plus taire des pseudos ou hôtes
/unquiet  [<canal>] <pseudo> [<pseudo>...]

 canal : nom du canal
pseudo : pseudo ou hôte
userhost retourner une liste d’informations sur des pseudos
/userhost  <pseudo> [<pseudo>...]

pseudo : pseudo
users liste des utilisateurs connectés au serveur
/users  [<cible>]

cible : nom du serveur
version retourner la version du pseudo ou du serveur (courant ou spécifié)
/version  [<serveur>|<pseudo>]

serveur : nom du serveur
 pseudo : pseudo
voice donner la voix à/aux pseudo(s)
/voice  <pseudo> [<pseudo>...]

pseudo : pseudo ou masque (le caractère joker "*" est autorisé)
     * : donner la voix à tout le monde sur le canal
wallchops envoyer une notice aux opérateurs du canal
/wallchops  [<canal>] <texte>

canal : nom du canal
texte : texte à envoyer
wallops envoyer un message à tous les utilisateurs connectés qui ont activé le mode utilisateur w pour eux-mêmes
/wallops  <texte>

texte : texte à envoyer
who générer une requête qui retourne une liste d’information
/who  [<masque> [o]]

masque : information qui correspond à ce masque uniquement
     o : seuls les opérateurs sont retournés correspondant au masque fourni
whois demander les informations sur le(s) utilisateur(s)
/whois  [<serveur>] [<pseudo>[,<pseudo>...]]

serveur : nom de serveur
 pseudo : pseudo (peut être un masque)

Sans paramètre, cette commande effectuera un whois sur :
- votre propre pseudo si le tampon est un serveur/canal
- le pseudo distant si le tampon est un privé.

Si l'option irc.network.whois_double_nick est activée, deux pseudos sont envoyés (si un seul est donné), pour avoir le temps d'inactivité dans la réponse.
whowas demander de l’information sur un pseudo qui n’existe plus
/whowas  <pseudo>[,<pseudo>...] [<nombre> [<cible>]]

pseudo : pseudo
nombre : nombre de réponses à retourner (recherche complète si nombre négatif)
 cible : la réponse doit correspondre à ce masque

4.6.4. Certificats SSL

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

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

weechat.network.gnutls_ca_file

chemin vers le fichier avec les certificats de confiance (par défaut : "%h/ssl/CAs.pem")

irc.server.xxx.ssl_cert

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

irc.server.xxx.ssl_dhkey_size

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

irc.server.xxx.ssl_verify

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

Note
L’option "ssl_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 ~/.weechat/ssl
$ wget -O ~/.weechat/ssl/CAs.pem http://www.spi-inc.org/ca/spi-cacert.crt

Note: il est possible de concaténer plusieurs certificats dans une le fichier CAs.pem.

  • Sous WeeChat, avec le serveur "oftc" déjà créé :

/connect oftc
Second exemple : se connecter à oftc en utilisant CertFP
  • Créer le certificat sous le shell :

$ mkdir -p ~/.weechat/ssl
$ cd ~/.weechat/ssl
$ openssl req -nodes -newkey rsa:2048 -keyout nick.pem -x509 -days 365 -out nick.pem
  • Sous WeeChat, avec le serveur "oftc" déjà créé :

/set irc.server.oftc.ssl_cert "%h/ssl/nick.pem"
/connect oftc
/msg nickserv cert add

Pour plus d’informations, consulter http://www.oftc.net/oftc/NickServ/CertFP

4.6.5. Authentification avec SASL

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

  • plain : mot de passe en clair

  • dh-blowfish : mot de passe chiffré avec blowfish

  • dh-aes : mot de passe chiffré avec AES

  • external : certificat SSL 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_username : nom d’utilisateur (pseudo)

  • sasl_password : mot de passe

Si vous voulez utiliser "dh-blowfish" par défaut pour tous les serveurs :

/set irc.server_default.sasl_mechanism dh-blowfish
Note
La librairie "gcrypt" est requise lors de la compilation de WeeChat pour utiliser le mécanisme "dh-blowfish" (voir les dépendances).

4.6.6. Connexion à Freenode avec TOR/SASL

En plus du SSL, les serveurs Freenode supportent les connexions avec TOR (https://www.torproject.org/), un réseau de tunnels virtuels qui permet aux personnes et groupes d’améliorer leur vie privée et sécurité sur Internet.

Premièrement, assurez-vous d’avoir compilé WeeChat avec libgcrypt11-dev (si construit depuis les sources); ce n’est pas obligatoire, mais "dh-blowfish" assure une meilleure sécurité comparé à l’authentification "plain" avec SASL.

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

$ sudo apt-get install tor

Sous WeeChat vous devez créer 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, créez un nouveau serveur, par exemple :

/server add freenode-tor p4fsi4ockecnea7l.onion

Définissez le proxy pour TOR :

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

Définissez l’authentification SASL :

/set irc.server.freenode-tor.sasl_mechanism dh-blowfish
/set irc.server.freenode-tor.sasl_username "votre_pseudo"
/set irc.server.freenode-tor.sasl_password "votre_mot_de_passe"

Et enfin, la connexion au serveur :

/connect freenode-tor

Pour plus d’informations à propos de Freenode et TOR : http://freenode.net/irc_servers.shtml#tor

4.6.7. Filtre intelligent pour les messages join/part/quit

Un filtre intelligent est disponible pour filtrer les messages join/part/quit lorsque le pseudo n’a rien dit durant les X dernières minutes sur le canal.

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.freenode.#weechat irc_smart_filter *
/filter add irc_smart_weechats irc.freenode.#weechat* irc_smart_filter *

Vous pouvez cacher seulement les join ou part/quit avec les options suivantes :

/set irc.look.smart_filter_join on
/set irc.look.smart_filter_quit on

Vous pouvez modifier le délai (en minutes) :

/set irc.look.smart_filter_delay 5

Si le pseudo n’a pas parlé durant les 5 dernières minutes, ses join et/ou part/quit seront cachés sur le canal.

4.6.8. 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 !"

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.freenode.version "WeeChat $version (pour freenode)"

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

/unset irc.ctcp.version

Les codes suivants peuvent être utilisés dans les chaînes et sont automatiquement remplacées par WeeChat lors de la réponse au CTCP :

Code Description Valeur / exemple
 $clientinfo  

Liste des CTCP supportés

ACTION DCC CLIENTINFO FINGER PING SOURCE TIME USERINFO VERSION

 $version     

Version de WeeChat

0.4.0-dev

 $versiongit  

Version de WeeChat + version git (1)

0.4.0-dev (git: v0.3.9-104-g7eb5cc4)

 $git         

Version git (1)

v0.3.9-104-g7eb5cc4

 $compilation 

Date de compilation WeeChat

Dec 16 2012

 $osinfo      

Information sur l’OS

Linux 2.6.32-5-amd64 / x86_64

 $site        

Site WeeChat

http://weechat.org/

 $download    

Site WeeChat, page téléchargement

http://weechat.org/download

 $time        

Date/heure courante

Sun, 16 Dec 2012 10:40:48 +0100

 $username    

Nom d’utilisateur sur le serveur

nom

 $realname    

Nom réel sur le serveur

John Doe

Note
(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é.

Si les options CTCP ne sont pas définies (par défaut), les réponses CTCP sont :

CTCP Format de réponse Exemple

CLIENTINFO

$clientinfo

ACTION DCC CLIENTINFO FINGER PING SOURCE TIME USERINFO VERSION

FINGER

WeeChat $versiongit

WeeChat 0.4.0-dev (git: v0.3.9-104-g7eb5cc4)

SOURCE

$download

http://weechat.org/download

TIME

$time

Sun, 16 Dec 2012 10:40:48 +0100

USERINFO

$username ($realname)

nom (John Doe)

VERSION

WeeChat $versiongit ($compilation)

WeeChat 0.4.0-dev (git: v0.3.9-104-g7eb5cc4) (Dec 16 2012)

4.6.9. 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: freenode.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 "freenode" seulement :

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

/set irc.msgbuffer.303 weechat

4.7. Extension Logger

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

4.7.1. Options (logger.conf)

Sections :

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: couleur pour la ligne de fin de l'historique

    • type: couleur

    • valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias ; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour le gras, "!" pour la vidéo inverse, "/" pour l’italique, "_" pour le souligné (valeur par défaut: default)

  • logger.color.backlog_line

    • description: couleur pour les lignes de l'historique

    • type: couleur

    • valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias ; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour le gras, "!" pour la vidéo inverse, "/" pour l’italique, "_" pour le souligné (valeur par défaut: default)

  • logger.file.auto_log

    • description: sauve automatiquement le contenu des tampons dans des fichiers (sauf si un tampon désactive le log)

    • type: booléen

    • valeurs: on, off (valeur par défaut: on)

  • logger.file.flush_delay

    • description: nombre de secondes entre les "flush" (écriture) dans les fichiers de log (0 = écrire immédiatement dans les fichiers de log pour chaque ligne affichée)

    • type: entier

    • valeurs: 0 .. 3600 (valeur par défaut: 120)

  • logger.file.info_lines

    • description: écrire une ligne d'information dans le fichier log quand le log démarre ou se termine pour un tampon

    • type: booléen

    • valeurs: on, off (valeur par défaut: off)

  • logger.file.mask

    • description: masque de fichier par défaut pour les fichiers de log (le format est "repertoire/vers/fichier" ou "fichier", sans le premier "/" car l'option "path" est utilisée pour construire le chemin complet vers le fichier) ; les variables locales du tampon sont permises ; les caractères de formatage de date sont autorisés (voir man strftime)

    • type: chaîne

    • valeurs: toute chaîne (valeur par défaut: "$plugin.$name.weechatlog")

  • logger.file.name_lower_case

    • description: utiliser seulement des minuscules dans le nom des fichiers de log

    • type: booléen

    • valeurs: on, off (valeur par défaut: on)

  • logger.file.nick_prefix

    • description: texte à écrire avant le pseudo dans le préfixe du message, par exemple : "<"

    • type: chaîne

    • valeurs: toute chaîne (valeur par défaut: "")

  • logger.file.nick_suffix

    • description: texte à écrire après le pseudo dans le préfixe du message, par exemple : ">"

    • type: chaîne

    • valeurs: toute chaîne (valeur par défaut: "")

  • logger.file.path

    • description: chemin pour les fichiers de log WeeChat ; "%h" au début de la chaîne est remplacé par le répertoire de base WeeChat (par défaut : "~/.weechat") ; les caractères de formatage de date sont autorisés (voir man strftime)

    • type: chaîne

    • valeurs: toute chaîne (valeur par défaut: "%h/logs/")

  • logger.file.replacement_char

    • description: caractère de remplacement dans le nom de fichier construit avec le masque (comme le délimiteur de répertoire)

    • type: chaîne

    • valeurs: toute chaîne (valeur par défaut: "_")

  • logger.file.time_format

    • description: format de date/heure utilisé dans les fichiers log (voir man strftime pour le format de date/heure)

    • type: chaîne

    • valeurs: toute chaîne (valeur par défaut: "%Y-%m-%d %H:%M:%S")

  • logger.look.backlog

    • description: nombre maximum de lignes à afficher du fichier de log lors de l'ouverture du tampon (0 = ne rien afficher)

    • type: entier

    • valeurs: 0 .. 2147483647 (valeur par défaut: 20)

4.7.2. Commandes

logger configuration de l’extension logger
/logger  list
         set <niveau>
         flush
         disable

   list : afficher le statut d'enregistrement pour les tampons ouverts
    set : définir le niveau d'enregistrement pour le tampon courant
 niveau : niveau pour les messages à enregistrer (0 = pas d'enregistrement, 1 = quelques messages (les plus importants) .. 9 = tous les messages)
  flush : écrire tous les fichiers de log maintenant
disable : désactiver l'enregistrement pour le tampon courant (définir le niveau à 0)

Les options "logger.level.*" et "logger.mask.*" peuvent être utilisées pour définir le niveau ou le masque de nom de fichier pour un tampon, ou plusieurs tampons commençant par un nom.

Niveaux de log utilisés par l'extension IRC :
  1 : message d'utilisateur, notice, privé
  2 : changement de pseudo
  3 : message du serveur
  4 : join/part/quit
  9 : tous les autres messages

Exemples :
  définir le niveau d'enregistrement à 5 pour le tampon courant :
    /logger set 5
  désactiver l'enregistrement pour le tampon courant :
    /logger disable
  définir le niveau à 3 pour les tampons IRC :
    /set logger.level.irc 3
  désactiver l'enregistrement pour le tampon principal de WeeChat :
    /set logger.level.core.weechat 0
  utiliser un répertoire par serveur IRC et un fichier par canal dedans :
    /set logger.mask.irc "$server/$channel.weechatlog"

4.7.3. 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.freenode.#weechat 3
  • affecter le niveau 3 pour le tampon serveur freenode :

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

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

/set logger.level.irc 2

4.7.4. 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 du tampon courant :

/buffer localvar

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

logger.mask.irc.freenode.#weechat
logger.mask.irc.freenode
logger.mask.irc
logger.file.mask

Cela signifie que vous pouvez avoir un masque spécifique pour certaines serveurs IRC ("logger.mask.irc.freenode") 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 :

~/.weechat/
    |--- logs/
        |--- 2010/
            |--- 11/
            |       irc.server.freenode.weechatlog
            |       irc.freenode.#weechat.weechatlog
        |--- 2010/
            |--- 12/
            |       irc.server.freenode.weechatlog
            |       irc.freenode.#weechat.weechatlog
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 :

~/.weechat/
    |--- logs/
        |--- irc/
            |--- freenode/
            |       freenode.weechatlog
            |       #weechat.weechatlog
            |       #mychan.weechatlog
            |--- oftc/
            |       oftc.weechatlog
            |       #chan1.weechatlog
            |       #chan2.weechatlog

4.8. Extension 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 (par exemple QWeeChat ou weechat-android).

4.8.1. Options (relay.conf)

Sections :

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: couleur du texte pour la description du client

    • type: couleur

    • valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias ; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour le gras, "!" pour la vidéo inverse, "/" pour l’italique, "_" pour le souligné (valeur par défaut: cyan)

  • relay.color.status_active

    • description: couleur du texte pour le statut "connecté"

    • type: couleur

    • valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias ; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour le gras, "!" pour la vidéo inverse, "/" pour l’italique, "_" pour le souligné (valeur par défaut: lightblue)

  • relay.color.status_auth_failed

    • description: couleur du texte pour le statut "échec auth"

    • type: couleur

    • valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias ; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour le gras, "!" pour la vidéo inverse, "/" pour l’italique, "_" pour le souligné (valeur par défaut: lightred)

  • relay.color.status_connecting

    • description: couleur du texte pour le statut "connexion"

    • type: couleur

    • valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias ; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour le gras, "!" pour la vidéo inverse, "/" pour l’italique, "_" pour le souligné (valeur par défaut: yellow)

  • relay.color.status_disconnected

    • description: couleur du texte pour le statut "déconnecté"

    • type: couleur

    • valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias ; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour le gras, "!" pour la vidéo inverse, "/" pour l’italique, "_" pour le souligné (valeur par défaut: lightred)

  • relay.color.status_waiting_auth

    • description: couleur du texte pour le statut "attente auth"

    • type: couleur

    • valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias ; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour le gras, "!" pour la vidéo inverse, "/" pour l’italique, "_" pour le souligné (valeur par défaut: brown)

  • relay.color.text

    • description: couleur du texte dans le tampon relay

    • type: couleur

    • valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias ; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour le gras, "!" pour la vidéo inverse, "/" pour l’italique, "_" pour le souligné (valeur par défaut: default)

  • relay.color.text_bg

    • description: couleur du fond dans le tampon relay

    • type: couleur

    • valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias ; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour le gras, "!" pour la vidéo inverse, "/" pour l’italique, "_" pour le souligné (valeur par défaut: default)

  • relay.color.text_selected

    • description: couleur du texte pour la ligne sélectionnée dans le tampon relay

    • type: couleur

    • valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias ; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour le gras, "!" pour la vidéo inverse, "/" pour l’italique, "_" pour le souligné (valeur par défaut: white)

  • relay.irc.backlog_max_minutes

    • description: nombre maximum de minutes dans l'historique par canal IRC (0 = sans limite, exemples : 1440 = une journée, 10080 = une semaine, 43200 = un mois, 525600 = une année)

    • type: entier

    • valeurs: 0 .. 2147483647 (valeur par défaut: 1440)

  • relay.irc.backlog_max_number

    • description: nombre maximum de lignes dans l'historique par canal IRC (0 = sans limite)

    • type: entier

    • valeurs: 0 .. 2147483647 (valeur par défaut: 256)

  • relay.irc.backlog_since_last_disconnect

    • description: afficher l'historique en démarrant à la dernière déconnexion du client

    • type: booléen

    • valeurs: on, off (valeur par défaut: on)

  • relay.irc.backlog_tags

    • description: étiquettes des messages qui sont affichés dans l'historique par canal IRC (étiquettes supportées : "irc_join", "irc_part", "irc_quit", "irc_nick", "irc_privmsg"), "*" = toutes les étiquettes supportées

    • type: chaîne

    • valeurs: toute chaîne (valeur par défaut: "irc_privmsg")

  • relay.irc.backlog_time_format

    • description: format pour l'heure dans les messages d'historique (voir man strftime pour le format) (non utilisé si la capacité de serveur "server-time" a été activée par le client, car l'heure est envoyée sous forme d'étiquette irc) ; chaîne vide = désactiver l'heure dans les messages d'historique

    • type: chaîne

    • valeurs: toute chaîne (valeur par défaut: "[%H:%M] ")

  • relay.look.auto_open_buffer

    • description: ouvrir automatiquement le tampon des clients pour le relai lorsqu'un nouveau client est ajouté à la liste

    • type: booléen

    • valeurs: on, off (valeur par défaut: on)

  • relay.look.raw_messages

    • description: nombre de messages bruts à sauvegarder en mémoire lorsque le tampon des données brutes est fermé (ces messages seront affichés lors de l'ouverture du tampon des données brutes)

    • type: entier

    • valeurs: 0 .. 65535 (valeur par défaut: 256)

  • relay.network.allowed_ips

    • description: expression régulière POSIX étendue avec les IPs autorisées pour le relai (insensible à la casse, utilisez "(?-i)" en début de chaîne pour la rendre sensible à la casse) ; si l'IPv6 est activé et qu'une connexion est faite en IPv4, il y aura une adresse IPv4 encapsulée dans une IPv6 (comme : "::ffff:127.0.0.1"), exemple : "^((::ffff:)?123.45.67.89|192.160.*)$"

    • type: chaîne

    • valeurs: toute chaîne (valeur par défaut: "")

  • relay.network.bind_address

    • description: adresse pour le bind (si vide, la connexion est possible sur toutes les interfaces, utiliser "127.0.0.1" pour autoriser les connections depuis la machine locale seulement)

    • type: chaîne

    • valeurs: toute chaîne (valeur par défaut: "")

  • relay.network.clients_purge_delay

    • description: délai pour purger les clients déconnectés (en minutes, 0 = purger les clients immédiatement, -1 = ne jamais purger)

    • type: entier

    • valeurs: -1 .. 43200 (valeur par défaut: 0)

  • relay.network.compression_level

    • description: niveau de compression pour les paquets envoyés au client avec le protocole WeeChat (0 = désactiver la compression, 1 = peu de compression ... 9 = meilleure compression)

    • type: entier

    • valeurs: 0 .. 9 (valeur par défaut: 6)

  • relay.network.ipv6

    • description: écouter en IPv6 sur le socket par défaut (en plus de l'IPv4 qui est par défaut) ; les protocoles IPv4 et IPv6 peuvent être forcés (individuellement ou ensemble) dans le nom du protocole (voir /help relay)

    • type: booléen

    • valeurs: on, off (valeur par défaut: on)

  • relay.network.max_clients

    • description: nombre maximum de clients qui se connectent sur un port

    • type: entier

    • valeurs: 1 .. 1024 (valeur par défaut: 5)

  • relay.network.password

    • description: mot de passe requis par les clients pour accéder à ce relai (une valeur vide indique que le mot de passe n'est pas nécessaire) (note : le contenu est évalué, voir /help eval)

    • type: chaîne

    • valeurs: toute chaîne (valeur par défaut: "")

  • relay.network.ssl_cert_key

    • description: fichier avec le certificat et la clé privée SSL (pour servir les clients avec SSL)

    • type: chaîne

    • valeurs: toute chaîne (valeur par défaut: "%h/ssl/relay.pem")

  • relay.network.websocket_allowed_origins

    • description: expression régulière POSIX étendue avec les origines autorisées dans les websockets (insensible à la casse, utilisez "(?-i)" en début de chaîne pour la rendre insensible à la casse), exemple : "^http://(www\.)?example\.(com|org)"

    • type: chaîne

    • valeurs: toute chaîne (valeur par défaut: "")

4.8.2. Commandes

relay contrôle du relai
/relay  list|listfull|listrelay
        add [ipv4.][ipv6.][ssl.]<protocole.nom> <port>
        del [ipv4.][ipv6.][ssl.]<protocole.nom>
        raw
        sslcertkey

         list : lister les clients pour le relai
     listfull : lister les clients pour le relai (verbeux)
    listrelay : lister les relais (nom et port)
          add : ajouter un relai pour un protocole + nom
          del : supprimer un relai pour un protocole + nom
         ipv4 : forcer l'utilisation d'IPv4
         ipv6 : forcer l'utilisation d'IPv6
          ssl : activer SSL
protocole.nom : protocole et nom à relayer :
                  - protocole "irc" : le nom est le serveur à partager (optionnel, si non donné, le nom de serveur doit être envoyé par le client dans la commande "PASS", avec le format : "PASS serveur:motdepasse")
                  - protocole "weechat" (le nom n'est pas utilisé)
         port : port utilisé pour le relai
          raw : ouvrir le tampon avec les données brutes Relay
   sslcertkey : définir le certificat/clé SSL en utilisant le chemin de l'option relay.network.ssl_cert_key

Sans paramètre, cette commande ouvre le tampon avec la liste des clients pour le relai.

Exemples :
  proxy irc, pour le serveur "freenode" :
    /relay add irc.freenode 8000
  proxy irc, pour le serveur "freenode", avec SSL :
    /relay add ssl.irc.freenode 8001
  proxy irc, pour tous les serveurs (le client choisira), avec SSL :
    /relay add ssl.irc 8002
  protocole weechat :
    /relay add weechat 9000
  protocole weechat avec SSL :
    /relay add ssl.weechat 9001
  protocole weechat avec SSL, en utilisant seulement IPv4 :
    /relay add ipv4.ssl.weechat 9001
  protocole weechat avec SSL, en utilisant seulement IPv6 :
    /relay add ipv6.ssl.weechat 9001
  protocole weechat avec SSL, en utilisant IPv4 + IPv6 :
    /relay add ipv4.ipv6.ssl.weechat 9001

4.8.3. Mot de passe

Il est fortement recommandé de définir un mot de passe pour le relai, avec la commande :

/set relay.network.password "motdepasse"

Ce mot de passe sera utilisé pour les protocoles irc et weechat.

4.8.4. SSL

Vous pouvez utiliser SSL en créant un certificat et clé privée et en utilisant le préfixe "ssl." dans le nom du protocole.

Le fichier par défaut pour le certificat/clé est ~/.weechat/ssl/relay.pem (option relay.network.ssl_cert_key).

Vous pouvez créer le certificat et la clé privée avec les commandes suivantes :

$ mkdir -p ~/.weechat/ssl
$ cd ~/.weechat/ssl
$ openssl req -nodes -newkey rsa:2048 -keyout relay.pem -x509 -days 365 -out relay.pem

Si WeeChat tourne déjà, vous pouvez recharger le certificat et clé privée avec la commande :

/relay sslcertkey

4.8.5. IRC proxy

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 :

PASS serveur:motdepasse

Exemple : proxy IRC avec SSL pour tout serveur (le client choisira) :

/relay add ssl.irc 8000

Exemple : proxy IRC sans SSL seulement pour le serveur "freenode" :

/relay add irc.freenode 8000

Maintenant vous pouvez vous connecter sur le port 8000 avec n’importe quel client IRC en utilisant le mot de passe "motdepasse" (ou "freenode:motdepasse" si aucun serveur n’a été spécifié dans le relai).

4.8.6. 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 la liste sur la page de téléchargement : http://weechat.org/download

Important
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".

4.8.7. 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).

4.9. Extensions Scripts

WeeChat fournit 6 extensions pour scripts : Python, Perl, Ruby, Lua, Tcl et Guile (scheme). Ces extensions peuvent charger, exécuter et décharger des scripts pour ces langages.

Une autre extension appelée "script" est un gestionnaire de scripts et 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 à cette URL: http://weechat.org/scripts

Pour plus d’informations sur comment écrire des scripts, ou sur l’API WeeChat pour les scripts, merci de lire le Le Guide pour Scripts WeeChat.

4.9.1. Options Script (script.conf)

Sections :

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: couleur du statut "chargé auto" ("a")

    • type: couleur

    • valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias ; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour le gras, "!" pour la vidéo inverse, "/" pour l’italique, "_" pour le souligné (valeur par défaut: cyan)

  • script.color.status_held

    • description: couleur du statut "figé" ("H")

    • type: couleur

    • valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias ; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour le gras, "!" pour la vidéo inverse, "/" pour l’italique, "_" pour le souligné (valeur par défaut: white)

  • script.color.status_installed

    • description: couleur du statut "installé" ("i")

    • type: couleur

    • valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias ; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour le gras, "!" pour la vidéo inverse, "/" pour l’italique, "_" pour le souligné (valeur par défaut: lightcyan)

  • script.color.status_obsolete

    • description: couleur du statut "obsolète" ("N")

    • type: couleur

    • valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias ; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour le gras, "!" pour la vidéo inverse, "/" pour l’italique, "_" pour le souligné (valeur par défaut: lightmagenta)

  • script.color.status_popular

    • description: couleur du statut "populaire" ("*")

    • type: couleur

    • valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias ; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour le gras, "!" pour la vidéo inverse, "/" pour l’italique, "_" pour le souligné (valeur par défaut: yellow)

  • script.color.status_running

    • description: couleur du statut "chargé" ("r")

    • type: couleur

    • valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias ; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour le gras, "!" pour la vidéo inverse, "/" pour l’italique, "_" pour le souligné (valeur par défaut: lightgreen)

  • script.color.status_unknown

    • description: couleur du statut "inconnu" ("?")

    • type: couleur

    • valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias ; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour le gras, "!" pour la vidéo inverse, "/" pour l’italique, "_" pour le souligné (valeur par défaut: lightred)

  • script.color.text

    • description: couleur du texte dans le tampon script

    • type: couleur

    • valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias ; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour le gras, "!" pour la vidéo inverse, "/" pour l’italique, "_" pour le souligné (valeur par défaut: default)

  • script.color.text_bg

    • description: couleur du fond dans le tampon script

    • type: couleur

    • valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias ; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour le gras, "!" pour la vidéo inverse, "/" pour l’italique, "_" pour le souligné (valeur par défaut: default)

  • script.color.text_bg_selected

    • description: couleur du fond pour la ligne sélectionnée dans le tampon script

    • type: couleur

    • valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias ; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour le gras, "!" pour la vidéo inverse, "/" pour l’italique, "_" pour le souligné (valeur par défaut: red)

  • script.color.text_date

    • description: couleur du texte pour les dates dans le tampon script

    • type: couleur

    • valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias ; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour le gras, "!" pour la vidéo inverse, "/" pour l’italique, "_" pour le souligné (valeur par défaut: default)

  • script.color.text_date_selected

    • description: couleur du texte pour les dates de la ligne sélectionnée dans le tampon script

    • type: couleur

    • valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias ; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour le gras, "!" pour la vidéo inverse, "/" pour l’italique, "_" pour le souligné (valeur par défaut: white)

  • script.color.text_delimiters

    • description: couleur du texte pour les délimiteurs dans le tampon script

    • type: couleur

    • valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias ; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour le gras, "!" pour la vidéo inverse, "/" pour l’italique, "_" pour le souligné (valeur par défaut: default)

  • script.color.text_description

    • description: couleur du texte pour la description dans le tampon script

    • type: couleur

    • valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias ; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour le gras, "!" pour la vidéo inverse, "/" pour l’italique, "_" pour le souligné (valeur par défaut: default)

  • script.color.text_description_selected

    • description: couleur du texte pour la description de la ligne sélectionnée dans le tampon script

    • type: couleur

    • valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias ; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour le gras, "!" pour la vidéo inverse, "/" pour l’italique, "_" pour le souligné (valeur par défaut: white)

  • script.color.text_extension

    • description: couleur du texte pour l'extension dans le tampon script

    • type: couleur

    • valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias ; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour le gras, "!" pour la vidéo inverse, "/" pour l’italique, "_" pour le souligné (valeur par défaut: default)

  • script.color.text_extension_selected

    • description: couleur du texte pour l'extension de la ligne sélectionnée dans le tampon script

    • type: couleur

    • valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias ; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour le gras, "!" pour la vidéo inverse, "/" pour l’italique, "_" pour le souligné (valeur par défaut: white)

  • script.color.text_name

    • description: couleur du texte pour le nom du script dans le tampon script

    • type: couleur

    • valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias ; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour le gras, "!" pour la vidéo inverse, "/" pour l’italique, "_" pour le souligné (valeur par défaut: cyan)

  • script.color.text_name_selected

    • description: couleur du texte pour le nom du script de la ligne sélectionnée dans le tampon script

    • type: couleur

    • valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias ; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour le gras, "!" pour la vidéo inverse, "/" pour l’italique, "_" pour le souligné (valeur par défaut: lightcyan)

  • script.color.text_selected

    • description: couleur du texte pour la ligne sélectionnée dans le tampon script

    • type: couleur

    • valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias ; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour le gras, "!" pour la vidéo inverse, "/" pour l’italique, "_" pour le souligné (valeur par défaut: white)

  • script.color.text_tags

    • description: couleur du texte pour les étiquettes dans le tampon script

    • type: couleur

    • valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias ; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour le gras, "!" pour la vidéo inverse, "/" pour l’italique, "_" pour le souligné (valeur par défaut: brown)

  • script.color.text_tags_selected

    • description: couleur du texte pour les étiquettes de la ligne sélectionnée dans le tampon script

    • type: couleur

    • valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias ; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour le gras, "!" pour la vidéo inverse, "/" pour l’italique, "_" pour le souligné (valeur par défaut: yellow)

  • script.color.text_version

    • description: couleur du texte pour la version dans le tampon script

    • type: couleur

    • valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias ; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour le gras, "!" pour la vidéo inverse, "/" pour l’italique, "_" pour le souligné (valeur par défaut: magenta)

  • script.color.text_version_loaded

    • description: couleur du texte pour la version chargée dans le tampon script

    • type: couleur

    • valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias ; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour le gras, "!" pour la vidéo inverse, "/" pour l’italique, "_" pour le souligné (valeur par défaut: default)

  • script.color.text_version_loaded_selected

    • description: couleur du texte pour la version chargée de la ligne sélectionnée dans le tampon script

    • type: couleur

    • valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias ; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour le gras, "!" pour la vidéo inverse, "/" pour l’italique, "_" pour le souligné (valeur par défaut: white)

  • script.color.text_version_selected

    • description: couleur du texte pour la version de la ligne sélectionnée dans le tampon script

    • type: couleur

    • valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias ; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour le gras, "!" pour la vidéo inverse, "/" pour l’italique, "_" pour le souligné (valeur par défaut: lightmagenta)

  • script.look.columns

    • description: format des colonnes affichées dans le tampon des scripts : les identifiants de colonne suivants sont remplacés par leur valeur : %a=auteur, %d=description, %D=date d'ajout, %e=extension, %l=langage, %L=licence, %n=nom avec extension, %N=nom, %r=dépendances, %s=statuts, %t=étiquettes, %u=date de mise à jour, %v=version, %V=version chargée, %w=min_weechat, %W=max_weechat

    • type: chaîne

    • valeurs: toute chaîne (valeur par défaut: "%s %n %V %v %u | %d | %t")

  • script.look.diff_color

    • description: colorie la sortie du diff

    • type: booléen

    • valeurs: on, off (valeur par défaut: on)

  • script.look.diff_command

    • description: commande utilisée pour montrer les différences entre le script installé et la nouvelle version dans le dépôt ("auto" = détecter automatiquement la commande de diff (git ou diff), valeur vide = désactiver le diff, autre chaîne = nom de la commande, par exemple "diff")

    • type: chaîne

    • valeurs: toute chaîne (valeur par défaut: "auto")

  • script.look.display_source

    • description: afficher le code source du script sur le tampon avec le détail sur le script (le script est téléchargé dans un fichier temporaire lorsque le détail du script est affiché)

    • type: booléen

    • valeurs: on, off (valeur par défaut: on)

  • script.look.quiet_actions

    • description: actions silencieuses sur le tampon script : ne pas afficher de messages sur le tampon "core" quand les scripts sont installés/supprimés/chargés/déchargés (seules les erreurs sont affichées)

    • type: booléen

    • valeurs: on, off (valeur par défaut: on)

  • script.look.sort

    • description: tri par défaut des scripts : liste d'identifiants séparés par des virgules : a=auteur, A=chargé auto, d=date d'ajout, e=extension, i=installé, l=langage, n=nom, o=obsolète, p=populaire, r=chargé, u=date de mise à jour ; le caractère "-" peut être utilisé avant l'identifiant pour inverser l'ordre ; exemple : "i,u" : scripts installés en premier, triés par date de mise à jour

    • type: chaîne

    • valeurs: toute chaîne (valeur par défaut: "p,n")

  • script.look.translate_description

    • description: traduire la description des scripts (si une traduction est disponible dans votre langue, sinon la version anglaise est utilisée)

    • type: booléen

    • valeurs: on, off (valeur par défaut: on)

  • script.look.use_keys

    • description: utiliser les touches alt+X sur le tampon script pour effectuer les actions sur les scripts (alt+i = installer, alt+r = supprimer, ...) ; si désactivé, seule l'entrée est autorisée : i, r, ...

    • type: booléen

    • valeurs: on, off (valeur par défaut: on)

  • script.scripts.autoload

    • description: charger automatiquement les scripts installés (faire un lien dans le répertoire "autoload" vers le script dans le répertoire parent)

    • type: booléen

    • valeurs: on, off (valeur par défaut: on)

  • script.scripts.cache_expire

    • description: temps d'expiration du cache local, en minutes (-1 = n'expire jamais, 0 = expire toujours)

    • type: entier

    • valeurs: -1 .. 525600 (valeur par défaut: 1440)

  • script.scripts.dir

    • description: répertoire du cache local pour les scripts

    • type: chaîne

    • valeurs: toute chaîne (valeur par défaut: "%h/script")

  • script.scripts.hold

    • description: scripts à "figer" : liste de scripts séparés par des virgules qui ne seront jamais mis à jour et ne peuvent pas être supprimés, par exemple : "buffers.pl,iset.pl"

    • type: chaîne

    • valeurs: toute chaîne (valeur par défaut: "")

  • script.scripts.url

    • description: URL pour le fichier avec la liste des scripts

    • type: chaîne

    • valeurs: toute chaîne (valeur par défaut: "http://weechat.org/files/plugins.xml.gz")

4.9.2. Commandes Script

script Gestionnaire de scripts WeeChat
/script  list [-o|-i]
         search <texte>
         show <script>
         load|unload|reload <script> [<script>...]
         autoload|noautoload|toggleautoload <script> [<script>...]
         install|remove|installremove|hold [-q] <script> [<script>...]
         upgrade
         update

          list : lister les scripts chargés (tous les langages)
            -o : envoyer la liste des scripts chargés au tampon
            -i : copier la liste des scripts chargés dans la ligne de commande (pour envoi au tampon)
        search : chercher des scripts par étiquettes ou texte et afficher le résultat sur le tampon des scripts
          show : afficher des infos détaillées sur le script
          load : charger un ou plusieurs scripts
        unload : décharger un ou plusieurs scripts
        reload : recharger un ou plusieurs scripts
      autoload : charger automatiquement un ou plusieurs scripts
    noautoload : ne pas charger automatiquement un ou plusieurs scripts
toggleautoload : activer/désactiver le chargement automatique
       install : installer/mettre à jour un ou plusieurs scripts
        remove : supprimer un ou plusieurs scripts
 installremove : installer ou supprimer un ou plusieurs scripts, selon l'état courant
          hold : figer/défiger un ou plusieurs scripts (un script figé ne sera plus mis à jour et ne peut pas être supprimé)
            -q : mode silencieux : ne pas afficher de messages
       upgrade : mettre à jour les scripts obsolètes (avec nouvelle version disponible)
        update : mettre à jour le cache local des scripts

Sans paramètre, cette commande ouvre un tampon avec la liste des scripts.

Sur le tampon des scripts, les statuts pour chaque script sont :
  * i a H r N
  | | | | | |
  | | | | | obsolète (nouvelle version disponible)
  | | | | chargé
  | | | figé
  | | chargé auto
  | installé
  script populaire

Les touches sur le tampon des scripts :
  alt+i  installer le script
  alt+r  supprimer le script
  alt+l  charger le script
  alt+L  recharger le script
  alt+u  décharger le script
  alt+A  chargement automatique du script
  alt+h  (dé)figer le script
  alt+v  voir le script

Entrée autorisée sur le tampon des scripts :
  i/r/l/L/u/h  action sur le script (identique aux touches ci-dessus)
  q            fermer le tampon
  $            rafraîchir le tampon
  s:x,y        trier le tampon en utilisant les clés x et y (voir /help script.look.sort)
  s:           réinitialiser le tri (utiliser le tri par défaut)
  word(s)      filtrer les scripts : recherche du/des mot(s) dans les scripts (description, étiquettes, ...)
  *            supprimer le filtre

Actions de la souris sur le tampon des scripts :
  roulette       faire défiler la liste
  bouton gauche  sélectionner le script
  bouton droit   installer/supprimer le script

Exemples :
  /script search url
  /script install iset.pl buffers.pl
  /script remove iset.pl
  /script hold urlserver.py
  /script reload urlserver
  /script upgrade

4.9.3. Commandes Python

python lister/charger/décharger des scripts
/python  list|listfull [<nom>]
         load [-q] <fichier>
         autoload
         reload|unload [-q] [<nom>]

    list : lister les scripts chargés
listfull : lister les scripts chargés (verbeux)
    load : charger un script
autoload : charger tous les scripts dans le répertoire "autoload"
  reload : recharger un script (si pas de nom donné, décharger tous les scripts puis charger tous les scripts dans le répertoire "autoload")
  unload : décharger un script (si pas de nom donné, décharger tous les scripts)
 fichier : script (fichier) à charger
     nom : nom de script (nom utilisé dans l'appel à la fonction "register")
      -q : mode silencieux : ne pas afficher de messages

Sans paramètre, cette commande liste les scripts chargés.

4.9.4. Commandes Perl

perl lister/charger/décharger des scripts
/perl  list|listfull [<nom>]
       load [-q] <fichier>
       autoload
       reload|unload [-q] [<nom>]

    list : lister les scripts chargés
listfull : lister les scripts chargés (verbeux)
    load : charger un script
autoload : charger tous les scripts dans le répertoire "autoload"
  reload : recharger un script (si pas de nom donné, décharger tous les scripts puis charger tous les scripts dans le répertoire "autoload")
  unload : décharger un script (si pas de nom donné, décharger tous les scripts)
 fichier : script (fichier) à charger
     nom : nom de script (nom utilisé dans l'appel à la fonction "register")
      -q : mode silencieux : ne pas afficher de messages

Sans paramètre, cette commande liste les scripts chargés.

4.9.5. Commandes Ruby

ruby lister/charger/décharger des scripts
/ruby  list|listfull [<nom>]
       load [-q] <fichier>
       autoload
       reload|unload [-q] [<nom>]

    list : lister les scripts chargés
listfull : lister les scripts chargés (verbeux)
    load : charger un script
autoload : charger tous les scripts dans le répertoire "autoload"
  reload : recharger un script (si pas de nom donné, décharger tous les scripts puis charger tous les scripts dans le répertoire "autoload")
  unload : décharger un script (si pas de nom donné, décharger tous les scripts)
 fichier : script (fichier) à charger
     nom : nom de script (nom utilisé dans l'appel à la fonction "register")
      -q : mode silencieux : ne pas afficher de messages

Sans paramètre, cette commande liste les scripts chargés.

4.9.6. Commandes Lua

lua lister/charger/décharger des scripts
/lua  list|listfull [<nom>]
      load [-q] <fichier>
      autoload
      reload|unload [-q] [<nom>]

    list : lister les scripts chargés
listfull : lister les scripts chargés (verbeux)
    load : charger un script
autoload : charger tous les scripts dans le répertoire "autoload"
  reload : recharger un script (si pas de nom donné, décharger tous les scripts puis charger tous les scripts dans le répertoire "autoload")
  unload : décharger un script (si pas de nom donné, décharger tous les scripts)
 fichier : script (fichier) à charger
     nom : nom de script (nom utilisé dans l'appel à la fonction "register")
      -q : mode silencieux : ne pas afficher de messages

Sans paramètre, cette commande liste les scripts chargés.

4.9.7. Commandes Tcl

tcl lister/charger/décharger des scripts
/tcl  list|listfull [<nom>]
      load [-q] <fichier>
      autoload
      reload|unload [-q] [<nom>]

    list : lister les scripts chargés
listfull : lister les scripts chargés (verbeux)
    load : charger un script
autoload : charger tous les scripts dans le répertoire "autoload"
  reload : recharger un script (si pas de nom donné, décharger tous les scripts puis charger tous les scripts dans le répertoire "autoload")
  unload : décharger un script (si pas de nom donné, décharger tous les scripts)
 fichier : script (fichier) à charger
     nom : nom de script (nom utilisé dans l'appel à la fonction "register")
      -q : mode silencieux : ne pas afficher de messages

Sans paramètre, cette commande liste les scripts chargés.

4.9.8. Commandes Guile

guile lister/charger/décharger des scripts
/guile  list|listfull [<nom>]
        load [-q] <fichier>
        autoload
        reload|unload [-q] [<nom>]

    list : lister les scripts chargés
listfull : lister les scripts chargés (verbeux)
    load : charger un script
autoload : charger tous les scripts dans le répertoire "autoload"
  reload : recharger un script (si pas de nom donné, décharger tous les scripts puis charger tous les scripts dans le répertoire "autoload")
  unload : décharger un script (si pas de nom donné, décharger tous les scripts)
 fichier : script (fichier) à charger
     nom : nom de script (nom utilisé dans l'appel à la fonction "register")
      -q : mode silencieux : ne pas afficher de messages

Sans paramètre, cette commande liste les scripts chargés.

4.10. Extension 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 le chapitre sur les Hooks dans la Référence API Extension WeeChat.

4.10.1. Options (trigger.conf)

Sections:

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: couleur du texte pour le drapeau de la commande (dans /trigger list)

    • type: couleur

    • valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias ; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour le gras, "!" pour la vidéo inverse, "/" pour l’italique, "_" pour le souligné (valeur par défaut: lightgreen)

  • trigger.color.flag_conditions

    • description: couleur du texte pour le drapeau des conditions (dans /trigger list)

    • type: couleur

    • valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias ; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour le gras, "!" pour la vidéo inverse, "/" pour l’italique, "_" pour le souligné (valeur par défaut: yellow)

  • trigger.color.flag_regex

    • description: couleur du texte pour le drapeaux de l'expression régulière (dans /trigger list)

    • type: couleur

    • valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias ; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour le gras, "!" pour la vidéo inverse, "/" pour l’italique, "_" pour le souligné (valeur par défaut: lightcyan)

  • trigger.color.flag_return_code

    • description: couleur du texte pour le drapeau du code retour (dans /trigger list)

    • type: couleur

    • valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias ; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour le gras, "!" pour la vidéo inverse, "/" pour l’italique, "_" pour le souligné (valeur par défaut: lightmagenta)

  • trigger.color.regex

    • description: couleur du texte pour les expressions régulières

    • type: couleur

    • valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias ; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour le gras, "!" pour la vidéo inverse, "/" pour l’italique, "_" pour le souligné (valeur par défaut: white)

  • trigger.color.replace

    • description: couleur du texte pour le texte de remplacement (pour les expressions régulières)

    • type: couleur

    • valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias ; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour le gras, "!" pour la vidéo inverse, "/" pour l’italique, "_" pour le souligné (valeur par défaut: cyan)

  • trigger.color.trigger

    • description: couleur du texte pour le nom du trigger

    • type: couleur

    • valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias ; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour le gras, "!" pour la vidéo inverse, "/" pour l’italique, "_" pour le souligné (valeur par défaut: green)

  • trigger.color.trigger_disabled

    • description: couleur du texte pour le nom du trigger désactivé

    • type: couleur

    • valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias ; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour le gras, "!" pour la vidéo inverse, "/" pour l’italique, "_" pour le souligné (valeur par défaut: red)

  • trigger.look.enabled

    • description: activer le support des triggers

    • type: booléen

    • valeurs: on, off (valeur par défaut: on)

  • trigger.look.monitor_strip_colors

    • description: supprimer les couleurs dans la table de hachage affichée sur le tampon moniteur

    • type: booléen

    • valeurs: on, off (valeur par défaut: off)

4.10.2. Commandes

trigger gestion des triggers, le couteau Suisse pour WeeChat
/trigger  list|listfull|listdefault
          add|addoff|addreplace <nom> <hook> ["<paramètres>" ["<conditions>" ["<regex>" ["<commande>" ["<code_retour>"]]]]]
          addinput [<hook>]
          input|output|recreate <nom>
          set <nom> <option> <valeur>
          rename|copy <nom> <nouveau_nom>
          enable|disable|toggle [<nom>|-all [<nom>...]]
          restart <nom>|-all [<nom>...]
          show <nom>
          del <nom>|-all [<nom>...]
          default -yes
          monitor [<filtre>]

       list : lister les triggers (sans paramètre, cette liste est affichée)
   listfull : lister les triggers avec des informations détaillées pour chaque trigger
listdefault : lister les triggers par défaut
        add : ajouter un trigger
     addoff : ajouter un trigger (désactivé)
 addreplace : ajouter ou remplacer un trigger existant
        nom : nom du trigger
       hook : signal, hsignal, modifier, print, command, command_run, timer, config, focus
 paramètres : paramètres pour le hook, dépendant du hook (séparés par des points-virgules) :
              signal : nom(s) de signal (obligatoire)
              hsignal : nom(s) de signal (obligatoire)
              modifier : nom(s) de modificateur (obligatoire)
              print : tampon, étiquettes, message, suppression des couleurs (0/1)
              command : commande (obligatoire), description, paramètres, description des paramètres, complétion
              command_run : commande(s) (obligatoire)
              timer : intervalle (obligatoire), alignement sur la seconde, nombre max d'appels
              config : nom(s) de l'option (obligatoire)
              focus : nom(s) de la zone (obligatoire)
 conditions : conditions évaluées pour le trigger
      regex : une ou plusieurs expressions régulières pour remplacer des chaînes dans les variables
   commande : commande à exécuter (plusieurs commandes peuvent être séparées par ";")
code_retour : code retour dans le callback (ok (par défaut), ok_eat, error)
   addinput : définir la ligne de commande avec les paramètres par défaut pour créer un trigger
      input : définir la ligne de commande utilisée pour créer le trigger
     output : envoyer la commande pour créer le trigger sur le tampon
   recreate : comme "input", avec l'option "addreplace" au lieu de "add"
        set : définir une option dans un trigger
     option : nom de l'option : name, hook, arguments, conditions, regex, command, return_code
              (pour l'aide sur l'option, vous pouvez taper : /help trigger.trigger.<nom>.<option>)
     valeur : nouvelle valeur pour l'option
     rename : renommer un trigger
       copy : copier un trigger
     enable : activer un/des trigger(s) (sans paramètre : activer les triggers globalement)
    disable : désactiver un/des trigger(s) (sans paramètre : désactiver les triggers globalement)
     toggle : activer/désactiver un/des trigger(s) (sans paramètre : activer/désactiver les triggers globalement)
    restart : redémarrer un/des trigger(s) (recréer les hooks)
       show : afficher des informations détaillées sur un trigger (avec quelques statistiques)
        del : supprimer un trigger
       -all : effectuer l'action sur tous les triggers
    default : restaurer les triggers par défaut
    monitor : ouvrir le tampon moniteur des triggers
     filtre : filtrer les hooks/triggers à afficher (un hook doit commencer par "@", par exemple "@signal"), plusieurs filtres peuvent être séparés par des virgules ; le caractère joker "*" est autorisé dans chaque nom de trigger

Lorsqu'un callback de trigger est appelé, les actions suivantes sont exécutées, dans cet ordre :
  1. vérifier les conditions ; si faux, sortir
  2. remplacer le texte en utilisant une/des expression(s)s régulière(s)s POSIX étendue(s)s (si définie(s) dans le trigger)
  3. exécuter le(s) commande(s) (si définie(s) dans le trigger)
  4. sortir avec le code retour (sauf pour les modificateurs et focus)

Exemples (vous pouvez aussi regarder les triggers par défaut avec /trigger listdefault) :
  ajouter des attributs *gras*, _souligné_ et /italique/ (seulement dans les messages d'utilisateurs) :
    /trigger add effects modifier weechat_print "${tg_tag_nick}" "==\*(\S+)\*==*${color:bold}$1${color:-bold}*== ==_(\S+)_==_${color:underline}$1${color:-underline}_== ==/(\S+)/==/${color:italic}$1${color:-italic}/"
  cacher la barre de pseudos sur les petits terminaux :
    /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"
  sauver la configuration chaque heure (de manière silencieuse) :
    /trigger add cfgsave timer 3600000;0;0 "" "" "/mute /save"
  ouvrir le tampon moniteur des triggers et afficher seulement les modificateurs et les triggers dont le nom commence par "resize" :
    /trigger monitor @modifier,resize*

4.10.3. 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, print, command, command_run, timer, config, focus

Le "hook" utilisé dans le trigger. Pour plus d’information, voir le chapitre Hooks dans la Référence API Extension WeeChat.

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 le callback 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 du callback (ok 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_highlight} || ${tg_msg_pv}"
trigger.trigger.beep.regex = ""
trigger.trigger.beep.command = "/print -beep"
trigger.trigger.beep.return_code = ok

4.10.4. Exécution

Lorsque le callback d’un trigger est appelé, 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 et focus).

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

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

hsignal

1. nom de signal (priorité autorisée) (obligatoire)
2. nom de signal (priorité autorisée)
3. …

nicklist_nick_added

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

print

1. nom de tampon
2. étiquettes
3. message
4. suppression des couleurs (0/1)

irc.freenode.*
irc.freenode.#weechat
irc.freenode.#weechat;irc_notice
*;;;1

command

1. nom de commande (priorité autorisée) (obligatoire)
2. description
3. paramètres
4. description des paramètres
5. complétion

test
5000|test

command_run

1. commande (priorité autorisée) (obligatoire)
2. commande (priorité autorisée)
3. …

/cmd paramètres

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

config

1. nom d’option (priorité autorisée) (obligatoire)
2. nom d’option (priorité autorisée)
3. …

weechat.look.*

focus

1. nom d’aire (priorité autorisée) (obligatoire)
2. nom d’aire (priorité autorisée)
3. …

buffer_nicklist

4.10.6. 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 le callback 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_highlight} || ${tg_msg_pv}

4.10.7. Expression régulière

L’expression régulière est utilisée pour modifier des variables dans la table de hachage du callback.

Le format est : "/regex/remplacement" ou "/regex/remplacement/var" (où var est une variable de la table de hachage).
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

signal

tg_signal_data

hsignal

modifier

tg_string

print

tg_message

command

tg_argv_eol1

command_run

tg_command

timer

tg_remaining_calls

config

tg_value

focus

Plusieurs expressions régulières peuvent être séparées par un espace, par exemple : "/regex1/remplacement1/var1 /regex2/remplacement2/var2".

Le caractère "/" peut être remplacé par tout caractère (un ou plusieurs caractères identiques).

Les groupes de correspondance peuvent être utilisés dans le "remplacement" :

  • $0 à $99 : $0 est la correspondance complète, $1 à $99 sont les groupes capturés

  • $+ : la dernière correspondance (avec le numéro le plus élevé)

  • $.cN : la correspondance "N" avec tous les caractères remplacés par "c" (exemple : $.*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}$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 *) :

==^(/(server|connect) .*-(sasl_)?password=)(\S+)(.*)==$1$.*4$5
Note
Dans cet exemple, le séparateur utilisé est "==" car il y a "/" dans l’expression régulière.

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

4.10.9. Données dans les callbacks

Les données reçues dans les callbacks 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
Signal

Le callback "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

server

chaîne

Nom du serveur (exemple : "freenode")

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

Commane IRC (exemple : "PRIVMSG", "NOTICE", …)

channel

chaîne

Canal IRC

arguments

chaîne

Paramètres de la commande (inclut la valeur de channel)

Hsignal

Le callback "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

Le callback "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).

Print

Le callback "print" définit les variables suivantes dans la table de hachage :

Variable Type Description

buffer

pointeur

Buffer

tg_date

chaîne

Date/heure du message (format : YYYY-MM-DD hh:mm:ss)

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 (elles sont définies aussi pour le modificateur weechat_print) :

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@hte (depuis l'étiquette "host_xxx")

tg_tag_notify

chaîne

Niveau de notification (none, message, private, highlight)

tg_notify

chaîne

Niveau de notification, si différent de none

tg_msg_pv

chaîne

"1" pour un message privé, sinon "0"

Command

Le callback "command" définit les variables suivantes dans la table de hachage :

Variable Type Description

buffer

pointeur

Tampon

tg_argvN

chaîne

Paramètre n°N

tg_argv_eolN

chaîne

Depuis le paramètre n°N jusqu'à la fin des paramètres

Command_run

Le callback "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

Le callback "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 : YYYY-MM-DD hh:mm:ss)

Config

Le callback "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

Le callback "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).

4.10.10. Exemples

Couleur pour les URLs

Afficher les URLs en vert :

/trigger add url_color modifier weechat_print "${tg_notify}" "==\S+://\S+==${color:green}$0${color:reset}=="
Note
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, le callback est appelé 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").

4.11. Extension 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

4.11.1. Options (xfer.conf)

Sections :

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: couleur du texte pour le statut "interrompu"

    • type: couleur

    • valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias ; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour le gras, "!" pour la vidéo inverse, "/" pour l’italique, "_" pour le souligné (valeur par défaut: lightred)

  • xfer.color.status_active

    • description: couleur du texte pour le statut "actif"

    • type: couleur

    • valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias ; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour le gras, "!" pour la vidéo inverse, "/" pour l’italique, "_" pour le souligné (valeur par défaut: lightblue)

  • xfer.color.status_connecting

    • description: couleur du texte pour le statut "connexion"

    • type: couleur

    • valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias ; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour le gras, "!" pour la vidéo inverse, "/" pour l’italique, "_" pour le souligné (valeur par défaut: yellow)

  • xfer.color.status_done

    • description: couleur du texte pour le statut "terminé"

    • type: couleur

    • valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias ; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour le gras, "!" pour la vidéo inverse, "/" pour l’italique, "_" pour le souligné (valeur par défaut: lightgreen)

  • xfer.color.status_failed

    • description: couleur du texte pour le statut "échoué"

    • type: couleur

    • valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias ; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour le gras, "!" pour la vidéo inverse, "/" pour l’italique, "_" pour le souligné (valeur par défaut: lightred)

  • xfer.color.status_waiting

    • description: couleur du texte pour le statut "en attente"

    • type: couleur

    • valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias ; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour le gras, "!" pour la vidéo inverse, "/" pour l’italique, "_" pour le souligné (valeur par défaut: lightcyan)

  • xfer.color.text

    • description: couleur du texte dans le tampon xfer

    • type: couleur

    • valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias ; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour le gras, "!" pour la vidéo inverse, "/" pour l’italique, "_" pour le souligné (valeur par défaut: default)

  • xfer.color.text_bg

    • description: couleur du fond dans le tampon xfer

    • type: couleur

    • valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias ; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour le gras, "!" pour la vidéo inverse, "/" pour l’italique, "_" pour le souligné (valeur par défaut: default)

  • xfer.color.text_selected

    • description: couleur du texte pour la ligne sélectionnée dans le tampon xfer

    • type: couleur

    • valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias ; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour le gras, "!" pour la vidéo inverse, "/" pour l’italique, "_" pour le souligné (valeur par défaut: white)

  • xfer.file.auto_accept_chats

    • description: accepte automatiquement les demandes de discussion (à utiliser avec précaution !)

    • type: booléen

    • valeurs: on, off (valeur par défaut: off)

  • xfer.file.auto_accept_files

    • description: accepte automatiquement les demandes d'envoi de fichiers (à utiliser avec précaution !)

    • type: booléen

    • valeurs: on, off (valeur par défaut: off)

  • xfer.file.auto_accept_nicks

    • description: liste de pseudos (séparés par des virgules) pour lesquels les demandes d'envoi de fichiers et de discussion sont automatiquement acceptées ; le format est "serveur.pseudo" (pour un serveur spécifique) ou "pseudo" (pour tous les serveurs) ; exemple : "freenode.FlashCode,andrew"

    • type: chaîne

    • valeurs: toute chaîne (valeur par défaut: "")

  • xfer.file.auto_check_crc32

    • description: vérifier automatiquement la somme de contrôle CRC32 du fichier si elle est trouvée dans le nom de fichier (8 caractères hexadécimaux)

    • type: booléen

    • valeurs: on, off (valeur par défaut: off)

  • xfer.file.auto_rename

    • description: renommer les fichiers reçus s'ils existent déjà (ajoute ".1", ".2", ...)

    • type: booléen

    • valeurs: on, off (valeur par défaut: on)

  • xfer.file.auto_resume

    • description: continuer automatiquement les transferts de fichiers si la connexion avec l'hôte a été perdue

    • type: booléen

    • valeurs: on, off (valeur par défaut: on)

  • xfer.file.convert_spaces

    • description: convertir les espaces en underscores lors de l'envoi et la réception de fichiers

    • type: booléen

    • valeurs: on, off (valeur par défaut: on)

  • xfer.file.download_path

    • description: chemin où écrire les fichiers reçus ("%h" sera remplacé par le répertoire de base WeeChat, par défaut : "~/.weechat")

    • type: chaîne

    • valeurs: toute chaîne (valeur par défaut: "%h/xfer")

  • xfer.file.upload_path

    • description: chemin pour lire les fichiers envoyés (quand aucun chemin n'est spécifié par l'utilisateur) ("%h" sera remplacé par le répertoire de base WeeChat, par défaut : "~/.weechat")

    • type: chaîne

    • valeurs: toute chaîne (valeur par défaut: "~")

  • xfer.file.use_nick_in_filename

    • description: utiliser le pseudo distant comme préfixe dans le nom de fichier local lors de la réception d'un fichier

    • type: booléen

    • valeurs: on, off (valeur par défaut: on)

  • xfer.look.auto_open_buffer

    • description: ouvrir automatiquement le tampon xfer lorsqu'un nouveau xfer est ajouté à la liste

    • type: booléen

    • valeurs: on, off (valeur par défaut: on)

  • xfer.look.progress_bar_size

    • description: taille de la barre de progression, en caractères (si 0, la barre de progression est désactivée)

    • type: entier

    • valeurs: 0 .. 256 (valeur par défaut: 20)

  • xfer.look.pv_tags

    • description: liste des étiquettes (séparées par des virgules) utilisées dans les messages privés, par exemple : "notify_message", "notify_private" ou "notify_highlight"

    • type: chaîne

    • valeurs: toute chaîne (valeur par défaut: "notify_private")

  • xfer.network.blocksize

    • description: taille de bloc pour les paquets envoyés, en octets

    • type: entier

    • valeurs: 1024 .. 102400 (valeur par défaut: 65536)

  • xfer.network.fast_send

    • description: n'attend pas les accusés de réception lors de l'envoi de fichier

    • type: booléen

    • valeurs: on, off (valeur par défaut: on)

  • xfer.network.own_ip

    • description: adresse IP ou DNS utilisée pour envoyer les fichiers/discussions (si non renseigné, l'interface IP locale est utilisée)

    • type: chaîne

    • valeurs: toute chaîne (valeur par défaut: "")

  • xfer.network.port_range

    • description: restreint les fichiers/discussions sortants à utiliser des ports dans l'intervalle donné (pratique pour le NAT) (syntaxe : un port simple, par exemple 5000, un intervalle de ports, par exemple 5000-5015, si non renseigné tout port peut être utilisé, il est recommandé d'utiliser des ports supérieurs à 1024, car seul root peut utiliser les ports en dessous de 1024)

    • type: chaîne

    • valeurs: toute chaîne (valeur par défaut: "")

  • xfer.network.speed_limit

    • description: limitation de vitesse pour l'envoi des fichiers, en kilo-octets par seconde (0 signifie pas de limite)

    • type: entier

    • valeurs: 0 .. 2147483647 (valeur par défaut: 0)

  • xfer.network.timeout

    • description: délai d'attente pour la requête xfer (en secondes)

    • type: entier

    • valeurs: 5 .. 2147483647 (valeur par défaut: 300)

4.11.2. Commandes

me envoyer une action CTCP à l’hôte distant
/me  <message>

message : message à envoyer
xfer contrôle xfer
/xfer  [list|listfull]

    list : lister les xfer
listfull : lister les xfer (verbeux)

Sans paramètre, cette commande ouvre le tampon avec la liste des xfer.

5. Support

Avant de faire appel au support, merci de lire la documentation et la FAQ de WeeChat (la documentation est le document que vous êtes en train de lire, si vous n’avez pas tout lu jusqu’ici, il est encore temps de recommencer !).

Moyens d’obtenir du support :