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
1. Introduction
WeeChat (Wee Enhanced Environment for Chat) est un client de discussion libre, rapide et léger, conçu pour différents systèmes d’exploitation.
Ce manuel documente l’API WeeChat des extensions, utilisée par les extensions en C pour interagir avec le cœur de WeeChat.
2. Extensions dans WeeChat
Une extension est un programme C qui peut appeler des fonctions WeeChat définies dans une interface.
Ce programme C n’a pas besoin des sources WeeChat pour être compilé et peut
être dynamiquement chargé dans WeeChat avec la commande /plugin
.
Cette extension doit être une bibliothèque dynamique, pour un chargement dynamique par le système d’exploitation. Sous GNU/Linux, le fichier a une extension ".so" et ".dll" sous Windows.
L’extension doit inclure le fichier "weechat-plugin.h" (disponible dans le code source WeeChat). Ce fichier définit les structures et types utilisés pour communiquer avec WeeChat.
2.1. Macros
L’extension doit utiliser des macros (pour définir quelques variables) :
- WEECHAT_PLUGIN_NAME("name")
-
nom de l’extension
- WEECHAT_PLUGIN_DESCRIPTION("description")
-
description courte de l’extension
- WEECHAT_PLUGIN_VERSION("1.0")
-
version de l’extension
- WEECHAT_PLUGIN_LICENSE("GPL3")
-
licence de l’extension
2.2. Fonctions principales
L’extension doit utiliser deux fonctions :
-
weechat_plugin_init
-
weechat_plugin_end
2.2.1. weechat_plugin_init
Cette fonction est appelée quand l’extension est chargée par WeeChat.
Prototype :
Paramètres :
-
plugin : pointeur vers la structure d’extension WeeChat
-
argc : nombre de paramètres pour l’extension (donnés sur la ligne de commande par l’utilisateur)
-
argv : paramètres pour l’extension
Valeur de retour :
-
WEECHAT_RC_OK si ok (l’extension sera chargée)
-
WEECHAT_RC_ERROR si erreur (l’extension ne sera PAS chargée)
2.2.2. weechat_plugin_end
Cette fonction est appelée quand l’extension est déchargée par WeeChat.
Prototype :
Paramètres :
-
plugin : pointeur vers la structure d’extension WeeChat
Valeur de retour :
-
WEECHAT_RC_OK si ok
-
WEECHAT_RC_ERROR si erreur
2.3. Compilation de l’extension
La compilation ne nécessite pas les sources de WeeChat, seul le fichier weechat-plugin.h est requis.
Pour compiler l’extension qui n’a qu’un fichier "toto.c" (sous GNU/Linux) :
$ gcc -fPIC -Wall -c toto.c
$ gcc -shared -fPIC -o libtoto.so toto.o
2.4. Chargement de l’extension
Copiez le fichier libtoto.so dans le répertoire système des extensions (par exemple /usr/local/lib/weechat/plugins) ou dans le répertoire utilisateur des extensions (par exemple /home/xxx/.weechat/plugins).
Sous WeeChat :
/plugin load toto
2.5. Exemple d’extension
Exemple complet d’extension, qui ajoute une commande /double : affiche deux fois les paramètres sur le tampon courant, ou exécute deux fois une commande (ok ce n’est pas très utile, mais c’est juste un exemple !) :
3. API extension
Les chapitres ci-dessous décrivent les fonctions de l’API, classées par catégorie.
Pour chaque fonction, on donne :
-
une description de la fonction,
-
le prototype en C,
-
le détail des paramètres,
-
la valeur de retour,
-
un exemple en C,
-
un exemple en script Python (la syntaxe pour les autres langages de script est similaire).
3.1. Extensions
Fonctions pour obtenir des informations sur les extensions.
3.1.1. weechat_plugin_get_name
Retourner le nom d’une extension.
Prototype :
Paramètres :
-
plugin : pointeur vers la structure d’extension WeeChat (peut être NULL)
Valeur de retour :
-
nom de l’extension, "core" pour le cœur de WeeChat (si le pointeur vers l’extension est NULL)
Exemple en C :
Script (Python) :
3.2. Chaînes de caractères
Plusieurs fonctions sur les chaînes de caractères sont déjà disponibles via les fonctions standard du C, mais il est recommandé d’utiliser celles de l’API car elles sont ok avec UTF-8 et la locale.
3.2.1. weechat_charset_set
Définir le nouveau jeu de caractères (le jeu de caractères par défaut est UTF-8, donc si votre extension utilise UTF-8, vous n’avez pas besoin d’appeler cette fonction).
Prototype :
Paramètres :
-
charset : nouveau jeu de caractères à utiliser
Exemple en C :
Script (Python) :
3.2.2. weechat_iconv_to_internal
Convertir une chaîne vers le jeu de caractères interne (UTF-8).
Prototype :
Paramètres :
-
charset : jeu de caractères à convertir
-
string : chaîne à convertir
Valeur de retour :
-
chaîne convertie (doit être supprimée par un appel à "free" après utilisation)
Exemple en C :
Script (Python) :
3.2.3. weechat_iconv_from_internal
Convertir une chaîne du jeu de caractères interne (UTF-8) vers un autre.
Prototype :
Paramètres :
-
charset : jeu de caractères cible
-
string : chaîne à convertir
Valeur de retour :
-
chaîne convertie (doit être supprimée par un appel à "free" après utilisation)
Exemple en C :
Script (Python) :
3.2.4. weechat_gettext
Retourner la chaîne traduite (dépend de la langue locale).
Prototype :
Paramètres :
-
string : chaîne à traduire
Valeur de retour :
-
chaîne traduite
Exemple en C :
Script (Python) :
3.2.5. weechat_ngettext
Retourner la chaîne traduite, en utilisant le singulier ou le pluriel, selon le paramètre count.
Prototype :
Paramètres :
-
string : chaîne à traduire, au singulier
-
plural : chaîne à traduire, au pluriel
-
count : utilisé pour choisir entre le singulier et le pluriel (le choix est fonction de la langue utilisée)
Valeur de retour :
-
chaîne traduite
Exemple en C :
Script (Python) :
3.2.6. weechat_strndup
Retourner la chaîne dupliquée, avec au plus length caractères.
Prototype :
Paramètres :
-
string : chaîne à dupliquer
-
length : nombre maximum de caractères à dupliquer
Valeur de retour :
-
chaîne dupliquée (doit être supprimée par un appel à "free" après utilisation)
Exemple en C :
Note
|
Cette fonction n’est pas disponible dans l’API script. |
3.2.7. weechat_string_tolower
Convertir une chaîne UTF-8 en minuscules.
Prototype :
Paramètres :
-
string : chaîne à convertir
Exemple en C :
Note
|
Cette fonction n’est pas disponible dans l’API script. |
3.2.8. weechat_string_toupper
Convertir une chaîne UTF-8 en majuscules.
Prototype :
Paramètres :
-
string : chaîne à convertir
Exemple en C :
Note
|
Cette fonction n’est pas disponible dans l’API script. |
3.2.9. weechat_strcasecmp
Mis à jour dans la 1.0.
Comparer deux chaînes indépendemment de la locale et de la casse.
Prototype :
Paramètres :
-
string1 : première chaîne à comparer
-
string2 : seconde chaîne à comparer
Valeur de retour :
-
-1 si string1 < string2
-
0 si string1 == string2
-
1 si string1 > string2
Exemple en C :
Note
|
Cette fonction n’est pas disponible dans l’API script. |
3.2.10. weechat_strcasecmp_range
WeeChat ≥ 0.3.7, mis à jour dans la 1.0.
Comparer deux chaînes indépendemment de la locale et de la casse, avec un intervalle pour comparer la casse.
Prototype :
Paramètres :
-
string1 : première chaîne à comparer
-
string2 : seconde chaîne à comparer
-
range : nombre de caractères pour la comparaison de casse, par exemple :
-
26 : "A-Z" deviennent en minuscules "a-z"
-
29 : "A-Z [ \ ]" deviennent minuscules "a-z { | }"
-
30 : "A-Z [ \ ] ^" deviennent minuscules "a-z { | } ~"
-
Note
|
Les valeurs 29 et 30 sont utilisés par quelques protocoles comme IRC. |
Valeur de retour :
-
-1 si string1 < string2
-
0 si string1 == string2
-
1 si string1 > string2
Exemple en C :
Note
|
Cette fonction n’est pas disponible dans l’API script. |
3.2.11. weechat_strncasecmp
Mis à jour dans la 1.0.
Comparer deux chaînes indépendemment de la locale et de la casse, pour max caractères.
Prototype :
Paramètres :
-
string1 : première chaîne à comparer
-
string2 : seconde chaîne à comparer
-
max : nombre maximum de caractères à comparer
Valeur de retour :
-
-1 si string1 < string2
-
0 si string1 == string2
-
1 si string1 > string2
Exemple en C :
Note
|
Cette fonction n’est pas disponible dans l’API script. |
3.2.12. weechat_strncasecmp_range
WeeChat ≥ 0.3.7, mis à jour dans la 1.0.
Comparer deux chaînes indépendemment de la locale et de la casse, pour max caractères, avec un intervalle pour comparer la casse.
Prototype :
Paramètres :
-
string1 : première chaîne à comparer
-
string2 : seconde chaîne à comparer
-
max : nombre maximum de caractères à comparer
-
range : nombre de caractères pour la comparaison de casse, par exemple :
-
26 : "A-Z" deviennent en minuscules "a-z"
-
29 : "A-Z [ \ ]" deviennent minuscules "a-z { | }"
-
30 : "A-Z [ \ ] ^" deviennent minuscules "a-z { | } ~"
-
Note
|
Les valeurs 29 et 30 sont utilisés par quelques protocoles comme IRC. |
Valeur de retour :
-
-1 si string1 < string2
-
0 si string1 == string2
-
1 si string1 > string2
Exemple en C :
Note
|
Cette fonction n’est pas disponible dans l’API script. |
3.2.13. weechat_strcmp_ignore_chars
Mis à jour dans la 1.0.
Comparer deux chaînes indépendemment de la locale (et en option de la casse), en ignorant des caractères.
Prototype :
Paramètres :
-
string1 : première chaîne à comparer
-
string2 : seconde chaîne à comparer
-
chars_ignored : chaîne avec les caractères à ignorer
-
case_sensitive : 1 pour une comparaison tenant compte de la casse, sinon 0
Valeur de retour :
-
-1 si string1 < string2
-
0 si string1 == string2
-
1 si string1 > string2
Exemple en C :
Note
|
Cette fonction n’est pas disponible dans l’API script. |
3.2.14. weechat_strcasestr
Rechercher une chaîne indépendemment de la locale et de la casse.
Prototype :
Paramètres :
-
string : chaîne
-
search : chaîne à rechercher dans string
Valeur de retour :
-
pointeur vers la chaîne trouvée, ou NULL si non trouvée
Exemple en C :
Note
|
Cette fonction n’est pas disponible dans l’API script. |
3.2.15. weechat_strlen_screen
WeeChat ≥ 0.4.2.
Retourner le nombre de caractères nécessaires pour afficher la chaîne UTF-8 sur l'écran. Les caractères non affichables ont une longueur de 1 (c’est la différence avec la fonction weechat_utf8_strlen_screen).
Prototype :
Paramètres :
-
string : chaîne
Valeur de retour :
-
nombre de caractères nécessaires pour afficher la chaîne UTF-8 sur l'écran
Exemple en C :
Script (Python) :
3.2.16. weechat_string_match
Mis à jour dans la 1.0.
Vérifier si une chaîne correspond à un masque.
Prototype :
Paramètres :
-
string : chaîne
-
mask : masque avec des caractères joker ("*"), chaque joker correspond à 0 ou plusieurs caractères dans la chaîne
-
case_sensitive : 1 pour une comparaison tenant compte de la casse, sinon 0
Note
|
Depuis la version 1.0, les caractères joker sont autorisés à l’intérieur du masque (pas seulement au début et à la fin du masque). |
Valeur de retour :
-
1 si la chaîne correspond au masque, sinon 0
Exemple en C :
Script (Python) :
3.2.17. weechat_string_expand_home
WeeChat ≥ 0.3.3.
Remplacer le ~
en début de chaîne par le répertoire "home". Si la chaîne ne
débute pas par ~
, alors une chaîne identique est retournée.
Prototype :
Paramètres :
-
path : chemin
Valeur de retour :
-
chemin avec le
~
en début remplacé par le répertoire "home" (doit être supprimé par un appel à "free" après utilisation)
Exemple en C :
Note
|
Cette fonction n’est pas disponible dans l’API script. |
3.2.18. weechat_string_remove_quotes
Supprimer les apostrophes/guillemets au début et à la fin d’une chaîne (les espaces avant la première apostrophe ou après la dernière sont ignorés).
Prototype :
Paramètres :
-
string : chaîne
-
quotes : chaîne avec la liste des apostrophes/guillemets à supprimer
Valeur de retour :
-
chaîne sans les apostrophes/guillemets au début et à la fin (doit être supprimée par un appel à "free" après utilisation)
Exemple en C :
Note
|
Cette fonction n’est pas disponible dans l’API script. |
3.2.19. weechat_string_strip
Supprimer des caractères au début et/ou à la fin d’une chaîne.
Prototype :
Paramètres :
-
string : chaîne
-
left : supprime les caractères en début de chaîne si différent de 0
-
right : supprime les caractères en fin de chaîne si différent de 0
-
chars : chaîne avec les caractères à supprimer
Valeur de retour :
-
chaîne avec les caractères supprimés (doit être supprimée par un appel à "free" après utilisation)
Exemple en C :
Note
|
Cette fonction n’est pas disponible dans l’API script. |
3.2.20. weechat_string_convert_escaped_chars
WeeChat ≥ 1.0.
Convertir les caractères échappés par leur valeur :
-
\"
: double guillemet droit -
\\
: barre oblique inversée -
\a
: alerte (BEL) -
\b
: retour arrière -
\e
: échappement -
\f
: saut de page -
\n
: nouvelle ligne -
\r
: retour chariot -
\t
: tabulation horizontale -
\v
: tabulation verticale -
\0ooo
: caractère sous forme de valeur octale (ooo a 0 à 3 chiffres) -
\xhh
: caractère sous forme de valeur hexadécimale (hh a 1 à 2 chiffres) -
\uhhhh
: caractère unicode sous forme de valeur hexadécimale (hhhh a 1 à 4 chiffres) -
\Uhhhhhhhh
: caractère unicode sous forme de valeur hexadécimale (hhhhhhhh a 1 à 8 chiffres)
Prototype :
Paramètres :
-
string : chaîne
Valeur de retour :
-
chaîne avec les caractères échappés remplacés par leur valeur (doit être supprimée par un appel à "free" après utilisation)
Exemple en C :
Note
|
Cette fonction n’est pas disponible dans l’API script. |
3.2.21. weechat_string_mask_to_regex
Retourner une expression régulière ("regex"), construite avec un masque où le
seul caractère spécial est "*
". Tous les autres caractères spéciaux
d’expression régulière sont échappés.
Prototype :
Paramètres :
-
mask : masque
Valeur de retour :
-
expression régulière, sous forme de chaîne (doit être supprimée par un appel à "free" après utilisation)
Exemple en C :
Script (Python) :
3.2.22. weechat_string_regex_flags
WeeChat ≥ 0.3.7.
Retourner un pointeur dans la chaîne après les "flags" et le masque avec les "flags" pour compiler l’expression régulière.
Prototype :
Paramètres :
-
regex : expression régulière POSIX étendue
-
default_flags : combinaison des valeurs suivantes (voir
man regcomp
) :-
REG_EXTENDED
-
REG_ICASE
-
REG_NEWLINE
-
REG_NOSUB
-
-
flags : la valeur du pointer est alimentée avec les "flags" utilisés dans l’expression régulière ("flags" par défaut + "flags" définis dans l’expression régulière)
Les "flags" doivent être au début de l’expression régulière. Le format est : "(?eins-eins)chaîne".
Les "flags" autorisés sont :
-
e : expression régulière POSIX étendue (REG_EXTENDED)
-
i : insensible à la casse (REG_ICASE)
-
n : les opérateurs qui cherchent n’importe quel caractère ne trouvent pas les nouvelles lignes (REG_NEWLINE)
-
s : le support d’adressage des sous-chaînes de correspondance n’est pas requis (REG_NOSUB)
Valeur de retour :
-
pointeur dans la regex, après les "flags"
Exemple en C :
Note
|
Cette fonction n’est pas disponible dans l’API script. |
3.2.23. weechat_string_regcomp
WeeChat ≥ 0.3.7.
Compiler une expression régulière avec des "flags" optionnels en début de chaîne (pour le format des "flags", voir weechat_string_regex_flags).
Prototype :
Paramètres :
-
preg : pointeur vers la structure regex_t
-
regex : expression régulière POSIX étendue
-
default_flags : combinaison des valeurs suivantes (voir
man regcomp
) :-
REG_EXTENDED
-
REG_ICASE
-
REG_NEWLINE
-
REG_NOSUB
-
Valeur de retour :
-
même code retour que la fonction
regcomp
(0 si ok, autre valeur pour une erreur, voirman regcomp
)
Exemple en C :
Note
|
Cette fonction n’est pas disponible dans l’API script. |
3.2.24. weechat_string_has_highlight
Vérifier si une chaîne a un ou plusieurs "highlights", en utilisant une liste de mots "highlight".
Prototype :
Paramètres :
-
string : chaîne
-
highlight_words : liste de mots "highlight", séparés par des virgules
Valeur de retour :
-
1 si la chaîne a un ou plusieurs "highlights", sinon 0
Exemple en C :
Script (Python) :
3.2.25. weechat_string_has_highlight_regex
WeeChat ≥ 0.3.4.
Vérifier si une chaîne a un ou plusieurs "highlights", en utilisant une
expression régulière POSIX étendue.
Pour au moins une correspondance dans la chaîne, elle doit être entourée de
délimiteurs (caractères différents de : alphanumérique, "-", "_" et "|").
Prototype :
Paramètres :
-
string : chaîne
-
regex : expression régulière POSIX étendue
Valeur de retour :
-
1 si la chaîne a un ou plusieurs "highlights", sinon 0
Exemple en C :
Script (Python) :
3.2.26. weechat_string_replace
Remplacer toutes les occurrences d’une chaîne par une autre chaîne.
Prototype :
Paramètres :
-
string : chaîne
-
search : chaîne à remplacer
-
replace : remplacement pour la chaîne search
Valeur de retour :
-
chaîne avec search remplacée par replace (doit être supprimée par un appel à "free" après utilisation)
Exemple en C :
Note
|
Cette fonction n’est pas disponible dans l’API script. |
3.2.27. weechat_string_replace_regex
WeeChat ≥ 1.0.
Remplacer du texte dans une chaîne en utilisant une expression régulière, du texte de remplacement et un "callback" optionnel.
Prototype :
Paramètres :
-
string : chaîne
-
regex : pointeur vers une expression régulière (structure regex_t) compilée avec la fonction WeeChat weechat_string_regcomp ou regcomp (voir
man regcomp
) -
replace : texte de remplacement, où les références suivantes sont autorisées :
-
$0
à$99
: correspondance 0 à 99 dans l’expression régulière (0 est la correspondance entière, 1 à 99 sont les groupes capturés entre parenthèses) -
$+
: la dernière correspondance (avec le numéro le plus élevé) -
$.*N
: correspondanceN
(peut être+
ou de0
à99
), avec tous les caractères remplacés par*
(le caractère*
peut être n’importe quel caractère entre l’espace (32) et~
(126))
-
-
reference_char : le caractère utilisé pour les références aux correspondances (en général $)
-
callback : un "callback" optionnel appelé pour chaque référence dans replace (sauf pour les correspondances remplacées par un caractère); le "callback" doit retourner :
-
une chaîne nouvellement allouée : elle est utilisée en texte de remplacement (elle est libérée après utilisation)
-
NULL : le texte reçu dans le "callback" est utilisé comme texte de remplacement (sans changement)
-
-
callback_data : pointeur donné au "callback" lorsqu’il est appelé
Valeur de retour :
-
chaîne avec le texte remplacé, NULL en cas de problème (doit être supprimée par un appel à "free" après utilisation)
Exemple en C :
Note
|
Cette fonction n’est pas disponible dans l’API script. |
3.2.28. weechat_string_split
Découper une chaîne à l’aide de délimiteur(s).
Prototype :
Paramètres :
-
string : chaîne à découper
-
separators : délimiteurs utilisés pour le découpage
-
keep_eol : si différent de 0, alors chaque paramètre contiendra toutes les chaînes jusqu'à la fin de la ligne (voir exemple ci-dessous)
-
0 : chaque chaîne contiendra un mot
-
1 : chaque chaîne contiendra toute la chaîne jusqu'à la fin de la ligne (voir exemple ci-dessous)
-
2 : comme 1, mais ne supprime pas les séparateurs en fin de chaîne avant le découpage (WeeChat ≥ 0.3.6)
-
-
num_items_max : nombre maximum de chaînes à créer (0 = pas de limite)
-
num_items : pointeur vers un entier qui contiendra le nombre de chaînes créées
Valeur de retour :
-
tableau de chaînes, NULL en cas de problème (doit être supprimé par un appel à weechat_string_free_split après utilisation)
Exemples en C :
Note
|
Cette fonction n’est pas disponible dans l’API script. |
3.2.29. weechat_string_split_shell
WeeChat ≥ 1.0.
Découper une chaîne comme le shell le fait pour une commande avec ses paramètres.
Cette fonction est une conversion en C de la classe Python "shlex" (fichier : Lib/shlex.py dans le dépôt Python), voir : http://docs.python.org/3/library/shlex.html.
Prototype :
Paramètres :
-
string : chaîne à découper
-
num_items : pointeur vers un entier qui contiendra le nombre de chaînes créées
Valeur de retour :
-
tableau de chaînes, NULL en cas de problème (doit être supprimé par un appel à weechat_string_free_split après utilisation)
Exemple en C :
Note
|
Cette fonction n’est pas disponible dans l’API script. |
3.2.30. weechat_string_free_split
Supprimer une chaîne découpée.
Prototype :
Paramètres :
-
split_string : chaîne découpée par weechat_string_split
Exemple en C :
Note
|
Cette fonction n’est pas disponible dans l’API script. |
3.2.31. weechat_string_build_with_split_string
Construire une chaîne à partir d’une chaîne découpée.
Prototype :
Paramètres :
-
split_string : chaîne découpée par la fonction weechat_string_split
-
separator : chaîne utilisée pour séparer les différentes chaînes
Valeur de retour :
-
chaîne construite avec la chaîne découpée (doit être supprimée par un appel à "free" après utilisation)
Exemple en C :
Note
|
Cette fonction n’est pas disponible dans l’API script. |
3.2.32. weechat_string_split_command
Découper une liste de commandes séparées par separator (qui peut être échappé par "\" dans la chaîne).
Prototype :
Paramètres :
-
command : commande à découper
-
separator : séparateur
Valeur de retour :
-
tableau de chaînes, NULL en cas de problème (doit être supprimé par un appel à weechat_free_split_command après utilisation)
Exemple en C :
Note
|
Cette fonction n’est pas disponible dans l’API script. |
3.2.33. weechat_string_free_split_command
Supprimer une commande découpée.
Prototype :
Paramètres :
-
split_command : commande découpée par weechat_string_split_command
Exemple en C :
Note
|
Cette fonction n’est pas disponible dans l’API script. |
3.2.34. weechat_string_format_size
Construire une chaîne avec une taille de fichier formatée et une unité traduite dans la langue locale.
Prototype :
Paramètres :
-
size : taille (en octets)
Valeur de retour :
-
chaîne formatée (doit être supprimée par un appel à "free" après utilisation)
Exemples en C :
Note
|
Cette fonction n’est pas disponible dans l’API script. |
3.2.35. weechat_string_remove_color
Supprimer les couleurs WeeChat dans une chaîne.
Prototype :
Paramètres :
-
string : chaîne
-
replacement : si non NULL et non vide, les couleurs WeeChat sont remplacées par le premier caractère de cette chaîne, sinon les codes couleurs WeeChat et les caractères suivants (rattachés à la couleur) sont supprimés de la chaîne
Valeur de retour :
-
chaîne sans couleur (doit être supprimée par un appel à "free" après utilisation)
Exemples en C :
Script (Python) :
3.2.36. weechat_string_encode_base64
WeeChat ≥ 0.3.2.
Encoder une chaîne en base64.
Prototype :
Paramètres :
-
from : chaîne à encoder
-
length : longueur de chaîne à encoder (par exemple
strlen(from)
) -
to : pointeur vers la chaîne pour stocker le résultat (doit être suffisamment long, le résultat est plus long que la chaîne initiale)
Exemple en C :
Note
|
Cette fonction n’est pas disponible dans l’API script. |
3.2.37. weechat_string_decode_base64
WeeChat ≥ 0.3.2.
Décoder une chaîne base64.
Prototype :
Paramètres :
-
from : chaîne à décoder
-
to : pointeur vers la chaîne pour stocker le résultat (doit être suffisamment long, le résultat est plus court que la chaîne initiale)
Valeur de retour :
-
longueur de la chaîne stockée dans *to (ne compte pas le \0 final)
Exemple en C :
Note
|
Cette fonction n’est pas disponible dans l’API script. |
3.2.38. weechat_string_is_command_char
WeeChat ≥ 0.3.2.
Vérifier si le premier caractère de la chaîne est un caractère de commande (le caractère par défaut de commande est /).
Prototype :
Paramètres :
-
string : chaîne
Valeur de retour :
-
1 si le premier caractère de la chaîne est un caractère de commande, sinon 0
Exemples en C :
Script (Python) :
3.2.39. weechat_string_input_for_buffer
WeeChat ≥ 0.3.2.
Retourner un pointeur vers le texte envoyé vers le tampon (pointeur à l’intérieur du paramètre "string"), ou NULL si c’est une commande.
Prototype :
Paramètres :
-
string : chaîne
Valeur de retour :
-
pointeur vers "string", ou NULL
Exemples en C :
Script (Python) :
3.2.40. weechat_string_eval_expression
WeeChat ≥ 0.4.0, mis à jour dans la 0.4.2 et 1.1.
Évaluer l’expression et retourner le résultat sous forme de chaîne.
Les variables spéciales avec le format ${variable}
sont étendues (voir le
tableau ci-dessous).
Note
|
Depuis la version 1.0, les variables imbriquées sont supportées, par exemple :
${color:${variable}} . |
Prototype :
Paramètres :
-
expr : l’expression à évaluer (voir le tableau ci-dessous)
-
pointers : table de hachage avec les pointeurs (les clés doivent être des chaînes, les valeurs doivent être des pointeurs); les pointeurs "window" et "buffer" sont automatiquement ajoutés s’ils ne sont pas dans la table de hachage (avec le pointer vers fenêtre/tampon courants) (peut être NULL) :
-
regex : pointeur vers une expression régulière (structure regex_t) compilée avec la fonction WeeChat weechat_string_regcomp ou regcomp (voir
man regcomp
) ; cette option est similaire à regex dans la table de hachage options (ci-dessous), mais est utilisée pour de meilleures performances
-
-
extra_vars : variables additionnelles qui seront étendues (peut être NULL)
-
options : table de hachage avec des options (les clés et valeurs doivent être des chaînes) (peut être NULL) :
-
type : le comportement par défaut est de juste remplacer les valeurs dans l’expression, d’autres types peuvent être choisis :
-
condition : l’expression est évaluée comme une condition : les opérateurs et parenthèses sont utilisés, le résultat est un booléen ("0" ou "1")
-
-
prefix : préfixe avant les variables à remplacer (par défaut : "${")
-
suffix : suffixe après les variables à remplacer (par défaut : "}")
-
regex : une expression regulière pour remplacer du texte dans expr (qui n’est alors pas évalué)
-
regex_replace : le texte de remplacement à utiliser avec regex, pour remplacer du texte dans expr (regex_replace est évalué sur chaque correspondance de regex sur expr, jusqu'à ce que plus aucune correspondance ne soit trouvée)
-
Valeur de retour :
-
expression évaluée (doit être supprimée après un appel à "free" après utilisation), ou NULL si problème (expression invalide ou pas assez de mémoire)
Liste des variables étendues dans l’expression (par ordre de priorité, de la première étendue à la dernière) :
Format | Description | Exemples | Résultats |
---|---|---|---|
|
Variable |
|
|
|
Chaîne avec caractères échappés |
|
|
|
Chaîne avec les caractères masqués (tous les caractères dans |
|
|
|
Groupe regex capturé : 0 = toute la chaîne correspondante, 1 à 99 = groupe
capturé, |
|
|
|
Code couleur WeeChat (le nom de couleur a des attributs facultatifs) |
|
|
|
Info de WeeChat ou d’une extension, voir la fonction weechat_info_get |
|
|
|
Valeur de la donnée sécurisée |
|
|
|
Valeur de l’option |
|
|
|
Valeur de la variable locale |
|
|
|
Valeur d’un hdata (les pointeurs |
|
|
Exemples en C :
Script (Python) :
3.3. UTF-8
Fonctions pour les chaînes UTF-8.
3.3.1. weechat_utf8_has_8bits
Vérifier si une chaîne a des caractères 8-bits.
Prototype :
Paramètres :
-
string : chaîne
Valeur de retour :
-
1 si la chaîne a des caractères 8-bits, 0 s’il y a seulement des caractères 7-bits
Exemple en C :
Note
|
Cette fonction n’est pas disponible dans l’API script. |
3.3.2. weechat_utf8_is_valid
Vérifier si une chaîne est valide UTF-8.
Prototype :
Paramètres :
-
string : chaîne
-
error : si non NULL, *error est alimenté avec le pointeur vers le premier caractère non valide dans la chaîne, s’il y en a
Valeur de retour :
-
1 si la chaîne UTF-8 est valide, sinon 0
Exemple en C :
Note
|
Cette fonction n’est pas disponible dans l’API script. |
3.3.3. weechat_utf8_normalize
Normaliser une chaîne UTF-8 : supprimer tous les caractères non valides UTF-8 en les remplaçant par un caractère.
Prototype :
Paramètres :
-
string : chaîne
-
replacement : caractère de remplacement pour les caractères non valides
Exemple en C :
Note
|
Cette fonction n’est pas disponible dans l’API script. |
3.3.4. weechat_utf8_prev_char
Retourner un pointeur vers le caractère UTF-8 précédent dans une chaîne.
Prototype :
Paramètres :
-
string_start : début de la chaîne (la fonction ne retournera pas un caractère situé avant ce pointeur)
-
string : pointeur vers la chaîne (doit être ≥ string_start)
Valeur de retour :
-
pointeur vers le caractère UTF-8 précédent, NULL si non trouvé (début de chaîne atteint)
Exemple en C :
Note
|
Cette fonction n’est pas disponible dans l’API script. |
3.3.5. weechat_utf8_next_char
Retourner un pointeur vers le caractère UTF-8 suivant dans une chaîne.
Prototype :
Paramètres :
-
string : chaîne
Valeur de retour :
-
pointeur vers le caractère UTF-8 suivant, NULL si non trouvé (fin de la chaîne atteinte)
Exemple en C :
Note
|
Cette fonction n’est pas disponible dans l’API script. |
3.3.6. weechat_utf8_char_int
Retourner un caractère UTF-8 sous forme d’entier.
Prototype :
Paramètres :
-
string : chaîne
Valeur de retour :
-
caractère UTF-8 sous forme d’entier
Exemple en C :
Note
|
Cette fonction n’est pas disponible dans l’API script. |
3.3.7. weechat_utf8_char_size
Retourner la taille d’un caractère UTF-8 (en octets).
Prototype :
Paramètres :
-
string : chaîne
Valeur de retour :
-
taille du caractère UTF-8 (en octets)
Exemple en C :
Note
|
Cette fonction n’est pas disponible dans l’API script. |
3.3.8. weechat_utf8_strlen
Retourner la taille d’une chaîne UTF-8 (en nombre de caractères UTF-8).
Prototype :
Paramètres :
-
string : chaîne
Valeur de retour :
-
longueur de la chaîne UTF-8 (nombre de caractères UTF-8)
Exemple en C :
Note
|
Cette fonction n’est pas disponible dans l’API script. |
3.3.9. weechat_utf8_strnlen
Retourner la taille d’une chaîne UTF-8 (en nombre de caractères UTF-8), pour au maximum bytes octets dans la chaîne.
Prototype :
Paramètres :
-
string : chaîne
-
bytes : nombre maximum d’octets
Valeur de retour :
-
longueur de la chaîne UTF-8 (nombre de caractères UTF-8)
Exemple en C :
Note
|
Cette fonction n’est pas disponible dans l’API script. |
3.3.10. weechat_utf8_strlen_screen
Retourner le nombre de caractères nécessaires pour afficher la chaîne UTF-8 sur l'écran.
Prototype :
Paramètres :
-
string : chaîne
Valeur de retour :
-
nombre de caractères nécessaires pour afficher la chaîne UTF-8 sur l'écran
Exemple en C :
Note
|
Cette fonction n’est pas disponible dans l’API script. |
3.3.11. weechat_utf8_charcmp
Mis à jour dans la 1.0.
Comparer deux caractères UTF-8.
Prototype :
Paramètres :
-
string1 : première chaîne pour la comparaison
-
string2 : seconde chaîne pour la comparaison
Valeur de retour :
-
-1 si string1 < string2
-
0 si string1 == string2
-
1 si string1 > string2
Exemple en C :
Note
|
Cette fonction n’est pas disponible dans l’API script. |
3.3.12. weechat_utf8_charcasecmp
Mis à jour dans la 1.0.
Comparer deux caractères UTF-8 en ignorant la casse.
Prototype :
Paramètres :
-
string1 : première chaîne pour la comparaison
-
string2 : seconde chaîne pour la comparaison
Valeur de retour :
-
-1 si string1 < string2
-
0 si string1 == string2
-
1 si string1 > string2
Exemple en C :
Note
|
Cette fonction n’est pas disponible dans l’API script. |
3.3.13. weechat_utf8_char_size_screen
Retourner le nombre de caractères nécessaires pour afficher le caractère UTF-8 sur l'écran.
Prototype :
Paramètres :
-
string : chaîne
Valeur de retour :
-
nombre de caractères nécessaires pour afficher le caractère UTF-8 sur l'écran
Exemple en C :
Note
|
Cette fonction n’est pas disponible dans l’API script. |
3.3.14. weechat_utf8_add_offset
Avancer de N caractères dans une chaîne UTF-8.
Prototype :
Paramètres :
-
string : chaîne
-
offset : nombre de caractères
Valeur de retour :
-
pointeur vers la chaîne, N caractères après (NULL s’il est impossible d’atteindre cette position dans la chaîne)
Exemple en C :
Note
|
Cette fonction n’est pas disponible dans l’API script. |
3.3.15. weechat_utf8_real_pos
Retourner la position réelle dans une chaîne UTF-8.
Prototype :
Paramètres :
-
string : chaîne
-
pos : position (en nombre de caractères)
Valeur de retour :
-
position réelle (en octets)
Exemple en C :
Note
|
Cette fonction n’est pas disponible dans l’API script. |
3.3.16. weechat_utf8_pos
Retourner la position dans une chaîne UTF-8.
Prototype :
Paramètres :
-
string : chaîne
-
real_pos : position (en octets)
Valeur de retour :
-
position (en nombre de caractères)
Exemple en C :
Note
|
Cette fonction n’est pas disponible dans l’API script. |
3.3.17. weechat_utf8_strndup
Retourner une chaîne dupliquée, avec au plus length caractères.
Prototype :
Paramètres :
-
string : chaîne
-
length : nombre maximum de caractères à dupliquer
Valeur de retour :
-
chaîne dupliquée (doit être supprimée avec un appel à "free" après utilisation)
Exemple en C :
Note
|
Cette fonction n’est pas disponible dans l’API script. |
3.4. Répertoires
Fonctions liées aux répertoires.
3.4.1. weechat_mkdir_home
Créer un répertoire dans le répertoire de WeeChat.
Prototype :
Paramètres :
-
directory : nom du répertoire à créer
-
mode : mode pour le répertoire
Valeur de retour :
-
1 si le répertoire est créé, 0 en cas d’erreur
Exemple en C :
Script (Python) :
3.4.2. weechat_mkdir
Créer un répertoire.
Prototype :
Paramètres :
-
directory : nom du répertoire à créer
-
mode : mode pour le répertoire
Valeur de retour :
-
1 si le répertoire est créé, 0 en cas d’erreur
Exemple en C :
Script (Python) :
3.4.3. weechat_mkdir_parents
Créer un répertoire et ses parents si besoin.
Prototype :
Paramètres :
-
directory : nom du répertoire à créer
-
mode : mode pour le répertoire
Valeur de retour :
-
1 si le répertoire est créé, 0 en cas d’erreur
Exemple en C :
Script (Python) :
3.4.4. weechat_exec_on_files
Balayer les fichiers dans un répertoire et exécuter un "callback" pour chaque fichier.
Prototype :
Paramètres :
-
directory : répertoire où chercher les fichiers
-
hidden_files : 1 pour inclure les fichiers cachés, sinon 0
-
data : pointeur donné au "callback" lorsqu’il est appelé par WeeChat
-
callback : fonction appelée pour chaque fichier trouvé, paramètres :
-
void *data : pointeur
-
const char *filename : nom de fichier trouvé
-
Exemple en C :
Note
|
Cette fonction n’est pas disponible dans l’API script. |
3.4.5. weechat_file_get_content
WeeChat ≥ 0.3.1.
Lire le contenu d’un fichier texte dans une chaîne de caractères.
Prototype :
Paramètres :
-
filename : chemin et nom du fichier
Valeur de retour :
-
contenu du fichier sous forme de chaîne (doit être supprimé par un appel à "free" après utilisation)
Exemple en C :
Note
|
Cette fonction n’est pas disponible dans l’API script. |
3.5. Util
Quelques fonctions utiles.
3.5.1. weechat_util_timeval_cmp
Comparer deux structures "timeval".
Prototype :
Paramètres :
-
tv1 : première structure "timeval"
-
tv2 : seconde structure "timeval"
Valeur de retour :
-
-1 si tv1 < tv2
-
zéro si tv1 == tv2
-
+1 si tv1 > tv2
Exemple en C :
Note
|
Cette fonction n’est pas disponible dans l’API script. |
3.5.2. weechat_util_timeval_diff
Mis à jour dans la 1.1.
Retourner la différence (en microsecondes) entre deux structures "timeval".
Prototype :
Paramètres :
-
tv1 : première structure "timeval"
-
tv2 : seconde structure "timeval"
Valeur de retour :
-
différence en microsecondes
Note
|
Avec WeeChat ≤ 1.0, la valeur retournée était en millisecondes. |
Exemple en C :
Note
|
Cette fonction n’est pas disponible dans l’API script. |
3.5.3. weechat_util_timeval_add
Mis à jour dans la 1.1.
Ajouter un intervalle (en microsecondes) à une structure "timeval".
Prototype :
Paramètres :
-
tv : structure "timeval"
-
interval : intervalle (en microsecondes)
Note
|
Avec WeeChat ≤ 1.0, l’intervalle était exprimé en millisecondes. |
Exemple en C :
Note
|
Cette fonction n’est pas disponible dans l’API script. |
3.5.4. weechat_util_get_time_string
WeeChat ≥ 0.3.2.
Retourner la date/heure sous forme de chaîne construite avec "strftime".
Prototype :
Paramètres :
-
date : pointeur vers la date
Exemple en C :
Note
|
Cette fonction n’est pas disponible dans l’API script. |
3.5.5. weechat_util_version_number
WeeChat ≥ 0.3.9.
Convertir une chaîne avec la version WeeChat en nombre.
Prototype :
Paramètres :
-
version : version WeeChat sous forme de chaîne (exemple : "0.3.9" ou "0.3.9-dev")
Exemple en C :
Note
|
Cette fonction n’est pas disponible dans l’API script. |
3.6. Listes triées
Fonctions pour les listes triées.
3.6.1. weechat_list_new
Créer une nouvelle liste.
Prototype :
Valeur de retour :
-
pointeur vers la nouvelle liste
Exemple en C :
Script (Python) :
3.6.2. weechat_list_add
Ajouter un élément dans une liste.
Prototype :
Paramètres :
-
weelist : pointeur vers la liste
-
data : donnée à insérer dans la liste
-
where : position dans la liste :
-
WEECHAT_LIST_POS_SORT : ajout dans la liste, en gardant la liste triée
-
WEECHAT_LIST_POS_BEGINNING : ajout en début de liste
-
WEECHAT_LIST_POS_END : ajout en fin de liste
-
-
user_data : un pointeur quelconque
Valeur de retour :
-
pointeur vers le nouvel élément
Exemple en C :
Script (Python) :
3.6.3. weechat_list_search
Rechercher un élément dans une liste.
Prototype :
Paramètres :
-
weelist : pointeur vers la liste
-
data : donnée à chercher dans la liste
Valeur de retour :
-
pointeur vers l'élément trouvé, NULL si aucun élément n’a été trouvé
Exemple en C :
Script (Python) :
3.6.4. weechat_list_search_pos
WeeChat ≥ 0.3.4.
Rechercher la position d’un élément dans une liste.
Prototype :
Paramètres :
-
weelist : pointeur vers la liste
-
data : donnée à chercher dans la liste
Valeur de retour :
-
position de l'élément trouvé, -1 si aucun élément n’a été trouvé
Exemple en C :
Script (Python) :
3.6.5. weechat_list_casesearch
Rechercher un élément dans la liste, sans tenir compte de la casse.
Prototype :
Paramètres :
-
weelist : pointeur vers la liste
-
data : données à chercher dans la liste
Valeur de retour :
-
pointeur vers l'élément trouvé, NULL si aucun élément n’a été trouvé
Exemple en C :
Script (Python) :
3.6.6. weechat_list_casesearch_pos
WeeChat ≥ 0.3.4.
Rechercher la position d’un élément dans la liste, sans tenir compte de la casse.
Prototype :
Paramètres :
-
weelist : pointeur vers la liste
-
data : données à chercher dans la liste
Valeur de retour :
-
position l'élément trouvé, -1 si aucun élément n’a été trouvé
Exemple en C :
Script (Python) :
3.6.7. weechat_list_get
Retourner un élément de la liste par sa position.
Prototype :
Paramètres :
-
weelist : pointeur vers la liste
-
position : position dans la liste (le premier élément est 0)
Valeur de retour :
-
pointeur vers l'élément trouvé, NULL si aucun élément n’a été trouvé
Exemple en C :
Script (Python) :
3.6.8. weechat_list_set
Affecter une nouvelle valeur pour un élément.
Prototype :
Paramètres :
-
item : pointeur vers l'élément
-
value : nouvelle valeur pour l'élément
Exemple en C :
Script (Python) :
3.6.9. weechat_list_next
Retourner l'élément suivant dans la liste.
Prototype :
Paramètres :
-
item : pointeur vers l'élément
Valeur de retour :
-
pointeur vers l'élément suivant, NULL si le pointeur était sur le dernier élément de la liste
Exemple en C :
Script (Python) :
3.6.10. weechat_list_prev
Retourner l'élément précédent dans la liste.
Prototype :
Paramètres :
-
item : pointeur vers l'élément
Valeur de retour :
-
pointeur vers l'élément précédent, NULL si le pointeur était sur le premier élément de la liste
Exemple en C :
Script (Python) :
3.6.11. weechat_list_string
Retourner la valeur de l'élément sous forme de chaîne.
Prototype :
Paramètres :
-
item : pointeur vers l'élément
Valeur de retour :
-
valeur de l'élément
Exemple en C :
Script (Python) :
3.6.12. weechat_list_size
Retourner la taille de la liste (nombre d'éléments).
Prototype :
Paramètres :
-
weelist : pointeur vers la liste
Valeur de retour :
-
taille de la liste (nombre d'éléments), 0 si la liste est vide
Exemple en C :
Script (Python) :
3.6.13. weechat_list_remove
Supprimer un élément de la liste.
Prototype :
Paramètres :
-
weelist : pointeur vers la liste
-
item : pointeur vers l'élément
Exemple en C :
Script (Python) :
3.6.14. weechat_list_remove_all
Supprimer tous les éléments de la liste.
Prototype :
Paramètres :
-
weelist : pointeur vers la liste
Exemple en C :
Script (Python) :
3.6.15. weechat_list_free
Supprimer une liste.
Prototype :
Paramètres :
-
weelist : pointeur vers la liste
Exemple en C :
Script (Python) :
3.7. Tables de hachage
Fonctions pour les tables de hachage.
3.7.1. weechat_hashtable_new
WeeChat ≥ 0.3.3.
Créer une nouvelle table de hachage.
Prototype :
Paramètres :
-
size : taille du tableau interne pour stocker les clés sous forme de hachage, une grande valeur utilise plus de mémoire mais présente une meilleure performance (cela n’est pas une limite sur le nombre d’entrées de la table de hachage)
-
type_keys : type pour les clés dans la table de hachage :
-
WEECHAT_HASHTABLE_INTEGER
-
WEECHAT_HASHTABLE_STRING
-
WEECHAT_HASHTABLE_POINTER
-
WEECHAT_HASHTABLE_BUFFER
-
WEECHAT_HASHTABLE_TIME
-
-
type_values : type pour les valeurs dans la table de hachage :
-
WEECHAT_HASHTABLE_INTEGER
-
WEECHAT_HASHTABLE_STRING
-
WEECHAT_HASHTABLE_POINTER
-
WEECHAT_HASHTABLE_BUFFER
-
WEECHAT_HASHTABLE_TIME
-
-
callback_hash_key : fonction appelée pour rendre le hachage d’une clé (la clé sous forme de nombre entier), peut être NULL si le type de clé n’est pas "buffer" (une fonction de hachage par défaut est utilisée), paramètres et valeur de retour :
-
struct t_hashtable *hashtable : pointeur vers la table de hachage
-
const void *key : clé
-
valeur de retour : hachage de la clé
-
-
callback_keycmp : fonction appelée pour comparer deux clés, peut être NULL si le type de clé n’est pas "buffer" (une fonction de comparaison par défaut est utilisée), paramètres et valeur de retour :
-
struct t_hashtable *hashtable : pointeur vers la table de hachage
-
const void *key1 : première clé
-
const void *key2 : seconde clé
-
valeur de retour :
-
nombre négatif si key1 est inférieur à key2
-
0 si key1 est égal à key2
-
nombre positif si key1 est supérieur à key2
-
-
Valeur de retour :
-
pointeur vers la nouvelle table de hachage, NULL en cas d’erreur
Exemple en C :
Note
|
Cette fonction n’est pas disponible dans l’API script. |
3.7.2. weechat_hashtable_set_with_size
WeeChat ≥ 0.3.3, mis à jour dans la 0.4.2.
Ajouter ou mettre à jour une entrée dans une table de hachage avec une taille pour la clé et la valeur.
Prototype :
Paramètres :
-
hashtable : pointeur vers la table de hachage
-
key : pointeur vers la clé
-
key_size : taille de la clé (en octets), utilisée seulement si le type de clés dans la table de hachage est "buffer"
-
value : pointeur vers la valeur
-
value_size : taille de la valeur (en octets), utilisée seulement si le type de valeurs dans la table de hachage est "buffer"
Valeur de retour :
-
pointeur vers l’item créé/mis à jour, NULL en cas d’erreur
Exemple en C :
Note
|
Cette fonction n’est pas disponible dans l’API script. |
3.7.3. weechat_hashtable_set
WeeChat ≥ 0.3.3, mis à jour dans la 0.4.2.
Ajouter ou mettre à jour une entrée dans la table de hachage.
Prototype :
Paramètres :
-
hashtable : pointeur vers la table de hachage
-
key : pointeur vers la clé
-
value : pointeur vers la valeur
Valeur de retour :
-
pointeur vers l’item créé/mis à jour, NULL en cas d’erreur
Exemple en C :
Note
|
Cette fonction n’est pas disponible dans l’API script. |
3.7.4. weechat_hashtable_get
WeeChat ≥ 0.3.3.
Retourner la valeur associée à une clé dans une table de hachage.
Prototype :
Paramètres :
-
hashtable : pointeur vers la table de hachage
-
key : pointeur vers la clé
Valeur de retour :
-
valeur pour la clé, NULL si la clé n’est pas trouvée
Exemple en C :
Note
|
Cette fonction n’est pas disponible dans l’API script. |
3.7.5. weechat_hashtable_has_key
WeeChat ≥ 0.3.4.
Vérifier si une clé est présente dans la table de hachage.
Prototype :
Paramètres :
-
hashtable : pointeur vers la table de hachage
-
key : pointeur vers la clé
Valeur de retour :
-
1 si la clé est dans la table de hachage, 0 si la clé n’est pas dans la table de hachage
Exemple en C :
Note
|
Cette fonction n’est pas disponible dans l’API script. |
3.7.6. weechat_hashtable_map
WeeChat ≥ 0.3.3.
Appeller une fonction pour chaque entrée d’une table de hachage.
Prototype :
Paramètres :
-
hashtable : pointeur vers la table de hachage
-
callback_map : fonction appelée pour chaque entrée de la table de hachage
-
callback_map_data : pointeur donné au "callback" lorsqu’il est appelé
Exemple en C :
Note
|
Cette fonction n’est pas disponible dans l’API script. |
3.7.7. weechat_hashtable_map_string
WeeChat ≥ 0.3.7.
Appeller une fonction pour chaque entrée d’une table de hachage, en envoyant les clés et valeurs sous forme de chaînes.
Prototype :
Paramètres :
-
hashtable : pointeur vers la table de hachage
-
callback_map : fonction appelée pour chaque entrée de la table de hachage
-
callback_map_data : pointeur donné au "callback" lorsqu’il est appelé
Note
|
Les chaînes key et value envoyées au "callback" sont des chaînes temporaires, elles sont supprimées après l’appel au "callback". |
Exemple en C :
Note
|
Cette fonction n’est pas disponible dans l’API script. |
3.7.8. weechat_hashtable_dup
WeeChat ≥ 1.0.
Dupliquer une table de hachage.
Prototype :
Paramètres :
-
hashtable : pointeur vers la table de hachage
Valeur de retour :
-
table de hachage dupliquée
Exemple en C :
Note
|
Cette fonction n’est pas disponible dans l’API script. |
3.7.9. weechat_hashtable_get_integer
WeeChat ≥ 0.3.3.
Retourner une valeur entière pour une propriété d’une table de hachage.
Prototype :
Paramètres :
-
hashtable : pointeur vers la table de hachage
-
property : nom de propriété :
-
size : taille du tableau interne "htable" dans la table de hachage
-
items_count : nombre d'éléments dans la table de hachage
-
Valeur de retour :
-
valeur de la propriété sous forme d’entier
Exemple en C :
Note
|
Cette fonction n’est pas disponible dans l’API script. |
3.7.10. weechat_hashtable_get_string
WeeChat ≥ 0.3.4.
Retourner une valeur pour une propriété d’une table de hachage sous forme de chaîne.
Prototype :
Paramètres :
-
hashtable : pointeur vers la table de hachage
-
property : nom de la propriété :
-
type_keys : type pour les clés :
-
integer : entier
-
string : chaîne
-
pointer : pointeur
-
buffer : buffer
-
time : heure
-
-
type_values : type pour les valeurs :
-
integer : entier
-
string : chaîne
-
pointer : pointeur
-
buffer : buffer
-
time : heure
-
-
keys : chaîne avec la liste des clés (format : "clé1,clé2,clé3")
-
keys_sorted : chaîne avec la liste triée des clés (format : "clé1,clé2,clé3")
-
values : chaîne avec la liste des valeurs (format : "valeur1,valeur2,valeur3")
-
keys_values : chaîne avec la liste des clés et valeurs (format : "clé1:valeur1,clé2:valeur2,clé3:valeur3")
-
keys_values_sorted : chaîne avec la liste des clés et valeurs (triée sur les clés) (format : "clé1:valeur1,clé2:valeur2,clé3:valeur3")
-
Valeur de retour :
-
valeur de la propriété sous forme de chaîne
Exemples en C :
Note
|
Cette fonction n’est pas disponible dans l’API script. |
3.7.11. weechat_hashtable_set_pointer
WeeChat ≥ 0.3.4.
Affecter un pointeur à une propriété d’une table de hachage.
Prototype :
Paramètres :
-
hashtable : pointeur vers la table de hachage
-
property : nom de la propriété :
-
callback_free_key : définit la fonction "callback" pour supprimer les clés de la table de hachage (WeeChat ≥ 0.4.2)
-
callback_free_value : définit la fonction "callback" pour supprimer les valeurs de la table de hachage
-
-
pointer : nouvelle valeur de pointeur pour la propriété
Exemple en C :
Note
|
Cette fonction n’est pas disponible dans l’API script. |
3.7.12. weechat_hashtable_add_to_infolist
WeeChat ≥ 0.3.3.
Ajouter les éléments d’une table de hachage dans un objet infolist.
Prototype :
Paramètres :
-
hashtable : pointeur vers la table de hachage
-
infolist_item : pointeur vers l’objet de l’infolist
-
prefix : chaîne utilisée comme préfixe pour les noms dans l’infolist
Valeur de retour :
-
1 si ok, 0 en cas d’erreur
Exemple en C :
Note
|
Cette fonction n’est pas disponible dans l’API script. |
3.7.13. weechat_hashtable_remove
WeeChat ≥ 0.3.3.
Supprimer un élément d’une table de hachage.
Prototype :
Paramètres :
-
hashtable : pointeur vers la table de hachage
-
key : pointeur vers la clé
Exemple en C :
Note
|
Cette fonction n’est pas disponible dans l’API script. |
3.7.14. weechat_hashtable_remove_all
WeeChat ≥ 0.3.3.
Supprimer tous les éléments d’une table de hachage.
Prototype :
Paramètres :
-
hashtable : pointeur vers la table de hachage
Exemple en C :
Note
|
Cette fonction n’est pas disponible dans l’API script. |
3.7.15. weechat_hashtable_free
WeeChat ≥ 0.3.3.
Supprimer une table de hachage.
Prototype :
Paramètres :
-
hashtable : pointeur vers la table de hachage
Exemple en C :
Note
|
Cette fonction n’est pas disponible dans l’API script. |
3.8. Fichiers de configuration
Fonctions pour les fichiers de configuration.
3.8.1. weechat_config_new
Créer un nouveau fichier de configuration.
Prototype :
Paramètres :
-
name : nom du nouveau fichier de configuration (sans chemin ou extension)
-
callback_reload : fonction appelée quand le fichier de configuration est rechargé avec
/reload
(optionnel, peut être NULL), paramètres et valeur de retour :-
void *data : pointeur
-
struct t_config_file *config_file : pointeur vers le fichier de configuration
-
valeur de retour :
-
WEECHAT_CONFIG_READ_OK
-
WEECHAT_CONFIG_READ_MEMORY_ERROR
-
WEECHAT_CONFIG_READ_FILE_NOT_FOUND
-
-
-
callback_reload_data : pointeur donné au "callback" de rechargement lorsqu’il est appelé par WeeChat
Valeur de retour :
-
pointeur vers le nouveau fichier de configuration, NULL en cas d’erreur
Note
|
Le fichier n’est PAS créé sur le disque par cette fonction. Il sera créé par l’appel à la fonction weechat_config_write. Vous ne devriez appeler cette fonction qu’après avoir créé les sections (avec weechat_config_new_section) et les options (avec weechat_config_new_option). |
Exemple en C :
Script (Python) :
3.8.2. weechat_config_new_section
Créer une nouvelle section dans un fichier de configuration.
Prototype :
Paramètres :
-
config_file : pointeur vers le fichier de configuration
-
name : nom de la section
-
user_can_add_options : 1 si l’utilisateur peut créer de nouvelles options dans la section, ou 0 si c’est interdit
-
user_can_delete_options : 1 si l’utilisateur peut supprimer des options dans la section, ou 0 si c’est interdit
-
callback_read : fonction appelée quand une option de la section est lue depuis le disque (devrait être NULL dans la plupart des cas, sauf si des options de la section nécessitent une fonction personnalisée), paramètres et valeur de retour :
-
void *data : pointeur
-
struct t_config_file *config_file : pointeur vers le fichier de configuration
-
struct t_config_section *section : pointeur vers la section
-
const char *option_name : nom de l’option
-
const char *value : valeur
-
valeur de retour :
-
WEECHAT_CONFIG_READ_OK
-
WEECHAT_CONFIG_READ_MEMORY_ERROR
-
WEECHAT_CONFIG_READ_FILE_NOT_FOUND
-
-
-
callback_read_data : pointeur donné au "callback" quand il est appelé par WeeChat
-
callback_write : fonction appelée lorsque la section est écrite dans le fichier (devrait être NULL dans la plupart des cas, sauf si la section nécessite d'être écrite par une fonction personnalisée), paramètres et valeur de retour :
-
void *data : pointeur
-
struct t_config_file *config_file : pointeur vers le fichier de configuration
-
struct t_config_section *section : pointeur vers la section
-
const char *option_name : nom de l’option
-
valeur de retour :
-
WEECHAT_CONFIG_WRITE_OK
-
WEECHAT_CONFIG_WRITE_ERROR
-
WEECHAT_CONFIG_WRITE_MEMORY_ERROR
-
-
-
callback_write_data : pointeur donné au "callback" lorsqu’il est appelé par WeeChat
-
callback_write_default : fonction appelée lorsque les valeurs par défaut doivent être écrites dans le fichier, paramètres et valeur de retour :
-
void *data : pointeur
-
struct t_config_file *config_file : pointeur vers le fichier de configuration
-
const char *section_name : nom de la section
-
valeur de retour :
-
WEECHAT_CONFIG_WRITE_OK
-
WEECHAT_CONFIG_WRITE_ERROR
-
WEECHAT_CONFIG_WRITE_MEMORY_ERROR
-
-
-
callback_write_default_data : pointeur donné au "callback" lorsqu’il est appelé par WeeChat
-
callback_create_option : fonction appelée lorsqu’une nouvelle option est créée dans la section (NULL si la section n’autorise pas la création de nouvelles options), paramètres et valeur de retour :
-
void *data : pointeur
-
struct t_config_file *config_file : pointeur vers le fichier de configuration
-
struct t_config_section *section : pointeur vers la section
-
const char *option_name : nom de l’option
-
const char *value : valeur
-
-
callback_create_option_data : pointeur donné au "callback" lorsqu’il est appelé par WeeChat
-
callback_delete_option : fonction appelée lorsqu’une option est supprimée de la section (NULL si la section n’autorise pas la suppression d’options), paramètres et valeur de retour :
-
void *data : pointeur
-
struct t_config_file *config_file : pointeur vers le fichier de configuration
-
struct t_config_section *section : pointeur vers la section
-
struct t_config_option *option : pointeur vers l’option
-
valeur de retour :
-
WEECHAT_CONFIG_OPTION_SET_OK_CHANGED
-
WEECHAT_CONFIG_OPTION_SET_OK_SAME_VALUE
-
WEECHAT_CONFIG_OPTION_SET_ERROR
-
WEECHAT_CONFIG_OPTION_SET_OPTION_NOT_FOUND
-
-
-
callback_delete_option_data : pointeur donné au "callback" lorsqu’il est appelé par WeeChat
Valeur de retour :
-
pointeur vers la nouvelle section du fichier de configuration, NULL en cas d’erreur
Exemple en C :
Script (Python) :
3.8.3. weechat_config_search_section
Rechercher une section dans un fichier de configuration.
Prototype :
Paramètres :
-
config_file : pointeur vers le fichier de configuration
-
section_name : nom de la section à chercher
Valeur de retour :
-
pointeur vers la section trouvée, ou NULL si la section n’a pas été trouvée
Exemple en C :
Script (Python) :
3.8.4. weechat_config_new_option
Créer une nouvelle option dans une section d’un fichier de configuration.
Prototype :
Paramètres :
-
config_file : pointeur vers le fichier de configuration
-
section : pointeur vers la section
-
name : nom de l’option
-
type : type de l’option :
-
boolean : valeur booléenne (on/off)
-
integer : valeur entière (avec en option une chaîne pour chaque valeur)
-
string : une chaîne de caractères
-
color : une couleur
-
-
description : description de l’option
-
string_values : valeurs sous forme de chaîne (séparées par "|"), utilisées pour le type integer (optionnel)
-
min : valeur minimum (pour le type integer)
-
max : valeur maximum (pour le type integer)
-
default_value : valeur par défaut de l’option (utilisée quand l’option est réinitialisée)
-
value : valeur de l’option
-
null_value_allowed : 1 si null (valeur non définie) est autorisé pour l’option, sinon 0
-
callback_check_value : fonction appelée pour vérifier la nouvelle valeur de l’option (optionnel), paramètres et valeur de retour :
-
void *data : pointeur
-
struct t_config_option *option : pointeur vers l’option
-
const char *value : nouvelle valeur pour l’option
-
valeur de retour :
-
1 si la valeur est ok
-
0 si la valeur est invalide
-
-
-
callback_check_value_data : pointeur donné au "callback" lorsqu’il est appelé par WeeChat
-
callback_change : fonction appelée lorsque la valeur de l’option a changé (optionnel), paramètres :
-
void *data : pointeur
-
struct t_config_option *option : pointeur vers l’option
-
-
callback_change_data : pointeur donné au "callback" lorsqu’il est appelé par WeeChat
-
callback_delete : fonction appelée lorsque l’option est supprimée (optionnel), paramètres :
-
void *data : pointeur
-
struct t_config_option *option : pointeur vers l’option
-
-
callback_delete_data : pointeur donné au "callback" lorsqu’il est appelé par WeeChat
Valeur de retour :
-
pointeur vers la nouvelle option de la section, NULL en cas d’erreur
Exemple en C :
Script (Python) :
Note
|
En Ruby, les 3 "callbacks" + "data" (6 chaînes) doivent être données dans un tableau de 6 chaînes de caractères (en raison d’une limitation de Ruby à 15 paramètres par fonction), voir le Guide pour Scripts WeeChat pour plus d’infos (corrigé dans la version 0.4.1). |
3.8.5. weechat_config_search_option
Rechercher une option dans une section d’un fichier de configuration.
Prototype :
Paramètres :
-
config_file : pointeur vers le fichier de configuration
-
section : pointeur vers la section
-
name : nom de l’option à rechercher
Valeur de retour :
-
pointeur vers l’option trouvée, NULL si l’option n’a pas été trouvée
Exemple en C :
Script (Python) :
3.8.6. weechat_config_search_section_option
Rechercher une section et une option dans un fichier de configuration ou une section.
Prototype :
Paramètres :
-
config_file : pointeur vers le fichier de configuration
-
section : pointeur vers la section
-
option_name : nom de l’option
-
section : pointeur vers un pointeur sur une section, sera alimenté avec le pointeur vers la section de l’option trouvée
-
option : pointeur vers un pointeur sur une option, sera alimenté avec le pointeur vers l’option trouvée
Exemple en C :
Note
|
Cette fonction n’est pas disponible dans l’API script. |
3.8.7. weechat_config_search_with_string
Retourner des infos sur fichier/section/option pour une option avec le nom complet.
Prototype :
Paramètres :
-
option_name : nom complet de l’option (format : "fichier.section.option")
-
config_file : pointeur vers un pointeur sur un fichier de configuration, sera alimenté avec le pointeur vers le fichier de configuration de l’option trouvée
-
section : pointeur vers un pointeur sur une section, sera alimenté avec le pointeur vers la section de l’option trouvée
-
option : pointeur vers un pointeur sur une option, sera alimenté avec le pointeur vers l’option trouvée
-
pos_option_name : pointeur vers un pointeur sur une chaîne, sera alimenté avec le pointeur vers le nom de l’option trouvée
Exemple en C :
Note
|
Cette fonction n’est pas disponible dans l’API script. |
3.8.8. weechat_config_string_to_boolean
Vérifier si un texte est "vrai" ou "faux", au sens booléen.
Prototype :
Paramètres :
-
text : texte à analyser
Valeur de retour :
-
1 si le texte est "vrai" ("on", "yes", "y", "true", "t", "1")
-
0 si le texte est "faux" ("off", "no", "n", "false", "f", "0")
Exemple en C :
Script (Python) :
3.8.9. weechat_config_option_reset
Réinitialiser une option à sa valeur par défaut.
Prototype :
Paramètres :
-
option : pointeur vers l’option
-
run_callback : 1 pour appeler le "callback" si la valeur de l’option est changée, sinon 0
Valeur de retour :
-
WEECHAT_CONFIG_OPTION_SET_OK_CHANGED si la valeur de l’option a été réinitialisée
-
WEECHAT_CONFIG_OPTION_SET_OK_SAME_VALUE si la valeur n’a pas changé
-
WEECHAT_CONFIG_OPTION_SET_ERROR en cas d’erreur
Exemple en C :
Script (Python) :
3.8.10. weechat_config_option_set
Affecter une nouvelle valeur pour une option.
Prototype :
Paramètres :
-
option : pointeur vers l’option
-
value : nouvelle valeur pour l’option
-
run_callback : 1 pour appeler le "callback" si la valeur de l’option est changée, sinon 0
Valeur de retour :
-
WEECHAT_CONFIG_OPTION_SET_OK_CHANGED si la valeur de l’option a été changée
-
WEECHAT_CONFIG_OPTION_SET_OK_SAME_VALUE si la valeur n’a pas changé
-
WEECHAT_CONFIG_OPTION_SET_ERROR en cas d’erreur
Exemple en C :
Script (Python) :
3.8.11. weechat_config_option_set_null
Affecter "null" (valeur indéfinie) à une option.
Prototype :
Paramètres :
-
option : pointeur vers l’option
-
run_callback : 1 pour appeler le "callback" si la valeur de l’option est changée (elle n'était pas "null"), sinon 0
Note
|
Vous pouvez affecter "null" à une option seulement si c’est autorisé pour l’option (voir weechat_config_new_option). |
Valeur de retour :
-
WEECHAT_CONFIG_OPTION_SET_OK_CHANGED si la valeur de l’option a été changée
-
WEECHAT_CONFIG_OPTION_SET_OK_SAME_VALUE si la valeur n’a pas changé
-
WEECHAT_CONFIG_OPTION_SET_ERROR en cas d’erreur
Exemple en C :
Script (Python) :
3.8.12. weechat_config_option_unset
Réinitialiser ou supprimer une option.
Prototype :
Paramètres :
-
option : pointeur vers l’option
Valeur de retour :
-
WEECHAT_CONFIG_OPTION_UNSET_OK_NO_RESET si la valeur de l’option n’a pas été réinitialisée
-
WEECHAT_CONFIG_OPTION_UNSET_OK_RESET si la valeur de l’option a été réinitialisée
-
WEECHAT_CONFIG_OPTION_UNSET_OK_REMOVED si l’option a été supprimée
-
WEECHAT_CONFIG_OPTION_UNSET_ERROR en cas d’erreur
Exemple en C :
Script (Python) :
3.8.13. weechat_config_option_rename
Renommer une option.
Prototype :
Paramètres :
-
option : pointeur vers l’option
-
new_name : nouveau nom pour l’option
Exemple en C :
Script (Python) :
3.8.14. weechat_config_option_get_pointer
Retourner un pointeur vers une propriété de l’option.
Prototype :
Paramètres :
-
option : pointeur vers l’option
-
property : nom de la propriété :
-
config_file : pointeur vers le fichier de configuration (struct t_config_file *)
-
section : pointeur vers la section (struct t_config_section *)
-
name : nom de l’option (char *)
-
type : type de l’option (int *)
-
description : description de l’option (char *)
-
string_values : valeurs sous forme de chaîne (char *)
-
min : valeur minimum (int *)
-
max : valeur maximum (int *)
-
default_value : valeur par défaut (dépend du type)
-
value : valeur courante (dépend du type)
-
prev_option : pointeur vers l’option précédente (struct t_config_option *)
-
next_option : pointeur vers l’option suivante (struct t_config_option *)
-
Valeur de retour :
-
pointeur vers la propriété demandée
Exemple en C :
Note
|
Cette fonction n’est pas disponible dans l’API script. |
3.8.15. weechat_config_option_is_null
Vérifier si une option est "null" (valeur non définie).
Prototype :
Paramètres :
-
option : pointeur vers l’option
Valeur de retour :
-
1 si la valeur de l’option est "null"
-
0 si la valeur de l’option n’est pas "null"
Exemple en C :
Script (Python) :
3.8.16. weechat_config_option_default_is_null
Vérifier si la valeur par défaut d’une option est "null" (valeur non définie).
Prototype :
Paramètres :
-
option : pointeur vers l’option
Valeur de retour :
-
1 si la valeur par défaut de l’option est "null"
-
0 si la valeur par défaut de l’option n’est pas "null"
Exemple en C :
Script (Python) :
3.8.17. weechat_config_boolean
Retourner la valeur booléenne de l’option.
Prototype :
Paramètres :
-
option : pointeur vers l’option
Valeur de retour :
-
valeur booléenne de l’option (0 ou 1)
Exemple en C :
Script (Python) :
3.8.18. weechat_config_boolean_default
Retourner la valeur booléenne par défaut de l’option.
Prototype :
Paramètres :
-
option : pointeur vers l’option
Valeur de retour :
-
valeur booléenne par défaut de l’option (0 ou 1)
Exemple en C :
Script (Python) :
3.8.19. weechat_config_integer
Retourner la valeur entière de l’option.
Prototype :
Paramètres :
-
option : pointeur vers l’option
Valeur de retour :
-
valeur entière de l’option
Exemple en C :
Script (Python) :
3.8.20. weechat_config_integer_default
Retourner la valeur entière par défaut de l’option.
Prototype :
Paramètres :
-
option : pointeur vers l’option
Valeur de retour :
-
valeur entière par défaut de l’option
Exemple en C :
Script (Python) :
3.8.21. weechat_config_string
Retourner la valeur de l’option, sous forme de chaîne.
Prototype :
Paramètres :
-
option : pointeur vers l’option
Valeur de retour :
-
valeur de l’option, sous forme de chaîne
Exemple en C :
Script (Python) :
3.8.22. weechat_config_string_default
Retourner la valeur par défaut de l’option, sous forme de chaîne.
Prototype :
Paramètres :
-
option : pointeur vers l’option
Valeur de retour :
-
valeur par défaut de l’option, sous forme de chaîne
Exemple en C :
Script (Python) :
3.8.23. weechat_config_color
Retourner la valeur de l’option, sous forme de couleur.
Prototype :
Paramètres :
-
option : pointeur vers l’option
Valeur de retour :
-
valeur de l’option sous forme de couleur (chaîne avec le nom de la couleur)
Exemple en C :
Script (Python) :
3.8.24. weechat_config_color_default
Retourner la valeur par défaut de l’option, sous forme de couleur.
Prototype :
Paramètres :
-
option : pointeur vers l’option
Valeur de retour :
-
valeur par défaut de l’option sous forme de couleur (chaîne avec le nom de la couleur)
Exemple en C :
Script (Python) :
3.8.25. weechat_config_write_option
Écrire une ligne dans le fichier de configuration avec l’option et sa valeur (cette fonction doit être appelée uniquement dans un "callback" "write" ou "write_default" pour une section).
Prototype :
Paramètres :
-
config_file : pointeur vers le fichier de configuration
-
option : pointeur vers l’option
Exemple en C :
Script (Python) :
3.8.26. weechat_config_write_line
Écrire une ligne dans un fichier de configuration (cette fonction doit être appelée uniquement dans un "callback" "write" ou "write_default" pour une section).
Prototype :
Paramètres :
-
config_file : pointeur vers le fichier de configuration
-
option_name : nom de l’option
-
value : valeur (si NULL, alors la ligne est écrite avec le nom de la section, par exemple : "[section]")
Exemple en C :
Script (Python) :
3.8.27. weechat_config_write
Écrire un fichier de configuration sur le disque.
Prototype :
Paramètres :
-
config_file : pointeur vers le fichier de configuration.
Valeur de retour :
-
WEECHAT_CONFIG_WRITE_OK si la configuration a été écrite
-
WEECHAT_CONFIG_WRITE_MEMORY_ERROR s’il n’y a pas eu suffisamment de mémoire
-
WEECHAT_CONFIG_WRITE_ERROR si une autre erreur s’est produite
Exemple en C :
Script (Python) :
3.8.28. weechat_config_read
Lire un fichier de configuration depuis le disque.
Prototype :
Paramètres :
-
config_file : pointeur vers le fichier de configuration
Valeur de retour :
-
WEECHAT_CONFIG_READ_OK si la configuration a été chargée
-
WEECHAT_CONFIG_READ_MEMORY_ERROR s’il n’y a pas eu suffisamment de mémoire
-
WEECHAT_CONFIG_READ_FILE_NOT_FOUND si le fichier n’a pas été trouvé
Exemple en C :
Script (Python) :
3.8.29. weechat_config_reload
Relire un fichier de configuration depuis le disque.
Prototype :
Paramètres :
-
config_file : pointeur vers le fichier de configuration
Valeur de retour :
-
WEECHAT_CONFIG_READ_OK si la configuration a été rechargée
-
WEECHAT_CONFIG_READ_MEMORY_ERROR s’il n’y a pas eu suffisamment de mémoire
-
WEECHAT_CONFIG_READ_FILE_NOT_FOUND si le fichier n’a pas été trouvé
Exemple en C :
Script (Python) :
3.8.30. weechat_config_option_free
Supprimer une option.
Prototype :
Paramètres :
-
option : pointeur vers l’option
Exemple en C :
Script (Python) :
3.8.31. weechat_config_section_free_options
Supprimer toutes les options dans une section.
Prototype :
Paramètres :
-
section : pointeur vers la section
Exemple en C :
Script (Python) :
3.8.32. weechat_config_section_free
Supprimer une section.
Prototype :
Paramètres :
-
section : pointeur vers la section
Exemple en C :
Script (Python) :
3.8.33. weechat_config_free
Supprimer un fichier de configuration.
Prototype :
Paramètres :
-
config_file : pointeur vers le fichier de configuration
Exemple en C :
Script (Python) :
3.8.34. weechat_config_get
Rechercher une option avec le nom complet.
Prototype :
Paramètres :
-
option_name : nom complet de l’option (format : "fichier.section.option")
Valeur de retour :
-
pointeur vers l’option trouvée, NULL si l’option n’a pas été trouvée
Exemple en C :
Script (Python) :
3.8.35. weechat_config_get_plugin
Rechercher une option dans le fichier de configuration des extensions (plugins.conf).
Prototype :
Paramètres :
-
option_name : nom de l’option, WeeChat ajoutera le préfixe "plugins.var.xxx." (où "xxx" est le nom de l’extension courante)
Valeur de retour :
-
valeur de l’option trouvée, NULL si l’option n’a pas été trouvée
Exemple en C :
Script (Python) :
3.8.36. weechat_config_is_set_plugin
Vérifier si une option existe dans le fichier de configuration des extensions (plugins.conf).
Prototype :
Paramètres :
-
option_name : nom de l’option, WeeChat ajoutera le préfixe "plugins.var.xxx." (où "xxx" est le nom de l’extension courante)
Valeur de retour :
-
1 si l’option est définie, 0 si l’option n’existe pas
Exemple en C :
Script (Python) :
3.8.37. weechat_config_set_plugin
Affecter une nouvelle valeur pour une option dans le fichier de configuration des extensions (plugins.conf).
Prototype :
Paramètres :
-
option_name : nom de l’option, WeeChat ajoutera le préfixe "plugins.var.xxx." (où "xxx" est le nom de l’extension courante)
-
value : nouvelle valeur pour l’option
Valeur de retour :
-
WEECHAT_CONFIG_OPTION_SET_OK_CHANGED si la valeur de l’option a été changée
-
WEECHAT_CONFIG_OPTION_SET_OK_SAME_VALUE si la valeur n’a pas changé
-
WEECHAT_CONFIG_OPTION_SET_OPTION_NOT_FOUND si l’option n’a pas été trouvée
-
WEECHAT_CONFIG_OPTION_SET_ERROR en cas d’erreur
Exemple en C :
Script (Python) :
3.8.38. weechat_config_set_desc_plugin
WeeChat ≥ 0.3.5.
Affecter une description pour une option dans le fichier de configuration des extensions (plugins.conf).
Prototype :
Paramètres :
-
option_name : nom de l’option, WeeChat ajoutera le préfixe "plugins.desc.xxx." (où "xxx" est le nom de l’extension courante)
-
description : description pour l’option
Note
|
Ce n’est pas un problème si l’option (plugins.var.xxx.option_name) n’existe pas. Une création future de cette option utilisera cette description. |
Exemple en C :
Script (Python) :
3.8.39. weechat_config_unset_plugin
Supprimer une option du fichier de configuration des extensions (plugins.conf).
Prototype :
Paramètres :
-
option_name : nom de l’option, WeeChat ajoutera le préfixe "plugins.var.xxx." (où "xxx" est le nom de l’extension courante)
Valeur de retour :
-
WEECHAT_CONFIG_OPTION_UNSET_OK_NO_RESET si la valeur de l’option n’a pas été réinitialisée
-
WEECHAT_CONFIG_OPTION_UNSET_OK_RESET si la valeur de l’option a été réinitialisée
-
WEECHAT_CONFIG_OPTION_UNSET_OK_REMOVED si l’option a été supprimée
-
WEECHAT_CONFIG_OPTION_UNSET_ERROR en cas d’erreur
Exemple en C :
Script (Python) :
3.9. Associations de touches
Fonctions pour les associations de touches.
3.9.1. weechat_key_bind
WeeChat ≥ 0.3.6.
Ajouter de nouvelles associations de touches.
Note
|
Contrairement à la commande /key bind , cette fonction ne changera jamais
une association de touche existante, seulement des nouvelles touches seront
créées. Pour supprimer une association de touche, utilisez
weechat_key_unbind. |
Prototype :
Paramètres :
-
context : contexte pour les touches :
-
default : contexte par défaut (actions courantes)
-
search : contexte de recherche (lors de la recherche de texte dans le tampon)
-
cursor : mouvement libre du curseur à l'écran
-
mouse : touches pour les évènements de souris
-
-
keys : table de hachage avec les associations de touches
Valeur de retour :
-
nombre d’associations de touches ajoutées
Exemple en C :
Script (Python) :
3.9.2. weechat_key_unbind
WeeChat ≥ 0.3.6.
Supprimer une/des association(s) de touche(s).
Attention
|
Lors de l’appel à cette fonction, assurez-vous que vous n’allez pas supprimer une touche définie par l’utilisateur. |
Prototype :
Paramètres :
-
context : contexte pour les touches (voir weechat_key_bind)
-
key : touche à supprimer ou la valeur spéciale "area:XXX" pour supprimer toutes les touches ayant XXX comme première ou deuxième zone
Valeur de retour :
-
nombre d’associations de touches supprimées
Exemples en C :
Script (Python) :
3.10. Affichage
Fonctions pour afficher du texte dans les tampons.
3.10.1. weechat_prefix
Retourner un préfixe.
Prototype :
Paramètres :
-
prefix : nom du préfixe (voir le tableau ci-dessous)
Valeur de retour :
-
valeur du préfixe (chaîne avec le préfixe et des codes couleur), chaîne vide si le préfixe n’a pas été trouvé
Liste des préfixes :
Préfixe | Valeur | Couleur | Description |
---|---|---|---|
error |
|
jaune ("yellow") |
Message d’erreur |
network |
|
violet ("magenta") |
Message du réseau |
action |
|
blanc ("white") |
Action personnelle |
join |
|
vert clair ("lightgreen") |
Quelqu’un a rejoint la discussion |
quit |
|
rouge clair ("lightred") |
Quelqu’un a quitté la discussion |
Note
|
Les valeurs et couleurs peuvent être configurées avec la commande /set . |
Exemple en C :
Script (Python) :
3.10.2. weechat_color
Retourner une chaîne avec un code couleur pour affichage.
Prototype :
Paramètres :
-
color_name : nom de la couleur, parmi :
-
une option WeeChat (de weechat.color.xxx), par exemple chat_delimiters
-
une couleur avec des attributs/fond optionnels (voir ci-dessous)
-
un attribut :
-
bold : activer le gras
-
-bold : désactiver le gras
-
reverse : activer la vidéo inverse
-
-reverse : désactiver la vidéo inverse
-
italic : activer l’italique
-
-italic : désactiver l’italique
-
underline : activer le souligné
-
-underline : désactiver le souligné
-
emphasis : activer/désactiver la mise en valeur du texte (note : cela ne devrait être utilisé que dans les barres, car WeeChat utilise la mise en valeur du texte lors de la recherche de texte dans le tampon) (WeeChat ≥ 0.4.2)
-
-
nom d’une couleur de barre :
-
bar_fg : couleur de texte pour la barre
-
bar_delim : couleur des délimiteurs pour la barre
-
bar_bg : couleur de fond pour la barre
-
-
réinitialisation :
-
reset : réinitialiser la couleur et les attributs
-
resetcolor : réinitialiser la couleur (garder les attributs) (WeeChat ≥ 0.3.6)
-
-
Le format de la couleur est : attributs (optionnel) + nom de couleur + ",fond" (optionnel). Les attributs possibles sont :
-
*
: texte gras -
!
: mode vidéo inverse -
/
: italique -
_
: texte souligné -
|
: garder les attributs : ne pas réinitialiser gras/inverse/italique/souligné lors du changement de couleur (WeeChat ≥ 0.3.6)
Exemples :
-
yellow
: jaune -
_green
: vert souligné -
*214
: orange gras -
yellow,red
: jaune sur rouge -
|cyan
: cyan (et garder tout attribut définit précédemment)
Valeur de retour :
-
chaîne avec le code couleur, ou une chaîne vide si la couleur n’a pas été trouvée
Exemple en C :
Script (Python) :
3.10.3. weechat_printf
Afficher un message sur un tampon.
Prototype :
Paramètres :
-
buffer : pointeur vers le tampon, si NULL, le message est affiché sur le tampon WeeChat
-
message : message à afficher
Note
|
La première tabulation dans le message ("\t") est utilisée pour séparer le
préfixe du message. Si votre message contient des tabulations et si vous ne voulez pas de préfixe, utilisez un espace, une tabulation, puis le message : cela désactivera le préfixe (l’espace avant la tabulation ne sera pas affiché). |
Note
|
Avec deux tabulations ("\t") au début du message, l’heure ne sera pas affichée et le message n’aura pas d’alignement. De plus, la date dans le message sera positionnée à 0. |
Exemple en C :
Script (Python) :
Note
|
La fonction s’appelle "print" dans les scripts ("prnt" en Python). |
3.10.4. weechat_printf_date
Afficher un message sur un tampon, en utilisant une date personnalisée.
Prototype :
Paramètres :
-
buffer : pointeur vers le tampon, si NULL, le message est affiché sur le tampon Weechat
-
date : date pour le message (0 signifie la date/heure courante)
-
message : message à afficher
Exemple en C :
Note
|
Cette fonction n’est pas disponible dans l’API script. |
3.10.5. weechat_printf_tags
Afficher un message sur un tampon, avec des étiquettes personnalisées.
Prototype :
Paramètres :
-
buffer : pointeur vers le tampon, si NULL, le message est affiché sur le tampon Weechat
-
tags : liste d'étiquettes séparées par des virgules
-
message : message à afficher
Exemple en C :
Note
|
Cette fonction n’est pas disponible dans l’API script. |
3.10.6. weechat_printf_date_tags
Afficher un message sur un tampon, en utilisant une date et des étiquettes personnalisées.
Prototype :
Paramètres :
-
buffer : pointeur vers le tampon, si NULL, le message est affiché sur le tampon Weechat
-
date : date pour le message (0 signifie la date/heure courante)
-
tags : liste d'étiquettes séparées par des virgules
-
message : message à afficher
Tags couramment utilisés (liste non exhaustive) :
Tag | Description |
---|---|
|
La ligne ne peut pas être filtrée |
|
Aucun highlight n’est possible sur cette ligne |
|
La ligne n’est pas écrite dans le fichier de log |
|
Niveau de log pour la ligne (voir |
|
Le tampon avec la ligne ne sera pas ajouté à la "hotlist" |
|
Le tampon avec la ligne sera ajouté à la "hotlist" avec le niveau "message" |
|
Le tampon avec la ligne sera ajouté à la "hotlist" avec le niveau "private" |
|
Le tampon avec la ligne sera ajouté à la "hotlist" avec le niveau "highlight" |
|
Le message vient du pseudo "xxx" |
|
Le préfixe est un pseudo avec la couleur "ccc" |
|
Nom d’utilisateur et hôte dans le message |
|
Message IRC "xxx" (peut-être une commande ou un numérique sur 3 chiffres) |
|
Message IRC numérique |
|
Erreur du serveur IRC |
|
Action d’un pseudo (commande |
|
Message CTCP |
|
Réponse à un message CTCP |
|
Message IRC qui peut être filtré avec le "smart filter" (filtre intelligent) |
|
Message avec une info d’absence |
Exemple en C :
Script (Python) :
Note
|
La fonction s’appelle "print_date_tags" dans les scripts ("prnt_date_tags" en Python). |
3.10.7. weechat_printf_y
Afficher un message sur une ligne d’un tampon avec contenu libre.
Prototype :
Paramètres :
-
buffer : pointeur vers le tampon
-
y : numéro de ligne (la première ligne est 0); une valeur négative affiche une ligne après la dernière ligne affichée: la valeur absolue de y est le nombre de lignes après la dernière ligne (par exemple -1 est immédiatement après la dernière ligne, -2 est 2 lignes après la dernière ligne) (WeeChat ≥ 1.0)
-
message : message à afficher
Exemple en C :
Script (Python) :
Note
|
La fonction s’appelle "print_y" dans les scripts ("prnt_y" en Python). |
3.10.8. weechat_log_printf
Écrire un message dans le fichier de log WeeChat (weechat.log).
Prototype :
Paramètres :
-
message : message à écrire
Exemple en C :
Script (Python) :
Note
|
La fonction s’appelle "log_print" dans les scripts. |
3.11. Hooks
Priorité de hook
WeeChat ≥ 0.3.4.
Pour certains "hooks", vous pouvez définir une priorité. Un "hook" avec une priorité plus élevée sera au début de la liste des "hooks", et donc il sera trouvé et exécuté avant les autres "hooks". Cela est pratique pour les modificateurs, car l’ordre d’exécution est important.
Pour définir une priorité, vous devez utiliser cette syntaxe, pour un paramètre où la priorité est autorisée : "nnn|nom" où "nnn" est un entier positif ou nul avec la priorité et "nom" le nom pour le paramètre (la priorité n’apparaît pas dans le nom, elle est automatiquement retirée de la chaîne).
La priorité par défaut est 1000.
Exemple en C :
Les types de "hooks" suivants autorisent une priorité : command, command_run, signal, hsignal, config, completion, modifier, info, info_hashtable, infolist, hdata, focus.
3.11.1. weechat_hook_command
Accrocher une commande.
Prototype :
Paramètres :
-
command : nom de la commande (priorité autorisée, voir la note sur la priorité)
-
description : description de la commande (affiché avec
/help command
) -
args : paramètres pour la commande (affichés avec
/help command
) -
args_description : description des paramètres (affichée avec
/help command
) -
completion : modèle pour la complétion de la commande : liste des complétions pour chaque paramètre, séparés par des espaces. Plusieurs complétions sont possibles pour un paramètre, séparées par "|". Plusieurs modèles de complétions sont possibles pour une même commande, séparés par "||".
-
callback : fonction appelée lorsque la commande est utilisée, paramètres et valeur de retour :
-
void *data : pointeur
-
struct t_gui_buffer *buffer : tampon où la commande est exécutée
-
int argc : nombre de paramètres passés à la commande
-
char **argv : paramètres pour la commande
-
char **argv_eol : paramètres pour la commande (jusqu'à fin de ligne pour chaque paramètre)
-
valeur de retour :
-
WEECHAT_RC_OK
-
WEECHAT_RC_ERROR
-
-
-
callback_data : pointeur donné au "callback" lorsqu’il est appelé par WeeChat
Les codes complétions par défaut sont :
Extension | Nom | Description |
---|---|---|
alias |
alias |
liste des alias |
alias |
alias_value |
valeur de l’alias |
aspell |
aspell_dicts |
liste des dictionnaires aspell installés |
aspell |
aspell_langs |
liste de toutes les langues supportées par aspell |
exec |
exec_commands_ids |
ids (nombres et noms) des commandes exécutées |
guile |
guile_script |
liste des scripts |
irc |
irc_channel |
canal IRC courant |
irc |
irc_channel_nicks_hosts |
pseudos et noms d’hôtes du canal IRC courant |
irc |
irc_channel_topic |
titre du canal IRC courant |
irc |
irc_channels |
canaux sur tous les serveurs IRC |
irc |
irc_ignores_numbers |
numéros pour les ignores définis |
irc |
irc_msg_kick |
message d'éjection par défaut |
irc |
irc_msg_part |
message de fin par défaut pour le canal IRC |
irc |
irc_notify_nicks |
pseudos dans la liste de notifications |
irc |
irc_privates |
privés sur tous les serveurs IRC |
irc |
irc_server |
serveur IRC courant |
irc |
irc_server_channels |
canaux sur le serveur IRC courant |
irc |
irc_server_nick |
pseudo sur le serveur IRC courant |
irc |
irc_server_nicks |
pseudos sur tous les canaux du serveur IRC courant |
irc |
irc_server_privates |
privés sur le serveur IRC courant |
irc |
irc_servers |
serveurs IRC (noms internes) |
irc |
nick |
pseudos du canal IRC courant |
lua |
lua_script |
liste des scripts |
perl |
perl_script |
liste des scripts |
python |
python_script |
liste des scripts |
relay |
relay_free_port |
premier port libre pour l’extension relay |
relay |
relay_protocol_name |
tous les protocole.nom possible pour l’extension relay |
relay |
relay_relays |
protocole.nom des relais courants pour l’extension relay |
ruby |
ruby_script |
liste des scripts |
script |
script_files |
fichiers dans les répertoires de script |
script |
script_scripts |
liste des scripts du dépôt |
script |
script_scripts_installed |
liste des scripts installés (du dépôt) |
script |
script_tags |
étiquettes des scripts dans le dépôt |
tcl |
tcl_script |
liste des scripts |
trigger |
trigger_hook_arguments |
paramètres par défaut pour un hook |
trigger |
trigger_hook_command |
commande par défaut pour un hook |
trigger |
trigger_hook_conditions |
conditions par défaut pour un hook |
trigger |
trigger_hook_rc |
code retour par défaut pour un callback de hook |
trigger |
trigger_hook_regex |
expression régulière par défaut pour le hook |
trigger |
trigger_hooks |
hooks pour les triggers |
trigger |
trigger_hooks_filter |
hooks pour les triggers (pour filtrer dans le tampon moniteur) |
trigger |
trigger_names |
triggers |
trigger |
trigger_names_default |
triggers par défaut |
trigger |
trigger_option_value |
valeur d’une option de trigger |
trigger |
trigger_options |
options pour les triggers |
weechat |
bars_names |
noms des barres |
weechat |
bars_options |
options pour les barres |
weechat |
buffer_properties_get |
propriétés qui peuvent être lues sur un tampon |
weechat |
buffer_properties_set |
propriétés qui peuvent être changées sur un tampon |
weechat |
buffers_names |
noms des tampons |
weechat |
buffers_numbers |
numéros des tampons |
weechat |
buffers_plugins_names |
noms des tampons (incluant les noms d’extensions) |
weechat |
commands |
commandes (weechat et extensions) |
weechat |
config_files |
fichiers de configuration |
weechat |
config_option_values |
valeurs pour une option de configuration |
weechat |
config_options |
options de configuration |
weechat |
cursor_areas |
zones ("chat" ou un nom de barre) pour le mouvement libre du curseur |
weechat |
env_value |
valeur d’une variable d’environnement |
weechat |
env_vars |
variables d’environnement |
weechat |
filename |
nom de fichier |
weechat |
filters_names |
noms des filtres |
weechat |
infolists |
noms des infolistes accrochées |
weechat |
infos |
noms des infos accrochées |
weechat |
keys_codes |
codes des touches |
weechat |
keys_codes_for_reset |
codes des touches pouvant être réinitialisées (touches ajoutées, redéfinies ou supprimées) |
weechat |
keys_contexts |
contextes de touches |
weechat |
layouts_names |
noms des dispositions |
weechat |
nicks |
pseudos dans la liste des pseudos du tampon courant |
weechat |
palette_colors |
couleurs de la palette |
weechat |
plugins_commands |
commandes définies par les extensions |
weechat |
plugins_installed |
noms des extensions installées |
weechat |
plugins_names |
noms des extensions |
weechat |
proxies_names |
noms des proxies |
weechat |
proxies_options |
options pour les proxies |
weechat |
secured_data |
noms de données sécurisées (fichier sec.conf, section data) |
weechat |
weechat_commands |
commandes weechat |
weechat |
windows_numbers |
numéros des fenêtres |
xfer |
nick |
pseudos de la discussion DCC |
Codes spéciaux :
-
%%command : réutiliser le modèle de complétion de la commande command
-
%- : arrêter la complétion
-
%* : répéter la dernière complétion
Valeur de retour :
-
pointeur vers le nouveau "hook", NULL en cas d’erreur
Exemple en C :
Par exemple, si la commande appelée est /command abc def ghi
, alors argv et
argv_eol ont les valeurs suivantes :
-
argv :
-
argv[0] == "/command"
-
argv[1] == "abc"
-
argv[2] == "def"
-
argv[3] == "ghi"
-
-
argv_eol :
-
argv_eol[0] == "/command abc def ghi"
-
argv_eol[1] == "abc def ghi"
-
argv_eol[2] == "def ghi"
-
argv_eol[3] == "ghi"
-
Pour les scripts, args a la valeur "abc def ghi".
Script (Python) :
3.11.2. weechat_hook_command_run
Intercepter une commande lorsqu’elle est exécutée par WeeChat.
Prototype :
Paramètres :
-
command : commande à intercepter (le caractère joker "*" est autorisé) (priorité autorisée, voir la note sur la priorité)
-
callback : fonction appelée lorsque la commande est exécutée, paramètres et valeur de retour :
-
void *data : pointeur
-
struct t_gui_buffer *buffer : tampon où la commande est exécutée
-
const char *command : la commande exécutée, avec ses paramètres
-
valeur de retour :
-
WEECHAT_RC_OK
-
WEECHAT_RC_OK_EAT
-
WEECHAT_RC_ERROR
-
-
-
callback_data : pointeur donné au "callback" lorsqu’il est appelé par WeeChat
Note
|
Le "callback" peut retourner WEECHAT_RC_OK ou WEECHAT_RC_OK_EAT (la commande ne sera pas exécutée par WeeChat après le "callback"). |
Valeur de retour :
-
pointeur vers le nouveau "hook", NULL en cas d’erreur
Exemple en C :
Script (Python) :
3.11.3. weechat_hook_timer
Accrocher un minuteur (fonction appelée à intervalles réguliers).
Prototype :
Paramètres :
-
interval : intervalle entre deux appels (en millisecondes, donc 1000 = 1 seconde)
-
align_second : alignement sur la seconde. Par exemple, si la date courante est 09:00, si l’intervalle est 60000 (60 secondes), et que align_second = 60, alors le minuteur sera appelé chaque minute quand la seconde sera 0
-
max_calls : nombre maximum d’appels au minuteur (si 0, le minuteur n’a pas de fin)
-
callback : fonction appelée quand le délai est atteint, paramètres et valeur de retour :
-
void *data : pointeur
-
int remaining_calls : nombre d’appels restants (-1 si le minuteur n’a pas de fin)
-
valeur de retour :
-
WEECHAT_RC_OK
-
WEECHAT_RC_ERROR
-
-
-
callback_data : pointeur donné au "callback" lorsqu’il est appelé par WeeChat
Valeur de retour :
-
pointeur vers le nouveau "hook", NULL en cas d’erreur
Exemple en C :
Script (Python) :
3.11.4. weechat_hook_fd
Accrocher un descripteur de fichier (fichier ou socket).
Prototype :
Paramètres :
-
fd : descripteur de fichier
-
flag_read : 1 = intercepter un évènement de lecture, 0 = ignorer
-
flag_write : 1 = intercepter un évènement d'écriture, 0 = ignorer
-
flag_exception : 1 = intercepter un évènement d’exception, 0 = ignorer
-
callback : fonction appelée lorsqu’un des évènements sélectionnés se produit pour le fichier (ou le socket), paramètres et valeur de retour :
-
void *data : pointeur
-
int fd : descripteur de fichier
-
valeur de retour :
-
WEECHAT_RC_OK
-
WEECHAT_RC_ERROR
-
-
-
callback_data : pointeur donné au "callback" lorsqu’il est appelé par WeeChat
Valeur de retour :
-
pointeur vers le nouveau "hook", NULL en cas d’erreur
Exemple en C :
Script (Python) :
3.11.5. weechat_hook_process
Accrocher un processus (lancé par un fork), et intercepter sa sortie.
Note
|
Depuis la version 0.3.9.2, le shell n’est plus utilisé pour exécuter la
commande. WeeChat effectue un découpage automatique de la commande et de ses
paramètres (comme le fait le shell). Si le découpage n’est pas correct (selon les guillemets utilisés dans votre commande), ou si vous souhaitez utiliser le shell, vous pouvez utiliser la fonction weechat_hook_process_hashtable avec les paramètres dans la table de hachage options (WeeChat ≥ 0.4.0). |
Prototype :
Paramètres :
-
command : commande à lancer dans le processus fils ou URL (WeeChat ≥ 0.3.7) (voir ci-dessous)
-
timeout : timeout pour la commande (en millisecondes) : après ce délai, le processus fils est tué (0 signifie pas de limite)
-
callback : fonction appelée quand des données du fils sont disponibles, or ou quand le fils s’est terminé, paramètres et valeur de retour :
-
void *data : pointeur
-
const char *command : commande exécutée par le fils
-
int return_code : code retour :
-
>= 0 : code retour du fils pour une commande, et pour l’URL, les valeurs possibles sont :
-
0 : transfert ok
-
1 : URL invalide
-
2 : erreur de transfert
-
3 : pas assez de mémoire
-
4 : erreur avec un fichier
-
-
< 0 : WEECHAT_HOOK_PROCESS_RUNNING (données disponibles, mais le fils tourne toujours) ou WEECHAT_HOOK_PROCESS_ERROR (erreur en lançant la commande)
-
-
out : sortie standard de la commande (stdout)
-
err : erreurs de la commande (stderr)
-
valeur de retour :
-
WEECHAT_RC_OK
-
WEECHAT_RC_ERROR
-
-
-
callback_data : pointeur donné au "callback" lorsqu’il est appelé par WeeChat
Valeur de retour :
-
pointeur vers le nouveau "hook", NULL en cas d’erreur
Lorsque la commande est terminée, ou si le timeout est atteint, WeeChat supprimera automatiquement le "hook" (et tuera le processus s’il tourne toujours).
La commande peut être une URL avec le format : "url:http://www.example.com", pour télécharger le contenu de l’URL (WeeChat ≥ 0.3.7). Des options pour l’URL sont possibles avec la fonction weechat_hook_process_hashtable.
Astuce
|
Si vous souhaitez récupérer des infos à propos de WeeChat (comme la version stable actuelle, le dernier commit git, etc…), vous pouvez utiliser les URLs sur la page https://weechat.org/dev/info |
Note
|
La taille du tampon pour l’envoi des données au "callback" est de 64 Ko (il y a 2 tampons : un pour stdout et un pour stderr). Si la sortie du processus fils (stdout ou stderr) est plus longue que 64 Ko, le "callback" sera appelé plusieurs fois. |
Important
|
Même si la plupart du temps le "callback" n’est appelé qu’une seule fois, vous devez vous assurer que plusieurs appels au "callback" sont ok dans votre code : vous devez concaténer les données issues de plusieurs appels et n’utiliser les données que lorsque le code retour est positif ou nul. |
Exemple en C :
Script (Python) :
3.11.6. weechat_hook_process_hashtable
WeeChat ≥ 0.3.7.
Accrocher un processus (lancé par un fork) en utilisant des options dans une table de hachage, et intercepter sa sortie.
Prototype :
Les paramètres sont les mêmes que ceux de la fonction weechat_hook_process, avec un paramètre supplémentaire :
-
options : options pour la commande exécutée; la table de hachage est dupliquée dans la fonction, donc il est possible de la supprimer après cet appel
Pour une commande standard (ne commençant pas par "url:"), les options suivantes sont disponibles :
Option | Valeur | Description |
---|---|---|
argN (N ≥ 1) |
toute chaîne |
Paramètres pour la commande ; si aucun paramètre n’est donné avec ces options, la commande sera automatiquement découpée comme le fait le shell (et donc les paramètres de la commande sont lus dans le paramètre command) |
stdin |
(non utilisée) |
Créer un tuyau pour écrire sur l’entrée standard (stdin) du processus fils (voir la fonction weechat_hook_set) |
buffer_flush |
nombre d’octets |
Nombre minimum d’octets pour vider stdout/stderr (pour envoyer la sortie au "callback"), entre 1 et 65536 (par défaut); 1 = envoyer toute sortie immédiatement au "callback" |
detached |
(non utilisée) |
Lancer le process dans un mode détaché : stdout et stderr sont redirigés vers /dev/null |
Pour la commande "url:…", les options suivantes sont disponibles (voir
man curl_easy_setopt
pour une description de chaque option) :
Option | Type | Constantes (1) |
---|---|---|
verbose |
long |
|
header |
long |
|
noprogress |
long |
|
nosignal |
long |
|
wildcardmatch |
long |
|
failonerror |
long |
|
proxy |
string |
|
proxyport |
long |
|
port |
long |
|
httpproxytunnel |
long |
|
interface |
string |
|
dns_cache_timeout |
long |
|
proxytype |
long |
http, socks4, socks5, socks4a, socks5_hostname, http_1_0 |
buffersize |
long |
|
tcp_nodelay |
long |
|
localport |
long |
|
localportrange |
long |
|
address_scope |
long |
|
protocols |
mask |
http, https, ftp, ftps, scp, sftp, telnet, ldap, ldaps, dict, file, tftp, all, imap, imaps, pop3, pop3s, smtp, smtps, rtsp, rtmp, rtmpt, rtmpe, rtmpte, rtmps, rtmpts, gopher |
redir_protocols |
mask |
http, https, ftp, ftps, scp, sftp, telnet, ldap, ldaps, dict, file, tftp, all, imap, imaps, pop3, pop3s, smtp, smtps, rtsp, rtmp, rtmpt, rtmpe, rtmpte, rtmps, rtmpts, gopher |
noproxy |
string |
|
socks5_gssapi_service |
string |
|
socks5_gssapi_nec |
long |
|
tcp_keepalive |
long |
|
tcp_keepidle |
long |
|
tcp_keepintvl |
long |
|
netrc |
long |
ignored, optional, required |
userpwd |
string |
|
proxyuserpwd |
string |
|
httpauth |
mask |
none, basic, digest, gssnegotiate, ntlm, any, anysafe, digest_ie, only, ntlm_wb, negotiate |
proxyauth |
mask |
none, basic, digest, gssnegotiate, ntlm, any, anysafe, digest_ie, only, ntlm_wb, negotiate |
netrc_file |
string |
|
username |
string |
|
password |
string |
|
proxyusername |
string |
|
proxypassword |
string |
|
tlsauth_type |
mask |
none, srp |
tlsauth_username |
string |
|
tlsauth_password |
string |
|
sasl_ir |
long |
|
xoauth2_bearer |
string |
|
login_options |
string |
|
autoreferer |
long |
|
followlocation |
long |
|
put |
long |
|
post |
long |
|
postfields |
string |
|
referer |
string |
|
useragent |
string |
|
cookie |
string |
|
cookiefile |
string |
|
postfieldsize |
long |
|
maxredirs |
long |
|
httpget |
long |
|
cookiejar |
string |
|
http_version |
long |
none, 1_0, 1_1 |
cookiesession |
long |
|
unrestricted_auth |
long |
|
postfieldsize_large |
long long |
|
cookielist |
string |
|
ignore_content_length |
long |
|
accept_encoding |
string |
|
transfer_encoding |
long |
|
http_content_decoding |
long |
|
http_transfer_decoding |
long |
|
copypostfields |
string |
|
postredir |
mask |
post_301, post_302 |
expect_100_timeout_ms |
long |
|
headeropt |
mask |
unified, separate |
mail_from |
string |
|
mail_auth |
string |
|
tftp_blksize |
long |
|
ftpport |
string |
|
ftp_use_epsv |
long |
|
ftp_use_eprt |
long |
|
ftp_create_missing_dirs |
long |
|
ftp_response_timeout |
long |
|
ftpsslauth |
long |
default, ssl, tls |
ftp_account |
string |
|
ftp_skip_pasv_ip |
long |
|
ftp_filemethod |
long |
multicwd, nocwd, singlecwd |
ftp_alternative_to_user |
string |
|
ftp_ssl_ccc |
long |
ccc_none, ccc_active, ccc_passive |
dirlistonly |
long |
|
append |
long |
|
ftp_use_pret |
long |
|
rtsp_request |
long |
options, describe, announce, setup, play, pause, teardown, get_parameter, set_parameter, record, receive |
rtsp_session_id |
string |
|
rtsp_stream_uri |
string |
|
rtsp_transport |
string |
|
rtsp_client_cseq |
long |
|
rtsp_server_cseq |
long |
|
crlf |
long |
|
range |
string |
|
resume_from |
long |
|
customrequest |
string |
|
nobody |
long |
|
infilesize |
long |
|
upload |
long |
|
timecondition |
long |
none, ifmodsince, ifunmodsince, lastmod |
timevalue |
long |
|
transfertext |
long |
|
filetime |
long |
|
maxfilesize |
long |
|
proxy_transfer_mode |
long |
|
resume_from_large |
long long |
|
infilesize_large |
long long |
|
maxfilesize_large |
long long |
|
timeout |
long |
|
low_speed_limit |
long |
|
low_speed_time |
long |
|
fresh_connect |
long |
|
forbid_reuse |
long |
|
connecttimeout |
long |
|
ipresolve |
long |
whatever, v4, v6 |
connect_only |
long |
|
max_send_speed_large |
long long |
|
max_recv_speed_large |
long long |
|
timeout_ms |
long |
|
connecttimeout_ms |
long |
|
maxconnects |
long |
|
use_ssl |
long |
none, try, control, all |
dns_servers |
string |
|
accepttimeout_ms |
long |
|
dns_interface |
string |
|
dns_local_ip4 |
string |
|
dns_local_ip6 |
string |
|
sslcert |
string |
|
sslversion |
long |
default, tlsv1, sslv2, sslv3 |
ssl_verifypeer |
long |
|
cainfo |
string |
|
random_file |
string |
|
egdsocket |
string |
|
ssl_verifyhost |
long |
|
ssl_cipher_list |
string |
|
sslcerttype |
string |
|
sslkey |
string |
|
sslkeytype |
string |
|
sslengine |
string |
|
sslengine_default |
long |
|
capath |
string |
|
ssl_sessionid_cache |
long |
|
krblevel |
string |
|
keypasswd |
string |
|
issuercert |
string |
|
crlfile |
string |
|
certinfo |
long |
|
gssapi_delegation |
long |
none, policy_flag, flag |
ssl_options |
long |
allow_beast |
ssl_enable_alpn |
long |
|
ssl_enable_npn |
long |
|
ssh_auth_types |
mask |
none, policy_flag, flag |
ssh_public_keyfile |
string |
|
ssh_private_keyfile |
string |
|
ssh_host_public_key_md5 |
string |
|
ssh_knownhosts |
string |
|
new_file_perms |
long |
|
new_directory_perms |
long |
Note
|
(1) Lorsque des constantes sont disponibles, elles doivent être utilisées comme valeur pour l’option. Pour les options avec le type "mask", le format est : "valeur1+valeur2+valeur3". |
Pour l’URL, deux options supplémentaires (chaînes) sont autorisées, pour le fichier en entrée/sortie :
-
file_in : fichier à lire pour envoyer avec l’URL (envoi de fichier "post")
-
file_out : écrire l’URL/fichier dans ce fichier (au lieu de la sortie standard)
Valeur de retour :
-
pointeur vers le nouveau "hook", NULL en cas d’erreur
Exemple en C :
Script (Python) :
3.11.7. weechat_hook_connect
Accrocher une connexion (connexion à une machine distante en tâche de fond).
Prototype :
Paramètres :
-
proxy : nom du proxy à utiliser pour la connexion (optionnel, NULL signifie une connexion sans proxy)
-
address : nom ou adresse IP de la machine à laquelle se connecter
-
port : numéro de port
-
ipv6 : 1 pour utiliser IPv6 (avec repli sur IPv4), 0 pour utiliser seulement IPv4
-
retry : numéro de nouvelle tentative, utilisé pour se rabattre sur les adresses IPv4 si la connexion IPv6 échoue
-
gnutls_sess : session GnuTLS (optionnel)
-
gnutls_cb : callback pour GnuTLS (optionnel)
-
gnutls_dhkey_size : taille de clé utilisée pour l'échange de clé Diffie-Hellman (GnuTLS)
-
gnutls_priorities : priorités pour gnutls (pour la syntaxe, voir la documentation de la fonction gnutls_priority_init dans le manuel gnutls), les valeurs de base sont :
-
PERFORMANCE
-
NORMAL (défaut)
-
SECURE128
-
SECURE256
-
EXPORT
-
NONE
-
-
local_hostname : nom de machine local à utiliser pour la connexion (optionnel)
-
callback : fonction appelée lorsque la connexion est ok ou a échoué, paramètres et valeur de retour :
-
void *data : pointeur
-
int status : statut de connexion :
-
WEECHAT_HOOK_CONNECT_OK : connexion ok
-
WEECHAT_HOOK_CONNECT_ADDRESS_NOT_FOUND : adresse non trouvée
-
WEECHAT_HOOK_CONNECT_IP_ADDRESS_NOT_FOUND : adresse IP non trouvée
-
WEECHAT_HOOK_CONNECT_CONNECTION_REFUSED : connexion refusée
-
WEECHAT_HOOK_CONNECT_PROXY_ERROR : erreur avec le proxy
-
WEECHAT_HOOK_CONNECT_LOCAL_HOSTNAME_ERROR : erreur avec le nom local
-
WEECHAT_HOOK_CONNECT_GNUTLS_INIT_ERROR : erreur d’initialisation GnuTLS
-
WEECHAT_HOOK_CONNECT_GNUTLS_HANDSHAKE_ERROR : erreur avec la "poignée de main" GnuTLS
-
WEECHAT_HOOK_CONNECT_MEMORY_ERROR : mémoire insuffisante
-
WEECHAT_HOOK_CONNECT_TIMEOUT : temps maximum dépassé
-
WEECHAT_HOOK_CONNECT_SOCKET_ERROR : erreur de création socket
-
-
gnutls_rc : valeur retour de gnutls_handshake()
-
sock : socket utilisé pour la connexion
-
const char *error : valeur retour de gnutls_strerror(gnutls_rc)
-
const char *ip_address : adresse IP trouvée
-
valeur de retour :
-
WEECHAT_RC_OK
-
WEECHAT_RC_ERROR
-
-
-
callback_data : pointeur donné au "callback" lorsqu’il est appelé par WeeChat
Valeur de retour :
-
pointeur vers le nouveau "hook", NULL en cas d’erreur
Exemple en C :
Script (Python) :
3.11.8. weechat_hook_print
Mis à jour dans la 0.4.3 et 1.0.
Intercepter un message affiché.
Prototype :
Paramètres :
-
buffer : pointeur vers le tampon, si NULL, les messages de tous les tampons sont interceptés
-
tags : intercepter seulement les messages avec ces étiquettes (optionnel) :
-
avec WeeChat ≥ 0.4.3 : liste d'étiquettes (séparées par des virgules) qui doivent être dans le message ("ou" logique); il est possible de combiner plusieurs étiquettes sous forme d’un "et" logique avec le séparateur "+"; le caractère joker "*" est autorisé dans les étiquettes
-
avec WeeChat ≤ 0.4.2 : liste d'étiquettes (séparées par des virgules) qui doivent toutes être dans le message ("et" logique)
-
-
message : seulement les messages contenant cette chaîne seront interceptés (optionnel, insensible à la casse)
-
strip_colors : si 1, les couleurs seront supprimées du message affiché, avant d’appeler le "callback"
-
callback : fonction appelée lorsqu’un message est affiché, paramètres et valeur de retour :
-
void *data : pointeur
-
struct t_gui_buffer *buffer : pointeur vers le tampon
-
time_t date : date
-
int tags_count : nombre d'étiquettes de la ligne
-
const char **tags : tableau avec les étiquettes de la ligne
-
int displayed : 1 si la ligne est affichée, 0 si elle est filtrée (cachée)
-
int highlight : 1 si la ligne contient un highlight, sinon 0
-
const char *prefix : préfixe
-
const char *message : message
-
valeur de retour :
-
WEECHAT_RC_OK
-
WEECHAT_RC_ERROR
-
-
-
callback_data : pointeur donné au "callback" lorsqu’il est appelé par WeeChat
Valeur de retour :
-
pointeur vers le nouveau "hook", NULL en cas d’erreur
Important
|
Dans les scripts, avec WeeChat ≥ 1.0, les paramètres du callback displayed et
highlight sont des entiers (avec WeeChat ≤ 0.4.3, ils étaient des chaînes). Pour être compatible avec toutes les versions, il est recommandé de convertir le paramètre en entier avant de le tester, par exemple en Python : " if int(highlight): ". |
Exemple en C :
Script (Python) :
3.11.9. weechat_hook_signal
S’accrocher à un signal.
Prototype :
Paramètres :
-
signal : signal à intercepter, le caractère joker "*" est autorisé (priorité autorisée, voir la note sur la priorité) (voir le tableau ci-dessous)
-
callback : fonction appelée quand le signal est reçu, paramètres et valeur de retour :
-
void *data : pointeur
-
const char *signal : signal reçu
-
const char *type_data : type de donnée reçu avec le signal :
-
WEECHAT_HOOK_SIGNAL_STRING : chaîne de caractères
-
WEECHAT_HOOK_SIGNAL_INT : nombre entier
-
WEECHAT_HOOK_SIGNAL_POINTER : pointeur
-
-
void *signal_data : données envoyées avec le signal
-
valeur de retour :
-
WEECHAT_RC_OK
-
WEECHAT_RC_OK_EAT (arrêter l’envoi du signal immédiatement) (WeeChat ≥ 0.4.0)
-
WEECHAT_RC_ERROR
-
-
-
callback_data : pointeur donné au "callback" lorsqu’il est appelé par WeeChat
Valeur de retour :
-
pointeur vers le nouveau "hook", NULL en cas d’erreur
Liste des signaux envoyés par WeeChat et les extensions :
Extension | Signal | Paramètres | Description |
---|---|---|---|
aspell |
aspell_suggest |
Pointeur : tampon |
Nouvelles suggestions pour un mot mal orthographié |
guile |
guile_script_loaded |
Chaîne : chemin vers le script |
Script scheme chargé |
guile |
guile_script_unloaded |
Chaîne : chemin vers le script |
Script scheme déchargé |
guile |
guile_script_installed |
Chaîne : liste de chemins vers scripts installés (séparés par des virgules) |
Script(s) scheme installé(s) |
guile |
guile_script_removed |
Chaîne : liste de scripts supprimés (séparés par des virgules) |
Script(s) scheme supprimé(s) |
irc |
xxx,irc_in_yyy (1) |
Chaîne : message |
Message IRC du serveur (avant utilisation par l’extension irc, signal envoyé uniquement si le message n’est pas ignoré) |
irc |
xxx,irc_in2_yyy (1) |
Chaîne : message |
Message IRC du serveur (après utilisation par l’extension irc, signal envoyé uniquement si le message n’est pas ignoré) |
irc |
xxx,irc_raw_in_yyy (1) |
Chaîne : message |
Message IRC du serveur (avant utilisation par l’extension irc, signal envoyé même si le message est ignoré) |
irc |
xxx,irc_raw_in2_yyy (1) |
Chaîne : message |
Message IRC du serveur (après utilisation par l’extension irc, signal envoyé même si le message est ignoré) |
irc |
xxx,irc_out1_yyy (1) |
Chaîne : message |
Message IRC envoyé au serveur (avant découpage automatique pour tenir dans les 512 octets) |
irc |
xxx,irc_out_yyy (1) |
Chaîne : message |
Message IRC envoyé au serveur (après découpage automatique pour tenir dans les 512 octets) |
irc |
xxx,irc_outtags_yyy (1) |
Chaîne : étiquettes + ";" + message |
Étiquettes + message IRC envoyé au serveur |
irc |
irc_ctcp |
Chaîne : message |
CTCP reçu |
irc |
irc_dcc |
Chaîne : message |
Nouveau DCC |
irc |
irc_pv |
Chaîne : message |
Message privé reçu |
irc |
irc_channel_opened |
Pointeur : tampon |
Canal ouvert |
irc |
irc_pv_opened |
Pointeur : tampon |
Discussion privée ouverte |
irc |
irc_server_opened |
Pointeur : tampon |
Tampon du serveur ouvert |
irc |
irc_server_connecting |
Chaîne : nom du serveur |
Connexion en cours au serveur |
irc |
irc_server_connected |
Chaîne : nom du serveur |
Connecté au serveur |
irc |
irc_server_disconnected |
Chaîne : nom du serveur |
Déconnecté du serveur |
irc |
irc_ignore_removing |
Pointeur : ignore |
Suppression d’un ignore en cours |
irc |
irc_ignore_removed |
- |
Ignore supprimé |
irc |
irc_notify_join |
Chaîne : nom du serveur + "," + pseudo |
Un pseudo dans la liste de notifications a rejoint le serveur |
irc |
irc_notify_quit |
Chaîne : nom du serveur + "," + pseudo |
Un pseudo dans la liste de notifications a quitté le serveur |
irc |
irc_notify_away |
Chaîne : nom du serveur + "," + pseudo + "," + message d’absence |
Un pseudo dans la liste de notifications est maintenant absent sur le serveur |
irc |
irc_notify_still_away |
Chaîne : nom du serveur + "," + pseudo + "," + message d’absence |
Un pseudo dans la liste de notifications est toujours absent sur le serveur (le message d’absence a changé) |
irc |
irc_notify_back |
Chaîne : nom du serveur + "," + pseudo |
Un pseudo dans la liste de notifications est de retour (statut d’absence supprimé) |
logger |
logger_start |
Pointeur : tampon |
Démarrage de l’enregistrement sur disque pour le tampon |
logger |
logger_stop |
Pointeur : tampon |
Fin de l’enregistrement sur disque pour le tampon |
logger |
logger_backlog |
Pointeur : tampon |
Affichage du backlog pour le tampon |
lua |
lua_script_loaded |
Chaîne : chemin vers le script |
Script lua chargé |
lua |
lua_script_unloaded |
Chaîne : chemin vers le script |
Script lua déchargé |
lua |
lua_script_installed |
Chaîne : liste de chemins vers scripts installés (séparés par des virgules) |
Script(s) lua installé(s) |
lua |
lua_script_removed |
Chaîne : liste de scripts supprimés (séparés par des virgules) |
Script(s) lua supprimé(s) |
perl |
perl_script_loaded |
Chaîne : chemin vers le script |
Script perl chargé |
perl |
perl_script_unloaded |
Chaîne : chemin vers le script |
Script perl déchargé |
perl |
perl_script_installed |
Chaîne : liste de chemins vers scripts installés (séparés par des virgules) |
Script(s) perl installé(s) |
perl |
perl_script_removed |
Chaîne : liste de scripts supprimés (séparés par des virgules) |
Script(s) perl supprimé(s) |
python |
python_script_loaded |
Chaîne : chemin vers le script |
Script python chargé |
python |
python_script_unloaded |
Chaîne : chemin vers le script |
Script python déchargé |
python |
python_script_installed |
Chaîne : liste de chemins vers scripts installés (séparés par des virgules) |
Script(s) python installé(s) |
python |
python_script_removed |
Chaîne : liste de scripts supprimés (séparés par des virgules) |
Script(s) python supprimé(s) |
relay |
relay_client_connecting |
Pointeur : client relay |
Un client relay est en train de se connecter |
relay |
relay_client_waiting_auth |
Pointeur : client relay |
Attente de l’authentification d’un client relay |
relay |
relay_client_auth_ok |
Pointeur : client relay |
Authentification réussie d’un client relay |
relay |
relay_client_connected |
Pointeur : client relay |
Un client relay est connecté |
relay |
relay_client_auth_failed |
Pointeur : client relay |
L’authentification d’un client relay a échoué |
relay |
relay_client_disconnected |
Pointeur : client relay |
Un client relay est déconnecté |
ruby |
ruby_script_loaded |
Chaîne : chemin vers le script |
Script ruby chargé |
ruby |
ruby_script_unloaded |
Chaîne : chemin vers le script |
Script ruby déchargé |
ruby |
ruby_script_installed |
Chaîne : liste de chemins vers scripts installés (séparés par des virgules) |
Script(s) ruby installé(s) |
ruby |
ruby_script_removed |
Chaîne : liste de scripts supprimés (séparés par des virgules) |
Script(s) ruby supprimé(s) |
tcl |
tcl_script_loaded |
Chaîne : chemin vers le script |
Script tcl chargé |
tcl |
tcl_script_unloaded |
Chaîne : chemin vers le script |
Script tcl déchargé |
tcl |
tcl_script_installed |
Chaîne : liste de chemins vers scripts installés (séparés par des virgules) |
Script(s) tcl installé(s) |
tcl |
tcl_script_removed |
Chaîne : liste de scripts supprimés (séparés par des virgules) |
Script(s) tcl supprimé(s) |
weechat |
buffer_opened |
Pointeur : tampon |
Tampon ouvert |
weechat |
buffer_closing |
Pointeur : tampon |
Fermeture du tampon en cours |
weechat |
buffer_closed |
Pointeur : tampon |
Tampon fermé |
weechat |
buffer_cleared |
Pointeur : tampon |
Tampon vidé |
weechat |
buffer_hidden |
Pointeur : tampon |
Tampon masqué |
weechat |
buffer_unhidden |
Pointeur : tampon |
Tampon démasqué |
weechat |
buffer_line_added |
Pointeur : ligne |
Ligne ajoutée dans un tampon |
weechat |
buffer_lines_hidden |
Pointeur : tampon |
Lignes cachées dans le tampon |
weechat |
buffer_localvar_added |
Pointeur : tampon |
Variable locale ajoutée |
weechat |
buffer_localvar_changed |
Pointeur : tampon |
Variable locale modifiée |
weechat |
buffer_localvar_removed |
Pointeur : tampon |
Variable locale supprimée |
weechat |
buffer_merged |
Pointeur : tampon |
Tampon mélangé |
weechat |
buffer_unmerged |
Pointeur : tampon |
Le tampon n’est plus mélangé |
weechat |
buffer_moved |
Pointeur : tampon |
Tampon déplacé |
weechat |
buffer_renamed |
Pointeur : tampon |
Tampon renommé |
weechat |
buffer_switch |
Pointeur : tampon |
Basculement vers un autre tampon |
weechat |
buffer_title_changed |
Pointeur : tampon |
Titre du tampon changé |
weechat |
buffer_type_changed |
Pointeur : tampon |
Type de tampon changé |
weechat |
buffer_zoomed |
Pointeur : tampon |
Zoom sur un tampon mélangé |
weechat |
buffer_unzoomed |
Pointeur : tampon |
Fin du zoom sur un tampon mélangé |
weechat |
day_changed |
Chaîne : nouvelle date, format : "2010-01-31" |
Le jour de la date système a changé |
weechat |
debug_dump |
Chaîne : nom d’extension |
Requête de "dump" |
weechat |
debug_libs |
- |
Affichage des bibliothèques externes utilisées |
weechat |
filter_added |
Pointeur : filtre |
Filtre ajouté |
weechat |
filter_removing |
Pointeur : filtre |
Suppression de filtre en cours |
weechat |
filter_removed |
- |
Filtre supprimé |
weechat |
filters_enabled |
- |
Filtres activés |
weechat |
filters_disabled |
- |
Filtres désactivés |
weechat |
hotlist_changed |
- |
La hotlist a changé |
weechat |
input_paste_pending |
- |
Coller de lignes en cours |
weechat |
input_search |
Pointeur : tampon |
Recherche de texte dans le tampon |
weechat |
input_text_changed |
Pointeur : tampon |
Texte modifié dans la barre "input" |
weechat |
input_text_cursor_moved |
Pointeur : tampon |
Curseur déplacé dans la barre "input" |
weechat |
key_bind |
Chaîne : touche |
Touche ajoutée |
weechat |
key_unbind |
Chaîne : touche |
Touche supprimée |
weechat |
key_pressed |
Chaîne : touche appuyée |
Touche appuyée |
weechat |
key_combo_default |
Chaîne : combinaison de touches |
Combinaison de touches dans le contexte default |
weechat |
key_combo_search |
Chaîne : combinaison de touches |
Combinaison de touches dans le contexte search |
weechat |
key_combo_cursor |
Chaîne : combinaison de touches |
Combinaison de touches dans le contexte cursor |
weechat |
mouse_enabled |
- |
Souris activée |
weechat |
mouse_disabled |
- |
Souris désactivée |
weechat |
nicklist_group_added |
Chaîne : pointeur tampon + "," + nom du groupe |
Groupe ajouté dans la liste des pseudos |
weechat |
nicklist_group_changed |
Chaîne : pointeur tampon + "," + nom du groupe |
Groupe modifié dans la liste des pseudos |
weechat |
nicklist_group_removing |
Chaîne : pointeur tampon + "," + nom du groupe |
Suppression du groupe de la liste des pseudos |
weechat |
nicklist_group_removed |
Chaîne : pointeur tampon + "," + nom du groupe |
Groupe supprimé de la liste des pseudos |
weechat |
nicklist_nick_added |
Chaîne : pointeur tampon + "," + pseudo |
Pseudo ajouté dans la liste des pseudos |
weechat |
nicklist_nick_changed |
Chaîne : pointeur tampon + "," + pseudo |
Pseudo modifié dans la liste des pseudos |
weechat |
nicklist_nick_removing |
Chaîne : pointeur tampon + "," + pseudo |
Suppression du pseudo de la liste des pseudos |
weechat |
nicklist_nick_removed |
Chaîne : pointeur tampon + "," + pseudo |
Pseudo supprimé de la liste des pseudos |
weechat |
partial_completion |
- |
Une complétion partielle a été faite |
weechat |
plugin_loaded |
Chaîne : chemin vers l’extension chargée |
Extension chargée |
weechat |
plugin_unloaded |
Chaîne : nom de l’extension déchargée (exemple : "irc") |
Extension déchargée |
weechat |
quit |
Chaîne : paramètres pour le /quit |
La commande |
weechat |
signal_sigwinch |
- |
Signal SIGWINCH reçu (le terminal a été redimensionné) |
weechat |
upgrade |
Chaîne : "quit" si le paramètre "-quit" a été donné pour /upgrade, sinon NULL |
La commande |
weechat |
upgrade_ended |
- |
Fin du processus de mise à jour (commande |
weechat |
weechat_highlight |
Chaîne : message avec le préfixe |
Un highlight est survenu |
weechat |
weechat_pv |
Chaîne : message avec le préfixe |
Un message privé a été affiché |
weechat |
window_closing |
Pointeur : fenêtre |
Fermeture de la fenêtre en cours |
weechat |
window_closed |
Pointeur : fenêtre |
Fenêtre fermée |
weechat |
window_opened |
Pointeur : fenêtre |
Fenêtre ouverte |
weechat |
window_scrolled |
Pointeur : fenêtre |
Défilement dans la fenêtre |
weechat |
window_switch |
Pointeur : fenêtre |
Basculement vers une autre fenêtre |
weechat |
window_zoom |
Pointeur : fenêtre courante |
Zoom en cours sur la fenêtre |
weechat |
window_zoomed |
Pointeur : fenêtre courante |
Zoom effectué sur la fenêtre |
weechat |
window_unzoom |
Pointeur : fenêtre courante |
Fin du zoom en cours sur la fenêtre |
weechat |
window_unzoomed |
Pointeur : fenêtre courante |
Fin du zoom effectué sur la fenêtre |
xfer |
xfer_add |
Pointeur : infolist avec l’info xfer |
Nouveau xfer |
xfer |
xfer_send_ready |
Pointeur : infolist avec l’info xfer |
Xfer prêt |
xfer |
xfer_accept_resume |
Pointeur : infolist avec l’info xfer |
Accepter la reprise xfer |
xfer |
xfer_send_accept_resume |
Pointeur : infolist avec l’info xfer |
Reprise xfer acceptée |
xfer |
xfer_start_resume |
Pointeur : infolist avec l’info xfer |
Redémarrage |
xfer |
xfer_resume_ready |
Pointer : infolist avec l’info xfer |
Redémarrage prêt |
xfer |
xfer_ended |
Pointer : infolist avec l’info xfer |
Le xfer s’est terminé |
Note
|
(1) xxx est le nom du serveur IRC, yyy est le nom d’une commande IRC. |
Exemple en C :
Script (Python) :
3.11.10. weechat_hook_signal_send
Mis à jour dans la 1.0.
Envoyer un signal.
Prototype :
Paramètres :
-
signal : signal à envoyer
-
type_data : type de données à envoyer avec le signal (voir weechat_hook_signal)
-
signal_data : données envoyées avec le signal
Valeur de retour (WeeChat ≥ 1.0) :
-
code retour du dernier "callback" exécuté (WEECHAT_RC_OK si aucun "callback" n’a été exécuté) :
-
WEECHAT_RC_OK
-
WEECHAT_RC_OK_EAT
-
WEECHAT_RC_ERROR
-
Exemple en C :
Script (Python) :
Signal logger_backlog
Le signal "logger_backlog" peut être envoyé pour afficher l’historique de discussion dans le tampon (par exemple si vous ouvrez votre propre tampon dans votre extension/script).
Le paramètre est un pointeur vers le tampon.
Exemple en C :
Script (Python) :
Signaux xxx_script_install
Cinq signaux peuvent être envoyés pour installer un script, selon le langage :
-
perl_script_install
-
python_script_install
-
ruby_script_install
-
lua_script_install
-
tcl_script_install
Le "callback" effectuera les actions suivantes lorsqu’il recevra le signal :
-
déchargement et suppression du script installé
-
déplacement du nouveau script vers le répertoire ~/.weechat/xxx/ (où xxx est le langage)
-
création d’un lien vers le nouveau script dans le répertoire ~/.weechat/xxx/autoload/
-
chargement du nouveau script
Ces signaux sont utilisés par l’extension script pour installer des scripts.
Le paramètre est une chaîne avec le chemin vers le script à installer.
Exemple en C :
Script (Python) :
Signaux xxx_script_remove
Cinq signaux peuvent être envoyés pour supprimer une liste de scripts, selon le langage :
-
perl_script_remove
-
python_script_remove
-
ruby_script_remove
-
lua_script_remove
-
tcl_script_remove
Pour chaque script dans la liste, le "callback" déchargera et supprimera le script.
Ces signaux sont utilisés par l’extension script pour supprimer des scripts.
Le paramètre est une chaîne avec une liste de scripts à supprimer (séparés par des virgules, nom du script sans le chemin, par exemple script.py).
Exemple en C :
Script (Python) :
Signal irc_input_send
WeeChat ≥ 0.3.4.
Le signal "irc_input_send" peut être envoyé pour simuler une entrée de texte dans un tampon irc (serveur, canal ou privé).
Le paramètre est une chaîne avec le format suivant :
-
nom interne du serveur (requis)
-
point-virgule
-
nom de canal (optionnel)
-
point-virgule
-
drapeaux utilisés lors de l’envoi du message (optionnel, 1 par défaut) :
-
1 : file d’attente avec haute priorité (comme les messages utilisateur)
-
2 : file d’attente avec basse priorité (comme les messages envoyés automatiquement par WeeChat)
-
-
point-virgule
-
liste d'étiquettes (séparées par des virgules) utilisées lors de l’envoi du message (optionnel)
-
point-virgule
-
texte ou commande (requis)
Exemples en C :
Script (Python) :
3.11.11. weechat_hook_hsignal
WeeChat ≥ 0.3.4.
S’accrocher à un hsignal (signal avec une table de hachage).
Prototype :
Paramètres :
-
signal : signal à intercepter, le caractère joker "*" est autorisé (priorité autorisée, voir la note sur la priorité) (voir le tableau ci-dessous)
-
callback : fonction appelée quand le signal est reçu, paramètres et valeur de retour :
-
void *data : pointeur
-
const char *signal : signal reçu
-
struct t_hashtable *hashtable : table de hachage
-
valeur de retour :
-
WEECHAT_RC_OK
-
WEECHAT_RC_OK_EAT (arrêter l’envoi du signal immédiatement) (WeeChat ≥ 0.4.0)
-
WEECHAT_RC_ERROR
-
-
-
callback_data : pointeur donné au "callback" lorsqu’il est appelé par WeeChat
Valeur de retour :
-
pointeur vers le nouveau "hook", NULL en cas d’erreur
Liste des hsignaux envoyés par WeeChat et les extensions :
Extension | Signal | Paramètres | Description |
---|---|---|---|
irc |
irc_redirection_xxx_yyy (1) |
Sortie de la redirection |
|
weechat |
nicklist_group_added |
buffer (struct t_gui_buffer *) : tampon |
Groupe ajouté dans la liste de pseudos |
weechat |
nicklist_nick_added |
buffer (struct t_gui_buffer *) : tampon |
Pseudo ajouté dans la liste de pseudos |
weechat |
nicklist_group_removing |
buffer (struct t_gui_buffer *) : tampon |
Suppression d’un groupe de la liste de pseudos |
weechat |
nicklist_nick_removing |
buffer (struct t_gui_buffer *) : tampon |
Suppression d’un pseudo de la liste de pseudos |
weechat |
nicklist_group_changed |
buffer (struct t_gui_buffer *) : tampon |
Groupe changé dans la liste de pseudos |
weechat |
nicklist_nick_changed |
buffer (struct t_gui_buffer *) : tampon |
Pseudo changé dans la liste de pseudos |
Note
|
(1) xxx est l’argument "signal" utilisé dans la redirection, yyy est le modèle de redirection ("pattern"). |
Exemple en C :
Script (Python) :
3.11.12. weechat_hook_hsignal_send
WeeChat ≥ 0.3.4, mis à jour dans la 1.0.
Envoyer un hsignal (signal avec table de hachage).
Prototype :
Paramètres :
-
signal : signal à envoyer
-
hashtable : table de hachage
Valeur de retour (WeeChat ≥ 1.0) :
-
code retour du dernier "callback" exécuté (WEECHAT_RC_OK si aucun "callback" n’a été exécuté) :
-
WEECHAT_RC_OK
-
WEECHAT_RC_OK_EAT
-
WEECHAT_RC_ERROR
-
Exemple en C :
Script (Python) :
Hsignal irc_redirect_command
WeeChat ≥ 0.3.4.
Le hsignal "irc_redirect_command" peut être envoyé pour rediriger la sortie d’une commande irc vers un "callback".
Le paramètre est une table de hachage avec les entrées suivantes (les clés et valeurs sont des chaînes) :
-
server : nom interne du serveur (requis)
-
pattern : modèle de redirection à utiliser (requis), soit un par défaut (défini par l’extension irc), ou un modèle utilisateur (voir [hsignal_irc_redirect_pattern]), les modèles par défaut sont :
-
ison
-
list
-
mode_channel
-
mode_channel_ban ("mode #channel b")
-
mode_channel_ban_exception ("mode #channel e")
-
mode_channel_invite ("mode #channel I")
-
mode_user
-
monitor
-
names
-
ping
-
time
-
topic
-
userhost
-
who
-
whois
-
whowas
-
-
signal : nom du signal (requis)
-
count : nombre de fois que la redirection sera exécutée (optionnel, 1 par défaut)
-
string : chaîne qui doit être dans les messages irc reçus (optionnel, mais recommandé, si une chaîne peut être utilisée pour identifier les messages)
-
timeout : temps d’attente maximum pour la redirection, en secondes (optionnel, 60 par défaut)
-
cmd_filter : liste de commandes irc (séparées par des virgules) à filtrer (seules ces commandes seront transmises au "callback", les autres seront ignorées) (optionnel)
Immédiatement après l’envoi de ce hsignal, vous devez envoyer la commande au serveur irc, et la redirection sera utilisée pour cette commande.
Lorsque la réponse complète à votre commande a été reçue, un hsignal est envoyé. Ce hsignal a le nom irc_redirection_xxx_yyy où xxx est le signal et yyy le pattern utilisé.
La table de hachage envoyée dans le hsignal a le contenu suivant (les clés et valeurs sont des chaînes) :
-
output : sortie de la commande (les messages sont séparés par "\n")
-
output_size : nombre d’octets dans output (sous forme de chaîne)
-
error : chaîne d’erreur (si une erreur s’est produite) :
-
timeout : redirection stoppée après le délai maximum dépassé
-
-
server : nom interne du serveur
-
pattern : modèle de redirection
-
signal : nom du signal
-
command : commande redirigée
Exemple en C :
Script (Python) :
Hsignal irc_redirect_pattern
WeeChat ≥ 0.3.4.
Le hsignal "irc_redirect_pattern" peut être envoyé pour créer un modèle de redirection irc (voir [hsignal_irc_redirect_command]).
Le paramètre est une table de hachage avec les entrées suivantes (les clés et valeurs sont des chaînes) :
-
pattern : nom du modèle (requis)
-
timeout : temps d’attente maximum pour le modèle, en secondes (optionnel, 60 par défaut)
-
cmd_start : liste de commandes (séparées par des virgules) démarrant la redirection (optionnel)
-
cmd_stop : liste de commandes (séparées par des virgules) stoppant la redirection (requis)
-
cmd_extra : liste de commandes (séparées par des virgules) pouvant être reçues après les commandes de stop (optionnel)
Pour chaque commande dans cmd_start, cmd_stop et cmd_extra, il est possible de donner un entier avec la position de la chaîne "string" qui doit être trouvée dans le message reçu, par exemple :
352:1,354,401:1
Pour les commandes 352 et 401, la chaîne "string" doit être trouvée dans le message reçu, comme premier paramètre.
Important
|
Le modèle est détruit dès qu’il est utilisé dans une redirection. Si vous avez besoin du modèle pour plusieurs redirections, vous devez créer un modèle pour chaque redirection. |
Exemple en C :
Script (Python) :
3.11.13. weechat_hook_config
S’accrocher à une option de configuration.
Prototype :
Paramètres :
-
option : option, le format est le nom complet, celui utilisé avec la commande
/set
(par exemple :weechat.look.item_time_format
), le caractère joker "*" est autorisé (priorité autorisée, voir la note sur la priorité) -
callback : fonction appelée lorsque l’option de configuration est modifiée, paramètres et valeur de retour :
-
void *data : pointeur
-
const char *option : nom de l’option
-
const char *value : nouvelle valeur pour l’option
-
valeur de retour :
-
WEECHAT_RC_OK
-
WEECHAT_RC_ERROR
-
-
-
callback_data : pointeur donné au "callback" lorsqu’il est appelé par WeeChat
Valeur de retour :
-
pointeur vers le nouveau "hook", NULL en cas d’erreur
Exemple en C :
Script (Python) :
3.11.14. weechat_hook_completion
Accrocher une complétion.
Prototype :
Paramètres :
-
completion_item : nom de l’objet de complétion, après vous pouvez utiliser %(nom) dans une commande (paramètre completion) (priorité autorisée, voir la note sur la priorité)
-
description : description de la complétion
-
callback : fonction appelée lorsque la complétion est utilisée (l’utilisateur est en train de compléter quelque chose qui fait appel à cette complétion), paramètres et valeur de retour :
-
void *data : pointeur
-
const char *completion_item : nom de la complétion
-
struct t_gui_buffer *buffer : tampon où la complétion est effectuée
-
struct t_gui_completion *completion : structure utilisée pour ajouter les mots pour la complétion (voir weechat_hook_completion_list_add)
-
valeur de retour :
-
WEECHAT_RC_OK
-
WEECHAT_RC_ERROR
-
-
-
callback_data : pointeur donné au "callback" lorsqu’il est appelé par WeeChat
Note
|
Les noms de complétion sont globaux (partagés entre WeeChat et les extensions). Il est donc recommandé de choisir un nom avec un préfixe unique, comme "monextension_xxx" (où "xxx" est le nom de votre complétion). |
Important
|
Le "callback" doit seulement appeler la fonction
weechat_hook_completion_list_add
et ne doit PAS mettre à jour la ligne de commande. Pour mettre à jour la ligne de commande quand Tab est pressé, vous pouvez utiliser la fonction weechat_hook_command_run avec la commande : "/input complete_next" (et vous devez retourner WEECHAT_RC_OK_EAT si votre "callback" a mis à jour la ligne de commande, de sorte que WeeChat n’exécute pas la complétion). |
Valeur de retour :
-
pointeur vers le nouveau "hook", NULL en cas d’erreur
Exemple en C :
Script (Python) :
3.11.15. weechat_hook_completion_get_string
WeeChat ≥ 0.3.4.
Retourner la valeur d’une propriété de la complétion sous forme de chaîne.
Prototype :
Paramètres :
-
completion : pointeur vers la complétion
-
property : nom de la propriété :
-
base_command : commande utilisée pour la complétion
-
base_word : le mot qui va être complété
-
args : paramètres de la commande (incluant le mot de base "base_word")
-
Exemple en C :
Script (Python) :
3.11.16. weechat_hook_completion_list_add
Ajouter un mot pour une complétion.
Prototype :
Paramètres :
-
completion : pointeur vers la complétion
-
word : mot à ajouter
-
nick_completion : 1 si le mot est un pseudo, sinon 0
-
where : position où sera inséré le mot dans la liste :
-
WEECHAT_LIST_POS_SORT : n’importe où, pour maintenir la liste triée
-
WEECHAT_LIST_POS_BEGINNING : au début de la liste
-
WEECHAT_LIST_POS_END : à la fin de la liste
-
Exemple en C : voir weechat_hook_completion.
Script (Python) :
3.11.17. weechat_hook_modifier
Accrocher un modificateur.
Prototype :
Paramètres :
-
modifier : nom du modificateur, liste des modificateurs utilisés par WeeChat ou des extensions (priorité autorisée, voir la note sur la priorité) (voir le tableau ci-dessous)
-
callback : fonction appelée lorsque le modificateur est utilisé, paramètres et valeur de retour :
-
void *data : pointeur
-
const char *modifier : nom du modificateur
-
const char *modifier_data : données pour le modificateur
-
const char *string : chaîne à modifier
-
valeur de retour : nouvelle chaîne
-
-
callback_data : pointeur donné au "callback" lorsqu’il est appelé par WeeChat
Valeur de retour :
-
pointeur vers le nouveau "hook", NULL en cas d’erreur
Liste des modificateurs utilisés par WeeChat et les extensions :
Modificateur | Données du modificateur | Chaîne | Sortie |
---|---|---|---|
charset_decode |
extension.nom_tampon |
Toute chaîne |
Chaîne décodée depuis le jeu de caractères trouvé pour l’extension/tampon vers UTF-8 |
charset_encode |
extension.nom_tampon |
Toute chaîne |
Chaîne encodée depuis UTF-8 vers le jeu de caractères trouvé pour l’extension/tampon |
irc_color_decode |
"1" pour garder les couleurs, "0" pour les supprimer |
Toute chaîne |
Chaîne avec les couleurs IRC converties en couleurs WeeChat (ou avec les couleurs IRC supprimées) |
irc_color_encode |
"1" pour garder les couleurs, "0" pour les supprimer |
Toute chaîne |
Chaîne avec les couleurs IRC (ou avec les couleurs IRC supprimées) |
irc_color_decode_ansi |
"1" pour garder les couleurs, "0" pour les supprimer |
Toute chaîne |
Chaîne avec les couleurs ANSI converties en couleurs IRC (ou avec les couleurs ANSI supprimées) |
irc_command_auth |
Nom du serveur |
Commande d’authentification (par exemple : |
Commande avec le mot de passe caché (par exemple : |
irc_message_auth |
Nom du serveur |
Message affiché après |
Message avec le mot de passe caché |
irc_in_xxx (1) |
Nom de serveur |
Contenu du message reçu du serveur IRC (avant décodage du jeu de caractères) |
Nouveau contenu du message |
irc_in2_xxx (1) |
Nom de serveur |
Contenu du message reçu du serveur IRC (après décodage du jeu de caractères) |
Nouveau contenu du message |
irc_out1_xxx (1) |
Nom de serveur |
Contenu du message qui va être envoyé au serveur IRC (avant découpage automatique pour tenir dans les 512 octets) |
Nouveau contenu du message |
irc_out_xxx (1) |
Nom de serveur |
Contenu du message qui va être envoyé au serveur IRC (après découpage automatique pour tenir dans les 512 octets) |
Nouveau contenu du message |
color_decode_ansi |
"1" pour garder les couleurs, "0" pour les supprimer |
Toute chaîne |
Chaîne avec les couleurs ANSI converties en couleurs WeeChat (ou avec les couleurs ANSI supprimées) |
bar_condition_yyy (2) |
Chaîne avec un pointeur vers la fenêtre ("0x123..") |
Chaîne vide |
"1" pour afficher la barre, "0" pour la cacher |
history_add |
Chaîne avec un pointeur vers le tampon ("0x123..") |
Contenu de la ligne de commande à ajouter à l’historique des commandes (tampon et global) |
Chaîne ajoutée à l’historique des commandes |
input_text_content |
Chaîne avec un pointeur vers le tampon ("0x123..") |
Contenu de la ligne de commande |
Nouvelle chaîne pour la ligne de commande |
input_text_display |
Chaîne avec un pointeur vers le tampon ("0x123..") |
Contenu de la ligne de commande, sans le code du curseur dedans |
Nouvelle chaîne, pour affichage seulement (la ligne de commande n’est pas modifiée) |
input_text_display_with_cursor |
Chaîne avec un pointeur vers le tampon ("0x123..") |
Contenu de la ligne de commande, avec le code du curseur dedans |
Nouvelle chaîne, pour affichage seulement (la ligne de commande n’est pas modifiée) |
input_text_for_buffer |
Chaîne avec un pointeur vers le tampon ("0x123..") |
Contenu de la ligne de commande envoyée au tampon (texte ou commande) |
Nouveau contenu de la ligne de commande envoyée au tampon |
weechat_print |
extension + ";" + nom_tampon + ";" + étiquettes |
Message affiché |
Nouveau message affiché |
Note
|
(1) xxx est un nom de commande IRC. (2) yyy est le nom de la barre. |
Exemple en C :
Script (Python) :
3.11.18. weechat_hook_modifier_exec
Exécuter un ou plusieurs modificateurs.
Prototype :
Paramètres :
-
modifier : nom du modificateur
-
modifier_data : données du modificateur
-
string : chaîne à modifier
Valeur de retour :
-
chaîne modifiée, NULL en cas d’erreur
Exemple en C :
Script (Python) :
3.11.19. weechat_hook_info
Accrocher une information (le "callback" prend et retourne une chaîne).
Prototype :
Paramètres :
-
info_name : nom de l’information (priorité autorisée, voir la note sur la priorité)
-
description : description
-
args_description : description des paramètres (optionnel, peut être NULL)
-
callback : fonction appelée quand l’information est demandée, paramètres et valeur de retour :
-
void *data : pointeur
-
const char *info_name : nom de l’information
-
const char *arguments : paramètres additionnels, dépendant de l’information
-
valeur de retour : valeur de l’information demandée
-
-
callback_data : pointeur donné au "callback" lorsqu’il est appelé par WeeChat
Valeur de retour :
-
pointeur vers le nouveau "hook", NULL en cas d’erreur
Exemple en C :
Script (Python) :
3.11.20. weechat_hook_info_hashtable
WeeChat ≥ 0.3.4.
Accrocher une information (le "callback" prend et retourne une table de hachage).
Prototype :
Paramètres :
-
info_name : nom de l’information (priorité autorisée, voir la note sur la priorité)
-
description : description
-
args_description : description de la table de hachage attendue (optionnel, peut être NULL)
-
output_description : description de la table de hachage retournée par le "callback" (optionnel, peut être NULL)
-
callback : fonction appelée quand l’information est demandée, paramètres et valeur de retour :
-
void *data : pointeur
-
const char *info_name : nom de l’information
-
struct t_hashtable *hashtable : table de hachage, dépendant de l’information
-
valeur de retour : table de hachage demandée
-
-
callback_data : pointeur donné au "callback" lorsqu’il est appelé par WeeChat
Valeur de retour :
-
pointeur vers le nouveau "hook", NULL en cas d’erreur
Exemple en C :
Script (Python) :
3.11.21. weechat_hook_infolist
Accrocher une infolist : le "callback" retournera un pointeur vers l’infolist demandée.
Prototype :
Paramètres :
-
infolist_name : nom de l’infolist (priorité autorisée, voir la note sur la priorité)
-
description : description
-
pointer_description : description du pointeur (optionnel, peut être NULL)
-
args_description : description des paramètres (optionnel, peut être NULL)
-
callback : fonction appelée quand l’infolist est demandée, paramètres et valeur de retour :
-
void *data : pointeur
-
const char *infolist_name : nom de l’infolist
-
void *pointer : pointeur vers un objet que l’infolist doit retourner (pour obtenir uniquement cet objet dans l’infolist)
-
const char *arguments : paramètres additionnels, dépendant de l’infolist
-
valeur de retour : infolist demandée
-
-
callback_data : pointeur donné au "callback" lorsqu’il est appelé par WeeChat
Valeur de retour :
-
pointeur vers le nouveau "hook", NULL en cas d’erreur
Exemple en C :
Script (Python) :
3.11.22. weechat_hook_hdata
Accrocher un hdata : le "callback" retournera un pointeur vers le hdata demandé.
Prototype :
Paramètres :
-
hdata_name : nom du hdata (priorité autorisée, voir la note sur la priorité)
-
description : description
-
callback : fonction appelée quand le hdata est demandé, paramètres et valeur de retour :
-
void *data : pointeur
-
const char *hdata_name : nom du hdata
-
valeur de retour : hdata demandé
-
-
callback_data : pointeur donné au "callback" lorsqu’il est appelé par WeeChat
Valeur de retour :
-
pointeur vers le nouveau "hook", NULL en cas d’erreur
Exemple en C :
Note
|
Cette fonction n’est pas disponible dans l’API script. |
3.11.23. weechat_hook_focus
Accrocher un focus : évènement souris ou touche du clavier pressée dans le mode "curseur" (mouvement libre du curseur).
Prototype :
Paramètres :
-
area : "chat" pour la zone de discussion, ou un nom d’objet de barre (priorité autorisée, voir la note sur la priorité)
-
callback : fonction appelée quand le focus est fait, paramètres et valeur de retour :
-
void *data : pointeur
-
struct t_hashtable *info : table de hachage avec les informations sur le focus et les chaînes retournées par les autres appels aux "callbacks" de focus (avec plus haute priorité) (voir le tableau ci-dessous)
-
valeur de retour : soit le pointeur vers la table de hachage "info" (avec la table de hachage complétée), ou un pointeur vers une nouvelle table de hachage (créée par le "callback", avec clés et valeurs de type "string"), le contenu de cette nouvelle table de hachage sera ajouté à info pour les autres appels aux "callbacks" focus
-
-
callback_data : pointeur donné au "callback" lorsqu’il est appelé par WeeChat
Important
|
Pour un geste de souris, votre "callback" sera appelé deux fois : la première lorsque le bouton est pressé (ici la zone correspond à vôtre zone), la seconde fois lorsque le bouton est relâché, et la zone peut ne pas correspondre à la vôtre : donc vous devez toujours tester dans le "callback" si la zone correspond avant d’utiliser les informations de la table de hachage. |
Contenu de la table de hachage envoyée au "callback" (les clés et valeurs sont de type "string") :
Clé (1) | Description | Exemples de valeur | Valeur si non applicable |
---|---|---|---|
|
Colonne sur l'écran |
"0" … "n" |
|
|
Ligne sur l'écran |
"0" … "n" |
|
|
Touche ou évènement souris |
"button1", "button2-gesture-left", … |
|
|
Pointeur vers la fenêtre |
"0x12345678" |
"" |
|
Numéro de la fenêtre |
"1" … "n" |
"*" |
|
Pointeur vers le tampon |
"0x12345678" |
"" |
|
Numéro du tampon |
"1" … "n" |
"-1" |
|
Nom d’extension du tampon |
"core", "irc", … |
"" |
|
Nom du tampon |
"weechat", "freenode.#weechat", … |
"" |
|
Nom complet du tampon |
"core.weechat", "irc.freenode.#weechat", … |
"" |
|
Variables locales du tampon |
toute chaîne |
non défini |
|
Indicateur zone "chat" |
"0" ou "1" |
"0" |
|
Colonne de la ligne (3) |
"0" … "n" |
"-1" |
|
Numéro de ligne (3) |
"0" … "n" |
"-1" |
|
Date/heure de la ligne |
"1313237175" |
"0" |
|
Date/heure de la ligne (4) |
"1313237175" |
"0" |
|
Heure affichée |
"14:06:15" |
"" |
|
Étiquettes de la ligne |
"irc_privmsg,nick_flashy,log1" |
"" |
|
Pseudo de la ligne |
"FlashCode" |
"" |
|
Préfixe de la ligne |
"@FlashCode" |
"" |
|
Message de la ligne |
"Hello world!" |
"" |
|
Mot à la position (x,y) |
"Hello" |
"" |
|
Début de ligne ⇒ (x-1,y) |
"He" |
"" |
|
(x,y) ⇒ fin de ligne |
"llo world!" |
"" |
|
Nom de la barre |
"title", "nicklist", … |
"" |
|
Remplissage de la barre |
"horizontal", "vertical", … |
"" |
|
Nom de l’objet de barre |
"buffer_nicklist", "hotlist", … |
"" |
|
Ligne dans l’objet de barre |
"0" … "n" |
"-1" |
|
Colonne dans l’objet de barre |
"0" … "n" |
"-1" |
Note
|
(1) Il y a les mêmes clés suffixées par "2" (c’est-à-dire : "_x2", "_y2",
"_window2", …) avec l’information sur le second point (pratique seulement
pour les gestes de souris, pour savoir où le bouton de la souris a été
relâché). (2) XXX est le nom d’une variable locale du tampon.(3) Renseigné seulement pour les tampons avec contenu libre. (4) Il s’agit de la date lorsque WeeChat ajoute la ligne dans le tampon (supérieure ou égale à "_chat_line_date"). |
Informations additionnelles pour l’objet de barre "buffer_nicklist" :
Clé | Extension (1) | Description |
---|---|---|
|
core |
Pseudonyme |
|
core |
Préfixe du pseudonyme |
|
core |
Nom du groupe |
|
irc |
Nom d’hôte pour le pseudonyme (si connu) |
Note
|
(1) Le nom de l’extension qui définit un hook_focus pour retourner des infos pour cet objet de barre (donc par exemple si l’extension est "irc", ces infos ne seront disponibles que sur les tampons irc). |
Valeur de retour :
-
pointeur vers le nouveau "hook", NULL en cas d’erreur
Exemple en C :
Script (Python) :
3.11.24. weechat_hook_set
WeeChat ≥ 0.3.9 (script : WeeChat ≥ 0.4.3).
Affecter une valeur à une propriété d’un hook.
Prototype :
Paramètres :
-
hook : quelque chose d’accroché avec "weechat_hook_xxx()"
-
property : nom de la propriété (voir le tableau ci-dessous)
-
value : nouvelle valeur pour la propriété
Propriétés :
Nom | Type de hook | Valeur | Description |
---|---|---|---|
subplugin |
tout type |
toute chaîne |
Nom de la sous-extension (couramment un nom de script, qui est affiché dans
|
stdin |
process, process_hashtable |
toute chaîne |
Envoyer les données sur l’entrée standard (stdin) du processus fils |
stdin_close |
process, process_hashtable |
(non utilisée) |
Fermer le tuyau utilisé pour envoyer les données sur l’entrée standard (stdin) du processus fils |
signal |
process, process_hashtable |
numéro de signal ou un de ces noms : |
Envoyer un signal au processus fils |
Exemple en C :
Script (Python) :
3.11.25. weechat_unhook
Décrocher quelque chose qui est a été accroché.
Prototype :
Paramètres :
-
hook : quelque chose accroché avec "weechat_hook_xxx()"
Exemple en C :
Script (Python) :
3.11.26. weechat_unhook_all
Décrocher tout ce qui a été accroché par l’extension courante.
Prototype :
Exemple en C :
Script (Python) :
3.12. Tampons
Fonctions pour créer/interroger/fermer les tampons.
3.12.1. weechat_buffer_new
Ouvrir un nouveau tampon.
Prototype :
Paramètres :
-
name : nom du tampon (doit être unique pour l’extension)
-
input_callback : fonction appelée lorsque du texte saisi est envoyé au tampon, paramètres et valeur de retour :
-
void *data : pointeur
-
struct t_gui_buffer *buffer : pointeur vers le tampon
-
const char *input_data : données en entrée
-
valeur de retour :
-
WEECHAT_RC_OK
-
WEECHAT_RC_ERROR
-
-
-
callback_data : pointeur donné au "callback" lorsqu’il est appelé par WeeChat
-
close_callback : fonction appelée lorsque le tampon est fermé, paramètres et valeur de retour :
-
void *data : pointeur
-
struct t_gui_buffer *buffer : pointeur vers le tampon
-
valeur de retour :
-
WEECHAT_RC_OK
-
WEECHAT_RC_ERROR
-
-
-
callback_data : pointeur donné au "callback" lorsqu’il est appelé par WeeChat
Valeur de retour :
-
pointeur vers le nouveau tampon, NULL en cas d’erreur
Exemple en C :
Script (Python) :
3.12.2. weechat_current_buffer
Retourner un pointeur vers le tampon courant (le tampon affiché par la fenêtre courante).
Prototype :
Valeur de retour :
-
pointeur vers le tampon courant
Exemple en C :
Script (Python) :
3.12.3. weechat_buffer_search
Mis à jour dans la 1.0.
Rechercher un tampon par l’extension et/ou le nom.
Prototype :
Paramètres :
-
plugin : nom de l’extension, la valeur spéciale suivante est autorisée :
-
==
: le nom utilisé est le nom complet du tampon (par exemple :irc.freenode.#weechat
au lieu defreenode.#weechat
) (WeeChat ≥ 1.0)
-
-
name : nom du tampon, si c’est NULL ou une chaîne vide, le tampon courant est retourné (tampon affiché par la fenêtre courante); si le nom commence par
(?i)
, la recherche est insensible à la casse (WeeChat ≥ 1.0)
Valeur de retour :
-
pointeur vers le tampon trouvé, NULL s’il n’a pas été trouvé
Exemples en C :
Script (Python) :
3.12.4. weechat_buffer_search_main
Rechercher le tampon principal de WeeChat (tampon core, premier tampon affiché lorsque WeeChat démarre).
Prototype :
Valeur de retour :
-
pointeur vers le tampon principal WeeChat (tampon core)
Exemple en C :
Script (Python) :
3.12.5. weechat_buffer_clear
Effacer le contenu d’un tampon.
Prototype :
Paramètres :
-
buffer : pointeur vers le tampon
Exemple en C :
Script (Python) :
3.12.6. weechat_buffer_close
Fermer un tampon.
Prototype :
Paramètres :
-
buffer : pointeur vers le tampon
Exemple en C :
Script (Python) :
3.12.7. weechat_buffer_merge
Mélanger le tampon avec un autre tampon : les deux tampons continueront d’exister chacun de leur côté, mais avec le même numéro, et WeeChat affichera les lignes des deux tampons (lignes mélangées).
Prototype :
Paramètres :
-
buffer : pointeur vers le tampon
-
target_buffer : tampon cible avec lequel on doit mélanger
Exemple en C :
Script (Python) :
3.12.8. weechat_buffer_unmerge
Supprimer le mélange d’un tampon.
Prototype :
Paramètres :
-
buffer : pointeur vers le tampon
-
number : numéro cible pour le tampon détaché, s’il est < 1, alors le tampon sera déplacé vers le numéro du tampon + 1
Exemple en C :
Script (Python) :
3.12.9. weechat_buffer_get_integer
Retourner une valeur entière pour une propriété du tampon.
Prototype :
Paramètres :
-
buffer : pointeur vers le tampon
-
property : nom de la propriété :
-
number : numéro du tampon (commence à 1)
-
layout_number : numéro du tampon sauvegardé dans le "layout"
-
layout_number_merge_order : ordre du tampon mélangé pour le "layout"
-
short_name_is_set : 1 si le nom court est défini, 0 si non défini
-
type : type de tampon (0 : formaté, 1 : contenu libre)
-
notify : niveau de notification du tampon
-
num_displayed : nombre de fenêtres affichant ce tampon
-
active : 2 si le tampon est le seul actif (mélangé), 1 si le tampon est actif, 0 si le tampon est mélangé et n’est pas sélectionné
-
hidden : 1 si le tampon est caché, sinon 0 (WeeChat ≥ 1.0)
-
zoomed : 1 si le tampon est mélangé et zoomé, sinon 0 (WeeChat ≥ 1.0)
-
print_hooks_enabled : 1 si les hooks "print" sont activés, sinon 0
-
day_change : 1 si les messages de changement de jour sont affichés, sinon 0 (WeeChat ≥ 0.4.3)
-
clear : 1 si le tampon peut être effacé avec la commande
/buffer clear
, sinon 0 (WeeChat ≥ 1.0) -
filter : 1 si les filtres sont activés sur le tampon, sinon 0 (WeeChat ≥ 1.0)
-
lines_hidden : 1 si au moins une ligne est cachée dans le tampon (filtrée), ou 0 si toutes les lignes sont affichées
-
prefix_max_length : longueur maximale du préfixe dans ce tampon
-
time_for_each_line : 1 si l’heure est affichée pour chaque ligne du tampon (par défaut), sinon 0
-
nicklist : 1 si la liste de pseudos est activée, sinon 0
-
nicklist_case_sensitive : 1 si les pseudos sont sensibles à la casse, sinon 0
-
nicklist_max_length : longueur maximale d’un pseudo
-
nicklist_display_groups : 1 si les groupes sont affichés, sinon 0
-
nicklist_count : nombre de pseudos et groupes dans la liste de pseudos
-
nicklist_groups_count : nombre de groupes dans la liste de pseudos
-
nicklist_nicks_count : nombre de pseudos dans la liste de pseudos
-
nicklist_visible_count : nombre de pseudos/groupes affichés
-
input : 1 si la zone de saisie est activée, sinon 0
-
input_get_unknown_commands : 1 si les commandes inconnues sont envoyées au "callback input", sinon 0
-
input_size : taille de la zone de saisie (en octets)
-
input_length : longueur de la zone de saisie (nombre de caractères)
-
input_pos : position du curseur dans la zone de saisie
-
input_1st_display : premier caractère affiché à l'écran
-
num_history : nombre de commandes dans l’historique
-
text_search : type de recherche de texte :
-
0 : pas de recherche en cours
-
1 : recherche arrière (vers les messages les plus anciens)
-
2 : recherche avant (vers les messages les plus récents)
-
-
text_search_exact : 1 si la recherche de texte est sensible à la casse
-
text_search_found : 1 si du texte a été trouvé, sinon 0
-
Valeur de retour :
-
valeur entière de la propriété
Exemple en C :
Script (Python) :
3.12.10. weechat_buffer_get_string
Retourner la valeur d’une propriété du tampon sous forme de chaîne.
Prototype :
Paramètres :
-
buffer : pointeur vers le tampon
-
property : nom de la propriété :
-
plugin : nom de l’extension qui a créé ce tampon ("core" pour le tampon principal WeeChat)
-
name : nom du tampon
-
full_name : nom complet du tampon ("extension.nom") (WeeChat ≥ 0.3.7)
-
short_name : nom court du tampon (note: utilisé pour l’affichage seulement et peut être changé par l’utilisateur, il ne doit pas être utilisé pour trouver le nom du tampon, utilisez à la place name, full_name ou bien la variable locale channel)
-
title : titre du tampon
-
input : texte saisi
-
text_search_input : texte saisi sauvegardé avant la recherche de texte
-
highlight_words : liste des mots pour le highlight
-
highlight_regex : expression régulière POSIX étendue pour le highlight
-
highlight_tags_restrict : restreindre les highlights aux messages comportant ces étiquettes
-
highlight_tags : forcer le highlight pour les messages avec ces étiquettes
-
hotlist_max_level_nicks : niveau maximum pour la hotlist pour certains pseudos
-
localvar_xxx : contenu de la variable locale "xxx" (remplacer "xxx" par le nom de la variable locale à lire)
-
Valeur de retour :
-
valeur de la propriété, sous forme de chaîne
Exemple en C :
Script (Python) :
3.12.11. weechat_buffer_get_pointer
Retourner la valeur d’une propriété sous forme d’un pointeur.
Prototype :
Paramètres :
-
buffer : pointeur vers le tampon
-
property : nom de la propriété :
-
plugin : pointeur vers l’extension qui a créé le tampon (NULL pour le tampon principal WeeChat)
-
highlight_regex_compiled : expression régulière highlight_regex compilée
-
Valeur de retour :
-
valeur de la propriété, sous forme de pointeur
Exemple en C :
Script (Python) :
3.12.12. weechat_buffer_set
Affecter une valeur à une propriété d’un tampon.
Prototype :
Paramètres :
-
buffer : pointeur vers le tampon
-
property : nom de la propriété (voir le tableau ci-dessous)
-
value : nouvelle valeur pour la propriété
Propriétés :
Nom | Valeur | Description |
---|---|---|
hotlist |
"+", "-", WEECHAT_HOTLIST_LOW, WEECHAT_HOTLIST_MESSAGE, WEECHAT_HOTLIST_PRIVATE, WEECHAT_HOTLIST_HIGHLIGHT, "-1" |
"+" : active la hotlist (option globale, le pointeur vers le tampon n’est pas
utilisé) |
completion_freeze |
"0" ou "1" |
"0" : pas de gel de la complétion (valeur par défaut)
(option globale, le pointeur vers le tampon n’est pas utilisé) |
unread |
- |
Définit le marqueur de données non lues après la dernière ligne du tampon |
display |
"1" ou "auto" |
"1" : basculer vers ce tampon dans la fenêtre active |
hidden |
"0" ou "1" |
"0" : démasquer le tampon |
number |
numéro |
Déplace le tampon vers ce numéro |
name |
toute chaîne |
Change le nom du tampon |
short_name |
toute chaîne |
Change le nom court du tampon |
type |
"formatted" ou "free" |
Définit le type de tampon : "formatted" (pour afficher les messages d’une discussion), ou "free" (pour du contenu libre); lorsque la valeur est "free", la propriété clear est forcée à "0" (WeeChat ≥ 1.0) |
notify |
"0", "1", "2", "3" |
Définit le niveau de notification du tampon : "0" = ne jamais ajouter à la hotlist, "1" = ajouter pour les highlights seulement, "2" = ajouter pour les highlights et les messages, "3" = ajouter pour tous les messages |
print_hooks_enabled |
"0" ou "1" |
"0" pour désactiver les hooks "print", "1" pour les activer (par défaut pour un nouveau tampon) |
day_change |
"0" ou "1" |
"0" pour cacher les messages de changement de jour, "1" pour les voir (par défaut pour un nouveau tampon) |
clear |
"0" ou "1" |
"0" pour empêcher l’utilisateur d’effacer le tampon avec la commande
|
filter |
"0" or "1" |
"0" : désactiver les filtres sur le tampon |
title |
toute chaîne |
Change le titre du tampon |
time_for_each_line |
"0" ou "1" |
"0" pour cacher l’heure sur toutes les lignes du tampon, "1" pour afficher l’heure sur toutes les lignes (par défaut pour un nouveau tampon) |
nicklist |
"0" ou "1" |
"0" pour supprimer la liste des pseudos du tampon, "1" pour ajouter la liste des pseudos du tampon |
nicklist_case_sensitive |
"0" ou "1" |
"0" pour avoir la liste des pseudos insensible à la casse, "1" pour avoir la liste des pseudos sensible à la casse |
nicklist_display_groups |
"0" ou "1" |
"0" pour cacher les groupes de la liste des pseudos, "1" pour afficher les groupes de la liste des pseudos |
highlight_words |
"-" ou une liste de mots séparés par des virgules |
"-" est une valeur spéciale pour désactiver tout highlight sur ce tampon, ou une liste de mots à mettre en valeur dans ce tampon, par exemple : "abc,def,ghi" |
highlight_words_add |
liste de mots séparés par des virgules |
Liste de mots à mettre en valeur dans ce tampon, ces mots sont ajoutés aux mots existants pour le tampon |
highlight_words_del |
liste de mots séparés par des virgules |
Liste de mots à supprimer de la liste des mots à mettre en valeur dans ce tampon |
highlight_regex |
toute chaîne |
Expression régulière POSIX étendue pour le highlight |
highlight_tags_restrict |
liste d'étiquettes séparées par des virgules |
Restreindre les highlights aux messages avec ces étiquettes dans ce tampon (il est possible de combiner plusieurs étiquettes sous forme d’un "et" logique avec le séparateur "+", par exemple : "nick_toto+irc_action") |
highlight_tags |
liste d'étiquettes séparées par des virgules |
Forcer le highlight pour les messages avec ces étiquettes dans ce tampon (il est possible de combiner plusieurs étiquettes sous forme d’un "et" logique avec le séparateur "+", par exemple : "nick_toto+irc_action") |
hotlist_max_level_nicks |
liste de "pseudo:niveau" séparés par des virgules |
Liste de pseudos avec niveau max pour la hotlist sur ce tampon (le niveau peut être : -1: jamais dans la hotlist, 0: faible, 1: message, 2: privé, 3: highlight), par exemple : "joe:2,mike:-1,robert:-1" (joe ne produira jamais de highlight sur le tampon, mike et robert ne changeront jamais la hotlist) |
hotlist_max_level_nicks_add |
liste de "pseudo:niveau" séparés par des virgules" |
Liste de pseudos avec niveau pour la hotlist, ces pseudos sont ajoutés aux pseudos existant dans le tampon |
hotlist_max_level_nicks_del |
liste de pseudos séparés par des virgules |
Liste de pseudos à supprimer des niveaux max de hotlist |
key_bind_xxx |
toute chaîne |
Associe la nouvelle touche xxx, spécifique à ce tampon, la valeur est la commande à exécuter pour cette touche |
key_unbind_xxx |
- |
Supprime la touche xxx pour ce tampon |
input |
toute chaîne |
Change le contenu de la zone de saisie |
input_pos |
position |
Change la position du curseur dans la zone de saisie |
input_get_unknown_commands |
"0" ou "1" |
"0" pour désactiver les commandes inconnues sur ce tampon (comportement par défaut), "1" pour recevoir les commandes inconnues, par exemple si l’utilisateur tape "/commandeinconnue", le tampon le recevra (pas d’erreur sur la commande inconnue) |
localvar_set_xxx |
toute chaîne |
Change la valeur de la variable locale xxx (la variable est créée si elle n’existe pas) |
localvar_del_xxx |
- |
Supprime la variable locale xxx |
Exemple en C :
Script (Python) :
3.12.13. weechat_buffer_set_pointer
Affecter un pointeur à une propriété d’un tampon.
Prototype :
Paramètres :
-
buffer : pointeur vers le tampon
-
property : nom de la propriété :
-
close_callback : définit la fonction "callback" de fermeture du tampon
-
close_callback_data : définit les données pour le "callback" de fermeture du tampon
-
input_callback : définit la fonction de "callback" pour les données en entrée
-
input_callback_data : définit les données pour le "callback" des données en entrée
-
nickcmp_callback : définit la fonction "callback" de comparaison de pseudos (ce "callback" est appelé lors de la recherche d’un pseudo dans la liste des pseudos) (WeeChat ≥ 0.3.9)
-
nickcmp_callback_data : définit les données pour le "callback" de comparaison de pseudos (WeeChat ≥ 0.3.9)
-
-
pointer : nouvelle valeur de pointeur pour la propriété
Prototypes pour les "callbacks" :
Exemple en C :
Note
|
Cette fonction n’est pas disponible dans l’API script. |
3.12.14. weechat_buffer_string_replace_local_var
Remplacer les variables locales dans une chaîne par leurs valeurs, en utilisant les variables locales du tampon.
Prototype :
Paramètres :
-
buffer : pointeur vers le tampon
-
string : chaîne avec du texte et des variables locales, au format "$var"
Valeur de retour :
-
chaîne avec les valeurs des variables locales
Exemple en C :
Script (Python) :
3.12.15. weechat_buffer_match_list
WeeChat ≥ 0.3.5.
Vérifier si le tampon correspond à la liste de tampons.
Prototype :
Paramètres :
-
buffer : pointeur vers le tampon
-
string : liste de tampons, séparés par des virgules :
-
"*" signifie tous les tampons
-
un nom commençant par "!" est exclu
-
le caractère joker "*" est autorisé dans le nom
-
Valeur de retour :
-
1 si le tampon correspond à la liste de tampons, 0 sinon
Exemple en C :
Script (Python) :
3.13. Fenêtres
Fonctions pour interroger les fenêtres.
3.13.1. weechat_current_window
Retourner le pointeur vers la fenêtre courante.
Prototype :
Valeur de retour :
-
pointeur vers la fenêtre courante
Exemple en C :
Script (Python) :
3.13.2. weechat_window_search_with_buffer
WeeChat ≥ 0.3.5.
Retourner le pointeur vers la fenêtre affichant un tampon.
Prototype :
Paramètre :
-
buffer : pointeur vers le tampon
Valeur de retour :
-
pointeur vers la fenêtre affichant un tampon (NULL si aucune fenêtre n’affiche ce tampon)
Exemple en C :
Script (Python) :
3.13.3. weechat_window_get_integer
Retourner la valeur entière d’une propriété de la fenêtre.
Prototype :
Paramètres :
-
window : pointeur vers la fenêtre
-
property : nom de la propriété :
-
number : numéro de la fenêtre (commence à 1)
-
win_x : position X de la fenêtre dans le terminal (la première colonne est 0)
-
win_y : position Y de la fenêtre dans le terminal (la première ligne est 0)
-
win_width : largeur de la fenêtre, en caractères
-
win_height : hauteur de la fenêtre, en caractères
-
win_width_pct : taille en pourcentage, en comparaison avec la fenêtre parente (par exemple 50 indique une largeur de moitié)
-
win_height_pct : taille en pourcentage, en comparaison avec la fenêtre parente (par exemple 50 indique une hauteur de moitié)
-
win_chat_x : position X de la fenêtre de discussion ("chat") dans le terminal (la première colonne est 0)
-
win_chat_y : position Y de la fenêtre de discussion ("chat") dans le terminal (la première ligne est 0)
-
win_chat_width : largeur de la fenêtre de discussion ("chat"), en caractères
-
win_chat_height : hauteur de la fenêtre de discussion ("chat"), en caractères
-
first_line_displayed : 1 si la première du tampon est affichée à l'écran, sinon 0
-
scrolling : 1 s’il y a un défilement en cours dans la fenêtre (la dernière ligne n’est pas affichée)
-
lines_after : nombre de lignes non affichées après la dernière ligne affichée (lors d’un défilement)
-
Valeur de retour :
-
valeur entière de la propriété
Exemple en C :
Script (Python) :
3.13.4. weechat_window_get_string
Retourner la valeur d’une propriété de la fenêtre sous forme d’une chaîne.
Note
|
Cette fonction n’est pas utilisée aujourd’hui, elle est réservée pour une version future. |
Prototype :
Paramètres :
-
window : pointeur vers la fenêtre
-
property : nom de la propriété
Valeur de retour :
-
valeur de la propriété, sous forme de chaîne
3.13.5. weechat_window_get_pointer
Retourner la valeur d’une propriété, sous forme d’un pointeur.
Prototype :
Paramètres :
-
window : pointeur vers la fenêtre
-
property : nom de la propriété :
-
current : pointeur vers la fenêtre courante
-
buffer : pointeur vers le tampon affiché par la fenêtre
-
Valeur de retour :
-
valeur de la propriété, sous forme de pointeur
Exemple en C :
Script (Python) :
3.13.6. weechat_window_set_title
Définir le titre du terminal.
Prototype :
Paramètres :
-
title : nouveau titre pour le terminal (NULL pour réinitialiser le titre)
Exemple en C :
Script (Python) :
3.14. Nicklist
Fonctions pour la liste des pseudos.
3.14.1. weechat_nicklist_add_group
Ajouter un groupe dans la liste des pseudos.
Prototype :
Paramètres :
-
buffer : pointeur vers le tampon
-
parent_group : pointeur vers le parent du groupe, NULL si le groupe n’a pas de parent (racine de la liste des pseudos)
-
name : nom du groupe
-
color : nom de l’option contenant la couleur :
-
une option WeeChat, par exemple weechat.color.nicklist_group
-
une couleur avec un fond optionnel, par exemple yellow ou yellow,red
-
nom d’une couleur de barre :
-
bar_fg : couleur de texte pour la barre
-
bar_delim : couleur des délimiteurs pour la barre
-
bar_bg : couleur de fond pour la barre
-
-
-
visible :
-
1 : le groupe et ses sous-groupes/pseudos sont visibles
-
0 : le groupe et ses sous-groupes/pseudos sont cachés
-
Note
|
Le nom du groupe peut commencer par un ou plusieurs chiffres, suivis d’un pipe ("|"), puis du nom du groupe. Quand une telle chaîne est trouvée au début, elle est utilisée pour trier les groupes dans la liste des pseudos. Par exemple les groupes "1|test" et "2|abc" seront affichés dans cet ordre : "test" en premier, puis "abc" en second. |
Valeur de retour :
-
pointeur vers le nouveau groupe, NULL en cas d’erreur
Exemple en C :
Script (Python) :
3.14.2. weechat_nicklist_search_group
Rechercher un groupe dans la liste des pseudos.
Prototype :
Paramètres :
-
buffer : pointeur vers le tampon
-
from_group : recherche depuis ce groupe seulement, si NULL, alors recherche dans toute la liste des pseudos
-
name : nom du groupes à rechercher
Valeur de retour :
-
pointeur vers le groupe trouvé, NULL s’il n’est pas trouvé
Exemple en C :
Script (Python) :
3.14.3. weechat_nicklist_add_nick
Ajouter un pseudo dans un groupe.
Prototype :
Paramètres :
-
buffer : pointeur vers le tampon
-
group : pointeur vers le groupe
-
name : nom du pseudo
-
color : nom de l’option contenant la couleur pour le pseudo :
-
une option WeeChat, par exemple weechat.color.nicklist_group
-
une couleur avec un fond optionnel, par exemple yellow ou yellow,red
-
nom d’une couleur de barre :
-
bar_fg : couleur de texte pour la barre
-
bar_delim : couleur des délimiteurs pour la barre
-
bar_bg : couleur de fond pour la barre
-
-
-
prefix : préfixe affiché avant le pseudo
-
prefix_color : nom de l’option contenant la couleur pour le préfixe :
-
une option WeeChat, par exemple weechat.color.nicklist_group
-
une couleur avec un fond optionnel, par exemple yellow ou yellow,red
-
nom d’une couleur de barre :
-
bar_fg : couleur de texte pour la barre
-
bar_delim : couleur des délimiteurs pour la barre
-
bar_bg : couleur de fond pour la barre
-
-
-
visible :
-
1 : le pseudo est visible
-
0 : le pseudo est caché
-
Valeur de retour :
-
pointeur vers le nouveau pseudo, NULL en cas d’erreur
Exemple en C :
Script (Python) :
3.14.4. weechat_nicklist_search_nick
Rechercher un pseudo dans la liste des pseudos.
Prototype :
Paramètres :
-
buffer : pointeur vers le tampon
-
from_group : recherche depuis ce groupe seulement, si NULL, alors recherche dans toute la liste des pseudos
-
name : nom du pseudo à rechercher
Valeur de retour :
-
pointeur vers le pseudo trouvé, NULL s’il n’est pas trouvé
Exemple en C :
Script (Python) :
3.14.5. weechat_nicklist_remove_group
Supprimer un groupe de la liste des pseudos.
Prototype :
Paramètres :
-
buffer : pointeur vers le tampon
-
group : pointeur vers le groupe à supprimer (tous les sous-groupes/pseudos seront supprimés également)
Exemple en C :
Script (Python) :
3.14.6. weechat_nicklist_remove_nick
Supprimer un pseudo de la liste des pseudos.
Prototype :
Paramètres :
-
buffer : pointeur vers le tampon
-
nick : pointeur vers le pseudo à supprimer
Exemple en C :
Script (Python) :
3.14.7. weechat_nicklist_remove_all
Supprimer tous les groupes/pseudos de la liste des pseudos.
Prototype :
Paramètres :
-
buffer : pointeur vers le tampon
Exemple en C :
Script (Python) :
3.14.8. weechat_nicklist_get_next_item
WeeChat ≥ 0.3.7.
Retourner le prochain groupe ou pseudo de la liste des pseudos (utilisé principalement pour afficher la liste des pseudos).
Prototype :
Paramètres :
-
buffer : pointeur vers le tampon
-
group : pointeur vers un pointeur sur le groupe
-
nick : pointeur vers un pointeur sur le pseudo
Exemple en C :
Note
|
Cette fonction n’est pas disponible dans l’API script. |
3.14.9. weechat_nicklist_group_get_integer
WeeChat ≥ 0.3.4.
Retourner une valeur entière pour une propriété du groupe.
Prototype :
Paramètres :
-
buffer : pointeur vers le tampon
-
group : pointeur vers le groupe
-
property : nom de la propriété :
-
visible : 1 si le groupe est visible, sinon 0
-
level : niveau du groupe (la racine est 0)
-
Valeur de retour :
-
valeur entière de la propriété
Exemple en C :
Script (Python) :
3.14.10. weechat_nicklist_group_get_string
WeeChat ≥ 0.3.4.
Retourner la valeur d’une propriété du groupe sous forme de chaîne.
Prototype :
Paramètres :
-
buffer : pointeur vers le tampon
-
group : pointeur vers le groupe
-
property : nom de la propriété :
-
name : nom du groupe
-
color : couleur du groupe dans la liste des pseudos
-
Valeur de retour :
-
valeur de la propriété, sous forme de chaîne
Exemple en C :
Script (Python) :
3.14.11. weechat_nicklist_group_get_pointer
WeeChat ≥ 0.3.4.
Retourner la valeur d’une propriété du groupe sous forme d’un pointeur.
Prototype :
Paramètres :
-
buffer : pointeur vers le tampon
-
group : pointeur vers le groupe
-
property : nom de la propriété :
-
parent : pointeur vers le groupe parent
-
Valeur de retour :
-
valeur de la propriété, sous forme de pointeur
Exemple en C :
Script (Python) :
3.14.12. weechat_nicklist_group_set
WeeChat ≥ 0.3.4.
Affecter une valeur à une propriété d’un groupe.
Prototype :
Paramètres :
-
buffer : pointeur vers le tampon
-
group : pointeur vers le groupe
-
property : nom de la propriété (voir le tableau ci-dessous)
-
value : nouvelle valeur pour la propriété
Propriétés :
Nom | Valeur | Description |
---|---|---|
color |
nom d’option de couleur WeeChat |
Voir le paramètre "color" de la fonction weechat_nicklist_add_group |
visible |
"0", "1" |
"0" = groupe caché, "1" = groupe visible |
Exemples en C :
Script (Python) :
3.14.13. weechat_nicklist_nick_get_integer
WeeChat ≥ 0.3.4.
Retourner une valeur entière pour une propriété du pseudo.
Prototype :
Paramètres :
-
buffer : pointeur vers le tampon
-
nick : pointeur vers le pseudo
-
property : nom de la propriété :
-
visible : 1 si le pseudo est visible, sinon 0
-
Valeur de retour :
-
valeur entière de la propriété
Exemple en C :
Script (Python) :
3.14.14. weechat_nicklist_nick_get_string
WeeChat ≥ 0.3.4.
Retourner la valeur d’une propriété du pseudo sous forme de chaîne.
Prototype :
Paramètres :
-
buffer : pointeur vers le tampon
-
nick : pointeur vers le pseudo
-
property : nom de la propriété :
-
name : nom du pseudo
-
color : couleur du pseudo dans la liste des pseudos
-
prefix : préfixe du pseudo
-
prefix_color : couleur du préfixe dans la liste des pseudos
-
Valeur de retour :
-
valeur de la propriété, sous forme de chaîne
Exemple en C :
Script (Python) :
3.14.15. weechat_nicklist_nick_get_pointer
WeeChat ≥ 0.3.4.
Retourner la valeur d’une propriété du pseudo sous forme d’un pointeur.
Prototype :
Paramètres :
-
buffer : pointeur vers le tampon
-
nick : pointeur vers le pseudo
-
property : nom de la propriété :
-
group : pointeur vers le groupe contenant ce pseudo
-
Valeur de retour :
-
valeur de la propriété, sous forme de pointeur
Exemple en C :
Script (Python) :
3.14.16. weechat_nicklist_nick_set
WeeChat ≥ 0.3.4.
Affecter une valeur à une propriété d’un pseudo.
Prototype :
Paramètres :
-
buffer : pointeur vers le tampon
-
nick : pointeur vers le pseudo
-
property : nom de la propriété (voir le tableau ci-dessous)
-
value : nouvelle valeur pour la propriété
Propriétés :
Nom | Valeur | Description |
---|---|---|
color |
nom d’option de couleur WeeChat |
Voir le paramètre "color" de la fonction weechat_nicklist_add_nick |
prefix |
toute chaîne |
Préfixe du pseudo |
prefix_color |
nom d’option de couleur WeeChat |
Voir le paramètre "prefix_color" de la fonction weechat_nicklist_add_nick |
visible |
"0", "1" |
"0" = pseudo caché, "1" = pseudo visible |
Exemples en C :
Script (Python) :
3.15. Barres
Fonctions pour les barres.
3.15.1. weechat_bar_item_search
Rechercher un objet de barre.
Prototype :
Paramètres :
-
name : nom de l’objet de barre
Valeur de retour :
-
pointeur vers l’objet de barre trouvé, NULL s’il n’a pas été trouvé
Exemple en C :
Script (Python) :
3.15.2. weechat_bar_item_new
Mis à jour dans la 0.4.2.
Créer un nouvel objet de barre.
Prototype :
Paramètres :
-
name : nom de l’objet de barre
-
build_callback : fonction appelée lorsque l’objet est construit, paramètres et valeur de retour :
-
void *data : pointeur
-
struct t_gui_bar_item *item : pointeur vers l’objet de barre
-
struct t_gui_window *window : pointeur vers la fenêtre (NULL lors d’un appel pour une barre "root")
-
struct t_gui_buffer *buffer : tampon affiché dans la fenêtre (si la fenêtre est NULL alors c’est le tampon courant) ou tampon passé dans l’objet de barre avec la syntaxe : "@buffer:item" (WeeChat ≥ 0.4.2)
-
struct t_hashtable *extra_info : toujours NULL (le paramètre est réservé pour une version future) (WeeChat ≥ 0.4.2)
-
valeur de retour : contenu de l’objet de barre
-
-
build_callback_data : pointeur donné au "callback" lorsqu’il est appelé par WeeChat
Valeur de retour :
-
pointeur vers le nouvel objet de barre, NULL en cas d’erreur
Exemple en C :
Script (Python) :
Important
|
Pour la compatibilité avec les versions ≤ 0.4.1, le "callback" par défaut a
seulement 3 paramètres : data, item et window (pas de buffer et
extra_info). Pour utiliser le callback avec tous les paramètres, vous devez ajouter "(extra)" avant le nom, voir l’exemple ci-dessous (supporté seulement dans WeeChat ≥ 0.4.2). |
3.15.3. weechat_bar_item_update
Mettre à jour le contenu d’un objet de barre, en appelant son "callback" de construction.
Prototype :
Paramètres :
-
name : nom de l’objet de barre
Exemple en C :
Script (Python) :
3.15.4. weechat_bar_item_remove
Supprimer un objet de barre.
Prototype :
Paramètres :
-
item : bar item pointer
Exemple en C :
Script (Python) :
3.15.5. weechat_bar_search
Rechercher une barre.
Prototype :
Paramètres :
-
name : nom de la barre
Valeur de retour :
-
pointeur vers la barre trouvée, NULL si elle n’est pas trouvée
Exemple en C :
Script (Python) :
3.15.6. weechat_bar_new
Créer une nouvelle barre.
Prototype :
Paramètres :
-
name : nom de la barre
-
hidden :
-
on : la barre est cachée
-
off : la barre est visible
-
-
priority : priorité de la barre (nombre entier)
-
type :
-
root : la barre est affichée une seule fois, hors des fenêtres
-
window : la barre est affichée dans chaque fenêtre
-
-
condition : condition pour afficher la barre :
-
active : la barre est affichée dans la fenêtre active seulement
-
inactive : la barre est affichée dans les fenêtres inactives seulement
-
nicklist : la barre est affichée dans les fenêtres possédant une liste des pseudos
-
expression évaluée : voir le chapitre sur les barres dans le Guide utilisateur WeeChat
-
-
position : top (en haut), bottom (en bas), left (à gauche) ou right (à droite)
-
filling_top_bottom :
-
horizontal : les objets sont remplis horizontalement (avec un espace entre chaque objet)
-
vertical : les objets sont remplis verticalement (avec une nouvelle ligne entre chaque objet)
-
columns_horizontal : les objets sont remplis horizontalement, affichés sous forme de colonnes
-
columns_vertical : les objets sont remplis verticalement, affichés sous forme de colonnes
-
-
filling_left_right :
-
horizontal : les objets sont remplis horizontalement (avec un espace entre chaque objet)
-
vertical : les objets sont remplis verticalement (avec une nouvelle ligne entre chaque objet)
-
columns_horizontal : les objets sont remplis horizontalement, affichés sous forme de colonnes
-
columns_vertical : les objets sont remplis verticalement, affichés sous forme de colonnes
-
-
size : taille de la barre en caractères (0 indique une taille automatique)
-
size_max : taille maximum de la barre (0 pour pas de maximum)
-
color_fg : couleur du texte dans la barre
-
color_delim : couleur pour les délimiteurs dans la barre
-
color_bg : couleur de fond pour la barre
-
separator :
-
on : la barre a un séparateur avec les autres fenêtres/barres
-
off : pas de séparateur
-
-
items : liste des objets dans la barre, séparés par une virgule (espace entre les objets), ou "+" (objets collés)
Valeur de retour :
-
pointeur vers la nouvelle barre, NULL en cas d’erreur
Exemple en C :
Script (Python) :
3.15.7. weechat_bar_set
Affecter une nouvelle valeur pour une propriété de la barre.
Prototype :
Paramètres :
-
bar : pointeur vers la barre
-
property : name, hidden, priority, conditions, position, filling_top_bottom, filling_left_right, size, size_max, color_fg, color_delim, color_bg, separator, items (voir weechat_bar_new)
-
value : nouvelle valeur pour la propriété
Valeur de retour :
-
1 si la valeur a été affectée, 0 en cas d’erreur
Exemple en C :
Script (Python) :
3.15.8. weechat_bar_update
Mettre à jour le contenu d’une barre à l'écran.
Prototype :
Paramètres :
-
name : nom de la barre
Exemple en C :
Script (Python) :
3.15.9. weechat_bar_remove
Supprimer une barre.
Prototype :
Paramètres :
-
bar : pointeur vers la barre
Exemple en C :
Script (Python) :
3.16. Commandes
Fonctions pour exécuter des commandes WeeChat.
3.16.1. weechat_command
Mis à jour dans la 1.1.
Exécuter une commande.
Prototype :
Paramètres :
-
buffer : pointeur vers le tampon (la commande est exécutée sur ce tampon, NULL pour le tampon courant)
-
command : commande à exécuter (si elle commence par "/"), ou texte à envoyer au tampon
Valeur de retour : (WeeChat ≥ 1.1)
-
WEECHAT_RC_OK si ok
-
WEECHAT_RC_ERROR si erreur
Exemple en C :
Script (Python) :
3.17. Réseau
Fonctions pour le réseau.
3.17.1. weechat_network_pass_proxy
Établir une connexion/authentification avec un proxy.
Important
|
Cette fonction est bloquante sur l’appel à connect(), donc elle doit être appelée sans un processus issu d’un "fork", pour ne pas bloquer WeeChat. |
Prototype :
Paramètres :
-
proxy : nom du proxy à utiliser
-
sock : socket à utiliser
-
address : adresse (nom de machine ou adresse IP)
-
port : port
Valeur de retour :
-
1 si la connexion est ok, 0 en cas d’erreur
Exemple en C :
Note
|
Cette fonction n’est pas disponible dans l’API script. |
3.17.2. weechat_network_connect_to
Mis à jour dans la 0.4.3.
Établir une connexion à une machine distante.
Important
|
Cette fonction est bloquante sur l’appel à connect(), donc elle doit être appelée sans un processus issu d’un "fork", pour ne pas bloquer WeeChat. |
Prototype :
Paramètres :
-
proxy : nom du proxy à utiliser
-
address : adresse où se connecter (avec le port)
-
address_length : longueur du paramètre address
Valeur de retour :
-
numéro de socket (>= 0) si la connexion est OK, -1 en cas d’erreur
Exemple en C :
Note
|
Cette fonction n’est pas disponible dans l’API script. |
3.18. Infos
Fonctions pour obtenir des informations.
3.18.1. weechat_info_get
Retourner une information, sous forme de chaîne, de WeeChat ou d’une extension.
Prototype :
Paramètres :
-
info_name : nom de l’information à lire (voir le tableau ci-dessous)
-
arguments : paramètres pour l’information demandée (optionnels, NULL si aucun paramètre n’est nécessaire)
Valeur de retour :
-
chaîne avec l’information demandée, NULL en cas d’erreur
Infos :
Extension | Nom | Description | Paramètres |
---|---|---|---|
aspell |
aspell_dict |
liste de dictionnaires (séparés par des virgules) utilisés sur le tampon |
pointeur vers un tampon ("0x12345678") ou nom complet de tampon ("irc.freenode.#weechat") |
fifo |
fifo_filename |
nom du tube FIFO |
- |
irc |
irc_buffer |
retourne le pointeur vers le tampon pour un serveur/canal/pseudo IRC |
serveur,canal,pseudo (canal et pseudo sont optionnels) |
irc |
irc_is_channel |
1 si la chaîne est un nom de canal IRC valide pour le serveur |
serveur,canal (le serveur est optionnel) |
irc |
irc_is_nick |
1 si la chaîne est un pseudo IRC valide |
pseudo |
irc |
irc_nick |
retourne le pseudo utilisé actuellement sur un serveur |
nom de serveur |
irc |
irc_nick_color |
retourne le code couleur du pseudo |
pseudo |
irc |
irc_nick_color_name |
retourne le nom de la couleur du pseudo |
pseudo |
irc |
irc_nick_from_host |
retourne le pseudo à partir d’un host IRC |
host IRC (comme |
irc |
irc_server_isupport |
1 si le serveur supporte cette fonctionnalité (du message IRC 005) |
serveur,fonctionnalité |
irc |
irc_server_isupport_value |
valeur de la fonctionnalité, si supportée par le serveur (du message IRC 005) |
serveur,fonctionnalité |
python |
python2_bin |
chemin vers l’interpréteur python 2.x |
- |
relay |
relay_client_count |
nombre de clients pour le relai |
nom du statut (optionnel) : connecting, waiting_auth, connected, auth_failed, disconnected |
weechat |
charset_internal |
charset interne à WeeChat |
- |
weechat |
charset_terminal |
charset du terminal |
- |
weechat |
color_ansi_regex |
expression régulière POSIX étendue pour chercher les codes ANSI échappés |
- |
weechat |
color_rgb2term |
couleur RGB convertie en couleur du terminal (0-255) |
rgb,limite (la limite est optionnelle et vaut 256 par défaut) |
weechat |
color_term2rgb |
couleur du terminal (0-255) convertie en couleur RGB |
couleur (couleur du terminal : 0-255) |
weechat |
cursor_mode |
1 si le mode curseur est activé |
- |
weechat |
date |
date de compilation de WeeChat |
- |
weechat |
dir_separator |
séparateur de répertoire |
- |
weechat |
filters_enabled |
1 si les filtres sont activés |
- |
weechat |
inactivity |
inactivité du clavier (secondes) |
- |
weechat |
locale |
locale utilisée pour la traduction des messages |
- |
weechat |
term_height |
hauteur du terminal |
- |
weechat |
term_width |
largeur du terminal |
- |
weechat |
version |
version de WeeChat |
- |
weechat |
version_git |
version git de WeeChat (sortie de la commande "git describe" pour une version de développement seulement, vide pour une version stable) |
- |
weechat |
version_number |
version de WeeChat (sous forme de nombre) |
- |
weechat |
weechat_dir |
répertoire de WeeChat |
- |
weechat |
weechat_libdir |
répertoire "lib" de WeeChat |
- |
weechat |
weechat_localedir |
répertoire "locale" de WeeChat |
- |
weechat |
weechat_sharedir |
répertoire "share" de WeeChat |
- |
weechat |
weechat_site |
site WeeChat |
- |
weechat |
weechat_site_download |
site WeeChat, page de téléchargement |
- |
weechat |
weechat_upgrading |
1 si WeeChat est en cours de mise à jour (commande |
- |
Exemple en C :
Script (Python) :
3.18.2. weechat_info_get_hashtable
WeeChat ≥ 0.3.4.
Retourner une information, sous forme de table de hachage, de WeeChat ou d’une extension.
Prototype :
Paramètres :
-
info_name : nom de l’information à lire (voir le tableau ci-dessous)
-
hashtable : table de hachage avec les paramètres (dépendant de l’information demandée) (optionnel, NULL si aucun paramètre n’est nécessaire)
Valeur de retour :
-
table de hachage avec l’information demandée, NULL en cas d’erreur
Infos :
Extension | Nom | Description | Table de hachage (entrée) | Table de hachage (sortie) |
---|---|---|---|---|
irc |
irc_message_parse |
analyse un message IRC |
"message" : message IRC, "server" : nom du serveur (optionnel) |
"tags" : étiquettes, "message_without_tags" : message sans les étiquettes, "nick" : pseudo, "host" : nom d’hôte, "command" : commande, "channel" : canal, "arguments" : paramètres (inclut le canal) |
irc |
irc_message_split |
découper un message IRC (pour tenir dans les 512 octets) |
"message" : message IRC, "server" : nom du serveur (optionnel) |
"msg1" … "msgN" : messages à envoyer (sans le "\r\n" final), "args1" … "argsN" : paramètres des messages, "count" : nombre de messages |
Exemple en C :
Script (Python) :
3.19. Infolists
Une "infolist" est une liste composée d’objets ("items"). Chaque objet contient des variables.
Par exemple, l’infolist "irc_server" a N objets (N est le nombre de serveurs IRC définis). Pour chaque objet, il y a des variables, comme "name", "buffer", "is_connected", …
Chaque variable a un type et une valeur. Les types possibles sont :
-
integer : nombre entier
-
string : chaîne de caractères
-
pointer : pointeur
-
buffer : tampon avec une taille fixe, peut contenir n’importe quel type de données
-
time : date/heure
3.19.1. weechat_infolist_new
Créer une "infolist".
Prototype :
Valeur de retour :
-
pointeur vers la nouvelle "infolist"
Exemple en C :
Script (Python) :
3.19.2. weechat_infolist_new_item
Ajouter un objet dans l’infolist.
Prototype :
Paramètres :
-
infolist : pointeur vers l’infolist
Valeur de retour :
-
pointeur vers le nouvel objet
Exemple en C :
Script (Python) :
3.19.3. weechat_infolist_new_var_integer
Ajouter une variable de type "integer" dans l’objet de l’infolist.
Prototype :
Paramètres :
-
item : pointeur vers l’objet de l’infolist
-
name : nom de la variable
-
value : valeur
Valeur de retour :
-
pointeur vers la nouvelle variable
Exemple en C :
Script (Python) :
3.19.4. weechat_infolist_new_var_string
Ajouter une variable de type "string" dans l’objet de l’infolist.
Prototype :
Paramètres :
-
item : pointeur vers l’objet de l’infolist
-
name : nom de la variable
-
value : valeur
Valeur de retour :
-
pointeur vers la nouvelle variable
Exemple en C :
Script (Python) :
3.19.5. weechat_infolist_new_var_pointer
Ajouter une variable de type "pointer" dans l’objet de l’infolist.
Prototype :
Paramètres :
-
item : pointeur vers l’objet de l’infolist
-
name : nom de la variable
-
pointer : pointeur
Valeur de retour :
-
pointeur vers la nouvelle variable
Exemple en C :
Script (Python) :
3.19.6. weechat_infolist_new_var_buffer
Ajouter une variable de type "buffer" dans l’objet de l’infolist.
Prototype :
Paramètres :
-
item : pointeur vers l’objet de l’infolist
-
name : nom de la variable
-
pointer : pointeur
-
size : taille du tampon
Valeur de retour :
-
pointeur vers la nouvelle variable
Exemple en C :
Note
|
Cette fonction n’est pas disponible dans l’API script. |
3.19.7. weechat_infolist_new_var_time
Ajouter une variable de type "time" dans l’objet de l’infolist.
Prototype :
Paramètres :
-
item : pointeur vers l’objet de l’infolist
-
name : nom de la variable
-
time : valeur
Valeur de retour :
-
pointeur vers la nouvelle variable
Exemple en C :
Script (Python) :
3.19.8. weechat_infolist_get
Retourner une "infolist" de WeeChat ou d’une extension.
Important
|
Le contenu d’une infolist est une duplication des données réelles. Donc si vous
demandez une infolist avec beaucoup de données (comme "buffer_lines"), WeeChat
allouera de la mémoire pour dupliquer toutes les données, et cela peut prendre
du temps. Au lieu d’utiliser une grosse infolist, il est préférable d’utiliser un hdata (mais l’infolist peut contenir plus de données que le hdata, qui contient des données brutes), voir hdata. |
Prototype :
Paramètres :
-
infolist_name : nom de l’infolist à lire (voir le tableau ci-dessous)
-
pointer : pointeur vers un objet, pour n’obtenir que celui-ci dans l’infolist (optionnel, peut être NULL)
-
arguments : paramètres pour l’infolist demandée (optionnels, NULL si aucun paramètre n’est nécessaire)
Valeur de retour :
-
pointeur vers l’infolist, NULL en cas d’erreur
Infolists :
Extension | Nom | Description | Pointeur | Paramètres |
---|---|---|---|---|
alias |
alias |
liste des alias |
pointeur vers l’alias (optionnel) |
nom d’alias (le caractère joker "*" est autorisé) (optionnel) |
guile |
guile_script |
liste des scripts |
pointeur vers le script (optionnel) |
nom de script (le caractère joker "*" est autorisé) (optionnel) |
irc |
irc_channel |
liste des canaux pour un serveur IRC |
pointeur vers le canal (optionnel) |
serveur,canal (le canal est optionnel) |
irc |
irc_color_weechat |
correspondance entre les codes couleur IRC et les noms de couleur WeeChat |
- |
- |
irc |
irc_ignore |
liste des ignores IRC |
pointeur vers l’ignore (optionnel) |
- |
irc |
irc_nick |
liste des pseudos pour un canal IRC |
pointeur vers le pseudo (optionnel) |
serveur,canal,pseudo (le pseudo est optionnel) |
irc |
irc_notify |
liste des notifications |
pointeur vers la notification (optionnel) |
nom de serveur (le caractère joker "*" est autorisé) (optionnel) |
irc |
irc_server |
liste des serveurs IRC |
pointeur vers le serveur (optionnel) |
nom de serveur (le caractère joker "*" est autorisé) (optionnel) |
logger |
logger_buffer |
liste des enregistreurs de tampons (loggers) |
pointeur vers le logger (optionnel) |
- |
lua |
lua_script |
liste des scripts |
pointeur vers le script (optionnel) |
nom de script (le caractère joker "*" est autorisé) (optionnel) |
perl |
perl_script |
liste des scripts |
pointeur vers le script (optionnel) |
nom de script (le caractère joker "*" est autorisé) (optionnel) |
python |
python_script |
liste des scripts |
pointeur vers le script (optionnel) |
nom de script (le caractère joker "*" est autorisé) (optionnel) |
relay |
relay |
liste des clients pour le relai |
pointeur vers le relay (optionnel) |
- |
ruby |
ruby_script |
liste des scripts |
pointeur vers le script (optionnel) |
nom de script (le caractère joker "*" est autorisé) (optionnel) |
script |
script_script |
liste des scripts |
pointeur vers le script (optionnel) |
nom du script avec extension (le caractère joker "*" est autorisé) (optionnel) |
tcl |
tcl_script |
liste des scripts |
pointeur vers le script (optionnel) |
nom de script (le caractère joker "*" est autorisé) (optionnel) |
weechat |
bar |
liste des barres |
pointeur vers la barre (optionnel) |
nom de barre (le caractère joker "*" est autorisé) (optionnel) |
weechat |
bar_item |
liste des objets de barres |
pointeur vers l’objet de barre (optionnel) |
nom d’objet de barre (le caractère joker "*" est autorisé) (optionnel) |
weechat |
bar_window |
liste des fenêtres de barre |
pointeur vers la fenêtre de barre (optionnel) |
- |
weechat |
buffer |
liste des tampons |
pointeur vers le tampon (optionnel) |
nom de tampon (le caractère joker "*" est autorisé) (optionnel) |
weechat |
buffer_lines |
lignes d’un tampon |
pointeur vers le tampon |
- |
weechat |
filter |
liste des filtres |
- |
nom de filtre (le caractère joker "*" est autorisé) (optionnel) |
weechat |
history |
historique des commandes |
pointeur vers le tampon (si non défini, retourne l’historique global) (optionnel) |
- |
weechat |
hook |
liste des hooks |
pointeur vers le hook (optionnel) |
type,paramètres (le type est command/timer/.., paramètres pour avoir seulement quelques hooks (le caractère joker "*" est autorisé), les deux sont optionnels) |
weechat |
hotlist |
liste des tampons dans la hotlist |
- |
- |
weechat |
key |
liste des associations de touches |
- |
contexte ("default", "search", "cursor" ou "mouse") (optionnel) |
weechat |
layout |
liste des dispositions |
- |
- |
weechat |
nicklist |
pseudos dans la liste des pseudos pour un tampon |
pointeur vers le tampon |
nick_xxx ou group_xxx pour avoir seulement le pseudo/groupe xxx (optionnel) |
weechat |
option |
liste des options |
- |
nom d’option (le caractère joker "*" est autorisé) (optionnel) |
weechat |
plugin |
liste des extensions |
pointeur vers l’extension (optionnel) |
nom d’extension (le caractère joker "*" est autorisé) (optionnel) |
weechat |
proxy |
liste des proxies |
pointeur vers le proxy (optionnel) |
nom de proxy (le caractère joker "*" est autorisé) (optionnel) |
weechat |
url_options |
options pour l’URL |
- |
- |
weechat |
window |
liste des fenêtres |
pointeur vers la fenêtre (optionnel) |
"current" pour la fenêtre courante ou un numéro de fenêtre (optionnel) |
xfer |
xfer |
liste des xfer |
pointeur vers le xfer (optionnel) |
- |
Exemple en C :
Script (Python) :
3.19.9. weechat_infolist_next
Déplacer le "curseur" vers l’objet suivant dans l’infolist. Le premier appel à cette fonction sur une infolist déplace le curseur sur le premier objet de l’infolist.
Prototype :
Paramètres :
-
infolist : pointeur vers l’infolist
Valeur de retour :
-
1 si le curseur a été déplacé sur l’objet suivant, 0 si la fin de la liste a été atteinte
Exemple en C :
Script (Python) :
3.19.10. weechat_infolist_prev
Déplacer le "curseur" vers l’objet précédent dans l’infolist. Le premier appel à cette fonction sur une infolist déplace le curseur sur le dernier objet de l’infolist.
Prototype :
Paramètres :
-
infolist : pointeur vers l’infolist
Valeur de retour :
-
1 si le curseur a été déplacé sur l’objet précédent, 0 si le début de liste a été atteint
Exemple en C :
Script (Python) :
3.19.11. weechat_infolist_reset_item_cursor
Réinitialiser le "curseur" de l’infolist.
Prototype :
Paramètres :
-
infolist : pointeur vers l’infolist
Exemple en C :
Script (Python) :
3.19.12. weechat_infolist_search_var
WeeChat ≥ 0.4.3.
Chercher une variable dans l’objet courant de l’infolist.
Prototype :
Paramètres :
-
infolist : pointeur vers l’infolist
-
name : nom de la variable
Valeur de retour :
-
pointeur vers la variable trouvée, NULL si la variable n’est pas trouvée
Exemple en C :
Script (Python) :
3.19.13. weechat_infolist_fields
Retourner la liste des champs pour l’objet courant de l’infolist.
Prototype :
Paramètres :
-
infolist : pointeur vers l’infolist
Valeur de retour :
-
chaîne avec la liste des champs pour l’objet courant de l’infolist. La liste, séparée par des virgules, contient la lettre pour le type, suivi du nom de la variable. Les types sont : "i" (nombre entier), "s" (chaîne), "p" (pointeur), "b" (buffer), "t" (date/heure).
Exemple en C :
Script (Python) :
3.19.14. weechat_infolist_integer
Retourner la valeur de la variable de l’objet courant de l’infolist, sous forme d’entier.
Prototype :
Paramètres :
-
infolist : pointeur vers l’infolist
-
var : nom de la variable (doit être de type "integer")
Valeur de retour :
-
valeur de la variable, sous forme d’entier
Exemple en C :
Script (Python) :
3.19.15. weechat_infolist_string
Retourner la valeur de la variable de l’objet courant de l’infolist, sous forme de chaîne de caractères.
Prototype :
Paramètres :
-
infolist : pointeur vers l’infolist
-
var : nom de la variable (doit être de type "string")
Valeur de retour :
-
valeur de la variable, sous forme de chaîne
Exemple en C :
Script (Python) :
3.19.16. weechat_infolist_pointer
Retourner la valeur de la variable de l’objet courant de l’infolist, sous forme de pointeur.
Prototype :
Paramètres :
-
infolist : pointeur vers l’infolist
-
var : nom de la variable (doit être de type "pointer")
Valeur de retour :
-
valeur de la variable, sous forme de pointeur
Exemple en C :
Script (Python) :
3.19.17. weechat_infolist_buffer
Retourner la valeur de la variable de l’objet courant de l’infolist, sous forme de tampon de données.
Prototype :
Paramètres :
-
infolist : pointeur vers l’infolist
-
var : nom de la variable (doit être de type "buffer")
-
size : pointeur vers une variable entière, qui sera alimenté avec la taille de la zone
Valeur de retour :
-
pointeur vers le tampon de données
Exemple en C :
Note
|
Cette fonction n’est pas disponible dans l’API script. |
3.19.18. weechat_infolist_time
Retourner la valeur de la variable de l’objet courant de l’infolist, sous forme de date/heure.
Prototype :
Paramètres :
-
infolist : pointeur vers l’infolist
-
var : nom de la variable (doit être de type "time")
Valeur de retour :
-
valeur de la variable, sous forme de date/heure
Exemple en C :
Script (Python) :
3.19.19. weechat_infolist_free
Supprimer une infolist.
Prototype :
Paramètres :
-
infolist : pointeur vers l’infolist
Exemple en C :
Script (Python) :
3.20. Hdata
Fonctions pour les hdata (accès brut aux données de WeeChat ou des extensions).
Important
|
Le "hdata" fournit seulement un accès en lecture seule aux données. Il est
STRICTEMENT INTERDIT d'écrire quelque chose dans une zone mémoire pointée par
les variables du hdata. Le seul moyen pour mettre à jour des données est d’appeler la fonction weechat_hdata_update. |
3.20.1. weechat_hdata_new
WeeChat ≥ 0.3.6, mis à jour dans la 0.3.9 et 0.4.0.
Créer un "hdata".
Note
|
hdata vs infolist
Le "hdata" est un moyen rapide de lire des données de WeeChat ou des extensions. Il est similaire à l’infolist, mais il y a quelques différences :
|
Prototype :
Paramètres :
-
hdata_name : nom du hdata
-
var_prev : nom de la variable dans la structure qui est un pointeur vers l'élément précédent dans la liste (peut être NULL si une telle variable n’existe pas)
-
var_next : nom de la variable dans la structure qui est un pointeur vers l'élément suivant dans la liste (peut être NULL si une telle variable n’existe pas)
-
create_allowed : 1 si la création de structure est autorisée, sinon 0 (WeeChat ≥ 0.4.0)
-
delete_allowed : 1 si la suppression de structure est autorisée, sinon 0 (WeeChat ≥ 0.3.9)
-
callback_update : fonction appelée pour mettre à jour des données dans le hdata, peut être NULL si aucune mise à jour n’est autorisée (WeeChat ≥ 0.3.9), paramètres et valeur de retour :
-
void *data : pointeur
-
struct t_hdata *hdata : pointeur vers le hdata
-
struct t_hashtable *hashtable : table de hachage avec les variables à mettre à jour (voir weechat_hdata_update)
-
valeur de retour : nombre de variables mises à jour
-
-
callback_update_data : pointeur donné au "callback" lorsqu’il est appelé par WeeChat (WeeChat ≥ 0.3.9)
Valeur de retour :
-
pointeur vers le nouveau "hdata"
Exemple en C :
Note
|
Cette fonction n’est pas disponible dans l’API script. |
3.20.2. weechat_hdata_new_var
WeeChat ≥ 0.3.6.
Créer une nouvelle variable dans le hdata.
Prototype :
Paramètres :
-
hdata : pointeur vers le hdata
-
name : nom de la variable
-
offset : position (offset) de la variable dans la structure
-
type : type de la variable, un parmi ceux-ci :
-
WEECHAT_HDATA_CHAR
-
WEECHAT_HDATA_INTEGER
-
WEECHAT_HDATA_LONG
-
WEECHAT_HDATA_STRING
-
WEECHAT_HDATA_SHARED_STRING
-
WEECHAT_HDATA_POINTER
-
WEECHAT_HDATA_TIME
-
WEECHAT_HDATA_HASHTABLE
-
WEECHAT_HDATA_OTHER
-
-
update_allowed : 1 si la mise à jour de la variable est autorisée, sinon 0 (WeeChat ≥ 0.3.9)
-
array_size : non NULL seulement si la variable est un tableau, et peut être : (WeeChat ≥ 0.3.9)
-
nom d’une variable du hdata : cette variable sera utilisée comme taille de tableau (taille dynamique pour le tableau)
-
entier (sous forme de chaîne) : taille fixe pour le tableau
-
* : taille automatique : la taille est calculée en examinant les valeurs, lorsque le premier NULL est trouvé (seulement pour le type string, pointer ou hashtable)
-
-
hdata_name : nom d’un hdata (si c’est un pointeur vers une structure qui a un hdata)
Exemple en C :
La macro "WEECHAT_HDATA_VAR" peut être utilisée pour raccourcir le code :
Note
|
Cette fonction n’est pas disponible dans l’API script. |
3.20.3. weechat_hdata_new_list
WeeChat ≥ 0.3.6, mis à jour dans la 1.0.
Créer un nouveau pointer vers une liste dans le hdata.
Prototype :
Paramètres :
-
hdata : pointeur vers le hdata
-
name : nom de la variable
-
pointer : pointeur vers la liste
-
flags : combinaison des valeurs suivantes : (WeeChat ≥ 1.0)
-
WEECHAT_HDATA_LIST_CHECK_POINTERS : liste utilisée pour vérifier les pointeurs
-
Exemple en C :
La macro "WEECHAT_HDATA_LIST" peut être utilisée pour raccourcir le code :
Note
|
Cette fonction n’est pas disponible dans l’API script. |
3.20.4. weechat_hdata_get
WeeChat ≥ 0.3.6.
Retourner un "hdata" pour une structure de WeeChat ou d’une extension.
Note
|
Le "hdata" ne contient aucune donnée, il s’agit seulement d’une table de hachage avec la position (offset) des variables dans la structure. Cela signifie que vous aurez besoin de ce hdata et d’un pointeur vers un objet WeeChat ou d’une extension pour lire des données. |
Prototype :
Paramètres :
-
hdata_name : nom du hdata (voir la liste ci-dessous)
Valeur de retour :
-
pointeur vers le hdata, NULL en cas d’erreur
Liste des hdata :
-
guile_callback: callback d’un script
-
extension: guile
-
variables:
-
script (pointer, hdata: "guile_script")
-
function (string)
-
data (string)
-
config_file (pointer, hdata: "config_file")
-
config_section (pointer, hdata: "config_section")
-
config_option (pointer, hdata: "config_option")
-
hook (pointer)
-
buffer (pointer, hdata: "buffer")
-
bar_item (pointer, hdata: "bar_item")
-
upgrade_file (pointer)
-
prev_callback (pointer, hdata: "guile_callback")
-
next_callback (pointer, hdata: "guile_callback")
-
-
-
guile_script: liste des scripts
-
extension: guile
-
variables:
-
filename (string)
-
interpreter (pointer)
-
name (string)
-
author (string)
-
version (string)
-
license (string)
-
description (string)
-
shutdown_func (string)
-
charset (string)
-
callbacks (pointer, hdata: "guile_callback")
-
unloading (integer)
-
prev_script (pointer, hdata: "guile_script")
-
next_script (pointer, hdata: "guile_script")
-
-
listes:
-
last_script
-
scripts
-
-
-
irc_channel: canal irc
-
extension: irc
-
variables:
-
type (integer)
-
name (string)
-
topic (string)
-
modes (string)
-
limit (integer)
-
key (string)
-
join_msg_received (hashtable)
-
checking_away (integer)
-
away_message (string)
-
has_quit_server (integer)
-
cycle (integer)
-
part (integer)
-
nick_completion_reset (integer)
-
pv_remote_nick_color (string)
-
hook_autorejoin (pointer)
-
nicks_count (integer)
-
nicks (pointer, hdata: "irc_nick")
-
last_nick (pointer, hdata: "irc_nick")
-
nicks_speaking (pointer)
-
nicks_speaking_time (pointer, hdata: "irc_channel_speaking")
-
last_nick_speaking_time (pointer, hdata: "irc_channel_speaking")
-
join_smart_filtered (hashtable)
-
buffer (pointer, hdata: "buffer")
-
buffer_as_string (string)
-
prev_channel (pointer, hdata: "irc_channel")
-
next_channel (pointer, hdata: "irc_channel")
-
-
-
irc_channel_speaking: channel_speaking irc
-
extension: irc
-
variables:
-
nick (string)
-
time_last_message (time)
-
prev_nick (pointer, hdata: "irc_channel_speaking")
-
next_nick (pointer, hdata: "irc_channel_speaking")
-
-
-
irc_ignore: ignore irc
-
extension: irc
-
variables:
-
number (integer)
-
mask (string)
-
regex_mask (pointer)
-
server (string)
-
channel (string)
-
prev_ignore (pointer, hdata: "irc_ignore")
-
next_ignore (pointer, hdata: "irc_ignore")
-
-
listes:
-
irc_ignore_list
-
last_irc_ignore
-
-
-
irc_nick: pseudo irc
-
extension: irc
-
variables:
-
name (string)
-
host (string)
-
prefixes (string)
-
prefix (string)
-
away (integer)
-
color (string)
-
prev_nick (pointer, hdata: "irc_nick")
-
next_nick (pointer, hdata: "irc_nick")
-
-
-
irc_notify: notify irc
-
extension: irc
-
variables:
-
server (pointer, hdata: "irc_server")
-
nick (string)
-
check_away (integer)
-
is_on_server (integer)
-
away_message (string)
-
ison_received (integer)
-
prev_notify (pointer, hdata: "irc_notify")
-
next_notify (pointer, hdata: "irc_notify")
-
-
-
irc_redirect: redirection irc
-
extension: irc
-
variables:
-
server (pointer, hdata: "irc_server")
-
pattern (string)
-
signal (string)
-
count (integer)
-
current_count (integer)
-
string (string)
-
timeout (integer)
-
command (string)
-
assigned_to_command (integer)
-
start_time (time)
-
cmd_start (hashtable)
-
cmd_stop (hashtable)
-
cmd_extra (hashtable)
-
cmd_start_received (integer)
-
cmd_stop_received (integer)
-
cmd_filter (hashtable)
-
output (string)
-
output_size (integer)
-
prev_redirect (pointer, hdata: "irc_redirect")
-
next_redirect (pointer, hdata: "irc_redirect")
-
-
-
irc_redirect_pattern: modèle pour une redirection irc
-
extension: irc
-
variables:
-
name (string)
-
temp_pattern (integer)
-
timeout (integer)
-
cmd_start (string)
-
cmd_stop (string)
-
cmd_extra (string)
-
prev_redirect (pointer, hdata: "irc_redirect_pattern")
-
next_redirect (pointer, hdata: "irc_redirect_pattern")
-
-
listes:
-
irc_redirect_patterns
-
last_irc_redirect_pattern
-
-
-
irc_server: serveur irc
-
extension: irc
-
variables:
-
name (string)
-
options (pointer)
-
temp_server (integer)
-
reloading_from_config (integer)
-
reloaded_from_config (integer)
-
addresses_count (integer)
-
addresses_array (string, array_size: "addresses_count")
-
ports_array (integer, array_size: "addresses_count")
-
retry_array (integer, array_size: "addresses_count")
-
index_current_address (integer)
-
current_address (string)
-
current_ip (string)
-
current_port (integer)
-
current_retry (integer)
-
sock (integer)
-
hook_connect (pointer, hdata: "hook")
-
hook_fd (pointer, hdata: "hook")
-
hook_timer_connection (pointer, hdata: "hook")
-
hook_timer_sasl (pointer, hdata: "hook")
-
is_connected (integer)
-
ssl_connected (integer)
-
disconnected (integer)
-
gnutls_sess (other)
-
tls_cert (other)
-
tls_cert_key (other)
-
unterminated_message (string)
-
nicks_count (integer)
-
nicks_array (string, array_size: "nicks_count")
-
nick_first_tried (integer)
-
nick_alternate_number (integer)
-
nick (string)
-
nick_modes (string)
-
cap_away_notify (integer)
-
isupport (string)
-
prefix_modes (string)
-
prefix_chars (string)
-
nick_max_length (integer)
-
casemapping (integer)
-
chantypes (string)
-
chanmodes (string)
-
monitor (integer)
-
monitor_time (time)
-
reconnect_delay (integer)
-
reconnect_start (time)
-
command_time (time)
-
reconnect_join (integer)
-
disable_autojoin (integer)
-
is_away (integer)
-
away_message (string)
-
away_time (time)
-
lag (integer)
-
lag_check_time (other)
-
lag_next_check (time)
-
lag_last_refresh (time)
-
cmd_list_regexp (pointer)
-
last_user_message (time)
-
last_away_check (time)
-
last_data_purge (time)
-
outqueue (pointer)
-
last_outqueue (pointer)
-
redirects (pointer, hdata: "irc_redirect")
-
last_redirect (pointer, hdata: "irc_redirect")
-
notify_list (pointer, hdata: "irc_notify")
-
last_notify (pointer, hdata: "irc_notify")
-
notify_count (integer)
-
join_manual (hashtable)
-
join_channel_key (hashtable)
-
join_noswitch (hashtable)
-
buffer (pointer, hdata: "buffer")
-
buffer_as_string (string)
-
channels (pointer, hdata: "irc_channel")
-
last_channel (pointer, hdata: "irc_channel")
-
prev_server (pointer, hdata: "irc_server")
-
next_server (pointer, hdata: "irc_server")
-
-
listes:
-
irc_servers
-
last_irc_server
-
-
-
lua_callback: callback d’un script
-
extension: lua
-
variables:
-
script (pointer, hdata: "lua_script")
-
function (string)
-
data (string)
-
config_file (pointer, hdata: "config_file")
-
config_section (pointer, hdata: "config_section")
-
config_option (pointer, hdata: "config_option")
-
hook (pointer)
-
buffer (pointer, hdata: "buffer")
-
bar_item (pointer, hdata: "bar_item")
-
upgrade_file (pointer)
-
prev_callback (pointer, hdata: "lua_callback")
-
next_callback (pointer, hdata: "lua_callback")
-
-
-
lua_script: liste des scripts
-
extension: lua
-
variables:
-
filename (string)
-
interpreter (pointer)
-
name (string)
-
author (string)
-
version (string)
-
license (string)
-
description (string)
-
shutdown_func (string)
-
charset (string)
-
callbacks (pointer, hdata: "lua_callback")
-
unloading (integer)
-
prev_script (pointer, hdata: "lua_script")
-
next_script (pointer, hdata: "lua_script")
-
-
listes:
-
last_script
-
scripts
-
-
-
perl_callback: callback d’un script
-
extension: perl
-
variables:
-
script (pointer, hdata: "perl_script")
-
function (string)
-
data (string)
-
config_file (pointer, hdata: "config_file")
-
config_section (pointer, hdata: "config_section")
-
config_option (pointer, hdata: "config_option")
-
hook (pointer)
-
buffer (pointer, hdata: "buffer")
-
bar_item (pointer, hdata: "bar_item")
-
upgrade_file (pointer)
-
prev_callback (pointer, hdata: "perl_callback")
-
next_callback (pointer, hdata: "perl_callback")
-
-
-
perl_script: liste des scripts
-
extension: perl
-
variables:
-
filename (string)
-
interpreter (pointer)
-
name (string)
-
author (string)
-
version (string)
-
license (string)
-
description (string)
-
shutdown_func (string)
-
charset (string)
-
callbacks (pointer, hdata: "perl_callback")
-
unloading (integer)
-
prev_script (pointer, hdata: "perl_script")
-
next_script (pointer, hdata: "perl_script")
-
-
listes:
-
last_script
-
scripts
-
-
-
python_callback: callback d’un script
-
extension: python
-
variables:
-
script (pointer, hdata: "python_script")
-
function (string)
-
data (string)
-
config_file (pointer, hdata: "config_file")
-
config_section (pointer, hdata: "config_section")
-
config_option (pointer, hdata: "config_option")
-
hook (pointer)
-
buffer (pointer, hdata: "buffer")
-
bar_item (pointer, hdata: "bar_item")
-
upgrade_file (pointer)
-
prev_callback (pointer, hdata: "python_callback")
-
next_callback (pointer, hdata: "python_callback")
-
-
-
python_script: liste des scripts
-
extension: python
-
variables:
-
filename (string)
-
interpreter (pointer)
-
name (string)
-
author (string)
-
version (string)
-
license (string)
-
description (string)
-
shutdown_func (string)
-
charset (string)
-
callbacks (pointer, hdata: "python_callback")
-
unloading (integer)
-
prev_script (pointer, hdata: "python_script")
-
next_script (pointer, hdata: "python_script")
-
-
listes:
-
last_script
-
scripts
-
-
-
ruby_callback: callback d’un script
-
extension: ruby
-
variables:
-
script (pointer, hdata: "ruby_script")
-
function (string)
-
data (string)
-
config_file (pointer, hdata: "config_file")
-
config_section (pointer, hdata: "config_section")
-
config_option (pointer, hdata: "config_option")
-
hook (pointer)
-
buffer (pointer, hdata: "buffer")
-
bar_item (pointer, hdata: "bar_item")
-
upgrade_file (pointer)
-
prev_callback (pointer, hdata: "ruby_callback")
-
next_callback (pointer, hdata: "ruby_callback")
-
-
-
ruby_script: liste des scripts
-
extension: ruby
-
variables:
-
filename (string)
-
interpreter (pointer)
-
name (string)
-
author (string)
-
version (string)
-
license (string)
-
description (string)
-
shutdown_func (string)
-
charset (string)
-
callbacks (pointer, hdata: "ruby_callback")
-
unloading (integer)
-
prev_script (pointer, hdata: "ruby_script")
-
next_script (pointer, hdata: "ruby_script")
-
-
listes:
-
last_script
-
scripts
-
-
-
script_script: scripts du dépôt
-
extension: script
-
variables:
-
name (string)
-
name_with_extension (string)
-
language (integer)
-
author (string)
-
mail (string)
-
version (string)
-
license (string)
-
description (string)
-
tags (string)
-
requirements (string)
-
min_weechat (string)
-
max_weechat (string)
-
md5sum (string)
-
url (string)
-
popularity (integer)
-
date_added (time)
-
date_updated (time)
-
status (integer)
-
version_loaded (string)
-
displayed (integer)
-
install_order (integer)
-
prev_script (pointer, hdata: "script_script")
-
next_script (pointer, hdata: "script_script")
-
-
listes:
-
last_script_repo
-
scripts_repo
-
-
-
tcl_callback: callback d’un script
-
extension: tcl
-
variables:
-
script (pointer, hdata: "tcl_script")
-
function (string)
-
data (string)
-
config_file (pointer, hdata: "config_file")
-
config_section (pointer, hdata: "config_section")
-
config_option (pointer, hdata: "config_option")
-
hook (pointer)
-
buffer (pointer, hdata: "buffer")
-
bar_item (pointer, hdata: "bar_item")
-
upgrade_file (pointer)
-
prev_callback (pointer, hdata: "tcl_callback")
-
next_callback (pointer, hdata: "tcl_callback")
-
-
-
tcl_script: liste des scripts
-
extension: tcl
-
variables:
-
filename (string)
-
interpreter (pointer)
-
name (string)
-
author (string)
-
version (string)
-
license (string)
-
description (string)
-
shutdown_func (string)
-
charset (string)
-
callbacks (pointer, hdata: "tcl_callback")
-
unloading (integer)
-
prev_script (pointer, hdata: "tcl_script")
-
next_script (pointer, hdata: "tcl_script")
-
-
listes:
-
last_script
-
scripts
-
-
-
bar: barre
-
extension: weechat
-
variables:
-
name (string)
-
options (pointer)
-
items_count (integer)
-
items_subcount (pointer)
-
items_array (pointer)
-
items_buffer (pointer)
-
items_prefix (pointer)
-
items_name (pointer)
-
items_suffix (pointer)
-
bar_window (pointer, hdata: "bar_window")
-
bar_refresh_needed (integer)
-
prev_bar (pointer, hdata: "bar")
-
next_bar (pointer, hdata: "bar")
-
-
listes:
-
gui_bars
-
last_gui_bar
-
-
-
bar_item: objet de barre
-
extension: weechat
-
variables:
-
plugin (pointer, hdata: "plugin")
-
name (string)
-
build_callback (pointer)
-
build_callback_data (pointer)
-
prev_item (pointer, hdata: "bar_item")
-
next_item (pointer, hdata: "bar_item")
-
-
listes:
-
gui_bar_items
-
last_gui_bar_item
-
-
-
bar_window: fenêtre de barre
-
extension: weechat
-
variables:
-
bar (pointer, hdata: "bar")
-
x (integer)
-
y (integer)
-
width (integer)
-
height (integer)
-
scroll_x (integer)
-
scroll_y (integer)
-
cursor_x (integer)
-
cursor_y (integer)
-
current_size (integer)
-
items_count (integer)
-
items_subcount (pointer)
-
items_content (pointer)
-
items_num_lines (pointer)
-
items_refresh_needed (pointer)
-
screen_col_size (integer)
-
screen_lines (integer)
-
coords_count (integer)
-
coords (pointer)
-
gui_objects (pointer)
-
prev_bar_window (pointer, hdata: "bar_window")
-
next_bar_window (pointer, hdata: "bar_window")
-
-
-
buffer: tampon
-
extension: weechat
-
variables:
-
plugin (pointer, hdata: "plugin")
-
plugin_name_for_upgrade (string)
-
number (integer)
-
layout_number (integer)
-
layout_number_merge_order (integer)
-
name (string)
-
full_name (string)
-
short_name (string)
-
type (integer)
-
notify (integer)
-
num_displayed (integer)
-
active (integer)
-
hidden (integer)
-
zoomed (integer)
-
print_hooks_enabled (integer)
-
day_change (integer)
-
clear (integer)
-
filter (integer)
-
close_callback (pointer)
-
close_callback_data (pointer)
-
closing (integer)
-
title (string)
-
own_lines (pointer, hdata: "lines")
-
mixed_lines (pointer, hdata: "lines")
-
lines (pointer, hdata: "lines")
-
time_for_each_line (integer)
-
chat_refresh_needed (integer)
-
nicklist (integer)
-
nicklist_case_sensitive (integer)
-
nicklist_root (pointer, hdata: "nick_group")
-
nicklist_max_length (integer)
-
nicklist_display_groups (integer)
-
nicklist_count (integer)
-
nicklist_groups_count (integer)
-
nicklist_nicks_count (integer)
-
nicklist_visible_count (integer)
-
nickcmp_callback (pointer)
-
nickcmp_callback_data (pointer)
-
input (integer)
-
input_callback (pointer)
-
input_callback_data (pointer)
-
input_get_unknown_commands (integer)
-
input_buffer (string)
-
input_buffer_alloc (integer)
-
input_buffer_size (integer)
-
input_buffer_length (integer)
-
input_buffer_pos (integer)
-
input_buffer_1st_display (integer)
-
input_undo_snap (pointer, hdata: "input_undo")
-
input_undo (pointer, hdata: "input_undo")
-
last_input_undo (pointer, hdata: "input_undo")
-
ptr_input_undo (pointer, hdata: "input_undo")
-
input_undo_count (integer)
-
completion (pointer, hdata: "completion")
-
history (pointer, hdata: "history")
-
last_history (pointer, hdata: "history")
-
ptr_history (pointer, hdata: "history")
-
num_history (integer)
-
text_search (integer)
-
text_search_exact (integer)
-
text_search_regex (integer)
-
text_search_regex_compiled (pointer)
-
text_search_where (integer)
-
text_search_found (integer)
-
text_search_input (string)
-
highlight_words (string)
-
highlight_regex (string)
-
highlight_regex_compiled (pointer)
-
highlight_tags_restrict (string)
-
highlight_tags_restrict_count (integer)
-
highlight_tags_restrict_array (pointer, array_size: "highlight_tags_restrict_count")
-
highlight_tags (string)
-
highlight_tags_count (integer)
-
highlight_tags_array (pointer, array_size: "highlight_tags_count")
-
hotlist_max_level_nicks (hashtable)
-
keys (pointer, hdata: "key")
-
last_key (pointer, hdata: "key")
-
keys_count (integer)
-
local_variables (hashtable)
-
prev_buffer (pointer, hdata: "buffer")
-
next_buffer (pointer, hdata: "buffer")
-
-
listes:
-
gui_buffer_last_displayed
-
gui_buffers
-
last_gui_buffer
-
-
-
buffer_visited: tampon visité
-
extension: weechat
-
variables:
-
buffer (pointer, hdata: "buffer")
-
prev_buffer (pointer, hdata: "buffer_visited")
-
next_buffer (pointer, hdata: "buffer_visited")
-
-
listes:
-
gui_buffers_visited
-
last_gui_buffer_visited
-
-
-
completion: structure avec une complétion
-
extension: weechat
-
variables:
-
buffer (pointer, hdata: "buffer")
-
context (integer)
-
base_command (string)
-
base_command_arg_index (integer)
-
base_word (string)
-
base_word_pos (integer)
-
position (integer)
-
args (string)
-
direction (integer)
-
add_space (integer)
-
force_partial_completion (integer)
-
list (pointer)
-
word_found (string)
-
word_found_is_nick (integer)
-
position_replace (integer)
-
diff_size (integer)
-
diff_length (integer)
-
partial_list (pointer)
-
-
-
config_file: fichier de configuration
-
extension: weechat
-
variables:
-
plugin (pointer, hdata: "plugin")
-
name (string)
-
filename (string)
-
file (pointer)
-
callback_reload (pointer)
-
callback_reload_data (pointer)
-
sections (pointer, hdata: "config_section")
-
last_section (pointer, hdata: "config_section")
-
prev_config (pointer, hdata: "config_file")
-
next_config (pointer, hdata: "config_file")
-
-
listes:
-
config_files
-
last_config_file
-
-
-
config_option: option de configuration
-
extension: weechat
-
variables:
-
config_file (pointer, hdata: "config_file")
-
section (pointer, hdata: "config_section")
-
name (string)
-
type (integer)
-
description (string)
-
string_values (string, array_size: "*")
-
min (integer)
-
max (integer)
-
default_value (pointer)
-
value (pointer)
-
null_value_allowed (integer)
-
callback_check_value (pointer)
-
callback_check_value_data (pointer)
-
callback_change (pointer)
-
callback_change_data (pointer)
-
callback_delete (pointer)
-
callback_delete_data (pointer)
-
loaded (integer)
-
prev_option (pointer, hdata: "config_option")
-
next_option (pointer, hdata: "config_option")
-
-
-
config_section: section de configuration
-
extension: weechat
-
variables:
-
config_file (pointer, hdata: "config_file")
-
name (string)
-
user_can_add_options (integer)
-
user_can_delete_options (integer)
-
callback_read (pointer)
-
callback_read_data (pointer)
-
callback_write (pointer)
-
callback_write_data (pointer)
-
callback_write_default (pointer)
-
callback_write_default_data (pointer)
-
callback_create_option (pointer)
-
callback_create_option_data (pointer)
-
callback_delete_option (pointer)
-
callback_delete_option_data (pointer)
-
options (pointer, hdata: "config_option")
-
last_option (pointer, hdata: "config_option")
-
prev_section (pointer, hdata: "config_section")
-
next_section (pointer, hdata: "config_section")
-
-
-
filter: filtre
-
extension: weechat
-
variables:
-
enabled (integer)
-
name (string)
-
buffer_name (string)
-
num_buffers (integer)
-
buffers (pointer)
-
tags (string)
-
tags_count (integer)
-
tags_array (pointer, array_size: "tags_count")
-
regex (string)
-
regex_prefix (pointer)
-
regex_message (pointer)
-
prev_filter (pointer, hdata: "filter")
-
next_filter (pointer, hdata: "filter")
-
-
listes:
-
gui_filters
-
last_gui_filter
-
-
-
history: historique des commandes dans le tampon
-
extension: weechat
-
variables:
-
text (string)
-
next_history (pointer, hdata: "history")
-
prev_history (pointer, hdata: "history")
-
-
mise à jour autorisée:
-
__create
-
__delete
-
-
listes:
-
gui_history
-
last_gui_history
-
-
-
hotlist: hotlist
-
extension: weechat
-
variables:
-
priority (integer)
-
creation_time.tv_sec (time)
-
creation_time.tv_usec (long)
-
buffer (pointer)
-
count (integer, array_size: "4")
-
prev_hotlist (pointer, hdata: "hotlist")
-
next_hotlist (pointer, hdata: "hotlist")
-
-
listes:
-
gui_hotlist
-
last_gui_hotlist
-
-
-
input_undo: structure avec le "undo" pour la ligne de commande
-
extension: weechat
-
variables:
-
data (string)
-
pos (integer)
-
prev_undo (pointer, hdata: "input_undo")
-
next_undo (pointer, hdata: "input_undo")
-
-
-
key: une touche (un raccourci clavier)
-
extension: weechat
-
variables:
-
key (string)
-
area_type (pointer)
-
area_name (pointer)
-
area_key (string)
-
command (string)
-
score (integer)
-
prev_key (pointer, hdata: "key")
-
next_key (pointer, hdata: "key")
-
-
listes:
-
gui_default_keys
-
gui_default_keys_cursor
-
gui_default_keys_mouse
-
gui_default_keys_search
-
gui_keys
-
gui_keys_cursor
-
gui_keys_mouse
-
gui_keys_search
-
last_gui_default_key
-
last_gui_default_key_cursor
-
last_gui_default_key_mouse
-
last_gui_default_key_search
-
last_gui_key
-
last_gui_key_cursor
-
last_gui_key_mouse
-
last_gui_key_search
-
-
-
layout: disposition
-
extension: weechat
-
variables:
-
name (string)
-
layout_buffers (pointer, hdata: "layout_buffer")
-
last_layout_buffer (pointer, hdata: "layout_buffer")
-
layout_windows (pointer, hdata: "layout_window")
-
internal_id (integer)
-
internal_id_current_window (integer)
-
prev_layout (pointer, hdata: "layout")
-
next_layout (pointer, hdata: "layout")
-
-
listes:
-
gui_layout_current
-
gui_layouts
-
last_gui_layout
-
-
-
layout_buffer: disposition de tampon
-
extension: weechat
-
variables:
-
plugin_name (string)
-
buffer_name (string)
-
number (integer)
-
prev_layout (pointer, hdata: "layout_buffer")
-
next_layout (pointer, hdata: "layout_buffer")
-
-
-
layout_window: disposition de fenêtre
-
extension: weechat
-
variables:
-
internal_id (integer)
-
parent_node (pointer, hdata: "layout_window")
-
split_pct (integer)
-
split_horiz (integer)
-
child1 (pointer, hdata: "layout_window")
-
child2 (pointer, hdata: "layout_window")
-
plugin_name (string)
-
buffer_name (string)
-
-
-
line: structure avec une ligne
-
extension: weechat
-
variables:
-
data (pointer, hdata: "line_data")
-
prev_line (pointer, hdata: "line")
-
next_line (pointer, hdata: "line")
-
-
-
line_data: structure avec les données d’une ligne
-
extension: weechat
-
variables:
-
buffer (pointer, hdata: "buffer")
-
y (integer)
-
date (time)
-
date_printed (time)
-
str_time (string)
-
tags_count (integer)
-
tags_array (shared_string, array_size: "tags_count")
-
displayed (char)
-
highlight (char)
-
refresh_needed (char)
-
prefix (shared_string)
-
prefix_length (integer)
-
message (string)
-
-
mise à jour autorisée:
-
date (time)
-
date_printed (time)
-
tags_array (shared_string)
-
prefix (shared_string)
-
message (string)
-
-
-
lines: structure avec des lignes
-
extension: weechat
-
variables:
-
first_line (pointer, hdata: "line")
-
last_line (pointer, hdata: "line")
-
last_read_line (pointer, hdata: "line")
-
lines_count (integer)
-
first_line_not_read (integer)
-
lines_hidden (integer)
-
buffer_max_length (integer)
-
buffer_max_length_refresh (integer)
-
prefix_max_length (integer)
-
prefix_max_length_refresh (integer)
-
-
-
nick: pseudo dans la liste de pseudos
-
extension: weechat
-
variables:
-
group (pointer, hdata: "nick_group")
-
name (shared_string)
-
color (shared_string)
-
prefix (shared_string)
-
prefix_color (shared_string)
-
visible (integer)
-
prev_nick (pointer, hdata: "nick")
-
next_nick (pointer, hdata: "nick")
-
-
-
nick_group: groupe dans la liste de pseudos
-
extension: weechat
-
variables:
-
name (shared_string)
-
color (shared_string)
-
visible (integer)
-
level (integer)
-
parent (pointer, hdata: "nick_group")
-
children (pointer, hdata: "nick_group")
-
last_child (pointer, hdata: "nick_group")
-
nicks (pointer, hdata: "nick")
-
last_nick (pointer, hdata: "nick")
-
prev_group (pointer, hdata: "nick_group")
-
next_group (pointer, hdata: "nick_group")
-
-
-
plugin: extension
-
extension: weechat
-
variables:
-
filename (string)
-
handle (pointer)
-
name (string)
-
description (string)
-
author (string)
-
version (string)
-
license (string)
-
charset (string)
-
debug (integer)
-
prev_plugin (pointer, hdata: "plugin")
-
next_plugin (pointer, hdata: "plugin")
-
-
listes:
-
last_weechat_plugin
-
weechat_plugins
-
-
-
proxy: proxy
-
extension: weechat
-
variables:
-
name (string)
-
options (pointer)
-
prev_proxy (pointer, hdata: "proxy")
-
next_proxy (pointer, hdata: "proxy")
-
-
listes:
-
last_weechat_proxy
-
weechat_proxies
-
-
-
window: fenêtre
-
extension: weechat
-
variables:
-
number (integer)
-
win_x (integer)
-
win_y (integer)
-
win_width (integer)
-
win_height (integer)
-
win_width_pct (integer)
-
win_height_pct (integer)
-
win_chat_x (integer)
-
win_chat_y (integer)
-
win_chat_width (integer)
-
win_chat_height (integer)
-
win_chat_cursor_x (integer)
-
win_chat_cursor_y (integer)
-
bar_windows (pointer, hdata: "bar_window")
-
last_bar_window (pointer, hdata: "bar_window")
-
refresh_needed (integer)
-
gui_objects (pointer)
-
buffer (pointer, hdata: "buffer")
-
layout_plugin_name (string)
-
layout_buffer_name (string)
-
scroll (pointer, hdata: "window_scroll")
-
ptr_tree (pointer, hdata: "window_tree")
-
prev_window (pointer, hdata: "window")
-
next_window (pointer, hdata: "window")
-
-
listes:
-
gui_current_window
-
gui_windows
-
last_gui_window
-
-
-
window_scroll: info de défilement dans la fenêtre
-
extension: weechat
-
variables:
-
buffer (pointer, hdata: "buffer")
-
first_line_displayed (integer)
-
start_line (pointer, hdata: "line")
-
start_line_pos (integer)
-
scrolling (integer)
-
start_col (integer)
-
lines_after (integer)
-
prev_scroll (pointer, hdata: "window_scroll")
-
next_scroll (pointer, hdata: "window_scroll")
-
-
-
window_tree: arbre des fenêtres
-
extension: weechat
-
variables:
-
parent_node (pointer, hdata: "window_tree")
-
split_pct (integer)
-
split_horizontal (integer)
-
child1 (pointer, hdata: "window_tree")
-
child2 (pointer, hdata: "window_tree")
-
window (pointer, hdata: "window")
-
-
listes:
-
gui_windows_tree
-
-
Exemple en C :
Script (Python) :
3.20.5. weechat_hdata_get_var_offset
WeeChat ≥ 0.3.6.
Retourner la position (offset) de la variable dans le hdata.
Prototype :
Paramètres :
-
hdata : pointeur vers le hdata
-
name : nom de la variable
Valeur de retour :
-
position (offset) de la variable, 0 en cas d’erreur
Exemple en C :
Script (Python) :
3.20.6. weechat_hdata_get_var_type
WeeChat ≥ 0.3.6.
Retourner le type de la variable dans le hdata (sous forme d’entier).
Prototype :
Paramètres :
-
hdata : pointeur vers le hdata
-
name : nom de la variable
Valeur de retour :
-
type de la variable, -1 en cas d’erreur
Exemple en C :
Note
|
Cette fonction n’est pas disponible dans l’API script. |
3.20.7. weechat_hdata_get_var_type_string
WeeChat ≥ 0.3.6.
Retourner le type de la variable dans le hdata (sous forme de chaîne).
Prototype :
Paramètres :
-
hdata : pointeur vers le hdata
-
name : nom de la variable
Valeur de retour :
-
type de la variable, NULL en cas d’erreur
Exemple en C :
Script (Python) :
3.20.8. weechat_hdata_get_var_array_size
WeeChat ≥ 0.3.9.
Retourner la taille du tableau pour la variable dans le hdata.
Prototype :
Paramètres :
-
hdata : pointeur vers le hdata
-
pointer : pointeur vers un objet WeeChat ou d’une extension
-
name : nom de la variable
Valeur de retour :
-
taille du tableau pour la variable, -1 si la variable n’est pas un tableau ou en cas d’erreur
Exemple en C :
Script (Python) :
3.20.9. weechat_hdata_get_var_array_size_string
WeeChat ≥ 0.3.9.
Retourner la taille du tableau pour la variable dans le hdata (sous forme de chaîne).
Prototype :
Paramètres :
-
hdata : pointeur vers le hdata
-
pointer : pointeur vers un objet WeeChat ou d’une extension
-
name : nom de la variable
Valeur de retour :
-
taille du tableau pour la variable sous forme de chaîne, -1 si la variable n’est pas un tableau ou en cas d’erreur
Exemple en C :
Script (Python) :
3.20.10. weechat_hdata_get_var_hdata
WeeChat ≥ 0.3.6.
Retourner le hdata pour la variable dans le hdata.
Prototype :
Paramètres :
-
hdata : pointeur vers le hdata
-
name : nom de la variable
Valeur de retour :
-
hdata pour la variable, NULL si pas de hdata ou en cas d’erreur
Exemple en C :
Script (Python) :
3.20.11. weechat_hdata_get_var
WeeChat ≥ 0.3.6.
Retourner un pointeur vers le contenu de la variable dans le hdata.
Prototype :
Paramètres :
-
hdata : pointeur vers le hdata
-
pointer : pointeur vers un objet WeeChat ou d’une extension
-
name : nom de la variable
Valeur de retour :
-
pointeur vers le contenu de la variable, NULL en cas d’erreur
Exemple en C :
Note
|
Cette fonction n’est pas disponible dans l’API script. |
3.20.12. weechat_hdata_get_var_at_offset
WeeChat ≥ 0.3.6.
Retourner un pointeur vers le contenu de la variable dans le hdata, en utilisant une position (offset).
Prototype :
Paramètres :
-
hdata : pointeur vers le hdata
-
pointer : pointeur vers un objet WeeChat ou d’une extension
-
offset : position (offset) de la variable
Valeur de retour :
-
pointeur vers le contenu de la variable, NULL en cas d’erreur
Exemple en C :
Note
|
Cette fonction n’est pas disponible dans l’API script. |
3.20.13. weechat_hdata_get_list
WeeChat ≥ 0.3.6.
Retourner un pointeur de liste du hdata.
Prototype :
Paramètres :
-
hdata : pointeur vers le hdata
-
name : nom de la liste
Valeur de retour :
-
pointeur vers la liste, NULL en cas d’erreur
Exemple en C :
Script (Python) :
3.20.14. weechat_hdata_check_pointer
WeeChat ≥ 0.3.7, mis à jour dans la 1.0.
Vérifier si un pointeur est valide pour un hdata et un pointeur de liste.
Prototype :
Paramètres :
-
hdata : pointeur vers le hdata
-
list : pointeur vers une liste; si NULL (WeeChat ≥ 1.0), le pointeur est vérifié avec les listes dans le hdata qui ont le drapeau "vérifier les pointeurs" (voir weechat_hdata_new_list), et s’il n’y a pas de telle liste, le pointeur est considéré comme valide
-
pointer : pointeur à vérifier
Valeur de retour :
-
1 si le pointeur est dans la liste, 0 si non trouvé
Exemple en C :
Script (Python) :
3.20.15. weechat_hdata_move
WeeChat ≥ 0.3.6.
Déplacer le pointeur vers un autre élément dans la liste.
Prototype :
Paramètres :
-
hdata : pointeur vers le hdata
-
pointer : pointeur vers un objet WeeChat ou d’une extension
-
count : nombre de saut(s) à exécuter (entier négatif ou positif, différent de 0)
Valeur de retour :
-
pointeur vers l'élément atteint, NULL en cas d’erreur
Exemple en C :
Script (Python) :
3.20.16. weechat_hdata_search
WeeChat ≥ 0.4.1.
Chercher un élément dans la liste : l’expression search est évaluée pour chaque élément dans la liste, jusqu'à trouver l'élément (ou la fin de la liste).
Prototype :
Paramètres :
-
hdata : pointeur vers le hdata
-
pointer : pointeur vers un objet WeeChat ou d’une extension
-
search : expression à évaluer, le pointeur par défaut dans l’expression est le nom du hdata (et ce pointeur change pour chaque élément dans la liste); pour l’aide sur l’expression, voir la commande
/eval
dans le Guide utilisateur WeeChat -
move : nombre de saut(s) à exécuter après une recherche infructueuse (entier négatif ou positif, différent de 0)
Valeur de retour :
-
pointeur vers l'élément trouvé, ou NULL si non trouvé
Exemple en C :
Script (Python) :
3.20.17. weechat_hdata_char
WeeChat ≥ 0.3.7.
Retourner la valeur de la variable dans la structure en utilisant le hdata, sous forme de caractère.
Prototype :
Paramètres :
-
hdata : pointeur vers le hdata
-
pointer : pointeur vers un objet WeeChat ou d’une extension
-
name : nom de la variable (doit être de type "char"); pour les tableaux, le nom peut être "N|name" où N est un index dans le tableau (démarrant à 0), par exemple : "2|name"
Valeur de retour :
-
valeur de la variable, sous forme de caractère
Exemple en C :
Script (Python) :
3.20.18. weechat_hdata_integer
WeeChat ≥ 0.3.6.
Retourner la valeur de la variable dans la structure en utilisant le hdata, sous forme d’entier.
Prototype :
Paramètres :
-
hdata : pointeur vers le hdata
-
pointer : pointeur vers un objet WeeChat ou d’une extension
-
name : nom de la variable (doit être de type "integer"); pour les tableaux, le nom peut être "N|name" où N est un index dans le tableau (démarrant à 0), par exemple : "2|name"
Valeur de retour :
-
valeur de la variable, sous forme d’entier
Exemple en C :
Script (Python) :
3.20.19. weechat_hdata_long
WeeChat ≥ 0.3.6.
Retourner la valeur de la variable dans la structure en utilisant le hdata, sous forme d’entier long.
Prototype :
Paramètres :
-
hdata : pointeur vers le hdata
-
pointer : pointeur vers un objet WeeChat ou d’une extension
-
name : nom de la variable (doit être de type "long"); pour les tableaux, le nom peut être "N|name" où N est un index dans le tableau (démarrant à 0), par exemple : "2|name"
Valeur de retour :
-
valeur de la variable, sous forme d’entier long
Exemple en C :
Script (Python) :
3.20.20. weechat_hdata_string
WeeChat ≥ 0.3.6.
Retourner la valeur de la variable dans la structure en utilisant le hdata, sous forme de chaîne.
Prototype :
Paramètres :
-
hdata : pointeur vers le hdata
-
pointer : pointeur vers un objet WeeChat ou d’une extension
-
name : nom de la variable (doit être de type "string"); pour les tableaux, le nom peut être "N|name" où N est un index dans le tableau (démarrant à 0), par exemple : "2|name"
Valeur de retour :
-
valeur de la variable, sous forme de chaîne
Exemple en C :
Script (Python) :
3.20.21. weechat_hdata_pointer
WeeChat ≥ 0.3.6.
Retourner la valeur de la variable dans la structure en utilisant le hdata, sous forme de pointeur.
Prototype :
Paramètres :
-
hdata : pointeur vers le hdata
-
pointer : pointeur vers un objet WeeChat ou d’une extension
-
name : nom de la variable (doit être de type "pointeur"); pour les tableaux, le nom peut être "N|name" où N est un index dans le tableau (démarrant à 0), par exemple : "2|name"
Valeur de retour :
-
valeur de la variable, sous forme de pointeur
Exemple en C :
Script (Python) :
3.20.22. weechat_hdata_time
WeeChat ≥ 0.3.6.
Retourner la valeur de la variable dans la structure en utilisant le hdata, sous forme de date/heure.
Prototype :
Paramètres :
-
hdata : pointeur vers le hdata
-
pointer : pointeur vers un objet WeeChat ou d’une extension
-
name : nom de la variable (doit être de type "time"); pour les tableaux, le nom peut être "N|name" où N est un index dans le tableau (démarrant à 0), par exemple : "2|name"
Valeur de retour :
-
valeur de la variable, sous forme de date/heure
Exemple en C :
Script (Python) :
3.20.23. weechat_hdata_hashtable
WeeChat ≥ 0.3.7.
Retourner la valeur de la variable dans la structure en utilisant le hdata, sous forme de table de hachage.
Prototype :
Paramètres :
-
hdata : pointeur vers le hdata
-
pointer : pointeur vers un objet WeeChat ou d’une extension
-
name : nom de la variable (doit être de type "hashtable"); pour les tableaux, le nom peut être "N|name" où N est un index dans le tableau (démarrant à 0), par exemple : "2|name"
Valeur de retour :
-
valeur de la variable, sous forme de pointeur vers la table de hachage
Exemple en C :
Script (Python) :
3.20.24. weechat_hdata_set
WeeChat ≥ 0.3.9.
Définir une nouvelle valeur pour une variable dans un hdata.
Note
|
Cette fonction ne peut être appelée que dans un "callback" de mise à jour (voir weechat_hdata_new et weechat_hdata_update), si la variable peut être mise à jour. |
Prototype :
Paramètres :
-
hdata : pointeur vers le hdata
-
pointer : pointeur vers un objet WeeChat ou d’une extension
-
name : nom de la variable (types autorisés : char, integer, long, string, pointer, time)
-
value : nouvelle valeur pour la variable
Valeur de retour :
-
1 si ok, 0 en cas d’erreur
Exemple en C :
Note
|
Cette fonction n’est pas disponible dans l’API script. |
3.20.25. weechat_hdata_update
WeeChat ≥ 0.3.9.
Mettre à jour des données dans le hdata.
Prototype :
Paramètres :
-
hdata : pointeur vers le hdata
-
pointer : pointeur vers un objet WeeChat ou d’une extension
-
hashtable : variables à mettre à jour : les clés sont les noms des variables, les valeurs sont les nouvelles valeurs pour les variables (clés et valeurs sont des chaînes de caractères), quelques clés spéciales sont acceptées :
-
clé
__create_allowed
(avec n’importe quelle valeur) : retourne 1 si la création est autorisée pour la structure, sinon 0 (WeeChat ≥ 0.4.0) -
clé
__delete_allowed
(avec n’importe quelle valeur) : retourne 1 si la suppression est autorisée pour la structure, sinon 0 -
clé
__update_allowed
, la valeur est le nom d’une variable : retourne 1 si la mise à jour est autorisée pour la variable, sinon 0 -
clé
__delete
(avec n’importe quelle valeur) : supprime la structure (si autorisé)
-
Valeur de retour :
-
nombre de variables mises à jour
Exemple en C :
Script (Python) :
3.20.26. weechat_hdata_get_string
WeeChat ≥ 0.3.6.
Retourner une valeur pour une propriété d’un hdata sous forme de chaîne.
Prototype :
Paramètres :
-
hdata : pointeur vers le hdata
-
property : nom de la propriété :
-
var_keys : chaîne avec la liste des clés pour les variables du hdata (format : "key1,key2,key3")
-
var_values : chaîne avec la liste des valeurs pour les variables du hdata (format : "value1,value2,value3")
-
var_keys_values : chaîne avec la liste des clés et valeurs pour les variables du hdata (format : "key1:value1,key2:value2,key3:value3")
-
var_prev : nom de la variable dans la structure qui est un pointeur vers l'élément précédent dans la liste
-
var_next : nom de la variable dans la structure qui est un pointeur vers l'élément suivant dans la liste
-
list_keys : chaîne avec la liste des clés pour les listes du hdata (format : "key1,key2,key3")
-
list_values : chaîne avec la liste des valeurs pour les listes du hdata (format : "value1,value2,value3")
-
list_keys_values : chaîne avec la liste des clés et valeurs pour les listes du hdata (format : "key1:value1,key2:value2,key3:value3")
-
Valeur de retour :
-
valeur de la propriété sous forme de chaîne
Exemple en C :
Script (Python) :
3.21. Mise à jour
Fonctions pour la mise à jour de WeeChat (commande "/upgrade").
3.21.1. weechat_upgrade_new
Créer ou lire un fichier pour la mise à jour.
Prototype :
Paramètres :
-
filename : nom du fichier (l’extension ".upgrade" sera ajoutée automatiquement par WeeChat)
-
write :
-
1 : création du fichier (mode écriture, avant la mise à jour)
-
0 : lecture du fichier (après la mise à jour)
-
Valeur de retour :
-
pointeur vers le fichier de mise à jour
Exemple en C :
Script (Python) :
3.21.2. weechat_upgrade_write_object
Écrire un objet dans le fichier de mise à jour.
Prototype :
Paramètres :
-
upgrade_file : pointeur vers le fichier de mise à jour
-
object_id : identifiant de l’objet
-
infolist : infolist à écrire dans le fichier
Valeur de retour :
-
1 si ok, 0 en cas d’erreur
Exemple en C :
Script (Python) :
3.21.3. weechat_upgrade_read
Lire un fichier de mise à jour.
Prototype :
Paramètres :
-
upgrade_file : pointeur vers le fichier de mise à jour
-
callback_read : fonction appelée pour chaque objet lu dans le fichier de mise à jour, paramètres et valeur de retour :
-
void *data : pointeur
-
struct t_upgrade_file *upgrade_file : pointeur vers le fichier de mise à jour
-
int object_id : identifiant de l’objet
-
struct t_infolist *infolist : infolist avec le contenu de l’objet
-
valeur de retour :
-
WEECHAT_RC_OK
-
WEECHAT_RC_ERROR
-
-
-
callback_read_data : pointeur donné au "callback" lorsqu’il est appelé par WeeChat
Valeur de retour :
-
1 si ok, 0 en cas d’erreur
Exemple en C :
Script (Python) :
3.21.4. weechat_upgrade_close
Fermer un fichier de mise à jour.
Prototype :
Paramètres :
-
upgrade_file : pointeur vers le fichier de mise à jour
Exemple en C :
Script (Python) :