1. Démarrer WeeChat

Un émulateur de terminal recommandé pour X (mais pas obligatoire) est rxvt-unicode : il a un bon support UTF-8, et aucun problème avec les touches par défaut.

Lancer depuis votre shell :

$ weechat

2. Aide en ligne / options

WeeChat dispose d’aide pour toutes les commandes, tapez simplement :

/help

Pour avoir de l’aide sur une commande, tapez :

/help commande

Pour modifier des options, tapez :

/set config.section.option valeur

(où config est le nom de la configuration (weechat pour le cœur, ou un nom d’extension), section la section de cette configuration et option le nom de l’option).

WeeChat utilise immédiatement la nouvelle valeur (vous n’avez jamais besoin de redémarrer WeeChat après avoir changé la configuration).

Vous pouvez utiliser /set avec un nom partiel d’option et le caractère joker "*" au début ou à la fin pour afficher toutes les options contenant ces lettres.

Par exemple :

  • Afficher toutes les options (WeeChat et extensions) :

/set
  • Afficher les options WeeChat :

/set weechat.*
  • Afficher les options de l’extension IRC :

/set irc.*

Vous pouvez afficher de l’aide sur une option avec /help, par exemple :

/help weechat.look.highlight

Toutes les options sont sauvées quand WeeChat quitte (ou avec la commande /save pour forcer une écriture des options).

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

3. Cœur vs extensions

Le cœur de WeeChat ("core") ne fait qu’afficher les données à l’écran et interagir avec l’utilisateur, cela signifie que le cœur sans extension n’a pas grand intérêt (utilisateurs fidèles : IRC faisait partie du cœur dans les versions ≤ 0.2.6).

Tous les protocoles réseau comme IRC sont fournis sous forme d’extensions.

Utilisez la commande /plugin pour voir les extensions chargées, vous devriez voir "irc" et d’autres extensions dans cette liste.

4. Ajouter un serveur IRC

Vous pouvez ajouter un serveur IRC avec la commande /server, par exemple :

/server add freenode chat.freenode.net

Comme d’habitude, de l’aide est disponible si vous êtes perdus :

/help server

5. Définir les options du serveur IRC

WeeChat utilise des valeurs par défaut pour tous les serveurs, si vous ne spécifiez pas de valeur spécifique pour une option de serveur. Ces options par défaut sont "irc.server_default.*".

Pour chaque option d’un serveur, WeeChat utilise sa valeur si elle est définie (non "null"). Sinon WeeChat utilise la valeur par défaut ("irc.server_default.xxx").

Par exemple il y a des pseudos par défaut (basés sur votre login un*x), et vous pouvez les écraser pour le serveur freenode avec la commande suivante :

/set irc.server.freenode.nicks "pseudo,pseudo2,pseudo3,pseudo4,pseudo5"

Pour modifier le nom d’utilisateur et nom réel :

/set irc.server.freenode.username "Mon nom d'utilisateur"
/set irc.server.freenode.realname "Mon nom réel"

Pour activer la connexion automatique au serveur lors du démarrage :

/set irc.server.freenode.autoconnect on

Pour se connecter avec SSL :

/set irc.server.freenode.addresses "chat.freenode.net/7000"
/set irc.server.freenode.ssl on

Si SASL est disponible sur le serveur, vous pouvez l’utiliser pour l’authentification (vous serez identifié avant de rejoindre les canaux) :

/set irc.server.freenode.sasl_username "pseudo"
/set irc.server.freenode.sasl_password "xxxxxxx"

Pour lancer une commande après connexion au serveur, par exemple pour s’authentifier auprès de nickserv (seulement si vous n’utilisez pas SASL pour l’authentification) :

/set irc.server.freenode.command "/msg nickserv identify xxxxxxx"
Plusieurs commandes dans l’option command peuvent être séparées par ; (point-virgule).

Si vous souhaitez protéger votre mot de passe dans les fichiers de configuration, vous pouvez utiliser les données sécurisées.

Définissez d’abord une phrase de chiffrement :

/secure passphrase this is my secret passphrase

Puis ajoutez une donnée sécurisée avec votre mot de passe freenode :

/secure set freenode_password xxxxxxx

Vous pouvez alors utiliser ${sec.data.freenode_password} au lieu de votre mot de passe dans les options IRC mentionnées ci-dessus, par exemple :

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

Pour rejoindre automatiquement des canaux lors de la connexion au serveur :

