diff options
-rw-r--r-- | doc/en/CMakeLists.txt | 2 | ||||
-rw-r--r-- | doc/en/Makefile.am | 2 | ||||
-rw-r--r-- | doc/en/weechat_scripting.en.txt | 8 | ||||
-rw-r--r-- | doc/fr/CMakeLists.txt | 18 | ||||
-rw-r--r-- | doc/fr/Makefile.am | 6 | ||||
-rw-r--r-- | doc/fr/weechat_plugin_api.fr.txt | 22 | ||||
-rw-r--r-- | doc/fr/weechat_scripting.fr.txt | 435 | ||||
-rw-r--r-- | doc/fr/weechat_user.fr.txt | 30 |
8 files changed, 481 insertions, 42 deletions
diff --git a/doc/en/CMakeLists.txt b/doc/en/CMakeLists.txt index b652eb42d..855ec73ea 100644 --- a/doc/en/CMakeLists.txt +++ b/doc/en/CMakeLists.txt @@ -41,7 +41,7 @@ INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/weechat_plugin_api.en.html DESTINATION # scripting guide ADD_CUSTOM_COMMAND( OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/weechat_scripting.en.html - COMMAND ${ASCIIDOC_EXECUTABLE} ARGS -a toc -a date=`date "+%F"` -a revision="${VERSION}" -n -o ${CMAKE_CURRENT_BINARY_DIR}/weechat_scripting.en.html ${CMAKE_CURRENT_SOURCE_DIR}/weechat_scripting.en.txt + COMMAND ${ASCIIDOC_EXECUTABLE} ARGS -a toc -a toclevels=3 -a date=`date "+%F"` -a revision="${VERSION}" -n -o ${CMAKE_CURRENT_BINARY_DIR}/weechat_scripting.en.html ${CMAKE_CURRENT_SOURCE_DIR}/weechat_scripting.en.txt DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/weechat_scripting.en.txt COMMENT "Building weechat_scripting.en.html" diff --git a/doc/en/Makefile.am b/doc/en/Makefile.am index cfad59768..858438646 100644 --- a/doc/en/Makefile.am +++ b/doc/en/Makefile.am @@ -43,7 +43,7 @@ weechat_plugin_api.en.html: weechat_plugin_api.en.txt $(wildcard autogen/plugin_ # scripting guide weechat_scripting.en.html: weechat_scripting.en.txt - $(ASCIIDOC) -a toc -a date=`date "+%F"` -a revision="$(VERSION)" -n -o weechat_scripting.en.html weechat_scripting.en.txt + $(ASCIIDOC) -a toc -a toclevels=3 -a date=`date "+%F"` -a revision="$(VERSION)" -n -o weechat_scripting.en.html weechat_scripting.en.txt # FAQ weechat_faq.en.html: weechat_faq.en.txt diff --git a/doc/en/weechat_scripting.en.txt b/doc/en/weechat_scripting.en.txt index 668618991..f545fbba2 100644 --- a/doc/en/weechat_scripting.en.txt +++ b/doc/en/weechat_scripting.en.txt @@ -41,7 +41,7 @@ Some things are specific to languages: keyword) ** functions are called with `weechat.xxx(arg1, arg2, ...)` * ruby: -** you have to define 'weechat_init' and call register inside +** you have to define 'weechat_init' and call 'register' inside ** functions are called with `Weechat.xxx(arg1, arg2, ...)` * tcl: ** functions are called with `weechat::xxx arg1 arg2 ...` @@ -396,7 +396,7 @@ For example, to print data on core buffer (WeeChat main buffer), you can do: [source,python] ---------------------------------------- -weechat.prnt("", "hey!") +weechat.prnt("", "hi!") ---------------------------------------- [WARNING] @@ -417,10 +417,10 @@ For example: [source,python] ---------------------------------------- -weechat.hook_timer(1000, 0, 1, "my_timer_cb", "my data!") +weechat.hook_timer(1000, 0, 1, "my_timer_cb", "my data") def my_timer_cb(data, remaining_calls): - # this will display: "my data!" + # this will display: "my data" weechat.prnt("", data) return weechat.WEECHAT_RC_OK ---------------------------------------- diff --git a/doc/fr/CMakeLists.txt b/doc/fr/CMakeLists.txt index f604494da..6678a0e2d 100644 --- a/doc/fr/CMakeLists.txt +++ b/doc/fr/CMakeLists.txt @@ -39,15 +39,15 @@ ADD_CUSTOM_TARGET(doc-plugin-api-fr ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/weec INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/weechat_plugin_api.fr.html DESTINATION share/doc/${PROJECT_NAME}) # scripting guide -#ADD_CUSTOM_COMMAND( -# OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/weechat_scripting.fr.html -# COMMAND ${ASCIIDOC_EXECUTABLE} ARGS -a toc -a date=`date "+%F"` -a revision="${VERSION}" -n -o ${CMAKE_CURRENT_BINARY_DIR}/weechat_scripting.fr.html ${CMAKE_CURRENT_SOURCE_DIR}/weechat_scripting.fr.txt -# DEPENDS -# ${CMAKE_CURRENT_SOURCE_DIR}/weechat_scripting.fr.txt -# COMMENT "Building weechat_scripting.fr.html" -#) -#ADD_CUSTOM_TARGET(doc-scripting-fr ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/weechat_scripting.fr.html) -#INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/weechat_scripting.fr.html DESTINATION share/doc/${PROJECT_NAME}) +ADD_CUSTOM_COMMAND( + OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/weechat_scripting.fr.html + COMMAND ${ASCIIDOC_EXECUTABLE} ARGS -a toc -a toclevels=3 -a date=`date "+%F"` -a revision="${VERSION}" -n -o ${CMAKE_CURRENT_BINARY_DIR}/weechat_scripting.fr.html ${CMAKE_CURRENT_SOURCE_DIR}/weechat_scripting.fr.txt + DEPENDS + ${CMAKE_CURRENT_SOURCE_DIR}/weechat_scripting.fr.txt + COMMENT "Building weechat_scripting.fr.html" +) +ADD_CUSTOM_TARGET(doc-scripting-fr ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/weechat_scripting.fr.html) +INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/weechat_scripting.fr.html DESTINATION share/doc/${PROJECT_NAME}) # FAQ ADD_CUSTOM_COMMAND( diff --git a/doc/fr/Makefile.am b/doc/fr/Makefile.am index ac8d0380d..2a8087296 100644 --- a/doc/fr/Makefile.am +++ b/doc/fr/Makefile.am @@ -18,6 +18,8 @@ docdir = $(datadir)/doc/$(PACKAGE) EXTRA_DIST = CMakeLists.txt \ weechat_user.fr.txt \ + weechat_plugin_api.fr.txt \ + weechat_scripting.fr.txt \ weechat_faq.fr.txt \ weechat_quickstart.fr.txt \ weechat_tester.fr.txt \ @@ -25,6 +27,8 @@ EXTRA_DIST = CMakeLists.txt \ $(wildcard autogen/plugin_api/*.txt) all-local: weechat_user.fr.html \ + weechat_plugin_api.fr.html \ + weechat_scripting.fr.html \ weechat_faq.fr.html \ weechat_quickstart.fr.html \ weechat_tester.fr.html @@ -39,7 +43,7 @@ weechat_plugin_api.fr.html: weechat_plugin_api.fr.txt $(wildcard autogen/plugin_ # scripting guide weechat_scripting.fr.html: weechat_scripting.fr.txt - $(ASCIIDOC) -a toc -a toc_title='Table des matières' -a date=`date "+%F"` -a revision="$(VERSION)" -n -o weechat_scripting.fr.html weechat_scripting.fr.txt + $(ASCIIDOC) -a toc -a toclevels=3 -a toc_title='Table des matières' -a date=`date "+%F"` -a revision="$(VERSION)" -n -o weechat_scripting.fr.html weechat_scripting.fr.txt # FAQ weechat_faq.fr.html: weechat_faq.fr.txt diff --git a/doc/fr/weechat_plugin_api.fr.txt b/doc/fr/weechat_plugin_api.fr.txt index c0f74d1e5..ad292970e 100644 --- a/doc/fr/weechat_plugin_api.fr.txt +++ b/doc/fr/weechat_plugin_api.fr.txt @@ -119,7 +119,7 @@ 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): +Pour compiler l'extension qui n'a qu'un fichier "toto.c" (sous GNU/Linux) : ---------------------------------------- $ gcc -fPIC -Wall -c toto.c @@ -3873,7 +3873,7 @@ Paramètres : 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 "||". Les codes complétions par défaut sont : -include ::autogen/plugin_api/completions.txt[] +include::autogen/plugin_api/completions.txt[] ** codes spéciaux : *** '%%command' : réutiliser le modèle de complétion de la commande 'command' *** '%-' : arrêter la complétion @@ -4121,7 +4121,7 @@ struct t_hook *weechat_hook_process (const char *command, Paramètres : * 'command' : commande à lancer dans le processus fils -* 'timeout' : timeout pour la commande (en millisecondes): après ce délai, le +* 'timeout' : timeout pour la commande (en millisecondes) : après ce délai, le processus fils est tué (0 signifie pas de limite) * 'callback' : function appelée quand des données du fils sont disponibles, or ou quand le fils s'est terminé, paramètres : @@ -5452,9 +5452,9 @@ Paramètres : | hotlist | "+", "-", WEECHAT_HOTLIST_LOW, WEECHAT_HOTLIST_MESSAGE, WEECHAT_HOTLIST_PRIVATE, WEECHAT_HOTLIST_HIGHLIGHT | - "+": active la hotlist (option globale, le pointeur vers le tampon n'est pas + "+" : active la hotlist (option globale, le pointeur vers le tampon n'est pas utilisé) + - "-": désactive la hotlist (option globale, le pointeur vers le tampon n'est + "-" : désactive la hotlist (option globale, le pointeur vers le tampon n'est pas utilisé) + priorité : ajouter ce tampon dans la hotlist avec cette priorité @@ -5462,8 +5462,8 @@ Paramètres : définit le marqueur de données non lues après la dernière ligne du tampon | display | "1", "auto" | - "1": basculer vers ce tampon dans la fenêtre active + - "auto": basculer vers ce tampon dans la fenêtre active, le marqueur de + "1" : basculer vers ce tampon dans la fenêtre active + + "auto" : basculer vers ce tampon dans la fenêtre active, le marqueur de données non lues n'est pas réinitialisé | number | numéro | @@ -5707,7 +5707,7 @@ Exemple : [source,C] ---------------------------------------- -weechat_printf (NULL, "la fenêtre courante est en position (x,y): (%d,%d)", +weechat_printf (NULL, "la fenêtre courante est en position (x,y) : (%d,%d)", weechat_window_get_integer (weechat_current_window (), "win_x"), weechat_window_get_integer (weechat_current_window (), "win_y")); ---------------------------------------- @@ -5814,7 +5814,7 @@ Paramètres : 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, +groupes "1|test" et "2|abc" seront affichés dans cet ordre : "test" en premier, puis "abc" en second. Valeur de retour : @@ -6508,7 +6508,7 @@ const char *weechat_info_get (const char *info_name, const char *arguments); Paramètres : * 'info_name' : nom de l'information à lire : -include ::autogen/plugin_api/infos.txt[] +include::autogen/plugin_api/infos.txt[] * 'arguments' : paramètres pour l'information demandée (optionnels, NULL si aucun paramètre n'est nécessaire) @@ -6784,7 +6784,7 @@ struct t_infolist *weechat_infolist_get (const char *infolist_name, Paramètres : * 'infolist_name' : nom de l'infolist à lire : -include ::autogen/plugin_api/infolists.txt[] +include::autogen/plugin_api/infolists.txt[] * '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 diff --git a/doc/fr/weechat_scripting.fr.txt b/doc/fr/weechat_scripting.fr.txt new file mode 100644 index 000000000..3a1939143 --- /dev/null +++ b/doc/fr/weechat_scripting.fr.txt @@ -0,0 +1,435 @@ +WeeChat Guide pour Scripts +========================== +FlashCode <flashcode@flashtux.org> + + +Ce manuel documente le client de messagerie instantanée WeeChat, il fait +partie de WeeChat. + +La dernière version de ce document peut être téléchargée sur cette page : +http://weechat.flashtux.org/doc.php + + +[[introduction]] +Introduction +------------ + +WeeChat (Wee Enhanced Environment for Chat) est un client de discussion libre, +rapide et léger, conçu pour différents systèmes d'exploitation. + +Ce manuel documente la façon d'écrire des scripts pour WeeChat, en utilisant +l'un des cinq langages de script supportés : perl, python, ruby, lua ou tcl. + +[NOTE] +La majorité des exemples de cette documentation sont écrits en Python, mais +l'API est la même pour les autres langages. + +[[scripts_in_weechat]] +Scripts dans WeeChat +-------------------- + +[[languages_specifities]] +Spécificités des langages +~~~~~~~~~~~~~~~~~~~~~~~~~ + +Quelques choses sont spécifiques aux langages : + +* perl : +** les fonctions sont appelées par `weechat::xxx(arg1, arg2, ...);` +* python : +** vous devez utiliser `import weechat` +** les fonctions `print*` se nomment `prnt*` en python (car 'print' est un mot + clé réservé) +** les fonctions sont appelées par `weechat.xxx(arg1, arg2, ...)` +* ruby : +** vous devez définir 'weechat_init' et appeler 'register' dedans +** les fonctions sont appelées par `Weechat.xxx(arg1, arg2, ...)` +* tcl : +** les fonctions sont appelées par `weechat::xxx arg1 arg2 ...` + +[[register]] +Register +~~~~~~~~ + +Tous les scripts WeeChat doivent s'enregistrer ("register") auprès de WeeChat, +et cela doit être la première fonction WeeChat appelée dans le script. + +Prorotype : + +[source,python] +---------------------------------------- +weechat.register(name, author, version, license, description, shutdown_function, charset) +---------------------------------------- + +Paramètres : + +* 'name' : chaîne, nom interne du script +* 'author' : chaîne, nom de l'auteur +* 'version' : chaîne, version du script +* 'license' : chaîne, licence du script +* 'description' : chaîne, description courte du script +* 'shutdown_function' : chaîne, nom de la fonction appelée lorsque le script + est déchargé +* 'charset' : chaîne, jeu de caractères du script (optionnel, si votre script + est UTF-8, vous pouvez utiliser une valeur vide ici, car UTF-8 est le jeu de + caractères par défaut) + +[[script_example]] +Exemple de script +~~~~~~~~~~~~~~~~~ + +Exemple de script, pour chaque langage : + +* perl : + +[source,perl] +---------------------------------------- +weechat::register("test_perl", "FlashCode", "1.0", "GPL3", "Script de test", "", ""); +weechat::print("", "Bonjour, du script perl !"); +---------------------------------------- + +* python : + +[source,python] +---------------------------------------- +import weechat + +weechat.register("test_python", "FlashCode", "1.0", "GPL3", "Script de test", "", "") +weechat.prnt("", "Bonjour, du script python !") +---------------------------------------- + +* ruby : + +[source,ruby] +---------------------------------------- +def weechat_init + Weechat.register("test_ruby", "FlashCode", "1.0", "GPL3", "Script de test", "", "") + Weechat.print("", "Bonjour, du script ruby !") + return Weechat::WEECHAT_RC_OK +end +---------------------------------------- + +* lua : + +[source,lua] +---------------------------------------- +weechat.register("test_lua", "FlashCode", "1.0", "GPL3", "Script de test", "", "") +weechat.print("", "Bonjour, du script lua !") +---------------------------------------- + +* tcl : + +// [source,tcl] +---------------------------------------- +weechat::register "test_tcl" "FlashCode" "1.0" "GPL3" "Script de test" "" "" +weechat::print "" "Bonjour, du script tcl !" +---------------------------------------- + +[[load_script]] +Chargement du script +~~~~~~~~~~~~~~~~~~~~ + +Vous devez utiliser la commande, dépendant du langage : + +---------------------------------------- +/perl load perl/script.pl +/python load python/script.py +/ruby load ruby/script.rb +/lua load lua/script.lua +/tcl load tcl/script.tcl +---------------------------------------- + +Vous pouvez faire un lien dans le répertoire 'langage/autoload' pour charger +automatiquement le script quand WeeChat démarre. + +Par exemple en perl : + +---------------------------------------- +$ cd ~/.weechat/perl/autoload +$ ln -s ../script.pl +---------------------------------------- + +[[script_api]] +API script +---------- + +L'API script est quasiment identique à l'API C. +Vous pouvez consulter la 'Référence API Extension WeeChat' pour le détail de +chaque fonction de l'API : prototype, paramètres, valeurs de retour, exemples. + +Il est important de bien faire la différence entre une 'extension' et un +'script' : une 'extension' est un fichier binaire compilé et chargé avec la +commande `/plugin`, tandis qu'un 'script' est un fichier texte chargé par une +extension comme 'perl' par la commande `perl`. + +Quand cotre script 'test.py' appelle une fonction de l'API WeeChat, le chemin +est le suivant : + +........................................ + (API script) (API C) + \/ \/ +test.py -------> extension python (python.so) -------> WeeChat core +........................................ + +Quand WeeChat appelle un "callabck" dans votre script 'test.py', le chemin +est inversé : + +........................................ + (API C) (API script) + \/ \/ +WeeChat core -------> extension plugin (python.so) -------> test.py +........................................ + +Fonctions +~~~~~~~~~ + +Liste des fonctions de l'API script : + +* général : +** 'register' +* extensions : +** 'plugin_get_name' +* chaînes : +** 'charset_set' +** 'iconv_to_internal' +** 'iconv_from_internal' +** 'gettext' +** 'ngettext' +** 'string_remove_color' +* répertoires : +** 'mkdir_home' +** 'mkdir' +** 'mkdir_parents' +* listes triées : +** 'list_new' +** 'list_add' +** 'list_search' +** 'list_casesearch' +** 'list_get' +** 'list_set' +** 'list_next' +** 'list_prev' +** 'list_string' +** 'list_size' +** 'list_remove' +** 'list_remove_all' +** 'list_free' +* fichiers de configuration : +** 'config_new' +** 'config_new_section' +** 'config_search_section' +** 'config_new_option' +** 'config_search_option' +** 'config_string_to_boolean' +** 'config_option_reset' +** 'config_option_set' +** 'config_option_set_null' +** 'config_option_unset' +** 'config_option_rename' +** 'config_option_is_null' +** 'config_option_default_is_null' +** 'config_boolean' +** 'config_boolean_default' +** 'config_integer' +** 'config_integer_default' +** 'config_string' +** 'config_string_default' +** 'config_color' +** 'config_color_default' +** 'config_write_option' +** 'config_write_line' +** 'config_write' +** 'config_read' +** 'config_reload' +** 'config_option_free' +** 'config_section_free_options' +** 'config_section_free' +** 'config_free' +** 'config_get' +** 'config_get_plugin' +** 'config_is_set_plugin' +** 'config_set_plugin' +** 'config_unset_plugin' +* affichage : +** 'prefix' +** 'color' +** 'print' (pour python : 'prnt') +** 'print_date_tags' (pour python : 'prnt_date_tags') +** 'print_y' (pour python : 'prnt_y') +** 'log_print' +* hooks : +** 'hook_command' +** 'hook_command_run' +** 'hook_timer' +** 'hook_fd' +** 'hook_process' +** 'hook_connect' +** 'hook_print' +** 'hook_signal' +** 'hook_signal_send' +** 'hook_config' +** 'hook_completion' +** 'hook_completion_list_add' +** 'hook_modifier' +** 'hook_modifier_exec' +** 'hook_info' +** 'hook_infolist' +** 'unhook' +** 'unhook_all' +* tampons : +** 'buffer_new' +** 'buffer_search' +** 'current_buffer' +** 'buffer_clear' +** 'buffer_close' +** 'buffer_get_integer' +** 'buffer_get_string' +** 'buffer_get_pointer' +** 'buffer_set' +* fenêtres : +** 'current_window' +** 'window_get_integer' +** 'window_get_string' +** 'window_get_pointer' +** 'window_set_title' +* liste des pseudos : +** 'nicklist_add_group' +** 'nicklist_search_group' +** 'nicklist_add_nick' +** 'nicklist_search_nick' +** 'nicklist_remove_group' +** 'nicklist_remove_nick' +** 'nicklist_remove_all' +* barres : +** 'bar_item_search' +** 'bar_item_new' +** 'bar_item_update' +** 'bar_item_remove' +** 'bar_search' +** 'bar_new' +** 'bar_set' +** 'bar_update' +** 'bar_remove' +* commandes : +** 'command' +* infos : +** 'info_get' +* infolists : +** 'infolist_new' +** 'infolist_new_var_integer' +** 'infolist_new_var_string' +** 'infolist_new_var_pointer' +** 'infolist_new_var_time' +** 'infolist_get' +** 'infolist_next' +** 'infolist_prev' +** 'infolist_fields' +** 'infolist_integer' +** 'infolist_string' +** 'infolist_pointer' +** 'infolist_time' +** 'infolist_free' +* mise à jour : +** 'upgrade_new' +** 'upgrade_write_object' +** 'upgrade_read' +** 'upgrade_close' + +Constantes +~~~~~~~~~~ + +Liste des constantes de l'API script : + +* 'WEECHAT_RC_OK' +* 'WEECHAT_RC_OK_EAT' +* 'WEECHAT_RC_ERROR' +* 'WEECHAT_CONFIG_READ_OK' +* 'WEECHAT_CONFIG_READ_MEMORY_ERROR' +* 'WEECHAT_CONFIG_READ_FILE_NOT_FOUND' +* 'WEECHAT_CONFIG_WRITE_OK' +* 'WEECHAT_CONFIG_WRITE_ERROR' +* 'WEECHAT_CONFIG_WRITE_MEMORY_ERROR' +* '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' +* 'WEECHAT_CONFIG_OPTION_UNSET_OK_NO_RESET' +* 'WEECHAT_CONFIG_OPTION_UNSET_OK_RESET' +* 'WEECHAT_CONFIG_OPTION_UNSET_OK_REMOVED' +* 'WEECHAT_CONFIG_OPTION_UNSET_ERROR' +* 'WEECHAT_LIST_POS_SORT' +* 'WEECHAT_LIST_POS_BEGINNING' +* 'WEECHAT_LIST_POS_END' +* 'WEECHAT_HOTLIST_LOW' +* 'WEECHAT_HOTLIST_MESSAGE' +* 'WEECHAT_HOTLIST_PRIVATE' +* 'WEECHAT_HOTLIST_HIGHLIGHT' +* 'WEECHAT_HOOK_PROCESS_RUNNING' +* 'WEECHAT_HOOK_PROCESS_ERROR' +* 'WEECHAT_HOOK_CONNECT_OK' +* 'WEECHAT_HOOK_CONNECT_ADDRESS_NOT_FOUND' +* 'WEECHAT_HOOK_CONNECT_IP_ADDRESS_NOT_FOUND' +* 'WEECHAT_HOOK_CONNECT_CONNECTION_REFUSED' +* 'WEECHAT_HOOK_CONNECT_PROXY_ERROR' +* 'WEECHAT_HOOK_CONNECT_LOCAL_HOSTNAME_ERROR' +* 'WEECHAT_HOOK_CONNECT_GNUTLS_INIT_ERROR' +* 'WEECHAT_HOOK_CONNECT_GNUTLS_HANDSHAKE_ERROR' +* 'WEECHAT_HOOK_CONNECT_MEMORY_ERROR' +* 'WEECHAT_HOOK_SIGNAL_STRING' +* 'WEECHAT_HOOK_SIGNAL_INT' +* 'WEECHAT_HOOK_SIGNAL_POINTER' + +Différences avec l'API C +~~~~~~~~~~~~~~~~~~~~~~~~ + +Pointeurs +^^^^^^^^^ + +Comme vous le savez probablement, il n'y a pas vraiment de "pointeurs" dans les +scripts. Donc quand les fonctions de l'API retournent un pointeur, il est +converti en chaîne pour le script. + +Par exemple, si une fonction retourne le pointeur 0x1234ab56, le script recevra +la chaîne "0x1234ab56". + +Et quand une fonction de l'API attend un pointeur dans ses paramètres, le +script doit envoyer cette valeur sous forme de chaîne. L'extension C la +convertira en pointeur réel avant d'appeler la fonction de l'API C. + +Une chaîne vide ou "0x0" sont autorisées, cela signifie le pointeur NULL en C. +Par exemple, pour afficher un message sur le tampon core (tampon principal +WeeChat), vous pouvez faire : + +[source,python] +---------------------------------------- +weechat.prnt("", "bonjour !") +---------------------------------------- + +[WARNING] +Dans beaucoup de fonctions, pour des raisons de vitesse, WeeChat ne vérifie pas +si votre pointeur est correct ou pas. Il est de votre responsabilité de +vérifier que vous donnez un pointeur valide, sinon vous pourriez voir un joli +rapport de crash ;) + +Callbacks +^^^^^^^^^ + +Tous les "callbacks" WeeChat doivent retourner WEECHAT_RC_OK ou +WEECHAT_RC_ERROR (l'exception est le callback du "modifier", qui retourne une +chaîne de caractères). + +Les "callbacks" C utilisent un paramètre "data", qui est un pointeur. Dans +l'API script, ce "data" est une chaîne de caractères avec n'importe quelle +valeur (ce n'est pas un pointeur). + +Par exemple : + +[source,python] +---------------------------------------- +weechat.hook_timer(1000, 0, 1, "mon_timer_cb", "mes données") + +def mon_timer_cb(data, remaining_calls): + # cela affichera : "mes données" + weechat.prnt("", data) + return weechat.WEECHAT_RC_OK +---------------------------------------- diff --git a/doc/fr/weechat_user.fr.txt b/doc/fr/weechat_user.fr.txt index 2230645ca..4c2a85e83 100644 --- a/doc/fr/weechat_user.fr.txt +++ b/doc/fr/weechat_user.fr.txt @@ -63,7 +63,7 @@ Les paquets binaires sont disponibles pour beaucoup de distributions, dont : * Debian (ou toute distribution compatible Debian) : `apt-get install weechat` * Mandriva/RedHat (ou toute distribution compatible avec les RPM) : `rpm -i /path/to/weechat-x.y.z-1.i386.rpm` -* Gentoo: `emerge weechat` +* Gentoo : `emerge weechat` Des paquets additionnels peuvent être utiles également, comme weechat-plugins. @@ -123,7 +123,7 @@ $ make install Sources Git ~~~~~~~~~~~ -Attention: les sources GIT sont réservés aux utilisateurs avancés : il se peut +Attention : les sources GIT sont réservés aux utilisateurs avancés : il se peut que WeeChat ne compile pas et qu'il soit très instable. Vous êtes prévenus ! Pour récupérer les sources GIT, tapez cette commande : @@ -264,7 +264,7 @@ La barre 'status' contient les objets (items) suivants par défaut : nombre de pseudos dans la liste des pseudos | buffer_filter | `*` | - indicateur de filtrage: `*` signifie que des lignes sont filtrées (cachées), + indicateur de filtrage : `*` signifie que des lignes sont filtrées (cachées), une valeur vide signifie que toutes les lignes sont affichées | lag | `[Lag: 2.5]` | @@ -409,7 +409,7 @@ Touches pour la ligne de commande `/input clipboard_paste` | Tab | - Compléter la commande ou le pseudo (Tab de nouveau: trouver la complétion + Compléter la commande ou le pseudo (Tab de nouveau : trouver la complétion suivante) + `/input complete_next` @@ -424,16 +424,16 @@ Touches pour la ligne de commande | Enter + Ctrl + J + Ctrl + M | - Exécuter la commande ou envoyer le message (en mode recherche: arrêter la + Exécuter la commande ou envoyer le message (en mode recherche : arrêter la recherche) + `/input return` | Flèche haut | - Rappeler la commande précédente (en mode recherche: chercher plus haut) + + Rappeler la commande précédente (en mode recherche : chercher plus haut) + `/input history_previous` | Flèche bas | - Rappeler la commande suivante (en mode recherche: chercher plus bas) + + Rappeler la commande suivante (en mode recherche : chercher plus bas) + `/input history_next` | Ctrl + flèche haut | @@ -595,7 +595,7 @@ Touches pour les tampons / fenêtres `/window right` | Alt + Z | - Zoom sur la fenêtre courante (Alt + Z de nouveau: restaurer l'état initial + Zoom sur la fenêtre courante (Alt + Z de nouveau : restaurer l'état initial des fenêtres, avant le zoom) + `/window zoom` @@ -685,7 +685,7 @@ suit et éventuellement une valeur) : Le même code (sans le numéro pour ^Cc) peut être utilisé pour stopper l'attribut défini. -Les codes couleur pour ^Cc sont: +Les codes couleur pour ^Cc sont : [width="20%",cols="^1m,2"] |======================================== @@ -769,7 +769,7 @@ démarre, et il est posisble de charger et décharger des extensions pendant que WeeChat tourne. Il est important de bien faire la différence entre une 'extension' et un -'script': une 'extension' est un fichier binaire compilé et chargé avec la +'script' : une 'extension' est un fichier binaire compilé et chargé avec la commande `/plugin`, tandis qu'un 'script' est un fichier texte chargé par une extension comme 'perl' par la commande `perl`. @@ -1074,10 +1074,10 @@ signifie "enregistrer tous les messages". Les extensions utilisent différent niveaux pour les messages affichés. L'extension IRC utilise les niveaux suivants : -* niveau 1: message d'un utilisateur (sur un canal ou en privé) -* niveau 2: changement de pseudo (vous ou quelqu'un d'autre) -* niveau 3: tout message du serveur (sauf join/part/quit) -* niveau 4: message join/part/quit du serveur +* niveau 1 : message d'un utilisateur (sur un canal ou en privé) +* niveau 2 : changement de pseudo (vous ou quelqu'un d'autre) +* niveau 3 : tout message du serveur (sauf join/part/quit) +* niveau 4 : message join/part/quit du serveur Donc si vous affectez le niveau 3 pour un canal IRC, WeeChat enregistrera tous les messages sauf les join/part/quit. @@ -1146,7 +1146,7 @@ Vous obtiendrez les fichiers suivants : Extensions Scripts ~~~~~~~~~~~~~~~~~~ -WeeChat fournit 5 extensions pour scripts: Perl, Python, Ruby, Lua and Tcl. +WeeChat fournit 5 extensions pour scripts : Perl, Python, Ruby, Lua and Tcl. Ces extensions peuvent charger, exécuter et décharger des scripts pour ces langages. |