# Guide de démarrage rapide WeeChat

Sébastien Helleu
flashcode@flashtux.org
version 4.3.5

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

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

    /help

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

    /help commande

L’aide est également disponible pour les options :

    /help config.section.option

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

## 3. Modifier les options

Pour modifier des options, tapez :

    /set config.section.option valeur

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

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.

L’extension fset vous permet de parcourir les options facilement et de les modifier.

Par exemple pour afficher les options WeeChat :

    /fset weechat.*

Les options IRC :

    /fset irc.*

La commande `/fset` a la complétion sur les bouts de noms d’options, donc par exemple si vous tapez `/fset hot` et appuyez sur `Tab` cela est complété en `/fset hotlist`. Si vous appuyez sur `Enter`, les options sur la hotlist sont affichées.

Pour plus d’informations sur la commande `/fset` et les touches, voir `/help fset`.

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

## 5. Ajouter un serveur IRC

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

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

Dans cette commande, `libera` est le nom interne du serveur utilisé par WeeChat : vous pourrez vous connecter avec `/connect libera` et les options du serveur sont irc.server.libera.xxx.

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

    /help server

## 6. 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 libera avec la commande suivante :

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

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

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

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

    /set irc.server.libera.autoconnect 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.libera.sasl_username "pseudo"
    /set irc.server.libera.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.libera.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 libera :

    /secure set libera_password xxxxxxx

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

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

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

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

La commande `/autojoin` vous permet de configurer l’option autojoin facilement (voir `/help autojoin`).

Vous pouvez aussi configurer WeeChat pour automatiquement mettre à jour l’option autojoin lorsque vous rejoignez ou quittez des canaux :

    /set irc.server_default.autojoin_dynamic on

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

    /unset irc.server.libera.nicks

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

    /set irc.server.libera.xxx valeur

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

## 7. Se connecter au serveur IRC

    /connect libera

Avec cette commande, WeeChat se connecte au serveur libera et rejoint automatiquement les canaux configurés dans l’option "autojoin" du serveur.

| Cette commande peut aussi être utilisée pour créer et se connecter au serveur sans utiliser la commande `/server` (voir `/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

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

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

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

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

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

- `F1` / `F2` : faire défiler la barre avec la liste des tampons ("buflist")

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

## 12. 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 sur cette page ↗.

## 13. Plus de documentation

Vous pouvez maintenant utiliser WeeChat et lire la FAQ/documentation ↗ pour toute autre question.

Bon WeeChat !