/set irc.server.freenode.autojoin "#canal1,#canal2"
Vous pouvez compléter le nom et la valeur des options avec la touche Tab et Shift+Tab pour une complétion partielle (utile pour les mots longs comme le nom de l’option).

Pour supprimer la valeur d’une option du serveur et utiliser sa valeur par défaut à la place, par exemple pour utiliser les pseudos par défaut (irc.server_default.nicks) :

/set irc.server.freenode.nicks null

Autres options : vous pouvez modifier les autres options avec la commande suivante ("xxx" est le nom d’une option) :

/set irc.server.freenode.xxx valeur

6. Se connecter au serveur IRC et rejoindre les canaux

/connect freenode
Cette commande peut aussi être utilisée pour créer et se connecter au serveur sans utiliser la commande /server (dois-je répéter que vous pouvez voir l’aide pour cette commande avec /help connect ?).

Par défaut, les tampons des serveurs sont mélangés avec le tampon core WeeChat. Pour basculer entre le tampon core et les tampons des serveurs, il faut utiliser la touche Ctrl+x.

Il est possible de désactiver le mélange des tampons serveurs pour avoir un tampon distinct par serveur :

/set irc.look.server_buffer independent

7. Rejoindre/quitter les canaux IRC

Rejoindre un canal :

/join #channel

Quitter un canal (en laissant le tampon ouvert) :

/part [message de fin]

Fermer un tampon serveur, canal ou privé (/close est un alias sur /buffer close) :

/close
Fermer le tampon du serveur fermera tous les tampons canaux/privés.

Se déconnecter du serveur, sur le tampon du serveur :

/disconnect

8. Messages privés IRC

Ouvrir un tampon et envoyer un message à un autre utilisateur (pseudo foo) :

/query foo ceci est un message

Fermer le tampon privé :

/close

9. Gérer les tampons/fenêtres

Un tampon ("buffer") est un composant lié à une extension, avec une catégorie et un nom. Le tampon contient les données affichées à l’écran.

Une fenêtre ("window") est une vue sur un tampon. Par défaut il n’y a qu’une fenêtre affichant un tampon. Si vous divisez l’écran, vous verrez alors plusieurs fenêtres avec plusieurs tampons en même temps.

Commandes pour gérer les tampons et les fenêtres :

/buffer
/window

(je ne répéterai pas que vous pouvez avoir de l’aide sur ces commandes avec /help)

Par exemple, pour découper verticalement l’écran en une petite fenêtre (1/3 de la largeur) et une large (2/3), utilisez la commande :

/window splitv 33

Pour supprimer le découpage :

/window merge

10. Raccourcis clavier

WeeChat utilise un certain nombre de touches par défaut. Toutes ces touches sont dans la documentation, mais vous devriez connaître au moins les touches vitales :

  • Alt+ / Alt+ ou F5 / F6 : aller au tampon précédent/suivant

  • F7 / F8 : aller à la fenêtre précédente/suivante (quand l’écran est divisé)

  • F9 / F10 : faire défiler la barre de titre

  • F11 / F12 : faire défiler la liste des pseudos

  • Tab : compléter le texte de la barre d’entrée, comme avec votre shell

  • PgUp / PgDn : faire défiler le texte dans le tampon courant

  • Alt+a : sauter au tampon avec de l’activité (dans la "hotlist")

Selon votre clavier et/ou vos besoins, vous pouvez associer n’importe quelle touche à une commande avec la commande /key. Une touche utile est Alt+k pour trouver le code des touches.

Par exemple, pour associer Alt+! à la commande /buffer close :

/key bind (pressez alt-k) (pressez alt-!) /buffer close

Vous aurez une ligne de commande qui ressemble à ceci :

/key bind meta-! /buffer close

Pour enlever la touche :

/key unbind meta-!

11. Extensions/scripts

Sur certaines distributions comme Debian, les extensions sont disponibles via un paquet séparé (par exemple weechat-plugins). Les extensions sont automatiquement chargées lorsqu’elles sont trouvées (merci de regarder la documentation WeeChat pour charger/décharger des extensions ou des scripts).

De nombreux scripts externes (de contributeurs) sont disponibles pour WeeChat, vous pouvez télécharger et installer les scripts avec la commande /script, par exemple :

/script install go.py

Voir /help script pour plus d’infos.

Une liste des scripts est disponible avec /script ou à cette URL : https://weechat.org/scripts

12. Plus de documentation

Vous pouvez maintenant utiliser WeeChat et lire la FAQ/documentation pour toute autre question : https://weechat.org/doc

Bon WeeChat !