4756 lines
186 KiB
Plaintext
4756 lines
186 KiB
Plaintext
= Guide utilisateur WeeChat
|
||
:author: Sébastien Helleu
|
||
:email: flashcode@flashtux.org
|
||
:lang: fr
|
||
:toc: left
|
||
:toclevels: 4
|
||
:toc-title: Table des matières
|
||
:sectnums:
|
||
:sectnumlevels: 3
|
||
:docinfo1:
|
||
|
||
|
||
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 :
|
||
https://weechat.org/doc
|
||
|
||
|
||
[[introduction]]
|
||
== 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.
|
||
|
||
[[features]]
|
||
=== Fonctionnalités
|
||
|
||
Ses principales fonctionnalités sont les suivantes :
|
||
|
||
* multi-protocoles (principalement IRC)
|
||
* 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
|
||
https://tools.ietf.org/html/rfc1459[1459],
|
||
https://tools.ietf.org/html/rfc2810[2810],
|
||
https://tools.ietf.org/html/rfc2811[2811],
|
||
https://tools.ietf.org/html/rfc2812[2812] et
|
||
https://tools.ietf.org/html/rfc2813[2813]
|
||
* proxy IRC et relai pour interfaces distantes
|
||
* multi plates-formes (GNU/Linux, *BSD, macOS, Windows et d'autres systèmes)
|
||
* 100% GPL, logiciel libre
|
||
|
||
La page d'accueil de WeeChat est ici : https://weechat.org/
|
||
|
||
[[prerequisites]]
|
||
=== Prérequis
|
||
|
||
Pour installer WeeChat, vous devez avoir :
|
||
|
||
* un système GNU/Linux (avec le compilateur et les outils associés pour le
|
||
paquet des sources), ou un système compatible
|
||
* droits "root" (pour installer WeeChat dans un répertoire système)
|
||
* quelques bibliothèques (voir les <<dependencies,dépendances>>).
|
||
|
||
[[install]]
|
||
== Installation
|
||
|
||
[[binary_packages]]
|
||
=== Paquets binaires
|
||
|
||
Les paquets binaires sont disponibles pour beaucoup de distributions, dont :
|
||
|
||
* Arch Linux : `pacman -S weechat`
|
||
* Cygwin (Windows) : sélectionnez les paquets WeeChat dans setup.exe
|
||
* Debian/Ubuntu (ou toute distribution compatible Debian) :
|
||
`apt-get install weechat-curses weechat-plugins` +
|
||
Pour les dernières versions et les constructions nocturnes :
|
||
https://weechat.org/download/debian
|
||
* Fedora Core : `dnf install weechat`
|
||
* Gentoo : `emerge weechat`
|
||
* Mandriva/RedHat (ou toute distribution compatible avec les RPM) :
|
||
`rpm -i /path/to/weechat-x.y.z-1.i386.rpm`
|
||
* openSUSE : `zypper in weechat`
|
||
* Sourcemage : `cast weechat`
|
||
|
||
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.
|
||
|
||
[[source_package]]
|
||
=== Paquet source
|
||
|
||
WeeChat peut être compilé avec CMake ou les autotools (CMake est la méthode
|
||
recommandée).
|
||
|
||
[NOTE]
|
||
Sous macOS, vous pouvez utiliser https://brew.sh/[Homebrew] :
|
||
`brew install weechat` (pour l'aide : `brew info weechat`).
|
||
|
||
[[dependencies]]
|
||
==== Dépendances
|
||
|
||
Le tableau suivant liste les paquets qui sont *requis* pour compiler WeeChat :
|
||
|
||
[width="100%",cols="5,^3,.^15",options="header"]
|
||
|===
|
||
| Paquet ^(1)^ | Version | Fonctionnalité
|
||
| compilateur C
|
||
(gcc, clang, ...) | | Construction.
|
||
| cmake | ≥ 3.0 | Construction (autotools toujours possible, mais CMake est recommandé).
|
||
| pkg-config | | Détection des bibliothèques installées.
|
||
| libncursesw5-dev ^(2)^ | | Interface ncurses.
|
||
| libcurl4-gnutls-dev | | Transfert d'URL.
|
||
| zlib1g-dev | | Compression des paquets dans l'extension relay (protocole weechat), extension script.
|
||
| libgcrypt20-dev | | Données sécurisées, authentification IRC SASL (DH-BLOWFISH/DH-AES).
|
||
| libgnutls28-dev | ≥ 2.2.0 ^(3)^ | Connexion SSL au serveur IRC, support SSL dans l'extension relay, authentification IRC SASL (ECDSA-NIST256P-CHALLENGE).
|
||
|===
|
||
|
||
[NOTE]
|
||
^(1)^ Le nom provient de la distribution GNU/Linux Debian, la version dans le
|
||
nom du paquet peut être différente. +
|
||
^(2)^ Il est recommandé de compiler avec libncurses**w**5-dev (le *w* est
|
||
important). WeeChat peut compiler avec libncurses5-dev, but ce n'est *PAS*
|
||
recommandé : vous pourriez avoir des bugs d'affichage avec les caractères
|
||
larges. +
|
||
^(3)^ GnuTLS ≥ 3.0.21 est requis pour l'authentification SASL avec le mécanisme
|
||
ECDSA-NIST256P-CHALLENGE.
|
||
|
||
Le tableau suivant liste les paquets qui sont optionnels pour compiler WeeChat :
|
||
|
||
[width="100%",cols="5,^3,.^15",options="header"]
|
||
|===
|
||
| Paquet | Version | Fonctionnalité
|
||
| compilateur C++ | | Construction et lancement des tests, extension JavaScript.
|
||
| gettext | | Internationalisation (traduction des messages ; la langue de base est l'anglais).
|
||
| ca-certificates | | Certificats pour les connexions SSL.
|
||
| libaspell-dev
|
||
∥ libenchant-dev | | Extension spell.
|
||
| python3-dev ^(1)^ | | Extension python.
|
||
| libperl-dev | | Extension perl.
|
||
| ruby2.5, ruby2.5-dev | ≥ 1.9.1 | Extension ruby.
|
||
| liblua5.3-dev | | Extension lua.
|
||
| tcl-dev | ≥ 8.5 | Extension tcl.
|
||
| guile-2.0-dev | ≥ 2.0 | Extension guile (scheme).
|
||
| libv8-dev | ≤ 3.24.3 | Extension javascript.
|
||
| php-dev, libphp-embed | ≥ 7.0 | Extension PHP.
|
||
| libxml2-dev | | Extension PHP.
|
||
| libargon2-0-dev | | Extension PHP (si PHP ≥ 7.2).
|
||
| libsodium-dev | | Extension PHP (si PHP ≥ 7.2).
|
||
| asciidoctor | ≥ 1.5.4 | Construction de la page man et de la documentation.
|
||
| libcpputest-dev | ≥ 3.4 | Construction et lancement des tests.
|
||
|===
|
||
|
||
[NOTE]
|
||
^(1)^ Par défaut Python 3.x est utilisé. Si vous activez l'option
|
||
`+ENABLE_PYTHON2+` (voir ci-dessous), seule la version 2.7 de Python est
|
||
recommandée.
|
||
|
||
Si vous utilisez une distribution basée sur Debian ou Ubuntu, et si vous avez
|
||
des entrées source "deb-src" dans votre fichier _/etc/apt/sources.list_, vous
|
||
pouvez installer toutes les dépendances avec la commande :
|
||
|
||
----
|
||
# apt-get build-dep weechat
|
||
----
|
||
|
||
[[compile_with_cmake]]
|
||
==== Compilation avec CMake
|
||
|
||
* Installation dans les répertoires systèmes (nécessite les droits _root_) :
|
||
|
||
----
|
||
$ mkdir build
|
||
$ cd build
|
||
$ cmake ..
|
||
$ make
|
||
$ sudo make install
|
||
----
|
||
|
||
* Installation dans un répertoire spécifique (par exemple dans votre "home") :
|
||
|
||
----
|
||
$ mkdir build
|
||
$ cd build
|
||
$ cmake .. -DCMAKE_INSTALL_PREFIX=/chemin/vers/répertoire
|
||
$ make
|
||
$ make install
|
||
----
|
||
|
||
Des options peuvent être utilisées pour CMake, avec le format : "-DOPTION=VALUE".
|
||
|
||
Liste des options couramment utilisées :
|
||
|
||
[width="100%",cols="2m,2,5m,12",options="header"]
|
||
|===
|
||
| Option | Valeurs | Valeur par défaut | Description
|
||
|
||
| CMAKE_BUILD_TYPE | `Debug`, `Release`, `RelWithDebInfo`, `MinSizeRel` | |
|
||
Type de construction : `Debug` (ou `RelWithDebInfo`) est recommandé si vous
|
||
utilisez une version de développement de WeeChat.
|
||
|
||
| CMAKE_INSTALL_PREFIX | répertoire | /usr/local |
|
||
Le répertoire dans lequel WeeChat sera installé.
|
||
|
||
| WEECHAT_HOME | répertoire | ~/.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
|
||
<<option_weechat.network.gnutls_ca_file,weechat.network.gnutls_ca_file>>.
|
||
|
||
| ENABLE_ALIAS | `ON`, `OFF` | ON |
|
||
Compiler <<alias_plugin,l'extension Alias>>.
|
||
|
||
| ENABLE_BUFLIST | `ON`, `OFF` | ON |
|
||
Compiler <<buflist_plugin,l'extension Buflist>>.
|
||
|
||
| ENABLE_CHARSET | `ON`, `OFF` | ON |
|
||
Compiler <<charset_plugin,l'extension Charset>>.
|
||
|
||
| ENABLE_MAN | `ON`, `OFF` | OFF |
|
||
Construire la page man.
|
||
|
||
| ENABLE_DOC | `ON`, `OFF` | OFF |
|
||
Construire la documentation HTML.
|
||
|
||
| ENABLE_ENCHANT | `ON`, `OFF` | OFF |
|
||
Compiler <<spell_plugin,l'extension Spell>> avec Enchant.
|
||
|
||
| ENABLE_EXEC | `ON`, `OFF` | ON |
|
||
Compiler <<exec_plugin,l'extension Exec>>.
|
||
|
||
| ENABLE_FIFO | `ON`, `OFF` | ON |
|
||
Compiler <<fifo_plugin,l'extension Fifo>>.
|
||
|
||
| ENABLE_FSET | `ON`, `OFF` | ON |
|
||
Compiler <<fset_plugin,l'extension Fset>>.
|
||
|
||
| ENABLE_GUILE | `ON`, `OFF` | ON |
|
||
Compiler <<scripts_plugins,l'extension Guile>> (Scheme).
|
||
|
||
| ENABLE_IRC | `ON`, `OFF` | ON |
|
||
Compiler <<irc_plugin,l'extension IRC>>.
|
||
|
||
| ENABLE_JAVASCRIPT | `ON`, `OFF` | OFF |
|
||
Compiler <<scripts_plugins,l'extension JavaScript>>.
|
||
|
||
| ENABLE_LARGEFILE | `ON`, `OFF` | ON |
|
||
Support des gros fichiers.
|
||
|
||
| ENABLE_LOGGER | `ON`, `OFF` | ON |
|
||
Compiler <<logger_plugin,l'extension Logger>>.
|
||
|
||
| ENABLE_LUA | `ON`, `OFF` | ON |
|
||
Compiler <<scripts_plugins,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 <<scripts_plugins,l'extension Perl>>.
|
||
|
||
| ENABLE_PHP | `ON`, `OFF` | ON |
|
||
Compiler <<scripts_plugins,l'extension PHP>>.
|
||
|
||
| ENABLE_PYTHON | `ON`, `OFF` | ON |
|
||
Compiler <<scripts_plugins,l'extension Python>>.
|
||
|
||
| ENABLE_PYTHON2 | `ON`, `OFF` | OFF |
|
||
Compiler <<scripts_plugins,l'extension Python>> avec Python 2 au lieu de
|
||
Python 3.
|
||
|
||
| ENABLE_RELAY | `ON`, `OFF` | ON |
|
||
Compiler <<relay_plugin,l'extension Relay>>.
|
||
|
||
| ENABLE_RUBY | `ON`, `OFF` | ON |
|
||
Compiler <<scripts_plugins,l'extension Ruby>>.
|
||
|
||
| ENABLE_SCRIPT | `ON`, `OFF` | ON |
|
||
Compiler <<scripts_plugins,l'extension Script>>.
|
||
|
||
| ENABLE_SCRIPTS | `ON`, `OFF` | ON |
|
||
Compiler <<scripts_plugins,les extensions de script>> (Python, Perl, Ruby,
|
||
Lua, Tcl, Guile, JavaScript, PHP).
|
||
|
||
| ENABLE_SPELL | `ON`, `OFF` | ON |
|
||
Compiler <<spell_plugin,l'extension Spell>>.
|
||
|
||
| ENABLE_TCL | `ON`, `OFF` | ON |
|
||
Compiler <<scripts_plugins,l'extension Tcl>>.
|
||
|
||
| ENABLE_TRIGGER | `ON`, `OFF` | ON |
|
||
Compiler <<trigger_plugin,l'extension Trigger>>.
|
||
|
||
| ENABLE_XFER | `ON`, `OFF` | ON |
|
||
Compiler <<xfer_plugin,l'extension Xfer>>.
|
||
|
||
| ENABLE_TESTS | `ON`, `OFF` | OFF |
|
||
Compiler les tests.
|
||
|
||
| ENABLE_CODE_COVERAGE | `ON`, `OFF` | OFF |
|
||
Compiler avec les options de couverture de code. +
|
||
Cette option ne devrait être utilisée que pour les tests, pour mesurer la
|
||
couverture de tests.
|
||
|===
|
||
|
||
Les autres options peuvent être affichées avec cette commande :
|
||
|
||
----
|
||
$ cmake -LA
|
||
----
|
||
|
||
Ou avec l'interface Curses :
|
||
|
||
----
|
||
$ ccmake ..
|
||
----
|
||
|
||
[[compile_with_autotools]]
|
||
==== Compilation avec autotools
|
||
|
||
[WARNING]
|
||
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
|
||
$ sudo make install
|
||
----
|
||
|
||
* Installation dans un répertoire spécifique (par exemple dans votre "home") :
|
||
|
||
----
|
||
$ ./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
|
||
----
|
||
|
||
[[run_tests]]
|
||
==== Lancement des tests
|
||
|
||
Les paquets suivants sont nécessaires pour compiler les tests :
|
||
|
||
* libcpputest-dev
|
||
* C++ compiler
|
||
|
||
Les tests doivent être activés pour compiler WeeChat (avec CMake) :
|
||
|
||
----
|
||
$ cmake .. -DENABLE_TESTS=ON
|
||
----
|
||
|
||
Ils peuvent être lancés après compilation depuis le répertoire de construction
|
||
(avec CMake) :
|
||
|
||
----
|
||
$ ctest -V
|
||
----
|
||
|
||
[[git_sources]]
|
||
=== 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
|
||
<<source_package,paquet source>>).
|
||
|
||
[[report_crashes]]
|
||
=== Rapporter les plantages
|
||
|
||
Si vous avez eu des plantages, ou si vous souhaitez rapporter tout plantage
|
||
futur de WeeChat, vous devez :
|
||
|
||
* Compiler avec :
|
||
** les infos de debug (ou installer un paquet binaire avec les infos de debug),
|
||
** la vérification des adresses (« address sanitizer ») (facultatif).
|
||
* Activer les fichiers _core_ sur votre système.
|
||
* Installer gdb.
|
||
|
||
[[build_debug]]
|
||
==== Construction avec options de debug
|
||
|
||
Si vous compilez avec CMake :
|
||
|
||
----
|
||
$ cmake .. -DCMAKE_BUILD_TYPE=Debug
|
||
----
|
||
|
||
[[build_debug_address_sanitizer]]
|
||
==== Construction avec options de debug et la vérification des adresses
|
||
|
||
Vous pouvez aussi activer la vérification des adresses (« address sanitizer »),
|
||
ce qui provoquera immédiatement un plantage de WeeChat en cas de problème :
|
||
|
||
----
|
||
$ cmake .. -DCMAKE_BUILD_TYPE=Debug -DCMAKE_C_FLAGS=-fsanitize=address -DCMAKE_CXX_FLAGS=-fsanitize=address -DCMAKE_EXE_LINKER_FLAGS=-fsanitize=address
|
||
----
|
||
|
||
[WARNING]
|
||
Vous ne devriez activer la vérification des adresses que si vous essayez de
|
||
provoquer un plantage, ceci n'est pas recommandé en production.
|
||
|
||
Une fois compilé et installé, vous devez lancer WeeChat comme ceci :
|
||
|
||
----
|
||
$ ASAN_OPTIONS="detect_odr_violation=0 log_path=asan.log" weechat
|
||
----
|
||
|
||
En cas de plantage, la trace est dans le fichier `asan.log`.
|
||
|
||
[[core_files]]
|
||
==== Fichiers core
|
||
|
||
Pour activer les fichiers _core_, vous pouvez utiliser l'option
|
||
<<option_weechat.startup.sys_rlimit,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
|
||
----
|
||
|
||
[[gdb_backtrace]]
|
||
==== Obtenir la trace avec gdb
|
||
|
||
Lorsque WeeChat se plante, votre système génère un fichier _core_ ou
|
||
_core.12345_ (_12345_ est l'identifiant du processus)
|
||
si <<core_files,l'option est activée>>.
|
||
Ce fichier est créé dans le répertoire où vous avez lancé WeeChat (ce n'est
|
||
*pas* le répertoire où WeeChat est installé !).
|
||
|
||
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
|
||
----
|
||
|
||
Puis sous gdb, utilisez la commande `bt full` pour afficher la trace.
|
||
Vous verrez quelque chose comme ceci :
|
||
|
||
----
|
||
(gdb) set logging file /tmp/crash.txt
|
||
(gdb) set logging on
|
||
Copying output to /tmp/crash.txt.
|
||
(gdb) bt full
|
||
#0 0x00007f9dfb04a465 in raise () from /lib/libc.so.6
|
||
#1 0x00007f9dfb04b8e6 in abort () from /lib/libc.so.6
|
||
#2 0x0000000000437f66 in weechat_shutdown (return_code=1, crash=1)
|
||
at /some_path/src/core/weechat.c:351
|
||
#3 <signal handler called>
|
||
#4 0x000000000044cb24 in hook_process_timer_cb (arg_hook_process=0x254eb90,
|
||
remaining_calls=<value optimized out>) at /some_path/src/core/wee-hook.c:1364
|
||
hook_process = 0x254eb90
|
||
status = <value optimized out>
|
||
#5 0x000000000044cc7d in hook_timer_exec ()
|
||
at /some_path/src/core/wee-hook.c:1025
|
||
tv_time = {tv_sec = 1272693881, tv_usec = 212665}
|
||
ptr_hook = 0x2811f40
|
||
next_hook = 0x0
|
||
#6 0x000000000041b5b0 in gui_main_loop ()
|
||
at /some_path/src/gui/curses/gui-curses-main.c:319
|
||
hook_fd_keyboard = 0x173b600
|
||
tv_timeout = {tv_sec = 0, tv_usec = 0}
|
||
read_fds = {fds_bits = {0 <repeats 16 times>}}
|
||
write_fds = {fds_bits = {0 <repeats 16 times>}}
|
||
except_fds = {fds_bits = {0 <repeats 16 times>}}
|
||
max_fd = <value optimized out>
|
||
----
|
||
|
||
Vous devez envoyer cette trace aux développeurs, et leur indiquer quelle action
|
||
a été la cause de ce plantage.
|
||
|
||
Merci pour votre aide !
|
||
|
||
[[debug_running_weechat]]
|
||
==== 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
|
||
----
|
||
|
||
[[usage]]
|
||
== Utilisation
|
||
|
||
[[running_weechat]]
|
||
=== Lancement de WeeChat
|
||
|
||
Pour lancer WeeChat, tapez cette commande :
|
||
|
||
----
|
||
$ weechat
|
||
----
|
||
|
||
Lorsque vous lancez WeeChat pour la première fois, les fichiers de configuration
|
||
par défaut sont créés dans _~/.weechat_ avec les options et valeurs par défaut
|
||
(voir <<files_and_directories,Fichiers et répertoires>>).
|
||
|
||
==== Options de ligne de commande
|
||
|
||
include::includes/cmdline_options.fr.adoc[tag=standard]
|
||
|
||
==== Options supplémentaires de debug
|
||
|
||
[WARNING]
|
||
Ces options sont pour du debug seulement, *NE PAS UTILISER EN PRODUCTION !*
|
||
|
||
include::includes/cmdline_options.fr.adoc[tag=debug]
|
||
|
||
[[environment_variables]]
|
||
=== Variables d'environnement
|
||
|
||
Des variables d'environnement sont utilisées par WeeChat si elles sont définies :
|
||
|
||
[width="100%",cols="1m,6",options="header"]
|
||
|===
|
||
| Nom | Description
|
||
| WEECHAT_HOME | Le répertoire "maison" de WeeChat (avec les fichiers de configuration, logs, scripts, etc.).
|
||
| WEECHAT_PASSPHRASE | La phrase de chiffrement utilisée pour déchiffrer les données sécurisées.
|
||
| WEECHAT_EXTRA_LIBDIR | Un répertoire supplémentaire pour charger les extensions (depuis le répertoire "plugins" sous ce chemin).
|
||
|===
|
||
|
||
[[files_and_directories]]
|
||
=== Fichiers et répertoires
|
||
|
||
WeeChat écrit ses fichiers de configuration et les autres données dans
|
||
`~/.weechat` par défaut. +
|
||
Ces fichiers sont créés avec les valeurs par défaut la première fois que vous
|
||
lancez WeeChat.
|
||
|
||
[[weechat_directories]]
|
||
==== Répertoires de WeeChat
|
||
|
||
Les répertoires de WeeChat sont :
|
||
|
||
[width="100%",cols="1m,3",options="header"]
|
||
|===
|
||
| Chemin/fichier | Description
|
||
| ~/.weechat/ | Répertoire principal de WeeChat (peut être changé, voir <<running_weechat,Lancer WeeChat>>).
|
||
| logs/ | Fichiers de log (un fichier par tampon).
|
||
| python/ | Scripts Python.
|
||
| autoload/ | Scripts Python chargés automatiquement au démarrage ^(1)^.
|
||
| perl/ | Scripts Perl.
|
||
| autoload/ | Scripts Perl chargés automatiquement au démarrage ^(1)^.
|
||
| ruby/ | Scripts Ruby.
|
||
| autoload/ | Scripts Ruby chargés automatiquement au démarrage ^(1)^.
|
||
| lua/ | Scripts Lua.
|
||
| autoload/ | Scripts Lua chargés automatiquement au démarrage ^(1)^.
|
||
| tcl/ | Scripts Tcl.
|
||
| autoload/ | Scripts Tcl chargés automatiquement au démarrage ^(1)^.
|
||
| guile/ | Scripts Guile.
|
||
| autoload/ | Scripts Guile chargés automatiquement au démarrage ^(1)^.
|
||
| javascript/ | Scripts JavaScript.
|
||
| autoload/ | Scripts JavaScript chargés automatiquement au démarrage ^(1)^.
|
||
| php/ | Scripts PHP.
|
||
| autoload/ | Scripts PHP chargés automatiquement au démarrage ^(1)^.
|
||
|===
|
||
|
||
[NOTE]
|
||
^(1)^ Ce répertoire contient souvent seulement des liens symboliques vers les
|
||
scripts dans le répertoire parent.
|
||
|
||
[[weechat_files]]
|
||
==== Fichiers de WeeChat
|
||
|
||
Les fichiers dans le répertoire principal de WeeChat sont :
|
||
|
||
[width="100%",cols="1m,3,6",options="header"]
|
||
|===
|
||
| Fichier | Description | Données sensibles
|
||
| weechat.conf | Fichier de configuration principal de WeeChat | Possible (par exemple : liste des canaux sauvés dans la disposition des tampons).
|
||
| sec.conf | Fichier de configuration avec les données sécurisées | *Oui, très sensibles* : ce fichier ne doit jamais être partagé avec quiconque.
|
||
| plugins.conf | Fichier de configuration des extensions | Possible, cela dépend des extensions/scripts.
|
||
| alias.conf | Fichier de configuration de l'extension _alias_ | Possible, cela dépend des alias.
|
||
| buflist.conf | Fichier de configuration de l'extension _buflist_ | Non.
|
||
| charset.conf | Fichier de configuration de l'extension _charset_ | Non.
|
||
| exec.conf | Fichier de configuration de l'extension _exec_ | Non.
|
||
| fifo.conf | Fichier de configuration de l'extension _fifo_ | Non.
|
||
| fset.conf | Fichier de configuration de l'extension _fset_ | Non.
|
||
| guile.conf | Fichier de configuration de l'extension _guile_ | Non.
|
||
| irc.conf | Fichier de configuration de l'extension _irc_ | *Oui* : il peut contenir des mots de passes pour les serveurs, nickserv et les canaux (si non stockés dans `sec.conf`).
|
||
| javascript.conf | Fichier de configuration de l'extension _javascript_ | Non.
|
||
| logger.conf | Fichier de configuration de l'extension _logger_ | Non.
|
||
| lua.conf | Fichier de configuration de l'extension _lua_ | Non.
|
||
| perl.conf | Fichier de configuration de l'extension _perl_ | Non.
|
||
| php.conf | Fichier de configuration de l'extension _php_ | Non.
|
||
| python.conf | Fichier de configuration de l'extension _python_ | Non.
|
||
| relay.conf | Fichier de configuration de l'extension _relay_ | *Oui* : il peut contenir le mot de passe relay et le secret TOTP (si non stockés dans `sec.conf`), les adresses IP/origines websocket autorisées et les ports ouverts.
|
||
| ruby.conf | Fichier de configuration de l'extension _ruby_ | Non.
|
||
| script.conf | Fichier de configuration de l'extension _script_ | Non.
|
||
| tcl.conf | Fichier de configuration de l'extension _tcl_ | Non.
|
||
| spell.conf | Fichier de configuration de l'extension _spell_ | Non.
|
||
| trigger.conf | Fichier de configuration de l'extension _trigger_ | Possible, cela dépend des triggers.
|
||
| xfer.conf | Fichier de configuration de l'extension _xfer_ | Non.
|
||
| weechat.log | Fichier de log WeeChat | Non.
|
||
|===
|
||
|
||
[IMPORTANT]
|
||
Il n'est *pas recommandé* de modifier les fichiers de configuration à la main
|
||
car WeeChat peut les écrire à tout moment (par exemple sur
|
||
<<command_weechat_quit,/quit>>) et après chaque changement vous devez lancer la
|
||
commande <<command_weechat_reload,/reload>> (avec le risque de perdre d'autres
|
||
changements qui n'auraient pas été sauvés avec <<command_weechat_save,/save>>). +
|
||
Vous pouvez utiliser la commande <<command_weechat_set,/set>>, qui vérifie la
|
||
valeur et applique les changements immédiatement.
|
||
|
||
[[screen_layout]]
|
||
=== Organisation de l'écran
|
||
|
||
Exemple de terminal avec WeeChat :
|
||
|
||
....
|
||
▼ barre "buflist" ▼ barre "title"
|
||
┌──────────────────────────────────────────────────────────────────────────────────────┐
|
||
│1.freenode│Bienvenue sur #test, canal de test │
|
||
│ weechat │12:52:27 --> | Flashy (flashcode@weechat.org) a rejoint #test │@Flashy│
|
||
│2. #test │12:52:27 -- | Pseudos #test: [@Flashy @joe +weebot peter] │@joe │
|
||
│3. #abc │12:52:27 -- | Canal #test: 4 pseudos (2 ops, 1 voice, 1 normal) │+weebot│
|
||
│4. #def │12:52:27 -- | Canal créé le Tue Jan 27 06:30:17 2009 │peter │
|
||
│5. #ghi │12:54:15 peter | bonjour ! │ │
|
||
│ │12:55:01 @joe | salut │ │
|
||
│ │ │ │
|
||
│ │ │ │
|
||
│ │ │ │
|
||
│ │ │ │
|
||
│ │ │ │
|
||
│ │ │ │
|
||
│ │ │ │
|
||
│ │ │ │
|
||
│ │ │ │
|
||
│ │ │ │
|
||
│ │ │ │
|
||
│ │ │ │
|
||
│ │ │ │
|
||
│ │ │ │
|
||
│ │[12:55] [5] [irc/freenode] 2:#test(+n){4}* [H: 3:#abc(2,5), 5] │
|
||
│ │[@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 _buflist_, sur la gauche
|
||
** barre _title_, au dessus de la zone de discussion
|
||
** barre _status_, sous la zone de discussion
|
||
** barre _input_, sous la barre de statut
|
||
** barre _nicklist_, sur la droite
|
||
|
||
La barre _buflist_ contient les objets (items) suivants par défaut :
|
||
|
||
[width="100%",cols="^3,^4,10",options="header"]
|
||
|===
|
||
| Objet (item) | Exemple | Description
|
||
| buflist | `1.weechat` | Liste des tampons.
|
||
|===
|
||
|
||
La barre _title_ contient les objets (items) suivants par défaut :
|
||
|
||
[width="100%",cols="^3,^4,10",options="header"]
|
||
|===
|
||
| Objet (item) | Exemple | Description
|
||
| buffer_title | `Bienvenue sur #test` | Titre du tampon.
|
||
|===
|
||
|
||
La barre _status_ contient les objets (items) suivants par défaut :
|
||
|
||
[width="100%",cols="^3,^4,10",options="header"]
|
||
|===
|
||
| Objet (item) | Exemple | Description
|
||
| time | `[12:55]` | Heure.
|
||
| buffer_last_number | `[5]` | Numéro du dernier tampon de la liste.
|
||
| 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 | `2` | Numéro du tampon courant.
|
||
| buffer_name | `#test` | Nom du tampon courant.
|
||
| buffer_modes | `+n` | Modes du canal IRC.
|
||
| buffer_nicklist_count | `{4}` | Nombre de pseudos affichés dans la liste des pseudos.
|
||
| buffer_zoom | ! | `!` signifie que le tampon mélangé est zoomé, une valeur vide signifie que tous les tampons mélangés sont affichés.
|
||
| buffer_filter | `+*+` | Indicateur de filtrage : `+*+` signifie que des lignes sont filtrées (cachées), une valeur vide signifie que toutes les lignes sont affichées.
|
||
| scroll | `-PLUS(50)-` | Indicateur de scroll, avec le nombre de lignes sous la dernière ligne affichée.
|
||
| lag | `[Lag: 2.5]` | Indicateur de "lag" (ralentissements réseau), en secondes (caché si le lag est faible).
|
||
| hotlist | `[H: 3:#abc(2,5), 5]` | Liste des tampons où il y a de l'activité (messages non lus) (dans cet exemple, 2 highlights et 5 messages non lus sur _#abc_, un message non lu sur le tampon numéro 5).
|
||
| completion | `abc(2) def(5)` | Liste des mots pour la complétion, avec le nombre de complétions possibles pour chaque mot.
|
||
|===
|
||
|
||
La barre _input_ contient les objets (items) suivants par défaut :
|
||
|
||
[width="100%",cols="^3,^4,10",options="header"]
|
||
|===
|
||
| Objet (item) | Exemple | Description
|
||
| 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_paste | `[Coller 7 lignes ? [ctrl-Y] Oui [ctrl-N] Non]` | Question à l'utilisateur pour coller des lignes.
|
||
| input_text | `salut peter !` | Texte entré.
|
||
|===
|
||
|
||
La barre _nicklist_ contient les objets (items) suivants par défaut :
|
||
|
||
[width="100%",cols="^3,^4,10",options="header"]
|
||
|===
|
||
| Objet (item) | Exemple | Description
|
||
| buffer_nicklist | `@Flashy` | Liste des pseudos sur le tampon courant.
|
||
|===
|
||
|
||
Autres objets (non utilisés dans des barres par défaut) :
|
||
|
||
[width="100%",cols="^3,^4,10",options="header"]
|
||
|===
|
||
| Objet (item) | Exemple | Description
|
||
| spell_dict | `fr,en` | Dictionnaires utilisés pour la vérification de l'orthographe sur le tampon courant.
|
||
| spell_suggest | `print,prone,prune` | Suggestions pour le mot sous le curseur (si mal orthographié).
|
||
| buffer_count | `10` | Nombre total de tampons ouverts.
|
||
| buffer_short_name | `#test` | Nom court du tampon courant.
|
||
| irc_channel | `#test` | Nom de canal IRC courant.
|
||
| irc_nick_modes | `i` | Modes IRC pour le pseudo.
|
||
| mouse_status | `M` | Statut de la souris (vide si la souris est désactivée).
|
||
| window_number | `2` | Numéro de la fenêtre courante.
|
||
|===
|
||
|
||
[[command_line]]
|
||
=== 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.
|
||
|
||
[[command_line_syntax]]
|
||
==== 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
|
||
----
|
||
|
||
[[command_line_colors]]
|
||
==== Codes couleurs
|
||
|
||
Pour certaines extensions comme IRC, il est possible d'utiliser des codes
|
||
couleur et attributs comme suit (appuyer sur kbd:[Ctrl+c] puis sur la lettre qui
|
||
suit et éventuellement une valeur) :
|
||
|
||
[width="100%",cols="1,2",options="header"]
|
||
|===
|
||
| Touche | Description
|
||
| kbd:[Ctrl+c], kbd:[b] | Texte gras.
|
||
| kbd:[Ctrl+c], kbd:[c],
|
||
kbd:[xx] | Couleur du texte `xx` (voir la liste des couleurs ci-dessous).
|
||
| kbd:[Ctrl+c], kbd:[c],
|
||
kbd:[xx], kbd:[,],
|
||
kbd:[yy] | Couleur du texte `xx` et du fond `yy` (voir la liste des couleurs ci-dessous).
|
||
| kbd:[Ctrl+c], kbd:[i] | Texte en italique.
|
||
| kbd:[Ctrl+c], kbd:[o] | Désactiver la couleur et tous les attributs.
|
||
| kbd:[Ctrl+c], kbd:[v] | Vidéo inverse (inversion de la couleur d'écriture et du fond).
|
||
| kbd:[Ctrl+c], kbd:[_] | Texte souligné.
|
||
|===
|
||
|
||
[NOTE]
|
||
Le même code (sans le numéro pour kbd:[Ctrl+c], kbd:[c]) peut être utilisé pour
|
||
stopper l'attribut défini.
|
||
|
||
Les codes couleur pour kbd:[Ctrl+c], kbd:[c] sont :
|
||
|
||
include::includes/autogen_user_irc_colors.fr.adoc[tag=irc_colors]
|
||
|
||
[NOTE]
|
||
Pour voir toutes les couleurs disponibles dans votre terminal, vous pouvez
|
||
taper `/color` puis kbd:[Alt+c] dans WeeChat ou lancez cette commande dans le
|
||
terminal : `weechat --colors`.
|
||
|
||
Exemple : affichage de "bonjour Alice !" avec "bonjour" en bleu clair
|
||
gras, et "Alice" en rouge clair souligné :
|
||
|
||
----
|
||
^Cc12^Cbbonjour ^Cb^Cc04^C_Alice^C_^Cc !
|
||
----
|
||
|
||
Touches :
|
||
|
||
kbd:[Ctrl+c] kbd:[c] kbd:[1] kbd:[2] kbd:[Ctrl+c] kbd:[b] +
|
||
kbd:[b] kbd:[o] kbd:[n] kbd:[j] kbd:[o] kbd:[u] kbd:[r] kbd:[Espace] +
|
||
kbd:[Ctrl+c] kbd:[b] kbd:[Ctrl+c] kbd:[c] kbd:[0] kbd:[4] kbd:[Ctrl+c] kbd:[pass:[_]] +
|
||
kbd:[A] kbd:[l] kbd:[i] kbd:[c] kbd:[e] +
|
||
kbd:[Ctrl+c] kbd:[pass:[_]] kbd:[Ctrl+c] kbd:[c] +
|
||
kbd:[Espace] kbd:[!]
|
||
|
||
[NOTE]
|
||
Dans l'extension irc, vous pouvez réassigner les couleurs en utilisant l'option
|
||
<<option_irc.color.mirc_remap,irc.color.mirc_remap>>.
|
||
|
||
[[colors]]
|
||
=== Couleurs
|
||
|
||
WeeChat peut utiliser jusqu'à 32767 paires de couleur pour afficher le texte dans
|
||
les barres et la zone de discussion (votre terminal doit supporter 256 couleurs
|
||
pour pouvoir les utiliser dans WeeChat).
|
||
|
||
Selon la valeur de la variable d'environnement _TERM_, vous pouvez avoir les
|
||
limites suivantes pour les couleurs dans WeeChat :
|
||
|
||
[width="75%",cols="8,>3,>3",options="header"]
|
||
|===
|
||
| $TERM | Couleurs | Paires
|
||
| "rxvt-unicode", "xterm", ... | 88 | 32767
|
||
| "rxvt-256color", "xterm-256color", ... | 256 | 32767
|
||
| "screen" | 8 | 64
|
||
| "screen-256color" | 256 | 32767
|
||
| "tmux" | 8 | 64
|
||
| "tmux-256color" | 256 | 32767
|
||
|===
|
||
|
||
Vous pouvez lancer `weechat --colors` ou utiliser la commande `/color`
|
||
dans WeeChat pour afficher les limites de votre environnement.
|
||
|
||
Quelques valeurs recommandées pour _TERM_ si vous voulez 256 couleurs :
|
||
|
||
* sous screen : _screen-256color_
|
||
* sous tmux : _screen-256color_ ou _tmux-256color_
|
||
* en dehors de screen/tmux : _xterm-256color_, _rxvt-256color_,
|
||
_putty-256color_, ...
|
||
|
||
Si vous utilisez screen, vous pouvez ajouter cette ligne dans votre
|
||
_~/.screenrc_ :
|
||
|
||
[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
|
||
----
|
||
|
||
[[colors_basic]]
|
||
==== Couleurs de base
|
||
|
||
Les couleurs de base dans WeeChat sont :
|
||
|
||
[width="75%",cols="1m,4",options="header"]
|
||
|===
|
||
| 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
|
||
|===
|
||
|
||
[[colors_extended]]
|
||
==== 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 kbd:[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
|
||
----
|
||
|
||
[[colors_aliases]]
|
||
==== 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
|
||
----
|
||
|
||
[[colors_attributes]]
|
||
==== 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
|
||
----
|
||
|
||
[[buffers_and_windows]]
|
||
=== Tampons et fenêtres
|
||
|
||
Un tampon (_buffer_) est composé d'un numéro, un nom, des lignes affichées
|
||
(ainsi que d'autres données).
|
||
|
||
Exemples de tampons :
|
||
|
||
* tampon core (créé par WeeChat au démarrage, ne peut pas être fermé)
|
||
* serveur irc (affiche les messages du serveur)
|
||
* canal irc
|
||
* messages privés irc
|
||
|
||
Une fenêtre (_window_) est une zone de l'écran affichant un tampon. Il est
|
||
possible de découper l'écran horizontalement ou verticalement en plusieurs
|
||
fenêtres.
|
||
|
||
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)
|
||
┌──────────────────────────────────────────────────────────────────────────────────────┐
|
||
│1.freenode│Bienvenue sur #def │
|
||
│ weechat │12:55:12 Max | bonjour │@Flashy│
|
||
│2. #test │12:55:20 @Flashy | salut Max ! │Max │
|
||
│3. #abc │ │ │
|
||
│4. #def │ │ │
|
||
│5. #ghi │ │ │
|
||
│ │ │ │
|
||
│ │ │ │
|
||
│ │ │ │
|
||
│ │[12:55] [5] [irc/freenode] 4:#def(+n){2} │
|
||
│ │[@Flashy] │
|
||
│ │───────────────────────────────────────────────────────────────────────────│
|
||
│ │Bienvenue sur #abc │
|
||
│ │12:54:15 peter | ohé ! │@Flashy│
|
||
│ │12:55:01 @joe | salut │@joe │
|
||
│ │ │+weebot│
|
||
│ │ │peter │
|
||
│ │ │ │
|
||
│ │ │ │
|
||
│ │ │ │
|
||
│ │ │ │
|
||
│ │[12:55] [5] [irc/freenode] 3:#abc(+n){4} │
|
||
│ │[@Flashy] salut peter !█ │
|
||
└──────────────────────────────────────────────────────────────────────────────────────┘
|
||
▲ fenêtre n°1 (tampon n°3)
|
||
....
|
||
|
||
Exemple de découpage vertical (`/window splitv`) :
|
||
|
||
....
|
||
┌──────────────────────────────────────────────────────────────────────────────────────┐
|
||
│1.freenode│Bienvenue sur #abc │Bienvenue sur #def │
|
||
│ weechat │12:54:15 peter | ohé ! │@Flashy│12:55:12 Max | bonjour │@Flashy│
|
||
│2. #test │12:55:01 @joe | salut │@joe │12:55:20 @Flashy | salut Max │Max │
|
||
│3. #abc │ │+weebot│ │ │
|
||
│4. #def │ │peter │ │ │
|
||
│5. #ghi │ │ │ │ │
|
||
│ │ │ │ │ │
|
||
│ │ │ │ │ │
|
||
│ │ │ │ │ │
|
||
│ │ │ │ │ │
|
||
│ │ │ │ │ │
|
||
│ │ │ │ │ │
|
||
│ │ │ │ │ │
|
||
│ │ │ │ │ │
|
||
│ │ │ │ │ │
|
||
│ │ │ │ │ │
|
||
│ │ │ │ │ │
|
||
│ │ │ │ │ │
|
||
│ │ │ │ │ │
|
||
│ │ │ │ │ │
|
||
│ │ │ │ │ │
|
||
│ │[12:55] [5] [irc/freenode] 3:#abc(+n)│[12:55] [5] [irc/freenode] 4:#def(+n)│
|
||
│ │[@Flashy] salut peter !█ │[@Flashy] │
|
||
└──────────────────────────────────────────────────────────────────────────────────────┘
|
||
▲ fenêtre n°1 (tampon n°3) ▲ fenêtre n°2 (tampon n°4)
|
||
....
|
||
|
||
Exemple de découpage vertical + horizontal :
|
||
|
||
....
|
||
▼ fenêtre n°3 (tampon n°5)
|
||
┌──────────────────────────────────────────────────────────────────────────────────────┐
|
||
│1.freenode│Bienvenue sur #abc │Bienvenue sur #ghi │
|
||
│ weechat │12:54:15 peter | ohé ! │@Flashy│12:55:42 @Flashy | salut │@Flashy│
|
||
│2. #test │12:55:01 @joe | salut │@joe │12:55:56 alex | salut │alex │
|
||
│3. #abc │ │+weebot│ │ │
|
||
│4. #def │ │peter │ │ │
|
||
│5. #ghi │ │ │ │ │
|
||
│ │ │ │ │ │
|
||
│ │ │ │ │ │
|
||
│ │ │ │ │ │
|
||
│ │ │ │[12:55] [5] [irc/freenode] 5:#ghi(+n)│
|
||
│ │ │ │[@Flashy] │
|
||
│ │ │ │─────────────────────────────────────│
|
||
│ │ │ │Bienvenue sur #def │
|
||
│ │ │ │12:55:12 Max | bonjour │@Flashy│
|
||
│ │ │ │12:55:20 @Flashy | salut Max │Max │
|
||
│ │ │ │ │ │
|
||
│ │ │ │ │ │
|
||
│ │ │ │ │ │
|
||
│ │ │ │ │ │
|
||
│ │ │ │ │ │
|
||
│ │ │ │ │ │
|
||
│ │[12:55] [5] [irc/freenode] 3:#abc(+n)│[12:55] [5] [irc/freenode] 4:#def(+n)│
|
||
│ │[@Flashy] salut peter !█ │[@Flashy] │
|
||
└──────────────────────────────────────────────────────────────────────────────────────┘
|
||
▲ fenêtre n°1 (tampon n°3) ▲ fenêtre n°2 (tampon n°4)
|
||
....
|
||
|
||
[[buffers]]
|
||
=== Tampons
|
||
|
||
[[lines_format]]
|
||
==== Format des lignes
|
||
|
||
Les lignes affichées dans les tampons formatés ont les champs suivants :
|
||
|
||
[width="100%",cols="2,2,10",options="header"]
|
||
|===
|
||
| Champ | Affiché | Description
|
||
| date/heure (message) | Oui | Date/heure du message (peut être dans le passé).
|
||
| date/heure (print) | Non | Date/heure lorsque WeeChat affiche le message.
|
||
| préfixe | Oui | Préfixe du message, couramment un pseudo.
|
||
| message | Oui | Le message lui-même.
|
||
| affichée | Non | Booléen : vrai si la ligne est affichée, faux si la ligne est filtrée avec la commande <<command_weechat_filter,/filter>>.
|
||
| highlight | Non | Booléen : vrai si la ligne a un highlight, faux sinon.
|
||
| étiquettes | Avec `/debug tags` | Étiquettes associées avec la ligne (voir <<lines_tags,les étiquettes des lignes>>).
|
||
|===
|
||
|
||
L'affichage des lignes peut être personnalisé avec des nombreuses options de
|
||
présentation (_pass:[weechat.look.*]_) et de couleur (_pass:[weechat.color.chat_*]_).
|
||
|
||
[[lines_tags]]
|
||
==== Étiquettes des lignes
|
||
|
||
WeeChat utilise des étiquettes (« tags ») dans les lignes pour différentes raisons :
|
||
|
||
* highlight
|
||
* niveau de notification
|
||
* enregistrement (« log »)
|
||
* utilisation de la commande <<command_weechat_filter,/filter>>
|
||
|
||
Les étiquettes peuvent être affichées avec la commande `/debug tags`
|
||
(même commande pour les cacher).
|
||
|
||
Les étiquettes couramment utilisées (liste non exhaustive) :
|
||
|
||
[width="100%",cols="1m,4",options="header"]
|
||
|===
|
||
| Étiquette | Description
|
||
| no_filter | La ligne ne peut pas être filtrée.
|
||
| no_highlight | Aucun highlight n'est possible sur cette ligne.
|
||
| no_log | La ligne n'est pas écrite dans le fichier de log.
|
||
| log0 … log9 | Niveau de log pour la ligne (voir `/help logger`).
|
||
| notify_none | La ligne ne doit pas être ajoutée à la "hotlist". ^(1)^
|
||
| notify_message | La ligne est un message utilisateur. ^(1)^
|
||
| notify_private | La ligne est un message privé. ^(1)^
|
||
| notify_highlight | La ligne est un message avec un highlight. ^(1)^
|
||
| self_msg | Message de soi-même.
|
||
| nick_xxx | Le message vient du pseudo "xxx".
|
||
| prefix_nick_ccc | Le préfixe est un pseudo avec la couleur "ccc".
|
||
| host_xxx | Nom d'utilisateur et hôte dans le message.
|
||
| irc_xxx | Message IRC "xxx" (peut-être une commande ou un numérique sur 3 chiffres).
|
||
| irc_numeric | Message IRC numérique.
|
||
| irc_error | Erreur du serveur IRC.
|
||
| irc_action | Action d'un pseudo (commande `/me`).
|
||
| irc_ctcp | Message CTCP.
|
||
| irc_ctcp_reply | Réponse à un message CTCP.
|
||
| irc_smart_filter | Message IRC qui peut être filtré avec le "smart filter" (filtre intelligent).
|
||
| away_info | Message avec une info d'absence.
|
||
|===
|
||
|
||
[NOTE]
|
||
^(1)^ Lorsque aucune étiquette "notify_xxx" n'est présente, le niveau de
|
||
notification par défaut est "low". Si une étiquette "notify_xxx" est présente,
|
||
le niveau de notification réel peut être différent, par exemple si un niveau
|
||
maximum de hotlist est utilisé pour un pseudo, le niveau de notification peut
|
||
être inférieur à la valeur de l'étiquette.
|
||
|
||
[[local_variables]]
|
||
==== Variables locales
|
||
|
||
Des variables locales peuvent être définies dans les tampons.
|
||
|
||
Une variable locale a :
|
||
|
||
* un nom (chaîne)
|
||
* une valeur (chaîne, peut être vide).
|
||
|
||
Les variables locales peuvent être définies par WeeChat, les extensions, les
|
||
scripts, ou manuellement sur la ligne de commande, dans le tampon.
|
||
|
||
Par exemple pour ajouter la variable locale "completion_default_template" :
|
||
|
||
----
|
||
/buffer setvar completion_default_template %(my_completion)
|
||
----
|
||
|
||
Pour afficher les variables locales du tampon courant :
|
||
|
||
----
|
||
/buffer listvar
|
||
----
|
||
|
||
Pour supprimer la variable locale "completion_default_template" :
|
||
|
||
----
|
||
/buffer delvar completion_default_template
|
||
----
|
||
|
||
Par défaut WeeChat et ses extensions par défaut interprètent ces variables :
|
||
|
||
[width="100%",cols="^2m,2,5",options="header"]
|
||
|===
|
||
| Nom | Valeur | Description
|
||
|
||
| away |
|
||
toute chaîne |
|
||
Message d'absence sur le serveur, défini par l'extension irc.
|
||
|
||
| channel |
|
||
toute chaîne |
|
||
Nom du canal, défini par les extensions irc/xfer et le tampon de debug des
|
||
extensions relay/trigger.
|
||
|
||
| charset_modifier |
|
||
toute chaîne |
|
||
Modificateur de charset du tampon serveur, défini par l'extension irc.
|
||
|
||
| completion_default_template |
|
||
toute chaîne |
|
||
Modèle de complétion par défaut pour le tampon, qui remplace l'option
|
||
`weechat.completion.default_template`.
|
||
|
||
| filter |
|
||
toute chaîne |
|
||
Filtre défini sur certains tampons comme `/fset`, `/server raw` (irc) et
|
||
`/script`.
|
||
|
||
| host |
|
||
toute chaîne |
|
||
Nom d'hôte personnel (si connu), défini par l'extension irc.
|
||
|
||
| lag |
|
||
toute chaîne |
|
||
Lag sur le serveur, défini par l'extension irc.
|
||
|
||
| name |
|
||
toute chaîne |
|
||
Nom du tampon (attention, ce n'est pas le nom complet du tampon et ce nom
|
||
n'est pas suffisant pour identifier ou chercher un tampon).
|
||
|
||
| nick |
|
||
toute chaîne |
|
||
Pseudo personnel, défini par les extensions irc et xfer.
|
||
|
||
| no_log |
|
||
`1` (or any non-empty string) |
|
||
Si défini, l'extension logger n'écrira pas le "log" du tampon sur disque.
|
||
|
||
| plugin |
|
||
toute chaîne |
|
||
Nom de l'extension qui a créé le tampon (`core` pour les tampons WeeChat).
|
||
|
||
| script_close_cb |
|
||
toute chaîne |
|
||
Nom de la fonction de rappel pour la fermeture,
|
||
défini par un script pour le tampon.
|
||
|
||
| script_close_cb_data |
|
||
toute chaîne |
|
||
Données pour la fonction de rappel pour la fermeture,
|
||
définies par un script pour le tampon.
|
||
|
||
| script_input_cb |
|
||
toute chaîne |
|
||
Nom de la fonction de rappel d'entrée,
|
||
défini par un script pour le tampon.
|
||
|
||
| script_input_cb_data |
|
||
toute chaîne |
|
||
Données pour la fonction de rappel d'entrée,
|
||
définies par un script pour le tampon.
|
||
|
||
| script_name |
|
||
toute chaîne |
|
||
Nom du script qui a créé le tampon.
|
||
|
||
| server |
|
||
toute chaîne |
|
||
Nom du serveur, défini par l'extension irc et le tampon de debug des extensions
|
||
relay/trigger.
|
||
|
||
| spell_suggest |
|
||
toute chaîne |
|
||
Mot mal orthographié et ses suggestions (format : "mot:suggestions"), défini
|
||
par l'extension spell.
|
||
|
||
| trigger_filter |
|
||
toute chaîne |
|
||
Filtre trigger, défini par l'extension trigger.
|
||
|
||
| type |
|
||
toute chaîne, par exemple :
|
||
`channel`,
|
||
`debug`,
|
||
`exec`,
|
||
`option`,
|
||
`private`,
|
||
`relay`,
|
||
`script`,
|
||
`server`,
|
||
`user`,
|
||
`xfer` |
|
||
Type de tampon, défini par WeeChat et plusieurs extensions.
|
||
|
||
|===
|
||
|
||
[NOTE]
|
||
Les extensions et script externes peuvent définir et utiliser d'autres
|
||
variables locales.
|
||
|
||
[[bars]]
|
||
=== 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.option` où
|
||
`nom` et le nom de la barre et `option` l'option pour cette barre.
|
||
|
||
Liste des options de barre :
|
||
|
||
[width="100%",cols="2m,2,10",options="header"]
|
||
|===
|
||
| Option | Valeurs | Description
|
||
|
||
| type | `root`, `window` |
|
||
Une barre avec le type `root` est affichée exactement une fois à l'écran, en
|
||
dehors de toutes les fenêtres. La barre par défaut _buflist_ est de type
|
||
`root`. +
|
||
Une barre avec le type `window` est affichée dans chaque fenêtre, par exemple
|
||
si vous découpez l'écran (avec `/window splith` ou `/window splitv`), vous
|
||
aurez une barre dans chaque fenêtre. Les barres par défaut _title_, _status_,
|
||
_input_ et _nicklist_ sont de type `window`.
|
||
|
||
| position | `top`, `bottom`, `left`, `right` |
|
||
Position de la barre : au dessus/en dessous de la discussion, sur la
|
||
gauche/droite.
|
||
|
||
| priority | entier ≥ 0 |
|
||
Priorité de la barre : elle est utilisée pour ordonner les barres à l'écran,
|
||
quand plusieurs barres utilisent le même type et position. +
|
||
Les barres sont affichées depuis le bord de l'écran vers le centre. Une
|
||
priorité plus haute affichera la barre au début, donc près du bord. +
|
||
Exemple : la barre _input_ a une priorité de 1000, donc elle est affichée
|
||
avant la barre _status_, qui a une priorité de 500.
|
||
|
||
| size | entier ≥ 0 |
|
||
La taille de la barre : nombre de colonnes pour une position left/right,
|
||
nombre de lignes pour une position top/bottom. Une taille de `0` signifie
|
||
automatique, donc la taille sera calculée en fonction du contenu affiché dans
|
||
la barre.
|
||
|
||
| size_max | entier ≥ 0 |
|
||
La taille maximum pour la barre, `0` = pas de limite (cette option est
|
||
utilisée seulement si `size` = `0`).
|
||
|
||
| color_bg | couleur |
|
||
La couleur par défaut du fond de la barre.
|
||
|
||
| color_fg | couleur |
|
||
La couleur par défaut du texte dans la barre.
|
||
|
||
| color_delim | couleur |
|
||
La couleur des délimiteurs dans la barre.
|
||
|
||
| hidden | `on`, `off` |
|
||
Lorsque l'option est `on`, la barre est cachée. +
|
||
Note : plutôt que de changer cette option, il est préférable d'utiliser la
|
||
commande `/bar`, par exemple : `/bar toggle nicklist` (voir la commande
|
||
<<command_weechat_bar,/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 <<bar_items,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 <<bar_filling,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 <<bar_filling,remplissage>> pour plus d'infos).
|
||
|
||
| conditions | chaîne |
|
||
Les conditions pour afficher la barre (voir <<bar_conditions,conditions>> pour
|
||
plus d'infos).
|
||
|===
|
||
|
||
[[bar_items]]
|
||
==== 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"
|
||
----
|
||
|
||
[[bar_filling]]
|
||
==== 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 ▲
|
||
....
|
||
|
||
[[bar_conditions]]
|
||
==== Conditions
|
||
|
||
L'option _conditions_ est une chaîne qui est évaluée pour savoir si la barre
|
||
doit être affichée ou non.
|
||
|
||
La chaîne peut être :
|
||
|
||
* _active_ : la fenêtre doit être active
|
||
* _inactive_ : la fenêtre doit être inactive
|
||
* _nicklist_ : le tampon affiché dans la fenêtre doit avoir une liste de pseudos
|
||
* une expression : elle est évaluée comme booléen (voir la commande
|
||
<<command_weechat_eval,/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)"
|
||
----
|
||
|
||
[[bare_display]]
|
||
=== 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 kbd:[Alt+l] (`L`),
|
||
et la même touche pour en sortir (ou par défaut tout changement dans la ligne de
|
||
commande sortira de l'affichage dépouillé, voir l'option
|
||
<<option_weechat.look.bare_display_exit_on_input,weechat.look.bare_display_exit_on_input>>).
|
||
|
||
Le format de l'heure peut être personnalisé avec l'option
|
||
<<option_weechat.look.bare_display_time_format,weechat.look.bare_display_time_format>>.
|
||
|
||
L'affichage dépouillé peut être activé pour un temps donné en utilisant la
|
||
commande <<command_weechat_window,/window>>.
|
||
|
||
Si WeeChat ressemble à ceci :
|
||
|
||
....
|
||
┌──────────────────────────────────────────────────────────────────────────────────────┐
|
||
│1.freenode│Bienvenue sur #abc │
|
||
│ weechat │12:52:27 --> | Flashy (flashcode@weechat.org) a rejoint #abc │@Flashy│
|
||
│2. #test │12:52:27 -- | Pseudos #abc: [@Flashy @joe +weebot peter] │@joe │
|
||
│3. #abc │12:52:27 -- | Canal #abc: 4 pseudos (2 ops, 1 voice, 1 normal) │+weebot│
|
||
│4. #def │12:52:27 -- | Canal créé le Tue Jan 27 06:30:17 2009 │peter │
|
||
│5. #ghi │12:54:15 peter | bonjour ! │ │
|
||
│ │12:55:01 @joe | peter: hook_process: https://weechat.org/files/do │ │
|
||
│ │ | c/devel/weechat_plugin_api.en.html#_weechat_hook_ │ │
|
||
│ │ | process │ │
|
||
│ │ │ │
|
||
│ │ │ │
|
||
│ │ │ │
|
||
│ │ │ │
|
||
│ │ │ │
|
||
│ │ │ │
|
||
│ │ │ │
|
||
│ │ │ │
|
||
│ │ │ │
|
||
│ │ │ │
|
||
│ │ │ │
|
||
│ │ │ │
|
||
│ │[12:55] [5] [irc/freenode] 3:#abc(+n){4} │
|
||
│ │[@Flashy(i)] salut peter !█ │
|
||
└──────────────────────────────────────────────────────────────────────────────────────┘
|
||
....
|
||
|
||
L'écran ressemblera à ça en mode dépouillé :
|
||
|
||
....
|
||
┌──────────────────────────────────────────────────────────────────────────────────────┐
|
||
│ │
|
||
│ │
|
||
│ │
|
||
│ │
|
||
│ │
|
||
│ │
|
||
│ │
|
||
│ │
|
||
│ │
|
||
│ │
|
||
│ │
|
||
│ │
|
||
│ │
|
||
│ │
|
||
│ │
|
||
│ │
|
||
│12:52 --> Flashy (flashcode@weechat.org) a rejoin #abc │
|
||
│12:52 -- Pseudos #abc: [@Flashy @joe +weebot peter] │
|
||
│12:52 -- Canal #abc: 4 pseudos (2 ops, 1 voice, 1 normal) │
|
||
│12:52 -- Canal créé le Tue Jan 27 06:30:17 2009 │
|
||
│12:54 <peter> bonjour ! │
|
||
│12:55 <@joe> peter: hook_process: https://weechat.org/files/doc/devel/weechat_plugin_a│
|
||
│pi.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).
|
||
|
||
[[notify_levels]]
|
||
=== Niveaux de notification
|
||
|
||
[[setup_notify_levels]]
|
||
==== Configurer les niveaux de notification
|
||
|
||
Quatre niveaux sont possibles dans les messages affichés dans les tampons, du
|
||
moins important au plus important :
|
||
|
||
* _low_ : message avec faible importance (par exemple un join/part/quit irc)
|
||
* _message_ : message d'un utilisateur
|
||
* _private_ : message dans un tampon privé
|
||
* _highlight_ : message avec highlight
|
||
|
||
Chaque tampon a un niveau de notification, qui est utilisé pour décider quels
|
||
messages ajouteront le tampon dans la hotlist.
|
||
|
||
Le niveau de notification par défaut peut être défini avec l'option
|
||
<<option_weechat.look.buffer_notify_default,weechat.look.buffer_notify_default>>,
|
||
la valeur par défaut est _all_.
|
||
|
||
[width="75%",cols="2m,7",options="header"]
|
||
|===
|
||
| 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
|
||
----
|
||
|
||
[[max_hotlist_level_nicks]]
|
||
==== Niveau maximal de hotlist pour des pseudos
|
||
|
||
Il est possible de définir un niveau maximal de hotlist pour certains pseudos,
|
||
par tampon ou groupe de tampons (comme des serveurs IRC).
|
||
|
||
La propriété de tampon "hotlist_max_level_nicks" peut être définie avec une
|
||
liste de pseudos et pour chaque pseudo le niveau maximal de hotlist à déclencher,
|
||
les niveaux possibles sont :
|
||
|
||
* -1 : pas de changement dans la hotlist pour ce pseudo
|
||
* 0 : faible priorité (comme les messages join/part)
|
||
* 1 : message
|
||
* 2 : message privé
|
||
* 3 : highlight (en réalité inutile, car il s'agit déjà du niveau maximal par
|
||
défaut pour tous les messages)
|
||
|
||
Par exemple pour désactiver les « highlights » de "joe" et "mike" sur le tampon
|
||
courant :
|
||
|
||
----
|
||
/buffer set hotlist_max_level_nicks_add joe:2,mike:2
|
||
----
|
||
|
||
[NOTE]
|
||
La propriété de tampon "hotlist_max_level_nicks" n'est pas sauvegardée dans la
|
||
configuration. +
|
||
Vous pouvez facilement la sauvegarder avec le script _buffer_autoset.py_ : vous
|
||
pouvez l'installer avec `+/script install buffer_autoset.py+` et obtenir de l'aide
|
||
avec `+/help buffer_autoset+`.
|
||
|
||
[[highlights]]
|
||
=== Highlights
|
||
|
||
[[highlights_words]]
|
||
==== Ajouter des mots pour le « highlight »
|
||
|
||
Par défaut, WeeChat met en valeur les messages des autres utilisateurs qui
|
||
contiennent votre pseudo, par conséquent le highlight dépend du tampon
|
||
(le pseudo peut être différent d'un tampon à l'autre).
|
||
|
||
Vous pouvez ajouter d'autres mots à mettre en valeur avec l'option
|
||
<<option_weechat.look.highlight,weechat.look.highlight>>, par exemple pour mettre
|
||
en valeur votre pseudo, "mot1", "mot2" et tous les mots commençants par "test" :
|
||
|
||
----
|
||
/set weechat.look.highlight mot1,mot2,test*
|
||
----
|
||
|
||
Si vous avez besoin d'une règle plus spécifique pour un mot, vous pouvez utiliser
|
||
des expressions régulières avec l'option
|
||
<<option_weechat.look.highlight_regex,weechat.look.highlight_regex>>,
|
||
par exemple pour mettre en valeur les mots "flashcode", "flashcöde" et "flashy" :
|
||
|
||
----
|
||
/set weechat.look.highlight_regex flashc[oö]de|flashy
|
||
----
|
||
|
||
Les délimiteurs autour des mots à mettre en valeur peuvent être paramétrés avec
|
||
l'option <<option_weechat.look.word_chars_highlight,weechat.look.word_chars_highlight>>.
|
||
|
||
[[highlights_tags]]
|
||
==== Ajouter des étiquettes pour le « highlight »
|
||
|
||
Les lignes affichées contiennent des étiquettes (« tags »), qui donnent des
|
||
informations sur l'origine du message ou le message lui-même. +
|
||
Vous pouvez afficher les étiquettes avec la commande `/debug tags` (même commande
|
||
pour les cacher).
|
||
|
||
Vous pouvez ajouter des étiquettes à mettre en valeur avec l'option
|
||
<<option_weechat.look.highlight_tags,weechat.look.highlight_tags>>.
|
||
Les étiquettes sont séparées par des virgules, et plusieurs étiquettes peuvent
|
||
être séparées par `+++` pour faire un "et" logique entre elles.
|
||
|
||
Par exemple pour mettre en valeur tous les messages du pseudo "FlashCode" et
|
||
toutes les notices des pseudos commençant par "toto" :
|
||
|
||
----
|
||
/set weechat.look.highlight_tags "nick_flashcode,irc_notice+nick_toto*"
|
||
----
|
||
|
||
[[highlights_regex_buffer]]
|
||
==== Définir des highlights supplémentaires sur le tampon
|
||
|
||
Vous pouvez forcer le highlight en utilisant une expression regulière avec la
|
||
propriété de tampon "highlight_regex".
|
||
|
||
Par exemple pour forcer le highlight sur tous les messages dans le canal
|
||
courant :
|
||
|
||
----
|
||
/buffer set highlight_regex .*
|
||
----
|
||
|
||
[NOTE]
|
||
La propriété de tampon "highlight_regex" n'est pas sauvegardée dans la
|
||
configuration. +
|
||
Vous pouvez facilement la sauvegarder avec le script _buffer_autoset.py_ : vous
|
||
pouvez l'installer avec `+/script install buffer_autoset.py+` et obtenir de l'aide
|
||
avec `+/help buffer_autoset+`.
|
||
|
||
[[key_bindings]]
|
||
=== Raccourcis clavier par défaut
|
||
|
||
[[key_bindings_command_line]]
|
||
==== Touches pour la ligne de commande
|
||
|
||
[width="100%",cols="^.^3,.^8,.^5",options="header"]
|
||
|===
|
||
| Touche | Description | Commande
|
||
| kbd:[←] +
|
||
kbd:[Ctrl+b] | Aller au caractère précédent sur la ligne de commande. | `+/input move_previous_char+`
|
||
| kbd:[→] +
|
||
kbd:[Ctrl+f] | Aller au caractère suivant sur la ligne de commande. | `+/input move_next_char+`
|
||
| kbd:[Ctrl+←] +
|
||
kbd:[Alt+b] | Aller au mot précédent sur la ligne de commande. | `+/input move_previous_word+`
|
||
| kbd:[Ctrl+→] +
|
||
kbd:[Alt+f] | Aller au mot suivant sur la ligne de commande. | `+/input move_next_word+`
|
||
| kbd:[Home] +
|
||
kbd:[Ctrl+a] | Aller au début de la ligne de commande. | `+/input move_beginning_of_line+`
|
||
| kbd:[End] +
|
||
kbd:[Ctrl+e] | Aller à la fin de la ligne de commande. | `+/input move_end_of_line+`
|
||
| kbd:[Ctrl+c],
|
||
kbd:[b] | Insérer le code pour mettre le texte en gras. | `+/input insert \x02+`
|
||
| kbd:[Ctrl+c],
|
||
kbd:[c] | Insérer le code pour écrire en couleur. | `+/input insert \x03+`
|
||
| kbd:[Ctrl+c],
|
||
kbd:[i] | Insérer le code pour mettre le texte en italique. | `+/input insert \x1D+`
|
||
| kbd:[Ctrl+c],
|
||
kbd:[o] | Insérer le code pour réinitialiser la couleur. | `+/input insert \x0F+`
|
||
| kbd:[Ctrl+c],
|
||
kbd:[v] | Insérer le code pour écrire en couleur inversée. | `+/input insert \x16+`
|
||
| kbd:[Ctrl+c],
|
||
kbd:[_] | Insérer le code pour écrire en souligné. | `+/input insert \x1F+`
|
||
| kbd:[Del] +
|
||
kbd:[Ctrl+d] | Effacer le caractère suivant sur la ligne de commande. | `+/input delete_next_char+`
|
||
| kbd:[Backsp.] +
|
||
kbd:[Ctrl+h] | Effacer le caractère précédent sur la ligne de commande. | `+/input delete_previous_char+`
|
||
| kbd:[Ctrl+k] | Effacer du curseur jusqu'à la fin de la ligne de commande (la chaîne supprimée est copiée dans le presse-papiers interne). | `+/input delete_end_of_line+`
|
||
| kbd:[Ctrl+r] | Chercher du texte dans l'historique du tampon (voir <<key_bindings_search_context,les touches pour le contexte de recherche>>). | `+/input search_text_here+`
|
||
| kbd:[Ctrl+t] | Inverser deux caractères. | `+/input transpose_chars+`
|
||
| kbd:[Ctrl+u] | Effacer du curseur jusqu'au début de la ligne de commande (la chaîne supprimée est copiée dans le presse-papiers interne). | `+/input delete_beginning_of_line+`
|
||
| kbd:[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 interne). | `+/input delete_previous_word+`
|
||
| kbd:[Ctrl+y] | Coller le contenu du presse-papiers interne. | `+/input clipboard_paste+`
|
||
| kbd:[Ctrl+_] | Défaire la dernière action sur la ligne de commande. | `+/input undo+`
|
||
| kbd:[Alt+_] | Refaire la dernière action sur la ligne de commande. | `+/input redo+`
|
||
| kbd:[Tab] | Compléter la commande ou le pseudo (kbd:[Tab] de nouveau : trouver la complétion suivante). | `+/input complete_next+`
|
||
| kbd:[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+`
|
||
| kbd:[Enter] +
|
||
kbd:[Ctrl+j] +
|
||
kbd:[Ctrl+m] | Exécuter la commande ou envoyer le message (en mode recherche : arrêter la recherche). | `+/input return+`
|
||
| kbd:[Alt+Enter] | Insérer une nouvelle ligne. | `+/input insert \n+`
|
||
| kbd:[↑] | Rappeler la commande précédente (en mode recherche : chercher plus haut). | `+/input history_previous+`
|
||
| kbd:[↓] | Rappeler la commande suivante (en mode recherche : chercher plus bas). | `+/input history_next+`
|
||
| kbd:[Ctrl+↑] | Rappeler la commande précédente dans l'historique global (commun à tous les tampons). | `+/input history_global_previous+`
|
||
| kbd:[Ctrl+↓] | Rappeler la commande suivante dans l'historique global (commun à tous les tampons). | `+/input history_global_next+`
|
||
| kbd:[Alt+d] | Effacer le mot suivant (la chaîne supprimée est copiée dans le presse-papiers interne). | `+/input delete_next_word+`
|
||
| kbd:[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+`
|
||
| kbd:[Alt+r] | Effacer entièrement la ligne de commande. | `+/input delete_line+`
|
||
| kbd:[Alt+s] | Activer/désactiver la vérification de l'orthographe. | `+/mute spell toggle+`
|
||
|===
|
||
|
||
[[key_bindings_buffers_windows]]
|
||
==== Touches pour les tampons / fenêtres
|
||
|
||
[width="100%",cols="^.^3,.^8,.^5",options="header"]
|
||
|===
|
||
| Touche | Description | Commande
|
||
| kbd:[Ctrl+l] (`L`) | Réafficher toute la fenêtre. | `+/window refresh+`
|
||
| kbd:[Ctrl+s],
|
||
kbd:[Ctrl+u] | Positionner le marqueur de données non lues sur tous les tampons. | `+/input set_unread+`
|
||
| kbd:[Ctrl+x] | Changer de tampon courant si plusieurs tampons sont attachés avec le même numéro. | `+/input switch_active_buffer+`
|
||
| kbd:[Alt+x] | Zoomer sur le tampon mélangé (kbd:[Alt+x] de nouveau : afficher tous les tampons mélangés). | `+/input zoom_merged_buffer+`
|
||
| kbd:[PgUp] | Monter d'une page dans l'historique du tampon. | `+/window page_up+`
|
||
| kbd:[PgDn] | Descendre d'une page dans l'historique du tampon. | `+/window page_down+`
|
||
| kbd:[Alt+PgUp] | Monter de quelques lignes dans l'historique du tampon. | `+/window scroll_up+`
|
||
| kbd:[Alt+PgDn] | Descendre de quelques lignes dans l'historique du tampon. | `+/window scroll_down+`
|
||
| kbd:[Alt+Home] | Aller au début du tampon. | `+/window scroll_top+`
|
||
| kbd:[Alt+End] | Aller à la fin du tampon. | `+/window scroll_bottom+`
|
||
| kbd:[F1] +
|
||
kbd:[Ctrl+F1] | Monter d'une page dans la liste des tampons. | `+/bar scroll buflist * -100%+`
|
||
| kbd:[F2] +
|
||
kbd:[Ctrl+F2] | Descendre d'une page dans la liste des tampons. | `+/bar scroll buflist * +100%+`
|
||
| kbd:[Alt+F1] | Aller au début de la liste des tampons. | `+/bar scroll buflist * b+`
|
||
| kbd:[Alt+F2] | Aller à la fin de la liste des tampons. | `+/bar scroll buflist * e+`
|
||
| kbd:[Alt+←] +
|
||
kbd:[Alt+↑] +
|
||
kbd:[Ctrl+p] +
|
||
kbd:[F5] | Aller au tampon précédent. | `+/buffer -1+`
|
||
| kbd:[Alt+→] +
|
||
kbd:[Alt+↓] +
|
||
kbd:[Ctrl+n] +
|
||
kbd:[F6] | Aller au tampon suivant. | `+/buffer +1+`
|
||
| kbd:[F7] | Aller à la fenêtre précédente. | `+/window -1+`
|
||
| kbd:[F8] | Aller à la fenêtre suivante. | `+/window +1+`
|
||
| kbd:[F9] | Faire défiler le titre du tampon vers la gauche. | `+/bar scroll title * -30%+`
|
||
| kbd:[F10] | Faire défiler le titre du tampon vers la droite. | `+/bar scroll title * +30%+`
|
||
| kbd:[F11] +
|
||
kbd:[Ctrl+F11] | Monter d'une page dans la liste des pseudos. | `+/bar scroll nicklist * -100%+`
|
||
| kbd:[F12] +
|
||
kbd:[Ctrl+F12] | Descendre d'une page dans la liste des pseudos. | `+/bar scroll nicklist * +100%+`
|
||
| kbd:[Alt+F11] | Aller au début de la liste des pseudos. | `+/bar scroll nicklist * b+`
|
||
| kbd:[Alt+F12] | Aller à la fin de la liste des pseudos. | `+/bar scroll nicklist * e+`
|
||
| kbd:[Alt+a] | Sauter au prochain tampon avec activité (avec priorité : highlight, message, autre). | `+/input jump_smart+`
|
||
| kbd:[Alt+Shift+B] | Activer/désactiver buflist. | `+/buflist toggle+`
|
||
| kbd:[Alt+h] | Vider la hotlist (notification d'activité sur les autres tampons). | `+/input hotlist_clear+`
|
||
| kbd:[Alt+j],
|
||
kbd:[Alt+f] | Sauter au premier tampon. | `+/buffer -+`
|
||
| kbd:[Alt+j],
|
||
kbd:[Alt+l] (`L`) | Sauter au dernier tampon. | `+/buffer ++`
|
||
| kbd:[Alt+j],
|
||
kbd:[Alt+r] | Sauter au tampon IRC de données brutes. | `+/server raw+`
|
||
| kbd:[Alt+j],
|
||
kbd:[Alt+s] | Sauter au tampon IRC du serveur. | `+/server jump+`
|
||
| kbd:[Alt+0...9] | Sauter au tampon qui porte ce numéro (0 = 10). | `+/buffer *N+`
|
||
| kbd:[Alt+j],
|
||
kbd:[01...99] | Sauter au tampon qui porte ce numéro. | `+/buffer *NN+`
|
||
| kbd:[Alt+l] (`L`) | Activer/désactiver le mode d'affichage dépouillé. | `+/window bare+`
|
||
| kbd:[Alt+m] | Activer/désactiver la souris. | `+/mouse toggle+`
|
||
| kbd:[Alt+n] | Se positionner sur le highlight suivant. | `+/window scroll_next_highlight+`
|
||
| kbd:[Alt+Shift+N] | Activer/désactiver la barre nicklist. | `+/bar toggle nicklist+`
|
||
| kbd:[Alt+p] | Se positionner sur le highlight précédent. | `+/window scroll_previous_highlight+`
|
||
| kbd:[Alt+u] | Se positionner sur la première ligne non lue du tampon. | `+/window scroll_unread+`
|
||
| kbd:[Alt+w],
|
||
kbd:[Alt+↑] | Sauter à la fenêtre au dessus. | `+/window up+`
|
||
| kbd:[Alt+w],
|
||
kbd:[Alt+↓] | Sauter à la fenêtre en dessous. | `+/window down+`
|
||
| kbd:[Alt+w],
|
||
kbd:[Alt+←] | Sauter à la fenêtre de gauche. | `+/window left+`
|
||
| kbd:[Alt+w],
|
||
kbd:[Alt+→] | Sauter à la fenêtre de droite. | `+/window right+`
|
||
| kbd:[Alt+w],
|
||
kbd:[Alt+b] | Équilibrer la taille de toutes les fenêtres. | `+/window balance+`
|
||
| kbd:[Alt+w],
|
||
kbd:[Alt+s] | Échanger les tampons de deux fenêtres. | `+/window swap+`
|
||
| kbd:[Alt+z] | Zoomer sur la fenêtre courante (kbd:[Alt+z] de nouveau : restaurer l'état initial des fenêtres, avant le zoom). | `+/window zoom+`
|
||
| kbd:[Alt+<] | Sauter au tampon précédent dans la liste des tampons visités. | `+/input jump_previously_visited_buffer+`
|
||
| kbd:[Alt+>] | Sauter au tampon suivant dans la liste des tampons visités. | `+/input jump_next_visited_buffer+`
|
||
| kbd:[Alt+/] | Sauter au dernier tampon affiché (avant le dernier saut vers un tampon). | `+/input jump_last_buffer_displayed+`
|
||
| kbd:[Alt+=] | Activer/désactiver les filtres. | `+/filter toggle+`
|
||
| kbd:[Alt+-] | Activer/désactiver les filtres dans le tampon courant. | `+/filter toggle @+`
|
||
|===
|
||
|
||
[[key_bindings_search_context]]
|
||
==== Touches pour le contexte "search"
|
||
|
||
Ces touches sont utilisées dans le contexte "search" (lorsque kbd:[Ctrl+r] est
|
||
pressé pour chercher du texte dans le tampon).
|
||
|
||
[width="100%",cols="^.^3,.^8,.^5",options="header"]
|
||
|===
|
||
| Touche | Description | Commande
|
||
| kbd:[Ctrl+r] | Basculer le type de recherche : chaîne (par défaut), expression régulière. | `+/input search_switch_regex+`
|
||
| kbd:[Alt+c] | Basculer la casse exacte pour la recherche. | `+/input search_switch_case+`
|
||
| kbd:[Tab] | Basculer la recherche dans : les messages (par défaut), les préfixes, les préfixes + messages. | `+/input search_switch_where+`
|
||
| kbd:[↑] | Chercher la ligne précédente. | `+/input search_previous+`
|
||
| kbd:[↓] | Chercher la ligne suivante. | `+/input search_next+`
|
||
| kbd:[Enter] +
|
||
kbd:[Ctrl+j] +
|
||
kbd:[Ctrl+m] | Arrêter la recherche à la position courante. | `+/input search_stop_here+`
|
||
| kbd:[Ctrl+q] | Arrêter la recherche et aller à la fin du tampon. | `+/input search_stop+`
|
||
|===
|
||
|
||
[[key_bindings_cursor_context]]
|
||
==== Touches pour le contexte "cursor"
|
||
|
||
Ces touches sont utilisées dans le contexte "cursor" (mouvement libre du curseur
|
||
à l'écran).
|
||
|
||
[width="100%",cols="^.^3,^.^2,.^7,.^7",options="header"]
|
||
|===
|
||
| Touche | Zone | Description | Commande
|
||
| kbd:[↑] | - | Déplacer le curseur d'une ligne vers le haut. | `+/cursor move up+`
|
||
| kbd:[↓] | - | Déplacer le curseur d'une ligne vers le bas. | `+/cursor move down+`
|
||
| kbd:[←] | - | Déplacer le curseur d'une colonne vers la gauche. | `+/cursor move left+`
|
||
| kbd:[→] | - | Déplacer le curseur d'une colonne vers la droite. | `+/cursor move right+`
|
||
| kbd:[Alt+↑] | - | Déplacer le curseur vers la zone au dessus. | `+/cursor move area_up+`
|
||
| kbd:[Alt+↓] | - | Déplacer le curseur vers la zone en dessous. | `+/cursor move area_down+`
|
||
| kbd:[Alt+←] | - | Déplacer le curseur vers la zone sur la gauche. | `+/cursor move area_left+`
|
||
| kbd:[Alt+→] | - | Déplacer le curseur vers la zone sur la droite. | `+/cursor move area_right+`
|
||
| kbd:[m] | chat | Citer le message. | `+hsignal:chat_quote_message;/cursor stop+`
|
||
| kbd:[q] | chat | Citer le préfixe + le message. | `+hsignal:chat_quote_prefix_message;/cursor stop+`
|
||
| kbd:[Q] | chat | Citer l'heure + le préfixe + le message. | `+hsignal:chat_quote_time_prefix_message;/cursor stop+`
|
||
| kbd:[b] | liste des pseudos | Bannir le pseudo. | `+/window ${_window_number};/ban ${nick}+`
|
||
| kbd:[k] | liste des pseudos | Retirer par la force le pseudo. | `+/window ${_window_number};/kick ${nick}+`
|
||
| kbd:[K] | liste des pseudos | Retirer par la force et bannir le pseudo. | `+/window ${_window_number};/kickban ${nick}+`
|
||
| kbd:[q] | liste des pseudos | Ouvrir une discussion avec le pseudo. | `+/window ${_window_number};/query ${nick};/cursor stop+`
|
||
| kbd:[w] | liste des pseudos | Effectuer un whois sur le pseudo. | `+/window ${_window_number};/whois ${nick}+`
|
||
| kbd:[Enter] +
|
||
kbd:[Ctrl+j] +
|
||
kbd:[Ctrl+m] | - | Arrêter le mode curseur ("cursor"). | `+/cursor stop+`
|
||
|===
|
||
|
||
[[key_bindings_mouse_context]]
|
||
==== 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.
|
||
|
||
[width="100%",cols="^.^3,^.^3,^.^3,.^8,.^8",options="header"]
|
||
|===
|
||
| Bouton/Roulette ^(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+`
|
||
| kbd:[▲] | - | chat | Monter de quelques lignes dans l'historique du tampon. | `+/window scroll_up -window ${_window_number}+`
|
||
| kbd:[▼] | - | chat | Descendre de quelques lignes dans l'historique du tampon. | `+/window scroll_down -window ${_window_number}+`
|
||
| kbd:[Ctrl+▲] | - | chat | Faire défiler horizontalement vers la gauche. | `+/window scroll_horiz -window ${_window_number} -10%+`
|
||
| kbd:[Ctrl+▼] | - | chat | Faire défiler horizontalement vers la droite. | `+/window scroll_horiz -window ${_window_number} +10%+`
|
||
| kbd:[▲] | - | chat : tampon fset | Monter de cinq lignes dans le tampon fset. | `+/fset -up 5+`
|
||
| kbd:[▼] | - | chat : tampon fset | Descendre de cinq lignes dans le tampon fset. | `+/fset -down 5+`
|
||
| ◾◽◽ | - | chat : tampon fset | Sélectionner la ligne dans le tampon fset. | `+/window ${_window_number};/fset -go ${_chat_line_y}+`
|
||
| ◽◽◾ | - | chat : tampon fset | Basculer le booléen (on/off) ou éditer la valeur de l'option. | `+hsignal:fset_mouse+`
|
||
| ◽◽◾ | left | chat : tampon fset | Décrémenter la valeur de l'entier/couleur, définir/ajouter à la valeur pour les autres types. | `+hsignal:fset_mouse+`
|
||
| ◽◽◾ | right | chat : tampon fset | Incrémenter la valeur de l'entier/couleur, définir/ajouter à la valeur pour les autres types. | `+hsignal:fset_mouse+`
|
||
| ◽◽◾ | up / down | chat : tampon fset | Marquer/démarquer de multiples options. | `+hsignal:fset_mouse+`
|
||
| kbd:[▲] | - | chat : tampon script | Monter de 5 lignes dans le tampon script. | `+/script up 5+`
|
||
| kbd:[▼] | - | chat : tampon script | Descendre de 5 lignes dans le tampon script. | `+/script down 5+`
|
||
| ◾◽◽ | - | chat : tampon script | Sélectionner la ligne dans le tampon script. | `+/script go ${_chat_line_y}+`
|
||
| ◽◽◾ | - | chat : tampon script | Installer/supprimer un script. | `+/script go ${_chat_line_y};/script installremove -q ${script_name_with_extension}+`
|
||
| ◾◽◽ | up / left | buflist | Déplacer le tampon vers un numéro inférieur. | Signal `+buflist_mouse+`.
|
||
| ◾◽◽ | down / right | buflist | Déplacer le tampon vers un numéro supérieur. | Signal `+buflist_mouse+`.
|
||
| ◾◽◽ | - | buflist | Aller au tampon (tampon précédent dans la liste des tampons visités si le tampon est le courant). | Signal `+buflist_mouse+`.
|
||
| ◽◽◾ | - | buflist | Aller au tampon suivant dans la liste des tampons visités si le tampon est le courant. | Signal `+buflist_mouse+`.
|
||
| kbd:[Ctrl+▲] | - | buflist | Aller au tampon précédent. | Signal `+buflist_mouse+`.
|
||
| kbd:[Ctrl+▼] | - | buflist | Aller au tampon suivant. | Signal `+buflist_mouse+`.
|
||
| ◾◽◽ | 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+`
|
||
| kbd:[▲] | - | toute barre | Faire défiler la barre de -20%. | `+/bar scroll ${_bar_name} ${_window_number} -20%+`
|
||
| kbd:[▼] | - | 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)^ kbd:[▲] et kbd:[▼] sont la roulette vers le haut et le bas.
|
||
|
||
[[key_bindings_fset_buffer]]
|
||
==== Touches pour le tampon fset
|
||
|
||
Ces touches et actions sont utilisées sur le tampon fset
|
||
(voir <<fset_plugin,l'extension Fset>>).
|
||
|
||
[width="100%",cols="^.^3,^.^2,.^8,.^5",options="header"]
|
||
|===
|
||
| Touche | Action ^(1)^ | Description | Commande
|
||
| kbd:[↑] | | Monter d'une ligne. | `+/fset -up+`
|
||
| kbd:[↓] | | Descendre d'une ligne. | `+/fset -down+`
|
||
| kbd:[PgUp] | | Monter d'une page. | `+/window page_up+`
|
||
| kbd:[PgDn] | | Descendre d'une page. | `+/window page_down+`
|
||
| kbd:[Alt+Home] | `pass:[<<]` | Aller à la première ligne. | `+/fset -go 0+`
|
||
| kbd:[Alt+End] | `pass:[>>]` | Aller à la dernière ligne. | `+/fset -go end+`
|
||
| kbd:[F11] | `pass:[<]` | Faire défiler horizontalement vers la gauche. | `+/fset -left+`
|
||
| kbd:[F12] | `pass:[>]` | Faire défiler horizontalement vers la droite. | `+/fset -right+`
|
||
| kbd:[Alt+Space] | `t` | Basculer la valeur booléenne. | `+/fset -toggle+`
|
||
| kbd:[Alt+-] | `-` | Soustraire 1 de la valeur de l'entier/couleur, définir la valeur pour les autres types. | `+/fset -add -1+`
|
||
| kbd:[Alt++] | `+` | Ajouter 1 à la valeur de l'entier/couleur, ajouter à la valeur pour les autres types. | `+/fset -add 1+`
|
||
| kbd:[Alt+f],
|
||
kbd:[Alt+r] | `r` | Réinitialiser la valeur. | `+/fset -reset+`
|
||
| kbd:[Alt+f],
|
||
kbd:[Alt+u] | `u` | Supprimer/réinitialiser la valeur. | `+/fset -unset+`
|
||
| kbd:[Alt+Enter] | `s` | Définir la valeur. | `+/fset -set+`
|
||
| kbd:[Alt+f],
|
||
kbd:[Alt+n] | `n` | Définir une nouvelle valeur. | `+/fset -setnew+`
|
||
| kbd:[Alt+f],
|
||
kbd:[Alt+a] | `a` | Ajouter à la valeur. | `+/fset -append+`
|
||
| kbd:[Alt+,] | `,` | Marquer/démarquer l'option. | `+/fset -mark 1+`
|
||
| kbd:[Shift+↑] | | Se déplacer d'une ligne vers le haut et marquer/démarquer l'option. | `+/fset -up; /fset -mark+`
|
||
| kbd:[Shift+↓] | | Marquer/démarquer l'option et se déplacer d'une ligne vers le bas. | `+/fset -mark; /fset -down+`
|
||
| | `m:xxx` | Marquer les options affichées qui correspondent au filtre "xxx" (tout filtre sur une option ou valeur est autorisé, voir la <<command_fset_fset,commande fset>>). |
|
||
| | `u:xxx` | Démarquer les options affichées qui correspondent au filtre "xxx" (tout filtre sur une option ou valeur est autorisé, voir la <<command_fset_fset,commande fset>>). |
|
||
| kbd:[Ctrl+l] (`L`) | | Rafraîchir les options et l'écran entier. | `+/fset -refresh+`
|
||
| | `$` | Rafraîchir les options (garder les options marquées). |
|
||
| | `$$` | Rafraîchir les options (démarquer toutes les options). |
|
||
| kbd:[Alt+p] | | Activer/désactiver la description des options d'extensions (`pass:[plugins.desc.*]`). | `+/mute /set fset.look.show_plugins_desc toggle+`
|
||
| kbd:[Alt+v] | | Activer/désactiver la barre d'aide. | `+/bar toggle fset+`
|
||
| | `s:x,y` | Trier les options par les champs x,y (voir l'option <<option_fset.look.sort,fset.look.sort>>). | `+/mute /set fset.look.sort x,y+`
|
||
| | `s:` | Réinitialiser le tri à sa valeur par défaut (voir l'option <<option_fset.look.sort,fset.look.sort>>). | `+/mute /unset fset.look.sort+`
|
||
| | `w:xxx` | Exporter les options dans le fichier "xxx". | `+/fset -export xxx+`
|
||
| | `w-:xxx` | Exporter les options dans le fichier "xxx" sans aide. | `+/fset -export -nohelp xxx+`
|
||
| | `w+:xxx` | Exporter les options dans le fichier "xxx" avec aide. | `+/fset -export -help xxx+`
|
||
| kbd:[Ctrl+x] | `x` | Basculer le format utilisé pour afficher les options. | `+/fset -format+`
|
||
| | `q` | Fermer le tampon fset. | `+/buffer close+`
|
||
|===
|
||
|
||
[NOTE]
|
||
^(1)^ L'action doit être tapée comme entrée dans la ligne de commande, suivie de kbd:[Enter].
|
||
|
||
[[key_bindings_script_buffer]]
|
||
==== Touches pour le tampon script
|
||
|
||
Ces touches et actions sont utilisées sur le tampon script
|
||
(voir <<scripts_plugins,l'extension Script>>).
|
||
|
||
[width="100%",cols="^.^3,^.^2,.^8,.^5",options="header"]
|
||
|===
|
||
| Touche | Action ^(1)^ | Description | Commande
|
||
| kbd:[↑] | | Move one line up. | `+/script up+`
|
||
| kbd:[↓] | | Move one line down. | `+/script down+`
|
||
| kbd:[PgUp] | | Move one page up. | `+/window page_up+`
|
||
| kbd:[PgDn] | | Move one page down. | `+/window page_down+`
|
||
| kbd:[Alt+i] | `i` | Install script. | `+/script install+`
|
||
| kbd:[Alt+r] | `r` | Remove script. | `+/script remove+`
|
||
| kbd:[Alt+l] (`L`) | `l` | Load script. | `+/script load+`
|
||
| kbd:[Alt+u] | `u` | Unload script. | `+/script unload+`
|
||
| kbd:[Alt+Shift+A] | `A` | Autoload script. | `+/script toggleautoload+`
|
||
| kbd:[Alt+h] | `h` | Hold/unhold script. | `+/script hold+`
|
||
| kbd:[Alt+v] | `v` | View script. | `+/script show+`
|
||
|===
|
||
|
||
[NOTE]
|
||
^(1)^ L'action doit être tapée comme entrée dans la ligne de commande, suivie de kbd:[Enter].
|
||
|
||
[[mouse]]
|
||
=== 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.
|
||
|
||
[[mouse_enable]]
|
||
==== Activer la souris
|
||
|
||
Pour activer la souris au démarrage :
|
||
|
||
----
|
||
/set weechat.look.mouse on
|
||
----
|
||
|
||
Pour activer la souris maintenant, appuyez sur kbd:[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 kbd:[Alt+%] pour désactiver la souris pendant 10
|
||
secondes :
|
||
|
||
----
|
||
/key bind meta-% /mouse toggle 10
|
||
----
|
||
|
||
[IMPORTANT]
|
||
Lorsque la souris est activée dans WeeChat, tous les évènements souris sont
|
||
capturés par WeeChat, donc les actions comme le copier/coller et les clics sur
|
||
les URLs ne sont pas envoyées au terminal. +
|
||
Utiliser la touche kbd:[Shift] permet d'envoyer directement les évènements au
|
||
terminal, comme si la souris était désactivée (sous certains terminaux comme
|
||
iTerm, vous devez utiliser kbd:[Alt] au lieu de kbd:[Shift]).
|
||
|
||
[NOTE]
|
||
Pour tout problème avec la souris, merci de consulter la
|
||
link:weechat_faq.fr.html#mouse[FAQ WeeChat / Souris].
|
||
|
||
[[mouse_bind_events]]
|
||
==== Associer des évènements souris à des commandes
|
||
|
||
De nombreux évènements souris sont déjà définis par WeeChat (voir
|
||
<<key_bindings_mouse_context,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
|
||
<<command_weechat_key,/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 :
|
||
|
||
[width="100%",cols="2m,3",options="header"]
|
||
|===
|
||
| Modificateur | Description
|
||
| ctrl | Touche kbd:[Ctrl]
|
||
| alt | Touche kbd:[Alt]
|
||
| ctrl-alt | Touches kbd:[Ctrl] + kbd:[Alt]
|
||
|===
|
||
|
||
Liste des boutons/roulette :
|
||
|
||
[width="100%",cols="2m,3",options="header"]
|
||
|===
|
||
| 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) :
|
||
|
||
[width="100%",cols="2m,3",options="header"]
|
||
|===
|
||
| 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) :
|
||
|
||
[width="100%",cols="2m,3",options="header"]
|
||
|===
|
||
| É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`
|
||
* ...
|
||
|
||
[TIP]
|
||
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.
|
||
|
||
[TIP]
|
||
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.
|
||
|
||
[[secured_data]]
|
||
=== Données sécurisées
|
||
|
||
[[secured_data_storage]]
|
||
==== 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
|
||
----
|
||
|
||
// TRANSLATION MISSING
|
||
===== Passphrase on startup
|
||
|
||
Lorsqu'une phrase secrète est définie, WeeChat vous demandera de la saisir lors
|
||
du démarrage (mais pas sur `/upgrade`).
|
||
|
||
Si vous utilisez un gestionnaire de mots de passe, vous pouvez lancer
|
||
un programme externe pour lire la phrase de chiffrement au lieu d'avoir
|
||
à l'entrer manuellement au démarrage de WeeChat. +
|
||
Par exemple avec password-store (command `pass`) :
|
||
|
||
----
|
||
/set sec.crypt.passphrase_command "pass show weechat/passphrase"
|
||
----
|
||
|
||
Le programme peut vous demander de déverrouiller votre clé GPG ou d'entrer une
|
||
autre phrase de chiffrement. WeeChat attendra la fin de la commande pour lire
|
||
la phrase de chiffrement sur la sortie standard (elle doit être sur la première
|
||
ligne et sans caractère supplémentaire). +
|
||
Si la sortie ne contient pas de phrase de chiffrement ou si celle-ci est
|
||
erronée, WeeChat vous demandera alors de la saisir.
|
||
|
||
[[secured_data_encryption]]
|
||
===== Chiffrement
|
||
|
||
Le chiffrement des données se fait en 3 étapes :
|
||
|
||
. Dériver une clé de la phrase secrète (avec du salage en option).
|
||
. Calculer la somme de contrôle des données à chiffrer.
|
||
. Chiffrer la somme 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"
|
||
----
|
||
|
||
[[secured_data_decryption]]
|
||
===== Déchiffrement
|
||
|
||
Le déchiffrement des données se fait en 3 étapes :
|
||
|
||
. Dériver une clé en utilisant le sel et la phrase secrète.
|
||
. Déchiffrer la somme de contrôle et les données.
|
||
. Vérifier que la somme de contrôle déchiffrée correspond à la somme de contrôle
|
||
des données.
|
||
|
||
[[secured_data_manage]]
|
||
==== 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 kbd:[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
|
||
<<irc_sasl_authentication,l'authentification SASL>> :
|
||
|
||
----
|
||
/set irc.server.freenode.sasl_password "${sec.data.freenode}"
|
||
----
|
||
|
||
[[commands_and_options]]
|
||
=== Commandes et options
|
||
|
||
[[weechat_commands]]
|
||
==== Commandes WeeChat
|
||
|
||
include::includes/autogen_user_commands.fr.adoc[tag=weechat_commands]
|
||
|
||
[[sec_options]]
|
||
==== Options des données sécurisées
|
||
|
||
Sections dans le fichier _sec.conf_ :
|
||
|
||
[width="100%",cols="3m,6m,16",options="header"]
|
||
|===
|
||
| Section | Commande de contrôle | Description
|
||
| crypt | /set sec.crypt.* | Options pour le chiffrement.
|
||
| data | <<command_weechat_secure,/secure>> | Données sécurisées.
|
||
|===
|
||
|
||
Options :
|
||
|
||
include::includes/autogen_user_options.fr.adoc[tag=sec_options]
|
||
|
||
[[weechat_options]]
|
||
==== Options WeeChat
|
||
|
||
Sections dans le fichier _weechat.conf_ :
|
||
|
||
[width="100%",cols="3m,6m,16",options="header"]
|
||
|===
|
||
| Section | Commande de contrôle | Description
|
||
| debug | <<command_weechat_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 | <<command_weechat_color,/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 | <<command_weechat_proxy,/proxy>> +
|
||
/set weechat.proxy.* | Options des proxies.
|
||
| network | /set weechat.network.* | Options réseau/SSL.
|
||
| bar | <<command_weechat_bar,/bar>> +
|
||
/set weechat.bar.* | Options des barres.
|
||
| layout | <<command_weechat_layout,/layout>> | Dispositions.
|
||
| notify | <<command_weechat_buffer,/buffer notify>> | Niveaux de notification des tampons (les options peuvent être ajoutées/supprimées dans la section).
|
||
| filter | <<command_weechat_filter,/filter>> | Filtres.
|
||
| key | <<command_weechat_key,/key>> | Touches pour le contexte "default".
|
||
| key_search | <<command_weechat_key,/key>> | Touches pour le contexte "search".
|
||
| key_cursor | <<command_weechat_key,/key>> | Touches pour le contexte "cursor".
|
||
| key_mouse | <<command_weechat_key,/key>> | Touches pour le contexte "mouse".
|
||
|===
|
||
|
||
Options :
|
||
|
||
include::includes/autogen_user_options.fr.adoc[tag=weechat_options]
|
||
|
||
[[plugins]]
|
||
== 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, WeeChat supprime :
|
||
|
||
* les tampons
|
||
* les options de configuration (les options sont écrites dans les fichiers)
|
||
* tous les "hooks" : commandes, modificateurs, processus, etc.
|
||
* les infos et infolists
|
||
* les "hdata"
|
||
* les objets de barre.
|
||
|
||
Exemples pour charger, décharger et afficher les extensions :
|
||
|
||
----
|
||
/plugin load irc
|
||
/plugin unload irc
|
||
/plugin list
|
||
----
|
||
|
||
Les extensions par défaut sont :
|
||
|
||
[width="100%",cols="1,5",options="header"]
|
||
|===
|
||
| Extension | Description
|
||
| alias | Définition d'alias pour les commandes.
|
||
| buflist | Objet de barre avec la liste des tampons.
|
||
| charset | Encodage/encodage avec jeu de caractère sur les tampons.
|
||
| exec | Exécution de commandes externes dans WeeChat.
|
||
| fifo | Tube FIFO pour envoyer des commandes à distance vers WeeChat.
|
||
| fset | Modification rapide des options de WeeChat et des extensions.
|
||
| irc | Discussion avec le protocole IRC.
|
||
| logger | Enregistrement des tampons dans des fichiers.
|
||
| relay | Relai de données via le réseau.
|
||
| script | Gestionnaire de scripts.
|
||
| python | Interface (API) pour scripts Python.
|
||
| perl | Interface (API) pour scripts Perl.
|
||
| ruby | Interface (API) pour scripts Ruby.
|
||
| lua | Interface (API) pour scripts Lua.
|
||
| tcl | Interface (API) pour scripts Tcl.
|
||
| guile | Interface (API) pour scripts Guile (scheme).
|
||
| javascript | Interface (API) pour scripts JavaScript.
|
||
| php | Interface (API) pour scripts PHP.
|
||
| spell | Vérification orthographique de la ligne de commande.
|
||
| trigger | Remplacement de texte et exécution de commande sur des évènements de WeeChat ou des extensions.
|
||
| 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
|
||
link:weechat_plugin_api.fr.html[Référence API extension WeeChat] ou le
|
||
link:weechat_scripting.fr.html[Guide pour scripts WeeChat].
|
||
|
||
[[alias_plugin]]
|
||
=== Alias
|
||
|
||
L'extension Alias permet de définir des alias pour des commandes (WeeChat ou
|
||
d'autres extensions).
|
||
|
||
Des alias sont créés par défaut, avec le nom en lettres majuscules (pour les
|
||
différencier des commandes standard) ; les commandes ne sont pas sensibles à la
|
||
casse dans WeeChat, donc par exemple `/close` lance l'alias `/CLOSE`.
|
||
|
||
Liste des alias par défaut :
|
||
|
||
include::includes/autogen_user_default_aliases.fr.adoc[tag=default_aliases]
|
||
|
||
[[alias_commands]]
|
||
==== Commandes
|
||
|
||
include::includes/autogen_user_commands.fr.adoc[tag=alias_commands]
|
||
|
||
[[alias_options]]
|
||
==== Options
|
||
|
||
Sections dans le fichier _alias.conf_ :
|
||
|
||
[width="100%",cols="3m,6m,16",options="header"]
|
||
|===
|
||
| Section | Commande de contrôle | Description
|
||
| cmd | <<command_alias_alias,/alias>> +
|
||
/set alias.cmd.* | Commandes pour les alias.
|
||
| completion | <<command_alias_alias,/alias>> +
|
||
/set alias.completion.* | Complétions pour les alias.
|
||
|===
|
||
|
||
[[buflist_plugin]]
|
||
=== Buflist
|
||
|
||
L'extension Buflist affiche une liste des tampons dans un objet de barre appelé
|
||
"buflist" (deux autres objets de barre "buflist2" et "buflist3" sont également
|
||
disponibles). +
|
||
Une barre par défaut "buflist" est créée au démarrage avec cet objet de barre.
|
||
|
||
[[buflist_commands]]
|
||
==== Commandes
|
||
|
||
include::includes/autogen_user_commands.fr.adoc[tag=buflist_commands]
|
||
|
||
[[buflist_options]]
|
||
==== Options
|
||
|
||
Sections dans le fichier _buflist.conf_ :
|
||
|
||
[width="100%",cols="3m,6m,16",options="header"]
|
||
|===
|
||
| Section | Commande de contrôle | Description
|
||
| format | /set buflist.format.* | Formats utilisés pour l'affichage de la liste des tampons.
|
||
| look | /set buflist.look.* | Aspect/présentation.
|
||
|===
|
||
|
||
Options :
|
||
|
||
include::includes/autogen_user_options.fr.adoc[tag=buflist_options]
|
||
|
||
[[charset_plugin]]
|
||
=== 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
|
||
....
|
||
|
||
[[charset_set]]
|
||
==== 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.*
|
||
----
|
||
|
||
[[charset_troubleshooting]]
|
||
==== En cas de problème
|
||
|
||
Pour tout problème avec les jeux de caractères, merci de consulter la
|
||
link:weechat_faq.fr.html#charset[FAQ WeeChat / Accents].
|
||
|
||
[[charset_commands]]
|
||
==== Commandes
|
||
|
||
include::includes/autogen_user_commands.fr.adoc[tag=charset_commands]
|
||
|
||
[[charset_options]]
|
||
==== Options
|
||
|
||
Sections dans le fichier _charset.conf_ :
|
||
|
||
[width="100%",cols="3m,6m,16",options="header"]
|
||
|===
|
||
| Section | Commande de contrôle | Description
|
||
| default | /set charset.default.* | Jeu de caractère d'encodage/décodage par défaut.
|
||
| decode | <<command_charset_charset,/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 | <<command_charset_charset,/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 :
|
||
|
||
include::includes/autogen_user_options.fr.adoc[tag=charset_options]
|
||
|
||
[[exec_plugin]]
|
||
=== 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.
|
||
|
||
[[exec_commands]]
|
||
==== Commandes
|
||
|
||
include::includes/autogen_user_commands.fr.adoc[tag=exec_commands]
|
||
|
||
[[exec_options]]
|
||
==== Options
|
||
|
||
Sections dans le fichier _exec.conf_ :
|
||
|
||
[width="100%",cols="3m,6m,16",options="header"]
|
||
|===
|
||
| Section | Commande de contrôle | Description
|
||
| command | /set exec.command.* | Options pour les commandes.
|
||
| color | /set exec.color.* | Couleurs.
|
||
|===
|
||
|
||
Options :
|
||
|
||
include::includes/autogen_user_options.fr.adoc[tag=exec_options]
|
||
|
||
[[fifo_plugin]]
|
||
=== Fifo
|
||
|
||
Vous pouvez contrôler WeeChat à distance, en envoyant des commandes ou du
|
||
texte dans un tube FIFO (si l'option _fifo.file.enabled_ est activée,
|
||
elle l'est par défaut).
|
||
|
||
Le tube FIFO est dans le répertoire _~/.weechat/_ et s'appelle _weechat_fifo_
|
||
par défaut.
|
||
|
||
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 :
|
||
|
||
* Changer le pseudo sur freenode en "autrepseudo" :
|
||
|
||
----
|
||
$ echo 'irc.server.freenode */nick autrepseudo' >~/.weechat/weechat_fifo
|
||
----
|
||
|
||
* Envoyer un message sur le canal IRC #weechat :
|
||
|
||
----
|
||
$ echo 'irc.freenode.#weechat *bonjour !' >~/.weechat/weechat_fifo
|
||
----
|
||
|
||
* Envoyer un message sur le tampon courant :
|
||
|
||
----
|
||
$ echo '*bonjour !' >~/.weechat/weechat_fifo
|
||
----
|
||
|
||
* 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
|
||
----
|
||
|
||
[[fifo_commands]]
|
||
==== Commandes
|
||
|
||
include::includes/autogen_user_commands.fr.adoc[tag=fifo_commands]
|
||
|
||
[[fifo_options]]
|
||
==== Options
|
||
|
||
Sections dans le fichier _fifo.conf_ :
|
||
|
||
[width="100%",cols="3m,6m,16",options="header"]
|
||
|===
|
||
| Section | Commande de contrôle | Description
|
||
| file | /set fifo.file.* | Contrôle du tube FIFO.
|
||
|===
|
||
|
||
Options :
|
||
|
||
include::includes/autogen_user_options.fr.adoc[tag=fifo_options]
|
||
|
||
[[fset_plugin]]
|
||
=== Fset
|
||
|
||
L'extension Fset affiche une liste des options dans un tampon et aide à définir
|
||
les options de WeeChat et des extensions.
|
||
|
||
[[fset_commands]]
|
||
==== Commandes
|
||
|
||
include::includes/autogen_user_commands.fr.adoc[tag=fset_commands]
|
||
|
||
[[fset_options]]
|
||
==== Options
|
||
|
||
Sections dans le fichier _fset.conf_ :
|
||
|
||
[width="100%",cols="3m,6m,16",options="header"]
|
||
|===
|
||
| Section | Commande de contrôle | Description
|
||
| color | /set fset.color.* | Couleurs.
|
||
| format | /set fset.format.* | Formats utilisés pour afficher la liste des options.
|
||
| look | /set fset.look.* | Aspect/présentation.
|
||
|===
|
||
|
||
Options :
|
||
|
||
include::includes/autogen_user_options.fr.adoc[tag=fset_options]
|
||
|
||
[[irc_plugin]]
|
||
=== 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 <<xfer_plugin,extension Xfer>>).
|
||
|
||
[[irc_command_line_options]]
|
||
==== 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 _chat.freenode.net_,
|
||
port par défaut (6667), avec le pseudo _nono_ :
|
||
|
||
----
|
||
$ weechat irc://nono@chat.freenode.net/#weechat,#toto
|
||
----
|
||
|
||
[[irc_ssl_certificates]]
|
||
==== 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.
|
||
|
||
[[irc_connect_oftc_with_certificate]]
|
||
===== 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 https://www.spi-inc.org/ca/spi-cacert.crt
|
||
----
|
||
|
||
[NOTE]
|
||
Il est possible de concaténer plusieurs certificats dans le fichier CAs.pem.
|
||
|
||
* Sous WeeChat, avec le serveur "oftc" déjà ajouté :
|
||
|
||
----
|
||
/connect oftc
|
||
----
|
||
|
||
[[irc_connect_oftc_with_certfp]]
|
||
===== 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à ajouté :
|
||
|
||
----
|
||
/set irc.server.oftc.ssl_cert "%h/ssl/nick.pem"
|
||
/connect oftc
|
||
/msg nickserv cert add
|
||
----
|
||
|
||
Pour plus d'informations, consulter https://www.oftc.net/NickServ/CertFP
|
||
|
||
[[irc_sasl_authentication]]
|
||
==== Authentification avec SASL
|
||
|
||
WeeChat supporte l'authentification avec SASL, en utilisant différents
|
||
mécanismes :
|
||
|
||
* _plain_ : mot de passe en clair (par défaut)
|
||
* _ecdsa-nist256p-challenge_ : challenge avec clé publique/privée
|
||
* _external_ : certificat SSL côté client
|
||
* _dh-blowfish_ : mot de passe chiffré avec blowfish (*non sûr*, non recommandé)
|
||
* _dh-aes_ : mot de passe chiffré avec AES (*non sûr*, non recommandé)
|
||
|
||
Les options dans le serveur sont :
|
||
|
||
* _sasl_mechanism_ : mécanisme à utiliser (voir ci-dessus)
|
||
* _sasl_timeout_ : délai d'attente maximum (en secondes) pour l'authentification
|
||
* _sasl_fail_ : action à effectuer si l'authentification échoue
|
||
* _sasl_username_ : nom d'utilisateur (pseudo)
|
||
* _sasl_password_ : mot de passe
|
||
* _sasl_key_ : fichier avec la clé privée ECC (pour le mécanisme
|
||
_ecdsa-nist256p-challenge_)
|
||
|
||
[[irc_sasl_ecdsa_nist256p_challenge]]
|
||
===== SASL ECDSA-NIST256P-CHALLENGE
|
||
|
||
Vous devez générer une clé privée pour vous authentifier avec le mécanisme
|
||
ECDSA-NIST256P-CHALLENGE (aucun mot de passe n'est requis lors de la
|
||
connexion).
|
||
|
||
Vous pouvez générer la clé avec cette commande :
|
||
|
||
----
|
||
$ openssl ecparam -genkey -name prime256v1 -out ~/.weechat/ecdsa.pem
|
||
----
|
||
|
||
Récupérez la clé publique (encodée en base64) avec cette commande :
|
||
|
||
----
|
||
$ openssl ec -noout -text -conv_form compressed -in ~/.weechat/ecdsa.pem | grep '^pub:' -A 3 | tail -n 3 | tr -d ' \n:' | xxd -r -p | base64
|
||
----
|
||
|
||
Connectez-vous au serveur, identifiez vous (par exemple avec
|
||
"nickserv identify") et définissez la clé publique dans votre compte, en
|
||
utilisant nickserv (remplacez la valeur base64 par votre clé publique) :
|
||
|
||
----
|
||
/connect freenode
|
||
/msg nickserv identify votre_mot_de_passe
|
||
/msg nickserv set pubkey Av8k1FOGetUDq7sPMBfufSIZ5c2I/QYWgiwHtNXkVe/q
|
||
----
|
||
|
||
Configurez les options SASL dans le serveur :
|
||
|
||
----
|
||
/set irc.server.freenode.sasl_mechanism ecdsa-nist256p-challenge
|
||
/set irc.server.freenode.sasl_username "votre_pseudo"
|
||
/set irc.server.freenode.sasl_key "%h/ecdsa.pem"
|
||
----
|
||
|
||
Reconnectez-vous au serveur :
|
||
|
||
----
|
||
/reconnect freenode
|
||
----
|
||
|
||
[[irc_tor_freenode]]
|
||
==== 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.
|
||
|
||
En premier lieu, installez TOR. Pour Debian (et dérivés) :
|
||
|
||
----
|
||
$ sudo apt-get install tor
|
||
----
|
||
|
||
Sous WeeChat vous devez ajouter un proxy socks5 pour le service TOR (le nom/IP
|
||
et port dépend de votre configuration de TOR) :
|
||
|
||
----
|
||
/proxy add tor socks5 127.0.0.1 9050
|
||
----
|
||
|
||
Maintenant, ajoutez un nouveau serveur, par exemple :
|
||
|
||
----
|
||
/server add freenode-tor ajnvpgl6prmkb7yktvue6im5wiedlz2w32uhcwaamdiecdrfpwwgnlqd.onion
|
||
----
|
||
|
||
[NOTE]
|
||
Si vous utilisez une ancienne version de TOR (avant 0.3.5) vous devriez plutôt
|
||
utiliser l'adresse `freenodeok2gncmy.onion`.
|
||
|
||
Définissez le proxy pour TOR :
|
||
|
||
----
|
||
/set irc.server.freenode-tor.proxy "tor"
|
||
----
|
||
|
||
Définissez l'authentification SASL avec ECDSA-NIST256P-CHALLENGE (voir le
|
||
chapitre <<irc_sasl_ecdsa_nist256p_challenge,SASL ECDSA-NIST256P-CHALLENGE>>
|
||
pour générer une clé privée) :
|
||
|
||
----
|
||
/set irc.server.freenode-tor.sasl_mechanism ecdsa-nist256p-challenge
|
||
/set irc.server.freenode-tor.sasl_username "votre_pseudo"
|
||
/set irc.server.freenode-tor.sasl_key "%h/ecdsa.pem"
|
||
----
|
||
|
||
Et enfin, la connexion au serveur :
|
||
|
||
----
|
||
/connect freenode-tor
|
||
----
|
||
|
||
Pour plus d'informations à propos de Freenode et TOR :
|
||
https://freenode.net/kb/answer/chat#accessing-freenode-via-tor
|
||
|
||
[[irc_smart_filter_join_part_quit]]
|
||
==== 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.
|
||
|
||
[[irc_ctcp_replies]]
|
||
==== 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 :
|
||
|
||
[width="100%",cols="2l,4,8",options="header"]
|
||
|===
|
||
| 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 | `+https://weechat.org/+`
|
||
| $download | Site WeeChat, page téléchargement | `+https://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 :
|
||
|
||
[width="100%",cols="2,4,8",options="header"]
|
||
|===
|
||
| 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+` | `+https://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)+`
|
||
|===
|
||
|
||
[[irc_target_buffer]]
|
||
==== 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 :
|
||
|
||
[width="100%",cols="^1m,^3m,8",options="header"]
|
||
|===
|
||
| 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
|
||
----
|
||
|
||
[[irc_commands]]
|
||
==== Commandes
|
||
|
||
include::includes/autogen_user_commands.fr.adoc[tag=irc_commands]
|
||
|
||
[[irc_options]]
|
||
==== Options
|
||
|
||
Sections dans le fichier _irc.conf_ :
|
||
|
||
[width="100%",cols="3m,6m,16",options="header"]
|
||
|===
|
||
| 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.* | <<irc_target_buffer,Tampon cible pour les messages IRC>> (les options peuvent être ajoutées/supprimées dans la section).
|
||
| ctcp | /set irc.ctcp.* | <<irc_ctcp_replies,Réponses CTCP>> (les options peuvent être ajoutées/supprimées dans la section).
|
||
| ignore | <<command_irc_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 | <<command_irc_server,/server>> +
|
||
/set irc.server.* | Serveurs.
|
||
|===
|
||
|
||
Options :
|
||
|
||
include::includes/autogen_user_options.fr.adoc[tag=irc_options]
|
||
|
||
[[logger_plugin]]
|
||
=== Logger
|
||
|
||
L'extension Logger permet de sauvegarder le contenu des tampons dans des
|
||
fichiers, avec des options sur comment et quoi sauvegarder.
|
||
|
||
[[logger_log_levels]]
|
||
==== 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
|
||
----
|
||
|
||
[[logger_filenames_masks]]
|
||
==== Masques de noms de fichiers
|
||
|
||
Il est possible de définir un masque de nom de fichier pour chaque tampon, et
|
||
d'utiliser les variables locales du tampon pour construire le nom de fichier.
|
||
Pour voir les variables disponibles sur le tampon courant :
|
||
|
||
----
|
||
/buffer listvar
|
||
----
|
||
|
||
Les masques seront utilisés par ordre de priorité descendante sur
|
||
`logger.mask.$plugin.*`, avec `logger.file.mask` comme option par défaut.
|
||
|
||
Par exemple, sur le tampon "irc.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").
|
||
|
||
[[logger_files_by_date]]
|
||
===== 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
|
||
│ └── 12
|
||
│ ├── irc.server.freenode.weechatlog
|
||
│ └── irc.freenode.#weechat.weechatlog
|
||
├── 2011
|
||
│ ├── 01
|
||
│ │ ├── irc.server.freenode.weechatlog
|
||
│ │ └── irc.freenode.#weechat.weechatlog
|
||
│ ├── 02
|
||
...
|
||
....
|
||
|
||
[[logger_irc_files_by_server_channel]]
|
||
===== 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
|
||
...
|
||
....
|
||
|
||
[[logger_commands]]
|
||
==== Commandes
|
||
|
||
include::includes/autogen_user_commands.fr.adoc[tag=logger_commands]
|
||
|
||
[[logger_options]]
|
||
==== Options
|
||
|
||
Sections dans le fichier _logger.conf_ :
|
||
|
||
[width="100%",cols="3m,6m,16",options="header"]
|
||
|===
|
||
| 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 :
|
||
|
||
include::includes/autogen_user_options.fr.adoc[tag=logger_options]
|
||
|
||
[[relay_plugin]]
|
||
=== 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 :
|
||
** Glowing Bear (HTML5) : https://www.glowing-bear.org/
|
||
** QWeeChat (Qt) : https://weechat.org/download
|
||
** WeeChat-Android (Android) : https://github.com/ubergeek42/weechat-android
|
||
** weechat.el (Emacs) : https://github.com/the-kenny/weechat.el
|
||
** WeeCloud (JavaScript) : https://github.com/eirikb/weecloud
|
||
|
||
[[relay_password]]
|
||
==== 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_.
|
||
|
||
[[relay_totp]]
|
||
==== TOTP
|
||
|
||
TOTP (« Time-based One-Time Password » : mot de passe à usage unique basé sur le
|
||
temps) peut être utilisé comme second facteur d'authentification pour le protocole
|
||
_weechat_, en plus du mot de passe.
|
||
|
||
Il est optionnel et augmente le niveau de sécurité.
|
||
|
||
Les mots de passe à usage unique peuvent être générés avec des applications,
|
||
par exemple :
|
||
|
||
* FreeOTP :
|
||
https://play.google.com/store/apps/details?id=org.fedorahosted.freeotp[Android],
|
||
https://itunes.apple.com/fr/app/freeotp-authenticator/id872559395[iOS]
|
||
(https://freeotp.github.io/[site web])
|
||
* Google Authenticator :
|
||
https://play.google.com/store/apps/details?id=com.google.android.apps.authenticator2[Android],
|
||
https://itunes.apple.com/fr/app/google-authenticator/id388497605[iOS]
|
||
|
||
Le « secret » TOTP doit être défini dans WeeChat et dans l'application utilisée
|
||
pour générer les mots de passe à usage unique.
|
||
|
||
Il doit être une chaîne encodée en base32, avec seulement des lettres et des
|
||
chiffres de 2 à 7, par exemple :
|
||
|
||
----
|
||
/set relay.network.totp_secret "secretpasswordbase32"
|
||
----
|
||
|
||
[[relay_ssl]]
|
||
==== 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 <<option_relay.network.ssl_cert_key,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
|
||
----
|
||
|
||
[[relay_irc_proxy]]
|
||
==== 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
|
||
(voir l'exemple ci-dessous) :
|
||
|
||
----
|
||
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).
|
||
|
||
Par exemple si vous utilisez WeeChat comme client IRC du relai, avec un serveur
|
||
"relay" et un mot de passe relay "secret", vous pouvez configurer le mot de passe
|
||
avec cette commande :
|
||
|
||
----
|
||
/set irc.server.relay.password "freenode:secret"
|
||
----
|
||
|
||
[[relay_weechat_protocol]]
|
||
==== 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 dans
|
||
<<relay_plugin>>.
|
||
|
||
[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".
|
||
|
||
[[relay_websocket]]
|
||
==== WebSocket
|
||
|
||
Le protocole WebSocket (https://tools.ietf.org/html/rfc6455[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
|
||
<<option_relay.network.websocket_allowed_origins,relay.network.websocket_allowed_origins>>).
|
||
|
||
Un WebSocket peut être ouvert dans une page HTML5 avec une seule ligne de
|
||
JavaScript :
|
||
|
||
[source,js]
|
||
----
|
||
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_).
|
||
|
||
[[relay_unix_socket]]
|
||
==== UNIX domain sockets
|
||
|
||
En utilisant l'option de protocole "unix" avec la commande `/relay add`,
|
||
vous pouvez écouter avec n'importe quel protocole sur un socket UNIX et un
|
||
chemin donné. Par exemple :
|
||
|
||
----
|
||
/relay add unix.weechat %h/relay_socket
|
||
----
|
||
|
||
Cela autorise les clients à se connecter en utilisant le protocole weechat à
|
||
_~/.weechat/relay_socket_. Cela est utile pour autoriser le "SSH forwarding"
|
||
pour les clients relay, quand d'autres ports ne peuvent pas être ouverts.
|
||
Avec OpenSSH :
|
||
|
||
----
|
||
$ ssh -L 9000:.weechat/relay_socket user@hostname
|
||
----
|
||
|
||
Cela redirige les clients relay locaux qui se connectent au port 9000 vers
|
||
l'instance de WeeChat qui tourne sur "hostname".
|
||
|
||
[[relay_commands]]
|
||
==== Commandes
|
||
|
||
include::includes/autogen_user_commands.fr.adoc[tag=relay_commands]
|
||
|
||
[[relay_options]]
|
||
==== Options
|
||
|
||
Sections dans le fichier _relay.conf_ :
|
||
|
||
[width="100%",cols="3m,6m,16",options="header"]
|
||
|===
|
||
| 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 | <<command_relay_relay,/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 :
|
||
|
||
include::includes/autogen_user_options.fr.adoc[tag=relay_options]
|
||
|
||
[[scripts_plugins]]
|
||
=== Scripts
|
||
|
||
WeeChat fournit 8 extensions pour scripts : Python, Perl, Ruby, Lua, Tcl,
|
||
Guile (scheme), JavaScript et PHP.
|
||
Ces extensions peuvent charger, exécuter et décharger des scripts pour ces
|
||
langages.
|
||
|
||
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 : https://weechat.org/scripts
|
||
|
||
Pour plus d'informations sur comment écrire des scripts, ou sur l'API
|
||
WeeChat pour les scripts, merci de lire le
|
||
link:weechat_scripting.fr.html[Guide pour scripts WeeChat].
|
||
|
||
[[script_commands]]
|
||
==== Commandes Script
|
||
|
||
include::includes/autogen_user_commands.fr.adoc[tag=script_commands]
|
||
|
||
[[python_commands]]
|
||
==== Commandes Python
|
||
|
||
include::includes/autogen_user_commands.fr.adoc[tag=python_commands]
|
||
|
||
[[perl_commands]]
|
||
==== Commandes Perl
|
||
|
||
include::includes/autogen_user_commands.fr.adoc[tag=perl_commands]
|
||
|
||
[[ruby_commands]]
|
||
==== Commandes Ruby
|
||
|
||
include::includes/autogen_user_commands.fr.adoc[tag=ruby_commands]
|
||
|
||
[[lua_commands]]
|
||
==== Commandes Lua
|
||
|
||
include::includes/autogen_user_commands.fr.adoc[tag=lua_commands]
|
||
|
||
[[tcl_commands]]
|
||
==== Commandes Tcl
|
||
|
||
include::includes/autogen_user_commands.fr.adoc[tag=tcl_commands]
|
||
|
||
[[guile_commands]]
|
||
==== Commandes Guile
|
||
|
||
include::includes/autogen_user_commands.fr.adoc[tag=guile_commands]
|
||
|
||
[[javascript_commands]]
|
||
==== Commandes JavaScript
|
||
|
||
include::includes/autogen_user_commands.fr.adoc[tag=javascript_commands]
|
||
|
||
[[php_commands]]
|
||
==== Commandes PHP
|
||
|
||
include::includes/autogen_user_commands.fr.adoc[tag=php_commands]
|
||
|
||
[[script_options]]
|
||
==== Options Script
|
||
|
||
Sections dans le fichier _script.conf_ :
|
||
|
||
[width="100%",cols="3m,6m,16",options="header"]
|
||
|===
|
||
| 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 :
|
||
|
||
include::includes/autogen_user_options.fr.adoc[tag=script_options]
|
||
|
||
[[python_options]]
|
||
==== Options Python
|
||
|
||
Sections dans le fichier _python.conf_ :
|
||
|
||
[width="100%",cols="3m,6m,16",options="header"]
|
||
|===
|
||
| Section | Commande de contrôle | Description
|
||
| look | /set python.look.* | Aspect/présentation.
|
||
|===
|
||
|
||
Options :
|
||
|
||
include::includes/autogen_user_options.fr.adoc[tag=python_options]
|
||
|
||
[[perl_options]]
|
||
==== Options Perl
|
||
|
||
Sections dans le fichier _perl.conf_ :
|
||
|
||
[width="100%",cols="3m,6m,16",options="header"]
|
||
|===
|
||
| Section | Commande de contrôle | Description
|
||
| look | /set perl.look.* | Aspect/présentation.
|
||
|===
|
||
|
||
Options :
|
||
|
||
include::includes/autogen_user_options.fr.adoc[tag=perl_options]
|
||
|
||
[[ruby_options]]
|
||
==== Options Ruby
|
||
|
||
Sections dans le fichier _ruby.conf_ :
|
||
|
||
[width="100%",cols="3m,6m,16",options="header"]
|
||
|===
|
||
| Section | Commande de contrôle | Description
|
||
| look | /set ruby.look.* | Aspect/présentation.
|
||
|===
|
||
|
||
Options :
|
||
|
||
include::includes/autogen_user_options.fr.adoc[tag=ruby_options]
|
||
|
||
[[lua_options]]
|
||
==== Options Lua
|
||
|
||
Sections dans le fichier _lua.conf_ :
|
||
|
||
[width="100%",cols="3m,6m,16",options="header"]
|
||
|===
|
||
| Section | Commande de contrôle | Description
|
||
| look | /set lua.look.* | Aspect/présentation.
|
||
|===
|
||
|
||
Options :
|
||
|
||
include::includes/autogen_user_options.fr.adoc[tag=lua_options]
|
||
|
||
[[tcl_options]]
|
||
==== Options Tcl
|
||
|
||
Sections dans le fichier _tcl.conf_ :
|
||
|
||
[width="100%",cols="3m,6m,16",options="header"]
|
||
|===
|
||
| Section | Commande de contrôle | Description
|
||
| look | /set tcl.look.* | Aspect/présentation.
|
||
|===
|
||
|
||
Options :
|
||
|
||
include::includes/autogen_user_options.fr.adoc[tag=tcl_options]
|
||
|
||
[[guile_options]]
|
||
==== Options Guile
|
||
|
||
Sections dans le fichier _guile.conf_ :
|
||
|
||
[width="100%",cols="3m,6m,16",options="header"]
|
||
|===
|
||
| Section | Commande de contrôle | Description
|
||
| look | /set guile.look.* | Aspect/présentation.
|
||
|===
|
||
|
||
Options :
|
||
|
||
include::includes/autogen_user_options.fr.adoc[tag=guile_options]
|
||
|
||
[[javascript_options]]
|
||
==== Options Javascript
|
||
|
||
Sections dans le fichier _javascript.conf_ :
|
||
|
||
[width="100%",cols="3m,6m,16",options="header"]
|
||
|===
|
||
| Section | Commande de contrôle | Description
|
||
| look | /set javascript.look.* | Aspect/présentation.
|
||
|===
|
||
|
||
Options :
|
||
|
||
include::includes/autogen_user_options.fr.adoc[tag=javascript_options]
|
||
|
||
[[php_options]]
|
||
==== Options PHP
|
||
|
||
Sections dans le fichier _php.conf_ :
|
||
|
||
[width="100%",cols="3m,6m,16",options="header"]
|
||
|===
|
||
| Section | Commande de contrôle | Description
|
||
| look | /set php.look.* | Aspect/présentation.
|
||
|===
|
||
|
||
Options :
|
||
|
||
include::includes/autogen_user_options.fr.adoc[tag=php_options]
|
||
|
||
[[spell_plugin]]
|
||
=== Spell
|
||
|
||
L'extension Spell permet de vérifier l'orthographe de la ligne de commande.
|
||
Il est possible d'utiliser plusieurs langages par tampon.
|
||
|
||
La vérification de l'orthographe est désactivée par défaut et peut être
|
||
activée/désactivée avec la touche kbd:[Alt+s].
|
||
|
||
[[spell_dictionaries]]
|
||
==== Dictionnaires
|
||
|
||
Avant d'utiliser la vérification de l'orthographe, les dictionnaires doivent
|
||
être définis soit globalement, soit spécifiquement sur un tampon.
|
||
|
||
Plusieurs dictionnaires peuvent être utilisés en même temps : WeeChat vérifiera
|
||
les mots dans tous les dictionnaires.
|
||
|
||
Par exemple pour utiliser l'anglais et le français :
|
||
|
||
----
|
||
/set spell.check.default_dict "en,fr"
|
||
----
|
||
|
||
Il est possible d'utiliser un dictionnaire différent sur un tampon spécifique,
|
||
par exemple sur un canal allemand :
|
||
|
||
----
|
||
/spell setdict de
|
||
----
|
||
|
||
Vous pouvez aussi spécifier un dictionnaire pour un groupe de tampons, par
|
||
exemple l'anglais pour tous les canaux du serveur IRC freenode :
|
||
|
||
----
|
||
/set spell.dict.irc.freenode en
|
||
----
|
||
|
||
Pour plus d'informations, voir la commande <<command_spell_spell,/spell>>.
|
||
|
||
[[spell_speller_options]]
|
||
==== Options du vérificateur d'orthographe
|
||
|
||
Les options du vérificateur d'orthographe peuvent être définies en ajoutant des
|
||
options dans la section "option" de la configuration aspell.
|
||
|
||
Le nom de l'option est une option de configuration aspell. La liste des options
|
||
peut être trouvée par la commande suivante sous le shell :
|
||
|
||
----
|
||
$ aspell config
|
||
----
|
||
|
||
Par exemple, pour activer l'option "ignore-case" :
|
||
|
||
----
|
||
/set spell.option.ignore-case "true"
|
||
----
|
||
|
||
[[spell_suggestions]]
|
||
==== Suggestions
|
||
|
||
Les suggestions sont affichées dans un objet de barre appelé "spell_suggest".
|
||
Le nombre de suggestions est défini dans l'option _spell.check.suggestions_.
|
||
|
||
Pour activer les suggestions, vous devez modifier l'option
|
||
_spell.check.suggestions_ avec un entier ≥ 0 et ajouter l'objet de barre
|
||
"spell_suggest" à une barre, par exemple _status_.
|
||
|
||
Exemple de suggestions avec un dictionnaire anglais (`en`) :
|
||
|
||
....
|
||
│[12:55] [6] [irc/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 █ │
|
||
└─────────────────────────────────────────────────────────────────────────────────┘
|
||
....
|
||
|
||
[[spell_commands]]
|
||
==== Commandes
|
||
|
||
include::includes/autogen_user_commands.fr.adoc[tag=spell_commands]
|
||
|
||
[[spell_options]]
|
||
==== Options
|
||
|
||
Sections dans le fichier _spell.conf_ :
|
||
|
||
[width="100%",cols="3m,6m,16",options="header"]
|
||
|===
|
||
| Section | Commande de contrôle | Description
|
||
| color | /set spell.color.* | Couleurs.
|
||
| check | /set spell.check.* | Options pour contrôler la vérification orthographique.
|
||
| dict | <<command_spell_spell,/spell setdict>> +
|
||
/set spell.dict.* | Dictionnaires utilisés par tampon (les options peuvent être ajoutées/supprimées dans la section).
|
||
| look | /set spell.look.* | Aspect/présentation.
|
||
| option | /set spell.option.* | <<spell_speller_options,Options du vérificateur d'orthographe>> (les options peuvent être ajoutées/supprimées dans la section).
|
||
|===
|
||
|
||
Options :
|
||
|
||
include::includes/autogen_user_options.fr.adoc[tag=spell_options]
|
||
|
||
[[trigger_plugin]]
|
||
=== Trigger
|
||
|
||
Trigger est le couteau suisse de WeeChat : il peut accrocher différentes choses
|
||
(signal, modificateur, print, ...), changer le contenu des données, et exécuter
|
||
une ou plusieurs commandes. Une condition peut être utilisée pour empêcher le
|
||
trigger de s'exécuter dans certaines circonstances.
|
||
|
||
Utiliser les triggers nécessite de connaître le fonctionnement des signaux,
|
||
modificateurs, etc. Il peut être utile de lire la
|
||
link:weechat_plugin_api.fr.html#hooks[Référence API extension WeeChat / Hooks].
|
||
|
||
[[trigger_default]]
|
||
==== Triggers par défaut
|
||
|
||
WeeChat créé 5 triggers par défaut, qui peuvent être désactivés, mis à jour ou
|
||
supprimés :
|
||
|
||
* un trigger _beep_ pour les notifications
|
||
* quatre autre triggers pour cacher les mots de passe à l'écran
|
||
|
||
Liste des triggers par défaut :
|
||
|
||
[width="100%",cols="5m,3,22",options="header"]
|
||
|===
|
||
| Nom | Hook | Description
|
||
|
||
| beep | print |
|
||
Faire un bip sur un message de highlight ou privé.
|
||
|
||
| cmd_pass | modifier |
|
||
Cacher le mot de passe dans les commandes :
|
||
`pass:[/msg nickserv id\|identify\|set password\|ghost\|release\|regain\|recover]`,
|
||
`pass:[/oper]`,
|
||
`pass:[/quote pass]`,
|
||
`pass:[/secure passphrase\|decrypt\|set]`.
|
||
|
||
| cmd_pass_register | modifier |
|
||
Cacher le mot de passe dans la commande `pass:[/msg nickserv register]`.
|
||
|
||
| msg_auth | modifier |
|
||
Cacher le mot de passe dans le message d'authentification IRC affiché
|
||
(message reçu du serveur après l'envoi de la commande par l'utilisateur).
|
||
|
||
| server_pass | modifier |
|
||
Cacher le mot de passe du serveur dans les commandes `/server` et `/connect`.
|
||
|===
|
||
|
||
[[trigger_anatomy]]
|
||
==== Anatomie d'un trigger
|
||
|
||
Un trigger a les options suivantes (les noms sont
|
||
`trigger.trigger.<nom>.<option>`) :
|
||
|
||
[width="100%",cols="2m,3,10",options="header"]
|
||
|===
|
||
| Option | Valeurs | Description
|
||
|
||
| enabled | `on`, `off` |
|
||
Lorsque l'option est `off`, le trigger est désactivé et les actions ne sont
|
||
plus exécutées.
|
||
|
||
| hook | `+signal+`, `+hsignal+`, `+modifier+`, `+line+`, `+print+`, `+command+`,
|
||
`+command_run+`, `+timer+`, `+config+`, `+focus+`, `+info+`, `+info_hashtable+` |
|
||
Le "hook" utilisé dans le trigger. Pour plus d'information, voir la
|
||
link:weechat_plugin_api.fr.html#hooks[Référence API extension WeeChat / Hooks].
|
||
|
||
| arguments | chaîne |
|
||
Les paramètres pour le "hook", ils dépendent du type de hook utilisé.
|
||
|
||
| conditions | chaîne |
|
||
Conditions pour exécuter le trigger : elles sont évaluées (voir la commande
|
||
<<command_weechat_eval,/eval>>).
|
||
|
||
| regex | chaîne |
|
||
Une ou plusieurs expressions régulières POSIX étendues, pour modifier les
|
||
données reçues dans la fonction de rappel du "hook" (et d'autres choses
|
||
ajoutées par l'extension trigger), voir <<trigger_regex,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
|
||
<<command_weechat_eval,/eval>>).
|
||
|
||
| return_code | `+ok+`, `+ok_eat+`, `+error+` |
|
||
Le code retour de la fonction de rappel (`ok` par défaut, qui devrait être
|
||
utilisé dans quasiment tous les triggers, les autres valeurs sont rarement
|
||
utilisées).
|
||
|
||
| post_action | `none`, `disable`, `delete` |
|
||
Action à effectuer sur le trigger après l'exécution (`none` par défaut, qui
|
||
devrait être utilisé dans quasiment tous les triggers, les autres valeurs sont
|
||
rarement utilisées).
|
||
|===
|
||
|
||
Par exemple, le trigger _beep_ par défaut a les options suivantes :
|
||
|
||
----
|
||
trigger.trigger.beep.enabled = on
|
||
trigger.trigger.beep.hook = print
|
||
trigger.trigger.beep.arguments = ""
|
||
trigger.trigger.beep.conditions = "${tg_displayed} && (${tg_highlight} || ${tg_msg_pv})"
|
||
trigger.trigger.beep.regex = ""
|
||
trigger.trigger.beep.command = "/print -beep"
|
||
trigger.trigger.beep.return_code = ok
|
||
trigger.trigger.beep.post_action = none
|
||
----
|
||
|
||
[[trigger_execution]]
|
||
==== Exécution
|
||
|
||
Lorsque la fonction de rappel d'un trigger est appelée, les actions suivantes
|
||
sont exécutées, dans cet ordre, si les triggers sont globalement activés et si
|
||
le trigger lui-même est activé :
|
||
|
||
. vérifier les conditions du trigger : si faux, sortir
|
||
. remplacer du texte dans le trigger en utilisant des expressions régulières
|
||
. exécuter la/les commande(s)
|
||
. sortir avec un code retour (sauf pour les "hooks" _modifier_, _line_,
|
||
_focus_, _info_ et _info_hashtable_)
|
||
. effectuer l'action "post" (si différente de `none`).
|
||
|
||
[[trigger_hook_arguments]]
|
||
==== Paramètres du hook
|
||
|
||
Les paramètres dépendent du type de "hook" utilisé. Ils sont séparés par des
|
||
points-virgules.
|
||
|
||
[width="100%",cols="2,6,7,2",options="header"]
|
||
|===
|
||
| Hook | Paramètres | Exemples | Documentation (API)
|
||
|
||
| signal |
|
||
1. nom de signal (priorité autorisée) (obligatoire) +
|
||
2. nom de signal (priorité autorisée) +
|
||
3. ... |
|
||
`+*,irc_in_privmsg+` +
|
||
`+*,irc_in_privmsg;*,irc_in_notice+` +
|
||
`+signal_sigwinch+` |
|
||
link:weechat_plugin_api.fr.html#_hook_signal[hook_signal]
|
||
|
||
| hsignal |
|
||
1. nom de signal (priorité autorisée) (obligatoire) +
|
||
2. nom de signal (priorité autorisée) +
|
||
3. ... |
|
||
`+nicklist_nick_added+` |
|
||
link:weechat_plugin_api.fr.html#_hook_hsignal[hook_hsignal]
|
||
|
||
| modifier |
|
||
1. nom de modificateur (priorité autorisée) (obligatoire) +
|
||
2. nom de modificateur (priorité autorisée) +
|
||
3. ... |
|
||
`+weechat_print+` +
|
||
`+5000\|input_text_display;5000\|history_add+` |
|
||
link:weechat_plugin_api.fr.html#_hook_modifier[hook_modifier]
|
||
|
||
| line |
|
||
1. type de tampon +
|
||
2. nom de tampon +
|
||
3. étiquettes |
|
||
`+formatted+` +
|
||
`+free+` +
|
||
`+*;irc.freenode.*+` +
|
||
`+*;irc.freenode.#weechat+` +
|
||
`+formatted;irc.freenode.#weechat;irc_notice+` |
|
||
link:weechat_plugin_api.en.html#_hook_line[hook_line]
|
||
|
||
| 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+` |
|
||
link:weechat_plugin_api.fr.html#_hook_print[hook_print]
|
||
|
||
| command |
|
||
1. nom de commande (priorité autorisée) (obligatoire) +
|
||
2. description (évalué, voir la commande <<command_weechat_eval,/eval>>) +
|
||
3. paramètres (évalué, voir la commande <<command_weechat_eval,/eval>>) +
|
||
4. description des paramètres (évalué, voir la commande <<command_weechat_eval,/eval>>) +
|
||
5. complétion (évalué, voir la commande <<command_weechat_eval,/eval>>) |
|
||
`+test+` +
|
||
`+5000\|test+` +
|
||
`+test;commande de test;arg1 arg2;arg1: description 1${\n}arg2: description 2+` |
|
||
link:weechat_plugin_api.fr.html#_hook_command[hook_command]
|
||
|
||
| command_run |
|
||
1. commande (priorité autorisée) (obligatoire) +
|
||
2. commande (priorité autorisée) +
|
||
3. ... |
|
||
`+/cmd paramètres+` |
|
||
link:weechat_plugin_api.fr.html#_hook_command_run[hook_command_run]
|
||
|
||
| timer |
|
||
1. intervalle, en millisecondes (obligatoire) +
|
||
2. alignement sur la seconde (par défaut : 0) +
|
||
3. nombre maximum d'appels (par défaut : 0, qui signifie "sans fin") |
|
||
`+3600000+` +
|
||
`+60000;0;5+` |
|
||
link:weechat_plugin_api.fr.html#_hook_timer[hook_timer]
|
||
|
||
| config |
|
||
1. nom d'option (priorité autorisée) (obligatoire) +
|
||
2. nom d'option (priorité autorisée) +
|
||
3. ... |
|
||
`+weechat.look.*+` |
|
||
link:weechat_plugin_api.fr.html#_hook_config[hook_config]
|
||
|
||
| focus |
|
||
1. nom d'aire (priorité autorisée) (obligatoire) +
|
||
2. nom d'aire (priorité autorisée) +
|
||
3. ... |
|
||
`+buffer_nicklist+` |
|
||
link:weechat_plugin_api.fr.html#_hook_focus[hook_focus]
|
||
|
||
| info |
|
||
1. nom de l'info (priorité autorisée) (obligatoire) +
|
||
2. nom de l'info (priorité autorisée) +
|
||
3. ... |
|
||
`+mon_info+` |
|
||
link:weechat_plugin_api.fr.html#_hook_info[hook_info]
|
||
|
||
| info_hashtable |
|
||
1. nom de l'info (priorité autorisée) (obligatoire) +
|
||
2. nom de l'info (priorité autorisée) +
|
||
3. ... |
|
||
`+mon_info+` |
|
||
link:weechat_plugin_api.fr.html#_hook_info_hashtable[hook_info_hashtable]
|
||
|===
|
||
|
||
[[trigger_conditions]]
|
||
==== Conditions
|
||
|
||
Les conditions sont utilisées pour continuer l'exécution du trigger, ou tout
|
||
stopper.
|
||
|
||
Elles sont évaluées, et les données disponibles dans la fonction de rappel
|
||
peuvent être utilisées (voir
|
||
<<trigger_callback_data,données dans les callbacks>> et la commande
|
||
<<command_weechat_eval,/eval>>).
|
||
|
||
Exemple : le trigger _beep_ par défaut utilise cette condition pour faire un
|
||
beep seulement sur un highlight ou un message privé :
|
||
|
||
----
|
||
${tg_displayed} && (${tg_highlight} || ${tg_msg_pv})
|
||
----
|
||
|
||
[[trigger_regex]]
|
||
==== Expression régulière
|
||
|
||
L'expression régulière est utilisée pour modifier des variables dans la table
|
||
de hachage de la fonction de rappel.
|
||
|
||
Le format est : "/regex/remplacement" ou "/regex/remplacement/var" (où _var_ est
|
||
une variable de la table de hachage).
|
||
|
||
Si _var_ n'existe pas dans la table de hachage, elle est automatiquement créée
|
||
avec une valeur vide. Cela permet de créer des variables temporaires.
|
||
|
||
Si _var_ n'est pas spécifiée, la variable par défaut est utilisée, elle dépend
|
||
du type de hook :
|
||
|
||
[width="100%",cols="2,3,7",options="header"]
|
||
|===
|
||
| Hook | Variable par défaut | Mise à jour autorisée ^(1)^
|
||
| signal | tg_signal_data |
|
||
| hsignal | |
|
||
| modifier | tg_string | tg_string
|
||
| line | message | buffer, buffer_name, y, date, date_printed, str_time, tags, notify_level, highlight, prefix, message
|
||
| print | tg_message |
|
||
| command | tg_argv_eol1 |
|
||
| command_run | tg_command |
|
||
| timer | tg_remaining_calls |
|
||
| config | tg_value |
|
||
| focus | |
|
||
| info | tg_info | tg_info
|
||
| info_hashtable | | toutes les variables reçues dans la table de hachage
|
||
|===
|
||
|
||
[NOTE]
|
||
^(1)^ Toutes les variables peuvent être mises à jour dans le trigger, mais
|
||
seulement ces variables ont un effet sur la valeur retournée par le trigger
|
||
et utilisée par WeeChat.
|
||
|
||
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" :
|
||
|
||
* `+${re:0}+` à `+${re:99}+` : `+${re:0}+` est la correspondance complète, `+${re:1}+`
|
||
à `+${re:99}+` sont les groupes capturés
|
||
* `+${re:+}+` : la dernière correspondance (avec le numéro le plus élevé)
|
||
* `+${hide:c,${re:N}}+` : la correspondance "N" avec tous les caractères
|
||
remplacés par "c" (exemple : `+${hide:*,${re:2}}+` est le groupe n°2 avec tous
|
||
les caractères remplacés par `+*+`).
|
||
|
||
Exemple : utiliser du gras pour les mots entre `+*+` :
|
||
|
||
----
|
||
/\*([^ ]+)\*/*${color:bold}${re:1}${color:-bold}*/
|
||
----
|
||
|
||
Exemple : le trigger par défaut _server_pass_ utilise cette expression régulière
|
||
pour cacher le mot de passe dans les commandes `/server` et `/connect` (les
|
||
caractères des mots de passe sont remplacés par `+*+`) :
|
||
|
||
----
|
||
==^(/(server|connect) .*-(sasl_)?password=)([^ ]+)(.*)==${re:1}${hide:*,${re:4}}${re:5}
|
||
----
|
||
|
||
[NOTE]
|
||
Dans cet exemple, le séparateur utilisé est "==" car il y a "/" dans
|
||
l'expression régulière.
|
||
|
||
[[trigger_command]]
|
||
==== 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 <<command_weechat_eval,/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
|
||
----
|
||
|
||
[[trigger_callback_data]]
|
||
==== Données dans les fonctions de rappel
|
||
|
||
Les données reçues dans les fonctions de rappel sont stockées dans des tables
|
||
de hachage (pointeurs et chaînes) et peuvent être utilisées dans les options
|
||
suivantes :
|
||
|
||
* _conditions_
|
||
* _regex_
|
||
* _command_
|
||
|
||
Le contenu des tables de hachage dépend du type de hook.
|
||
|
||
Une manière pratique de voir les données dans le trigger est d'ouvrir le tampon
|
||
moniteur des triggers :
|
||
|
||
----
|
||
/trigger monitor
|
||
----
|
||
|
||
Toutes les fonctions de rappel définissent les variables suivantes dans la table
|
||
de hachage :
|
||
|
||
[width="100%",cols="3m,2,14",options="header"]
|
||
|===
|
||
| Variable | Type | Description
|
||
| tg_trigger_name | chaîne | Nom du trigger.
|
||
|===
|
||
|
||
[[trigger_data_signal]]
|
||
===== Signal
|
||
|
||
La fonction de rappel "signal" définit les variables suivantes dans la table de
|
||
hachage :
|
||
|
||
[width="100%",cols="3m,2,14",options="header"]
|
||
|===
|
||
| 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 :
|
||
|
||
[width="100%",cols="3m,2,14",options="header"]
|
||
|===
|
||
| Variable | Type | Description
|
||
| irc_server | pointeur | Pointeur vers le serveur IRC (les variables dans le hdata de type "irc_server" peuvent être utilisées, comme `+${irc_server.name}+`).
|
||
| irc_channel | pointeur | Pointeur vers le canal IRC (les variables dans le hdata de type "irc_channel" peuvent être utilisées, comme `+${irc_channel.name}+`).
|
||
| server | chaîne | Nom du serveur (exemple : "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 | Commande IRC (exemple : "PRIVMSG", "NOTICE", ...).
|
||
| channel | chaîne | Canal IRC.
|
||
| arguments | chaîne | Paramètres de la commande (inclut la valeur de _channel_).
|
||
| text | chaîne | Texte (par exemple message utilisateur).
|
||
| pos_command | chaîne | L'index de _command_ dans le message ("-1" si _command_ n'a pas été trouvé).
|
||
| pos_arguments | chaîne | L'index de _arguments_ dans le message ("-1" si _arguments_ n'a pas été trouvé).
|
||
| pos_channel | chaîne | L'index de _channel_ dans le message ("-1" si _channel_ n'a pas été trouvé).
|
||
| pos_text | chaîne | L'index de _text_ dans le message ("-1" si _text_ n'a pas été trouvé).
|
||
|===
|
||
|
||
Lorsque la donnée est un pointeur, la variable `+tg_signal_data+` peut être
|
||
utilisée comme ceci pour lire une propriété hdata (dans cet exemple il s'agit
|
||
d'un pointeur sur un tampon) :
|
||
|
||
----
|
||
${buffer[${tg_signal_data}].full_name}
|
||
----
|
||
|
||
[[trigger_data_hsignal]]
|
||
===== Hsignal
|
||
|
||
La fonction de rappel "hsignal" définit les variables suivantes dans la table
|
||
de hachage :
|
||
|
||
[width="100%",cols="3m,2,14",options="header"]
|
||
|===
|
||
| 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).
|
||
|
||
[[trigger_data_modifier]]
|
||
===== Modifier
|
||
|
||
La fonction de rappel "modifier" définit les variables suivantes dans la table
|
||
de hachage :
|
||
|
||
[width="100%",cols="3m,2,14",options="header"]
|
||
|===
|
||
| 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 <<trigger_data_print,hook print>> ci-dessous),
|
||
ainsi que les variables suivantes :
|
||
|
||
[width="100%",cols="3m,2,14",options="header"]
|
||
|===
|
||
| 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
|
||
<<trigger_data_signal,"hook" signal>>).
|
||
|
||
[[trigger_data_line]]
|
||
===== Line
|
||
|
||
La fonction de rappel "line" définit les variables suivantes dans la table
|
||
de hachage :
|
||
|
||
[width="100%",cols="3m,2,14",options="header"]
|
||
|===
|
||
| Variable | Type | Description
|
||
| buffer | pointeur | Tampon.
|
||
| buffer_name | chaîne | Nom du tampon.
|
||
| buffer_type | chaîne | Type de tampon ("formatted" ou "free").
|
||
| y | chaîne | Numéro de ligne pour un tampon avec contenu libre (≥ 0), -1 pour un tampon avec contenu formaté.
|
||
| date | chaîne | Date de la ligne (horodatage).
|
||
| date_printed | chaîne | Date d'affichage de la ligne (horodatage).
|
||
| str_time | chaîne | Date pour l'affichage. Elle peut contenir des codes couleur.
|
||
| tags | chaîne | Étiquettes du message (avec une virgule en début/fin de chaîne).
|
||
| displayed | chaîne | "1" si affichée, "0" si la ligne est filtrée.
|
||
| notify_level | chaîne | "-1" = pas de notification, "0" = niveau bas, "1" = message, "2" = message privé, "3" = highlight
|
||
| highlight | chaîne | "1" si highlight, sinon "0".
|
||
| prefix | chaîne | Préfixe.
|
||
| tg_prefix_nocolor | chaîne | Préfixe sans les codes couleur.
|
||
| message | chaîne | Message.
|
||
| tg_message_nocolor | chaîne | Message sans les codes couleur.
|
||
|===
|
||
|
||
Variables définies avec les étiquettes du message :
|
||
|
||
[width="100%",cols="3m,2,14",options="header"]
|
||
|===
|
||
| Variable | Type | Description
|
||
| tg_tags_count | chaîne | Nombre d'étiquettes dans le message.
|
||
| tg_tag_nick | chaîne | Pseudo (depuis l'étiquette "nick_xxx").
|
||
| tg_tag_prefix_nick | chaîne | Couleur du pseudo dans le préfixe (depuis l'étiquette "prefix_nick_ccc").
|
||
| tg_tag_host | chaîne | Nom d'utilisateur et hôte, format : utilisateur@hôte (depuis l'étiquette "host_xxx").
|
||
| tg_tag_notify | chaîne | Niveau de notification (_none_, _message_, _private_, _highlight_).
|
||
| tg_notify | chaîne | Niveau de notification, si différent de _none_.
|
||
| tg_msg_pv | chaîne | "1" pour un message privé, sinon "0".
|
||
|===
|
||
|
||
[[trigger_data_print]]
|
||
===== Print
|
||
|
||
La fonction de rappel "print" définit les variables suivantes dans la table de
|
||
hachage :
|
||
|
||
[width="100%",cols="3m,2,14",options="header"]
|
||
|===
|
||
| Variable | Type | Description
|
||
| buffer | pointeur | Tampon.
|
||
| 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 :
|
||
|
||
[width="100%",cols="3m,2,14",options="header"]
|
||
|===
|
||
| Variable | Type | Description
|
||
| tg_tags | chaîne | Étiquettes du message (avec une virgule en début/fin de chaîne).
|
||
| tg_tags_count | chaîne | Nombre d'étiquettes dans le message.
|
||
| tg_tag_nick | chaîne | Pseudo (depuis l'étiquette "nick_xxx").
|
||
| tg_tag_prefix_nick | chaîne | Couleur du pseudo dans le préfixe (depuis l'étiquette "prefix_nick_ccc").
|
||
| tg_tag_host | chaîne | Nom d'utilisateur et hôte, format : utilisateur@hôte (depuis l'étiquette "host_xxx").
|
||
| tg_tag_notify | chaîne | Niveau de notification (_none_, _message_, _private_, _highlight_).
|
||
| tg_notify | chaîne | Niveau de notification, si différent de _none_.
|
||
| tg_msg_pv | chaîne | "1" pour un message privé, sinon "0".
|
||
|===
|
||
|
||
[[trigger_data_command]]
|
||
===== Command
|
||
|
||
La fonction de rappel "command" définit les variables suivantes dans la table
|
||
de hachage :
|
||
|
||
[width="100%",cols="3m,2,14",options="header"]
|
||
|===
|
||
| Variable | Type | Description
|
||
| buffer | pointeur | Tampon.
|
||
| tg_argc | chaîne | Nombre de paramètres (la commande elle-même compte pour un).
|
||
| tg_argvN | chaîne | Paramètre n°N (`+tg_argv0+` est la commande elle-même, les autres sont les paramètres de la commande).
|
||
| tg_argv_eolN | chaîne | Depuis le paramètre n°N jusqu'à la fin des paramètres (`+tg_argv_eol0+` inclut la commande elle-même).
|
||
|===
|
||
|
||
[[trigger_data_command_run]]
|
||
===== Command_run
|
||
|
||
La fonction de rappel "command_run" définit les variables suivantes dans la
|
||
table de hachage :
|
||
|
||
[width="100%",cols="3m,2,14",options="header"]
|
||
|===
|
||
| Variable | Type | Description
|
||
| buffer | pointeur | Tampon.
|
||
| tg_command | chaîne | Commande exécutée.
|
||
|===
|
||
|
||
[[trigger_data_timer]]
|
||
===== Timer
|
||
|
||
La fonction de rappel "timer" définit les variables suivantes dans la table de
|
||
hachage :
|
||
|
||
[width="100%",cols="3m,2,14",options="header"]
|
||
|===
|
||
| 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`).
|
||
|===
|
||
|
||
[[trigger_data_config]]
|
||
===== Config
|
||
|
||
La fonction de rappel "config" définit les variables suivantes dans la table de
|
||
hachage :
|
||
|
||
[width="100%",cols="3m,2,14",options="header"]
|
||
|===
|
||
| Variable | Type | Description
|
||
| tg_option | chaîne | Option.
|
||
| tg_value | chaîne | Valeur.
|
||
|===
|
||
|
||
[[trigger_data_focus]]
|
||
===== Focus
|
||
|
||
La fonction de rappel "focus" définit les variables suivantes dans la table de
|
||
hachage :
|
||
|
||
[width="100%",cols="3m,2,14",options="header"]
|
||
|===
|
||
| 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).
|
||
|
||
[[trigger_data_info]]
|
||
===== Info
|
||
|
||
La fonction de rappel "info" définit les variables suivantes dans la table de
|
||
hachage :
|
||
|
||
[width="100%",cols="3m,2,14",options="header"]
|
||
|===
|
||
| Variable | Type | Description
|
||
| tg_info_name | string | Nom de l'info.
|
||
| tg_arguments | string | Paramètres.
|
||
| tg_info | string | Chaîne vide (l'info à renvoyer).
|
||
|===
|
||
|
||
[[trigger_data_info_hashtable]]
|
||
===== Info_hashtable
|
||
|
||
La fonction de rappel "info_hashtable" définit les variables suivantes dans la
|
||
table de hachage :
|
||
|
||
[width="100%",cols="3m,2,14",options="header"]
|
||
|===
|
||
| Variable | Type | Description
|
||
| tg_info_name | string | Nom de l'info.
|
||
|===
|
||
|
||
La table de hachage contient toutes les clés/valeurs de la table de hachage
|
||
reçue (type : chaîne/chaîne).
|
||
|
||
[[trigger_examples]]
|
||
==== Exemples
|
||
|
||
[[trigger_example_url_color]]
|
||
===== Couleur pour les URLs
|
||
|
||
Afficher les URLs en vert :
|
||
|
||
----
|
||
/trigger add url_color modifier weechat_print "${tg_notify}" "==[a-zA-Z0-9_]+://[^ ]+==${color:green}${re:0}${color:reset}=="
|
||
----
|
||
|
||
[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.
|
||
|
||
[[trigger_example_auto_pong]]
|
||
===== 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"
|
||
----
|
||
|
||
[[trigger_example_responsive_layout]]
|
||
===== 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.
|
||
|
||
[[trigger_example_config_save]]
|
||
===== Sauvegarde automatique de la configuration
|
||
|
||
Vous pouvez sauvegarder automatiquement les fichiers de configuration
|
||
(`+*.conf+`), par example chaque heure :
|
||
|
||
----
|
||
/trigger add cfgsave timer 3600000;0;0 "" "" "/mute /save"
|
||
----
|
||
|
||
Les paramètres pour le minuteur sont :
|
||
|
||
* _3600000_ : 3600 * 1000 millisecondes, la fonction de rappel est appelée
|
||
toutes les heures
|
||
* _0_ : alignement sur la seconde (pas d'alignement ici)
|
||
* _0_ : nombre maximum d'appels (0 = pas de fin pour le minuteur)
|
||
|
||
La commande `/mute /save` sauvegarde silencieusement les fichiers de
|
||
configuration (rien n'est affiché sur le tampon "core").
|
||
|
||
[[trigger_commands]]
|
||
==== Commandes
|
||
|
||
include::includes/autogen_user_commands.fr.adoc[tag=trigger_commands]
|
||
|
||
[[trigger_options]]
|
||
==== Options
|
||
|
||
Sections dans le fichier _trigger.conf_ :
|
||
|
||
[width="100%",cols="3m,6m,16",options="header"]
|
||
|===
|
||
| Section | Commande de contrôle | Description
|
||
| look | /set trigger.look.* | Aspect/présentation.
|
||
| color | /set trigger.color.* | Couleurs.
|
||
| trigger | <<command_trigger_trigger,/trigger add>> +
|
||
<<command_trigger_trigger,/trigger set>> +
|
||
/set trigger.trigger.* | Options des triggers.
|
||
|===
|
||
|
||
Options :
|
||
|
||
include::includes/autogen_user_options.fr.adoc[tag=trigger_options]
|
||
|
||
[[xfer_plugin]]
|
||
=== 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
|
||
|
||
[[xfer_commands]]
|
||
==== Commandes
|
||
|
||
include::includes/autogen_user_commands.fr.adoc[tag=xfer_commands]
|
||
|
||
[[xfer_options]]
|
||
==== Options
|
||
|
||
Sections dans le fichier _xfer.conf_ :
|
||
|
||
[width="100%",cols="3m,6m,16",options="header"]
|
||
|===
|
||
| 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 :
|
||
|
||
include::includes/autogen_user_options.fr.adoc[tag=xfer_options]
|
||
|
||
[[support]]
|
||
== Support
|
||
|
||
Avant de faire appel au support, merci de lire la documentation et la FAQ de
|
||
WeeChat.
|
||
|
||
Pour le support via IRC, sur le serveur _chat.freenode.net_ :
|
||
|
||
* canaux officiels (avec les développeurs) :
|
||
** _#weechat_ (Anglais)
|
||
** _#weechat-fr_ (Français)
|
||
* canaux non officiels :
|
||
** _#weechat-de_ (Allemand)
|
||
** _#weechat-fi_ (Finnois)
|
||
|
||
Pour les autres formes de support, voir : https://weechat.org/about/support
|