diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt index c953efc38..2fb196c9c 100644 --- a/doc/CMakeLists.txt +++ b/doc/CMakeLists.txt @@ -100,7 +100,9 @@ IF(BUILD_HTML OR BUILD_PDF) COMMAND ${COPY} ARGS "${CMAKE_CURRENT_SOURCE_DIR}/${dlang}/usage.${dlang}.xml" "${CMAKE_CURRENT_BINARY_DIR}/html/${dlang}-build" COMMAND ${COPY} ARGS "${CMAKE_CURRENT_SOURCE_DIR}/${dlang}/plugins.${dlang}.xml" "${CMAKE_CURRENT_BINARY_DIR}/html/${dlang}-build" COMMAND ${COPY} ARGS "${CMAKE_CURRENT_SOURCE_DIR}/${dlang}/plugin_api.${dlang}.xml" "${CMAKE_CURRENT_BINARY_DIR}/html/${dlang}-build" + COMMAND ${COPY} ARGS "${CMAKE_CURRENT_SOURCE_DIR}/${dlang}/plugin_irc.${dlang}.xml" "${CMAKE_CURRENT_BINARY_DIR}/html/${dlang}-build" COMMAND ${COPY} ARGS "${CMAKE_CURRENT_SOURCE_DIR}/${dlang}/plugin_charset.${dlang}.xml" "${CMAKE_CURRENT_BINARY_DIR}/html/${dlang}-build" + COMMAND ${COPY} ARGS "${CMAKE_CURRENT_SOURCE_DIR}/${dlang}/plugin_fifo.${dlang}.xml" "${CMAKE_CURRENT_BINARY_DIR}/html/${dlang}-build" COMMAND ${COPY} ARGS "${CMAKE_CURRENT_SOURCE_DIR}/${dlang}/plugin_scripts.${dlang}.xml" "${CMAKE_CURRENT_BINARY_DIR}/html/${dlang}-build" COMMAND ${COPY} ARGS "${CMAKE_CURRENT_SOURCE_DIR}/${dlang}/authors.${dlang}.xml" "${CMAKE_CURRENT_BINARY_DIR}/html/${dlang}-build" COMMAND ${COPY} ARGS "${CMAKE_CURRENT_SOURCE_DIR}/${dlang}/config.xml" "${CMAKE_CURRENT_BINARY_DIR}/html/${dlang}-build" @@ -119,6 +121,9 @@ IF(BUILD_HTML OR BUILD_PDF) ${CMAKE_CURRENT_SOURCE_DIR}/${dlang}/usage.${dlang}.xml ${CMAKE_CURRENT_SOURCE_DIR}/${dlang}/plugins.${dlang}.xml ${CMAKE_CURRENT_SOURCE_DIR}/${dlang}/plugin_api.${dlang}.xml + ${CMAKE_CURRENT_SOURCE_DIR}/${dlang}/plugin_irc.${dlang}.xml + ${CMAKE_CURRENT_SOURCE_DIR}/${dlang}/plugin_charset.${dlang}.xml + ${CMAKE_CURRENT_SOURCE_DIR}/${dlang}/plugin_fifo.${dlang}.xml ${CMAKE_CURRENT_SOURCE_DIR}/${dlang}/plugin_scripts.${dlang}.xml ${CMAKE_CURRENT_SOURCE_DIR}/${dlang}/authors.${dlang}.xml ${CMAKE_CURRENT_SOURCE_DIR}/${dlang}/config.xml @@ -150,7 +155,9 @@ IF(BUILD_HTML OR BUILD_PDF) COMMAND ${COPY} ARGS "${CMAKE_CURRENT_SOURCE_DIR}/${dlang}/usage.${dlang}.xml" "${CMAKE_CURRENT_BINARY_DIR}/pdf/${dlang}-build" COMMAND ${COPY} ARGS "${CMAKE_CURRENT_SOURCE_DIR}/${dlang}/plugins.${dlang}.xml" "${CMAKE_CURRENT_BINARY_DIR}/pdf/${dlang}-build" COMMAND ${COPY} ARGS "${CMAKE_CURRENT_SOURCE_DIR}/${dlang}/plugin_api.${dlang}.xml" "${CMAKE_CURRENT_BINARY_DIR}/pdf/${dlang}-build" + COMMAND ${COPY} ARGS "${CMAKE_CURRENT_SOURCE_DIR}/${dlang}/plugin_irc.${dlang}.xml" "${CMAKE_CURRENT_BINARY_DIR}/pdf/${dlang}-build" COMMAND ${COPY} ARGS "${CMAKE_CURRENT_SOURCE_DIR}/${dlang}/plugin_charset.${dlang}.xml" "${CMAKE_CURRENT_BINARY_DIR}/pdf/${dlang}-build" + COMMAND ${COPY} ARGS "${CMAKE_CURRENT_SOURCE_DIR}/${dlang}/plugin_fifo.${dlang}.xml" "${CMAKE_CURRENT_BINARY_DIR}/pdf/${dlang}-build" COMMAND ${COPY} ARGS "${CMAKE_CURRENT_SOURCE_DIR}/${dlang}/plugin_scripts.${dlang}.xml" "${CMAKE_CURRENT_BINARY_DIR}/pdf/${dlang}-build" COMMAND ${COPY} ARGS "${CMAKE_CURRENT_SOURCE_DIR}/${dlang}/authors.${dlang}.xml" "${CMAKE_CURRENT_BINARY_DIR}/pdf/${dlang}-build" COMMAND ${COPY} ARGS "${CMAKE_CURRENT_SOURCE_DIR}/${dlang}/config.xml" "${CMAKE_CURRENT_BINARY_DIR}/pdf/${dlang}-build" @@ -166,6 +173,9 @@ IF(BUILD_HTML OR BUILD_PDF) ${CMAKE_CURRENT_SOURCE_DIR}/${dlang}/usage.${dlang}.xml ${CMAKE_CURRENT_SOURCE_DIR}/${dlang}/plugins.${dlang}.xml ${CMAKE_CURRENT_SOURCE_DIR}/${dlang}/plugin_api.${dlang}.xml + ${CMAKE_CURRENT_SOURCE_DIR}/${dlang}/plugin_irc.${dlang}.xml + ${CMAKE_CURRENT_SOURCE_DIR}/${dlang}/plugin_charset.${dlang}.xml + ${CMAKE_CURRENT_SOURCE_DIR}/${dlang}/plugin_fifo.${dlang}.xml ${CMAKE_CURRENT_SOURCE_DIR}/${dlang}/plugin_scripts.${dlang}.xml ${CMAKE_CURRENT_SOURCE_DIR}/${dlang}/authors.${dlang}.xml ${CMAKE_CURRENT_SOURCE_DIR}/${dlang}/config.xml diff --git a/doc/de/Makefile.am b/doc/de/Makefile.am index 060e21424..c5eba4f1a 100644 --- a/doc/de/Makefile.am +++ b/doc/de/Makefile.am @@ -16,11 +16,16 @@ LANGCODE = de BOOK = weechat.$(LANGCODE) -BOOK_INCLUDE = intro.$(LANGCODE).xml install.$(LANGCODE).xml \ - usage.$(LANGCODE).xml plugins.$(LANGCODE).xml \ - plugin_api.$(LANGCODE).xml plugin_charset.$(LANGCODE).xml \ +BOOK_INCLUDE = intro.$(LANGCODE).xml \ + install.$(LANGCODE).xml \ + usage.$(LANGCODE).xml \ + plugins.$(LANGCODE).xml \ + plugin_api.$(LANGCODE).xml \ + plugin_irc.$(LANGCODE).xml \ + plugin_charset.$(LANGCODE).xml \ + plugin_fifo.$(LANGCODE).xml \ plugin_scripts.$(LANGCODE).xml \ - weechat_commands.xml irc_commands.xml key_functions.xml \ + weechat_commands.xml \ config.xml QUICKSTART = weechat_quickstart.$(LANGCODE).txt diff --git a/doc/de/authors.de.xml b/doc/de/authors.de.xml index a355053d6..24af16319 100644 --- a/doc/de/authors.de.xml +++ b/doc/de/authors.de.xml @@ -73,6 +73,24 @@ along with this program. If not, see . Tschechische Übersetzung, Patches + + + Pavel Shevchuk - + Russisch Übersetzung + + + + + Frank Zacharias - + Deutsche Übersetzung + + + + + voroskoi - + Ungarische Übersetzung + + Rudolf Polzer - @@ -103,24 +121,6 @@ along with this program. If not, see . Patches - - - voroskoi - - Ungarische Übersetzung - - - - - Frank Zacharias - - Deutsche Übersetzung - - - - - Pavel Shevchuk - - Russisch Übersetzung - - diff --git a/doc/de/install.de.xml b/doc/de/install.de.xml index 692d58024..56fcf2208 100644 --- a/doc/de/install.de.xml +++ b/doc/de/install.de.xml @@ -44,7 +44,7 @@ along with this program. If not, see . Mandriva/RedHat (oder jede RPM-kompatible Distribution): - rpm -i /chemin/weechat-x.y.z-1.i386.rpm + rpm -i /path/to/weechat-x.y.z-1.i386.rpm @@ -63,19 +63,44 @@ along with this program. If not, see .
Quellcode-Pakete + + +
+ Compile with Autotools - - Alles was sie tun müssen, ist in einer Konsole oder einem Terminal - aufzurufen: + + In a console or a terminal: $ ./configure $ make - - - Dann root werden und WeeChat installieren: + + + Dann root werden und WeeChat installieren: $ su (root-Passwort eingeben) # make install - + + +
+ + +
+ Compile with Cmake + + + In a console or a terminal: +$ mkdir build +$ cd build +$ cmake .. +$ make + + + Dann root werden und WeeChat installieren: +$ su +(root-Passwort eingeben) +# make install + + +
@@ -94,7 +119,8 @@ along with this program. If not, see . - Ausführen des folgenden Skripts: + + If you're using Autotools (and not cmake), Ausführen des folgenden Skripts: ./autogen.sh diff --git a/doc/de/intro.de.xml b/doc/de/intro.de.xml index 75f2b012b..10af715b3 100644 --- a/doc/de/intro.de.xml +++ b/doc/de/intro.de.xml @@ -47,8 +47,9 @@ along with this program. If not, see . - viele unterschiedliche User-Interfaces: Curses, wxWidgets, Gtk - und Qt + + viele unterschiedliche User-Interfaces: Curses (wxWidgets, Gtk + und Qt under development) @@ -93,7 +94,7 @@ along with this program. If not, see . -
+
Vorraussetzungen @@ -101,7 +102,9 @@ along with this program. If not, see . - ein laufendes GNU/Linux (Compiler für Quellcode-Pakete) + + ein laufendes GNU/Linux (Compiler für Quellcode-Pakete) or + compatible OS (see above) diff --git a/doc/de/plugin_api.de.xml b/doc/de/plugin_api.de.xml index 61b5b757b..bb47e0f27 100644 --- a/doc/de/plugin_api.de.xml +++ b/doc/de/plugin_api.de.xml @@ -21,6 +21,17 @@ along with this program. If not, see . --> + + Plugin API + + + Dieses Kapitel beschreibt das Plugin-Interface (API). + --- will be completed soon! --- + + + + diff --git a/doc/de/plugin_fifo.de.xml b/doc/de/plugin_fifo.de.xml new file mode 100644 index 000000000..9dfd0e4c8 --- /dev/null +++ b/doc/de/plugin_fifo.de.xml @@ -0,0 +1,100 @@ + + + + +
+ Remote-Schnittstelle (FIFO pipe) + + + + You can remote control WeeChat, by sending commands or text to a + FIFO pipe (if option "plugins.var.fifo.fifo" is enabled, it is by default). + + + + Diese pipe liegt in "~/.weechat/" und hat den Namen + "weechat_fifo_xxxxx" (das xxxxx ist die Prozess-ID (PID) eines + laufenden WeeChat). + + + + + Syntax for the FIFO pipe commands/text is one of following: + + category,name *text or command here + name *text or command here + *text or command here + + + + + Einige Beispiele: + + + + Ändern des Nicks auf freenode in "mynick|out" : + $ echo 'freenode,freenode */nick mynick|out' >~/.weechat/weechat_fifo_12345 + + + + + Senden einer Nachricht an #weechat: + $ echo 'freenode,#weechat *hello everybody!' >~/.weechat/weechat_fifo_12345 + + + + + Senden einer Nachricht an den gegenwärtigen Channel (Puffer, der + in WeeChat angezeigt wird): + $ echo '*hello!' >~/.weechat/weechat_fifo_12345 + Warnung: Das ist gefährlich und sie sollten + das nicht tun, ausgenommen sie wissen was sie tun! + + + + + Sende zwei Kommandos um (alle) Perl-Skripte abzuschalten/neu zu + laden (getrennt durch ein "\n"): + $ echo -e "weechat,weechat */perl unload\nweechat,weechat */perl autoload" >~/.weechat/weechat_fifo_12345 + + + + + + + Sie können ein Skript schreiben, um ein Kommando an alle laufenden WeeChat-Instanzen zu senden, + zum Beispiel: + +#!/bin/sh +if [ $# -eq 1 ]; then + for fifo in ~/.weechat/weechat_fifo_* + do + echo -e "$1" >$fifo + done +fi + + Wenn das Skript "auto_weechat_command" heisst, können sie es + folgendermassen aufrufen: +$ ./auto_weechat_command "freenode,#weechat *hello" + + +
diff --git a/doc/de/plugin_irc.de.xml b/doc/de/plugin_irc.de.xml new file mode 100644 index 000000000..74d2e9e4d --- /dev/null +++ b/doc/de/plugin_irc.de.xml @@ -0,0 +1,27 @@ + + + + +
+ IRC plugin + +
diff --git a/doc/de/plugins.de.xml b/doc/de/plugins.de.xml index 56f39eb20..00ba558b6 100644 --- a/doc/de/plugins.de.xml +++ b/doc/de/plugins.de.xml @@ -25,8 +25,9 @@ along with this program. If not, see . Plugins - Dieses Kapitel beschreibt das Plugin-Interface (API) in WeeChat und die - Standard-Skriptplugins (Perl, Python, Ruby, Lua), die zu WeeChat gehören. + + This chapter describes WeeChat plugin API and default plugins provided with + WeeChat.
@@ -64,28 +65,41 @@ along with this program. If not, see . - Das Plugin muss einige Variablen und Funktionen besitzen - (nötig, sonst kann das Plugin nicht geladen werden): + + The plugin must use some mandatory macros (to define some variables) + and some functions (without them the plugin can't load): + - Variable - Beschreibung + Macro + Description - char plugin_name[] - Plugin Name + WEECHAT_PLUGIN_NAME + plugin name - char plugin_version[] - Plugin Version + WEECHAT_PLUGIN_DESCRIPTION + short description of plugin - char plugin_description[] - kurze Beschreibung des Plugins + WEECHAT_PLUGIN_VERSION + plugin version + + + WEECHAT_PLUGIN_WEECHAT_VERSION + + target WeeChat version where plugin will run (warning: plugin + will not run on any other WeeChat version!) + + + + WEECHAT_PLUGIN_LICENSE + plugin license @@ -101,15 +115,17 @@ along with this program. If not, see . - int weechat_plugin_init (t_weechat_plugin *plugin) + int weechat_plugin_init (struct t_weechat_plugin *plugin, int argc, char *argv[]) - Die Funktion wird aufgerufen, wenn das Plugin geladen wird. - Sie muss bei Erfolg PLUGIN_RC_OK, bei Fehlschlag PLUGIN_RC_KO - zurückgeben. (Bei einem Fehler wird das Plugin nicht geladen) + + function called when plugin is loaded, must return + WEECHAT_RC_OK if successful, WEECHAT_RC_ERROR if error + (if error, plugin will NOT be loaded), argc/argv are arguments + for plugin (given on command line by user) - void weechat_plugin_end (t_weechat_plugin *plugin) + int weechat_plugin_end (struct t_weechat_plugin *plugin) Funktion wird beim Abschalten aufgerufen @@ -117,13 +133,12 @@ along with this program. If not, see . - &plugin_api.de.xml; -
Übersetzen eines Plugins - Das Übersetzen braucht keine WeeChat-Quellen, aber die Datei "weechat-plugin.h". + Das Übersetzen braucht keine WeeChat-Quellen, aber die Datei + "weechat-plugin.h". @@ -159,56 +174,88 @@ along with this program. If not, see . Plugin Beispiel - Vollständiges Beispiel eines Plugins, welches das Kommando /double - implementiert, dass seine Argumente im gegenwärtigen Channel doppelt - ausgibt (ok, das ist weniger nützlich, aber auch nur ein Beispiel!): + + Full example of plugin, which adds a /double command, which displays + two times arguments on current buffer, or execute two times a command + (ok that's not very useful, but that's just an example!): #include <stdlib.h> #include "weechat-plugin.h" -char plugin_name[] = "Double"; -char plugin_version[] = "0.1"; -char plugin_description[] = "Test plugin for WeeChat"; +WEECHAT_PLUGIN_NAME("double"); +WEECHAT_PLUGIN_DESCRIPTION("Test plugin for WeeChat"); +WEECHAT_PLUGIN_AUTHOR("FlashCode <flashcode@flashtux.org>"); +WEECHAT_PLUGIN_VERSION("0.1"); +WEECHAT_PLUGIN_WEECHAT_VERSION("0.2.7"); +WEECHAT_PLUGIN_LICENSE("GPL3"); + +struct t_weechat_plugin *weechat_plugin = NULL; + /* "/double" command manager */ -int double_cmd (t_weechat_plugin *plugin, int argc, char **argv, - char *handler_args, void *handler_pointer) +int +double_cmd (void *data, struct t_gui_buffer *buffer, int argc, + char **argv, char **argv_eol) { - if (argv[2] && (argv[2][0] != '/')) + /* make C compiler happy */ + (void) argv; + + if (argc > 1) { - plugin->exec_command (plugin, NULL, NULL, argv[2]); - plugin->exec_command (plugin, NULL, NULL, argv[2]); + weechat_command (NULL, argv_eol[1]); + weechat_command (NULL, argv_eol[1]); } - return PLUGIN_RC_OK; + + return WEECHAT_RC_OK; } -int weechat_plugin_init (t_weechat_plugin *plugin) +int +weechat_plugin_init (struct t_weechat_plugin *plugin, + int argc, char *argv[]) { - plugin->cmd_handler_add (plugin, "double", - "Display two times a message", - "msg", - "msg: message to display two times", - NULL, - &double_cmd, - NULL, NULL); - return PLUGIN_RC_OK; + weechat_plugin = plugin; + + weechat_hook_command ("double", + "Display two times a message", + "msg", + "msg: message to display two times", + NULL, + &double_cmd, NULL); + + return WEECHAT_RC_OK; } -void weechat_plugin_end (t_weechat_plugin *plugin) +int +weechat_plugin_end (struct t_weechat_plugin *plugin) { /* nothing done here */ + (void) plugin; + + return WEECHAT_RC_OK; }
+ +
- &plugin_charset.de.xml; - - &plugin_scripts.de.xml; + +
+ Default plugins + + &plugin_irc.de.xml; + + + + &plugin_fifo.de.xml; + + + +
diff --git a/doc/de/usage.de.xml b/doc/de/usage.de.xml index cd7b65732..b56f26b23 100644 --- a/doc/de/usage.de.xml +++ b/doc/de/usage.de.xml @@ -30,7 +30,7 @@ along with this program. If not, see . und die FIFO für die remote-Bedienung.
-
+
Starten von WeeChat @@ -50,13 +50,6 @@ along with this program. If not, see . Schaltet das auto-connect ab - - -c, --config - - Zeigt eine Hilfe zu den Konfigurationsmöglichkeiten (Liste - der Optionen) - - -d, --dir <path> @@ -68,25 +61,12 @@ along with this program. If not, see . exitiert. - - -f, --key-functions - - Zeigt die intern verwendeten Funktionen von WeeChat für - bestimmte Tastenkombinationen an - - -h, --help Zeigt eine zusammenfassende Hilfe an. - - -i, --irc-commands - - Zeigt die IRC-Kommandos an - - -k, --keys @@ -111,12 +91,6 @@ along with this program. If not, see . Zeigt die Programmversion an - - -w, --weechat-commands - - Zeigt die Weechat-eigenen Kommandos an - - @@ -161,13 +135,12 @@ along with this program. If not, see . Wenn Sie Weechat zum ersten Mal starten, wird eine Konfigurationsdatei erzeugt, deren Optionen besitzen Standardwerte. Diese Datei ist: - "~/.weechat/weechat.rc" + "~/.weechat/weechat.conf" Sie können diese Datei entsprechend ihren Bedürfnissen editieren, - um Weechat anzupassen (NUR wenn Weechat nicht läuft) oder Parameter - zu beeinflussen mit + um Weechat anzupassen oder Parameter zu beeinflussen mit "/set" Kommando in WeeChat (siehe ) @@ -448,12 +421,6 @@ along with this program. If not, see . Entferne den letzten Hinweis in der Infobar - - Alt + J dann Alt + D - - Zeige den DCC-Puffer - - Alt + J dann Alt + L @@ -467,25 +434,6 @@ along with this program. If not, see . Switch to buffer previously displayed - - Alt + J dann Alt + R - - Schalte in den reinen IRC-Daten Puffer - - - - Alt + J dann Alt + S - - Schalte in den Server-Puffer - - - - Alt + J dann Alt + X - - Schalte in den ersten Channel des nächsten Servers - (oder in den Server-Puffer wenn keine Channel offen ist) - - Alt + Zahl (0-9) @@ -553,38 +501,37 @@ along with this program. If not, see . Kommandozeile - Die WeeChat Kommandozeile (am Ende des Fensters) lässt sie Nachrichten - an einen Channel senden oder WeeChat- bzw. IRC-Kommandos ausführen - (siehe ). + + WeeChat command line (at the bottom of window) lets you execute commands + or send text to buffer. Kommandos beginnen mit einem "/", gefolgt vom Namen des Kommandos. - Um zum Beispiel einen privaten Chat mit "toto" zu - beginnen: /query toto + + For example, to see list of all options: + /set - Nachrichten an einen Channel sind jeder Text, der nicht mit einem "/" + Nachrichten an einen Puffer sind jeder Text, der nicht mit einem "/" begint. Um zum Beispiel den Text "hello" an den - gegenwärtigen Channel zu senden: + gegenwärtigen Puffer zu senden: hello Dennoch ist es möglich, eine Nachricht auch mit einem "/" zu beginnen, einfach ein weiteres "/" voranstellen. Um zum Beispiel den Text - "/query toto" an den gegenwärtigen Channel zu + "/set" an den gegenwärtigen Puffer zu senden: - //query toto + //set - Wenn die Option IRC-Farben ("irc_colors_send") - senden angeschaltet ist, können sie Farbcodierung und Attribute - wiefolgt verwenden - (press Ctrl-C then following letter, with optional value): + For some plugins like IRC, you can use color codes and attributes, as + follow (press Ctrl-C then following letter, with optional value): @@ -729,53 +676,16 @@ along with this program. If not, see .
-
- WeeChat / IRC Kommandos +
+ WeeChat Kommandos - Dieses Kapitel listet alle WeeChat- und IRC-Kommandos auf. + Dieses Kapitel listet alle WeeChat-Kommandos auf. -
- WeeChat Kommandos - - - &weechat_commands.xml; - - -
- -
- Funktionen - - - - - - - Funktion - Beschreibung - - - - - &key_functions.xml; - - - - - - -
- -
- IRC Kommandos - - - &irc_commands.xml; - - -
+ + +
@@ -797,7 +707,7 @@ along with this program. If not, see . - &config.xml; + @@ -882,80 +792,4 @@ along with this program. If not, see .
-
- Remote-Schnittstelle (FIFO pipe) - - - Sie können WeeChat auch extern steuern, indem sie Kommandos oder Text - an eine sogen. pipe übergeben (sie müssen die Option "irc_fifo_pipe" - anschalten, die normalerweise abgeschaltet ist). - - - - Diese pipe liegt in "~/.weechat/" und hat den Namen - "weechat_fifo_xxxxx" (das xxxxx ist die Prozess-ID (PID) eines - laufenden WeeChat). Wenn mehrere Instanzen von WeeChat laufen, sind - mehrere pipes vorhanden, eine für jede Instanz. - - - - Der Syntax für ein pipe-Kommando ist: - server,channel *Text oder Kommando - wobei Server und Channel optional sind, aber wenn der Channel - angegeben ist, muss der Server auch angegeben werden. - - - - Einige Beispiele: - - - - Ändern des Nicks auf freenode in "mynick|out" : - $ echo 'freenode */nick mynick|out' >~/.weechat/weechat_fifo_12345 - - - - - Senden einer Nachricht an #weechat: - $ echo 'freenode,#weechat *hello everybody!' >~/.weechat/weechat_fifo_12345 - - - - - Senden einer Nachricht an den gegenwärtigen Channel (Puffer, der - in WeeChat angezeigt wird): - $ echo '*hello!' >~/.weechat/weechat_fifo_12345 - Warnung: Das ist gefährlich und sie sollten - das nicht tun, ausgenommen sie wissen was sie tun! - - - - - Sende zwei Kommandos um (alle) Perl-Skripte abzuschalten/neu zu - laden (getrennt durch ein "\n"): - $ echo -e "freenode */perl unload\nfreenode */perl autoload" >~/.weechat/weechat_fifo_12345 - - - - - - - Sie können ein Skript schreiben, um ein Kommando an alle laufenden WeeChat-Instanzen zu senden, - zum Beispiel: - -#!/bin/sh -if [ $# -eq 1 ]; then - for fifo in ~/.weechat/weechat_fifo_* - do - echo -e "$1" >$fifo - done -fi - - Wenn das Skript "auto_weechat_command" heisst, können sie es - folgendermassen aufrufen: - $ ./auto_weechat_command "freenode,#weechat *hello" - - -
- diff --git a/doc/de/weechat.de.xml b/doc/de/weechat.de.xml index 8168b7d18..aae6d301a 100644 --- a/doc/de/weechat.de.xml +++ b/doc/de/weechat.de.xml @@ -37,7 +37,9 @@ along with this program. If not, see . + + ]> @@ -102,8197 +104,14 @@ along with this program. If not, see . - + &intro.de.xml; - - Einführung - - - Dieses Kapitel beschreibt WeeChat und die Vorraussetzungen für die - Installation. - - -
- Beschreibung - - - WeeChat (Wee Enhanced Environment for Chat) ist ein freier Chat Client, - schnell und klein, entwickelt für viele Betriebssysteme. - - - - Hauptmerkmale: - - - - Mehrere Server gleichzeitig nutzbar (mit SSL, IPv6, Proxy) - - - - - viele unterschiedliche User-Interfaces: Curses, wxWidgets, Gtk - und Qt - - - - - klein, schnell and leichtgewichtig - - - - - änderbar und erweiterbar mit Plugins und Skripten - - - - - entsprechend den folgenden RFCs - 1459, - 2810, - 2811, - 2812 und - 2813 - - - - - Viele Plattformen (GNU/Linux, *BSD, MacOS X, Windows and other) - - - - - 100% GPL, freie Software - - - - - - - WeeChat Homepage: - - http://weechat.flashtux.org - - - -
- -
- Vorraussetzungen - - - Um WeeChat zu installieren, werden gebraucht: - - - - ein laufendes GNU/Linux (Compiler für Quellcode-Pakete) - - - - - root-Rechte für die Installation - - - - - dem User-Interface entsprechend, eine der folgenden Bibliotheken: - - - - Curses: ncurses Bibliothek - - - - - Gtk: - *** noch nicht implementiert *** - - - - - WxWidgets: - *** noch nicht implementiert *** - - - - - Qt: - *** noch nicht implementiert *** - - - - - - - - -
-
+ &install.de.xml; - + &usage.de.xml; - - Installation - - - Dieses Kapitel erklärt die Installation von WeeChat. - - -
- Binäre Pakete - - - Binäre Pakete sind für die folgenden Distributionen verfügbar: - - - - Debian (oder Debian-kompatible): - apt-get install weechat - - - - - Mandriva/RedHat (oder jede RPM-kompatible Distribution): - - rpm -i /chemin/weechat-x.y.z-1.i386.rpm - - - - - - Gentoo: - emerge weechat - - - - FÜr andere Distributionen: sehen sie in die Dokumentation - für Installationsanweisungen. - - -
- -
- Quellcode-Pakete - - - Alles was sie tun müssen, ist in einer Konsole oder einem Terminal - aufzurufen: -$ ./configure -$ make - - - Dann root werden und WeeChat installieren: -$ su -(root-Passwort eingeben) -# make install - - -
- -
- GIT Quellen - - - Warnung: GIT Quellen sind für fortgeschrittene Anwender, das - Übersetzen könnte fehlschlagen oder das Ergebnis nicht stabil sein. - Sie wurden gewarnt! - - - - Um die GIT Quellen zu bekommen, sind folgende Kommandos nötig: -$ git-clone git://git.sv.gnu.org/weechat.git - - - - Ausführen des folgenden Skripts: - ./autogen.sh - - - - Dann folgen sie den Anweisungen zu den Quellpaketen - (siehe ) - - -
- -
+ &plugins.de.xml; - - - - Nutzung - - - Dieses Kapitel erklärt, wie Weechat zu starten ist, die zu verwendenden - Tastenkombinationen, interne und IRC-Kommandos, die Konfigurationsdatei - und die FIFO für die remote-Bedienung. - - -
- Starten von WeeChat - - - Argumente der Kommandozeile: - - - - - Parameter - Beschreibung - - - - - -a, --no-connect - - Schaltet das auto-connect ab - - - - -c, --config - - Zeigt eine Hilfe zu den Konfigurationsmöglichkeiten (Liste - der Optionen) - - - - -d, --dir <path> - - Setzt den Pfad für das Verzeichnis, dass Weechat benutzen - soll (relevant für die Konfigurationsdateien, Logs, Plugins - und Skripte). Der Standardwert - "~/.weechat". Bitte beachten Sie: dieses - Verzeichnis wird automatisch erzeugt, wenn es noch nicht - exitiert. - - - - -f, --key-functions - - Zeigt die intern verwendeten Funktionen von WeeChat für - bestimmte Tastenkombinationen an - - - - -h, --help - - Zeigt eine zusammenfassende Hilfe an. - - - - -i, --irc-commands - - Zeigt die IRC-Kommandos an - - - - -k, --keys - - Zeigt die Standard-Tastenkombinationen an - - - - -l, --license - - Zeigt die Lizenz an - - - - -p, --no-plugin - - Schaltet das automatische Laden der Plugins ab - - - - -v, --version - - Zeigt die Programmversion an - - - - -w, --weechat-commands - - Zeigt die Weechat-eigenen Kommandos an - - - - - - - - - Es ist auch möglich URLs für einen oder mehrere IRC-Server anzugeben, - so wie: - irc[6][s]://[nick[:passwort]@]irc.example.org[:port][/channel][,channel[...] - Beispiel um die Channels #weechat and #toto zu betreten - "irc.freenode.net" server, default port (6667), - mit dem Nicknamen "nono": - $ weechat-curses irc://nono@irc.freenode.net/#weechat,#toto - - - - Um WeeChat zu starten, ist eins der folgenden Kommandos abzusetzen: - - - - für Curses GUI: weechat-curses - - - - - für Gtk GUI: weechat-gtk - - - - - für wxWidgets GUI: weechat-wxwidgets - - - - - für Qt GUI: weechat-qt - - - - - - - Wenn Sie Weechat zum ersten Mal starten, wird eine Konfigurationsdatei - erzeugt, deren Optionen besitzen Standardwerte. Diese Datei ist: - "~/.weechat/weechat.rc" - - - - Sie können diese Datei entsprechend ihren Bedürfnissen editieren, - um Weechat anzupassen (NUR wenn Weechat nicht läuft) oder Parameter - zu beeinflussen mit - "/set" Kommando in WeeChat - (siehe ) - - -
- -
- Tastenkombinationen - - - - - - - Tastenkombination - Wirkung - - - - - Links / Strg + B - - Gehe zum vorherigen Zeichen in der Kommandozeile - - - - Rechts / Strg + F - - Gehe zum nächsten Zeichen in der Kommandozeile - - - - Strg + Links - - Gehe zum vorherigen Wort in der Kommandozeile - - - - Strg + Rechts - - Gehe zum nächsten Wort in der Kommandozeile - - - - Pos1 / Strg + A - - Gehe zum Anfang der Kommandozeile - - - - - Strg + C dann B - - Insert code for bold text. - - - - Strg + C dann C - - Insert code for colored text. - - - - Strg + C dann O - - Insert code for color reset. - - - - Strg + C dann R - - Insert code for reverse color. - - - - Strg + C dann U - - Insert code for underlined text. - - - - Ende / Strg + E - - Gehe zum Ende der Kommandozeile - - - - Strg + K - - Lösche vom Cursor bis zum Ende der Kommandozeile - - - - Strg + L - - Fenster neu aufbauen - - - - Strg + R - - Suche nach Text im Pufferverlauf - (zwei Mal: suche nach dem genauen Text) - - - - Strg + S dann Strg + U - - - Set unread marker on all buffers - - - - Strg + T - - Zeichen transponieren - - - - Strg + U - - Lösche vom Cursor bis zum Aanfang der Kommandozeile - - - - Strg + W - - Lösche das vorhergehende Wort in der Kommandozeile - - - - Strg + Y - - Inhalt der Zwischenablage einfügen - - - - Rückschritt / Strg + H - - Lösche das vorhergehende Zeichen in der Kommandozeile - - - - Entfernen / Strg + D - - Lösche das nächste Zeichen in der Kommandozeile - - - - Tabulator / Shift + Tabulator - - Vervollständige ein Kommando oder Nick - (wiederhole: finde nächste Vervollständigung) - - - - Jedes Zeichen - - Setze das Zeichen beim Cursor in die Kommandozeile ein - - - - Eingabe / Strg + J / Strg + M - - Führe ein Kommando aus oder sende eine Nachricht - (im Suchmodus: Suche anhalten) - - - - Hoch / Runter - - Rufe das letzte Kommando/die letzte Nachricht wieder auf - (im Suchmodus: suche rückwärts/vorwärts) - - - - Strg + Hoch / Strg + Runter - - Rufe das letzte Kommando/die letzte Nachricht des globalen - Buffers wieder auf (für alle Buffer) - - - - Seite hoch / Seite runter - - Eine Seite hoch / runter im Verlauf des Buffers - - - - Alt + Seite hoch / Alt + Seite runter - - Ein paar Zeilen hoch / runter im Verlauf des Buffers - - - - Alt + Pos1 / Alt + Ende - - Gehe zum Anfang / Ende des Puffers - - - - F5 / Alt + Links - - Gehe zum vorherigen Puffer - - - - F6 / Alt + Rechts - - Gehe zum nächsten Puffer - - - - F7 - - Schalte in das vorherige Fenster - - - - F8 - - Schalte in das nächste Fenster - - - - F9 / F10 - - Blättere in der Topic - - - - F11 / F12 - - Blättere in der Nicklist - - - - Alt + F11 / Alt + F12 - - Gehe zum Anfang / Ende der Nicklist - - - - Alt + A - - Schalte in den nächsten Puffer mit Aktivität - (mit der Priorität: highlight, message, other) - - - - Alt + B - - Gehe zum vorherigen Wort in der Kommandozeile - - - - Alt + D - - Lösche das nächste Wort in der Kommandozeile - - - - Alt + F - - Gehe zum nächsten Wort in der Kommandozeile - - - - Alt + H - - Lösche den Inhalt der Hotlist - (Aktivitätsanzeige für andere Puffer) - - - - Alt + I - - Entferne den letzten Hinweis in der Infobar - - - - Alt + J dann Alt + D - - Zeige den DCC-Puffer - - - - Alt + J dann Alt + L - - Schalte zum letzten Puffer - - - - Alt + J then Alt + P - - - Switch to buffer previously displayed - - - - Alt + J dann Alt + R - - Schalte in den reinen IRC-Daten Puffer - - - - Alt + J dann Alt + S - - Schalte in den Server-Puffer - - - - Alt + J dann Alt + X - - Schalte in den ersten Channel des nächsten Servers - (oder in den Server-Puffer wenn keine Channel offen ist) - - - - Alt + Zahl (0-9) - - Schalte in den Puffer mit der Nummer (0 = 10) - - - - Alt + J dann eine Zahl (01-99) - - Schalte in den Puffer mit der Nummer - - - - Alt + K - - Setze den Keycode der nächsten Taste in der Kommandozeile - ein - - - - Alt + N - - Blättere zum nächsten Highlight - - - - Alt + P - - Blättere zum vorigen Highlight - - - - Alt + R - - Lösche die komplette Kommandozeile - - - - Alt + S - - Schalte zwischen den Servern im Server-Puffer hin und her - (wenn "look_one_server_buffer" angeschaltet ist) - - - - Alt + U - - Blättere zur ersten ungelesenen Zeile im Puffer - - - - Alt + W dann Alt + Pfeil - - Schalte zum Fenster in der entsprechenden Richtung - - - - - - - -
- -
- Kommandozeile - - - Die WeeChat Kommandozeile (am Ende des Fensters) lässt sie Nachrichten - an einen Channel senden oder WeeChat- bzw. IRC-Kommandos ausführen - (siehe ). - - - - Kommandos beginnen mit einem "/", gefolgt vom Namen des Kommandos. - Um zum Beispiel einen privaten Chat mit "toto" zu - beginnen: /query toto - - - - Nachrichten an einen Channel sind jeder Text, der nicht mit einem "/" - begint. Um zum Beispiel den Text "hello" an den - gegenwärtigen Channel zu senden: - hello - - - - Dennoch ist es möglich, eine Nachricht auch mit einem "/" zu beginnen, - einfach ein weiteres "/" voranstellen. Um zum Beispiel den Text - "/query toto" an den gegenwärtigen Channel zu - senden: - //query toto - - - - Wenn die Option IRC-Farben ("irc_colors_send") - senden angeschaltet ist, können sie Farbcodierung und Attribute - wiefolgt verwenden - - (press Ctrl-C then following letter, with optional value): - - - - - Code - Beschreibung - - - - - ^Cb - - Fett (bold) - - - - ^Ccxx - - Textfarbe "xx" (color) - (siehe Farbtabelle) - - - - ^Ccxx,yy - - Textfarbe "xx" - und Hintergrund "yy" - (siehe Farbtabelle) - - - - ^Co - - Schalte Farben und Attribute ab - - - - ^Cr - - umgedrehte Farben (tausche Textfarbe mit Hintergrundfarbe) - - - - ^Cu - - Unterstreiche Text - - - - - - Hinweis: Der gleiche Farbcode (ohne die Nummer) kann zum Ausschalten - des Attributes verwendet werden. - - - - Farbcodes für ^Cc: - - - - - Code - Farbe - - - - - 00 - weiss - - - 01 - schwarz - - - 02 - dunkles Blau - - - 03 - dunkles Grün - - - 04 - helles Rot - - - 05 - dunkles Rot - - - 06 - Magenta - - - 07 - Orange - - - 08 - Gelb - - - 09 - helles Grün - - - 10 - Cyan - - - 11 - helles Cyan - - - 12 - helles Blau - - - 13 - helles Magenta - - - 14 - Grau - - - 15 - helles Grau (Weiss) - - - - - - - - Beispiel: Anzeige von "hello everybody!" mit - "hello" fett in hellem Blau, und - "everybody" unterstrichen in hellem Rot: -^Cc12^Cbhello^Cb^Cc04^Cu everybody^Cu^Cc! - - -
- -
- WeeChat / IRC Kommandos - - - Dieses Kapitel listet alle WeeChat- und IRC-Kommandos auf. - - -
- WeeChat Kommandos - - - &weechat_commands.xml; - - -
- -
- Funktionen - - - - - - - Funktion - Beschreibung - - - - - &key_functions.xml; - - - - - - -
- -
- IRC Kommandos - - - &irc_commands.xml; - - -
- -
- -
- Konfigurationsdatei - - - Liste der Optionen für die Konfigurationsdatei: - - - - - Option - Typ - Wert - Default - Beschreibung - - - - - &config.xml; - - - - - - - - Farben für die Curses GUI: - - - - - Schlüsselwort - Farbe - - - - - default - default Farbe (Transparent für den Hintergrund) - - - black - Schwarz - - - red - dunkles Rot - - - lightred - helles Rot - - - green - dunkles Grün - - - lightgreen - helles Grün - - - brown - Braun - - - yellow - Gelb - - - blue - dunkles Blau - - - lightblue - helles Blau - - - magenta - dunkles Magenta - - - lightmagenta - helles Magenta - - - cyan - dunkles Cyan - - - lightcyan - helles Cyan - - - white - Weiss - - - - - - -
- -
- Remote-Schnittstelle (FIFO pipe) - - - Sie können WeeChat auch extern steuern, indem sie Kommandos oder Text - an eine sogen. pipe übergeben (sie müssen die Option "irc_fifo_pipe" - anschalten, die normalerweise abgeschaltet ist). - - - - Diese pipe liegt in "~/.weechat/" und hat den Namen - "weechat_fifo_xxxxx" (das xxxxx ist die Prozess-ID (PID) eines - laufenden WeeChat). Wenn mehrere Instanzen von WeeChat laufen, sind - mehrere pipes vorhanden, eine für jede Instanz. - - - - Der Syntax für ein pipe-Kommando ist: - server,channel *Text oder Kommando - wobei Server und Channel optional sind, aber wenn der Channel - angegeben ist, muss der Server auch angegeben werden. - - - - Einige Beispiele: - - - - Ändern des Nicks auf freenode in "mynick|out" : - $ echo 'freenode */nick mynick|out' >~/.weechat/weechat_fifo_12345 - - - - - Senden einer Nachricht an #weechat: - $ echo 'freenode,#weechat *hello everybody!' >~/.weechat/weechat_fifo_12345 - - - - - Senden einer Nachricht an den gegenwärtigen Channel (Puffer, der - in WeeChat angezeigt wird): - $ echo '*hello!' >~/.weechat/weechat_fifo_12345 - Warnung: Das ist gefährlich und sie sollten - das nicht tun, ausgenommen sie wissen was sie tun! - - - - - Sende zwei Kommandos um (alle) Perl-Skripte abzuschalten/neu zu - laden (getrennt durch ein "\n"): - $ echo -e "freenode */perl unload\nfreenode */perl autoload" >~/.weechat/weechat_fifo_12345 - - - - - - - Sie können ein Skript schreiben, um ein Kommando an alle laufenden WeeChat-Instanzen zu senden, - zum Beispiel: - -#!/bin/sh -if [ $# -eq 1 ]; then - for fifo in ~/.weechat/weechat_fifo_* - do - echo -e "$1" >$fifo - done -fi - - Wenn das Skript "auto_weechat_command" heisst, können sie es - folgendermassen aufrufen: - $ ./auto_weechat_command "freenode,#weechat *hello" - - -
- -
- - - - - Plugins - - - Dieses Kapitel beschreibt das Plugin-Interface (API) in WeeChat und die - Standard-Skriptplugins (Perl, Python, Ruby, Lua), die zu WeeChat gehören. - - -
- Plugins in WeeChat - - - Ein Plugin ist ein C-Programm, dass WeeChat-Funktionen aufrufen kann, - die in einem Interface definiert sind. - - - - Dieses C-Programm braucht nicht den Quellcode von WeeChat (aber die - API-Beschreibung) und kann dynamisch mit dem folgenden Kommando in - WeeChat geladen werden - /plugin. - - - - Das Plugin muss in Form einer dynamischen Bibliothek vorliegen, - damit es das Betriebssystem dynamisch laden kann. - Unter GNU/Linux besitzt die Datei die Endung ".so", unter - Windows ".dll". - - -
- -
- Ein Plugin schreiben - - - Das Plugin muss die Datei "weechat-plugin.h" einbinden (verfügbar - im WeeChat-Quellcode). - Diese Datei definiert die Strukturen und Typen um mit WeeChat - zu kommunizieren. - - - - Das Plugin muss einige Variablen und Funktionen besitzen - (nötig, sonst kann das Plugin nicht geladen werden): - - - - - Variable - Beschreibung - - - - - char plugin_name[] - Plugin Name - - - char plugin_version[] - Plugin Version - - - char plugin_description[] - kurze Beschreibung des Plugins - - - - - - - - - - Funktion - Beschreibung - - - - - int weechat_plugin_init (t_weechat_plugin *plugin) - - Die Funktion wird aufgerufen, wenn das Plugin geladen wird. - Sie muss bei Erfolg PLUGIN_RC_OK, bei Fehlschlag PLUGIN_RC_KO - zurückgeben. (Bei einem Fehler wird das Plugin nicht geladen) - - - - void weechat_plugin_end (t_weechat_plugin *plugin) - Funktion wird beim Abschalten aufgerufen - - - - - - -
- API Funktionen - -
- set_charset - - - Prototyp: - - void set_charset (t_weechat_plugin *plugin, char *charset) - - - - Legt neuen Zeichensatz für ein Plugin fest. - - - Argumente: - - - - : Zeiger auf Plugin-Struktur - - - - - : neuer Zeichensatz, der benutzt - werden soll - - - - - - Beispiel: - plugin->set_charset (plugin, "ISO-8859-1"); - -
- -
- iconv_to_internal - - - Prototyp: - - void iconv_to_internal (t_weechat_plugin *plugin, char *charset, - char *string) - - - - Konvertiert eine Zeichenkette in das interne Format von WeeChat - (UTF-8). - - - Argumente: - - - - : Zeiger auf Plugin-Struktur - - - - - : ursprünglicher Zeichensatz, von - dem konvertiert werden soll - - - - - : zu konvertierende Zeichenkette - - - - - - Rückgabewert: konvertierte Zeichenkette - - - Anmerkung: der Speicher, der durch das Ergebnis belegt wird, muss - mit free() wieder freigegeben werden. - - - Beispiel: - char *str = plugin->iconv_to_internal (plugin, "ISO-8859-1", "iso string: é à"); - -
- -
- iconv_from_internal - - - Prototyp: - - void iconv_from_internal (t_weechat_plugin *plugin, char *charset, - char *string) - - - - Konvertiert eine Zeichenkette von dem internen WeeChat-Zeichensatz - (UTF-8) in einen anderen. - - - Argumente: - - - - : Zeiger auf Plugin-Struktur - - - - - : Ziel-Zeichensatz - - - - - : zu konvertierende Zeichenkette - - - - - - Rückgabewert: konvertierte Zeichenkette - - - Anmerkung: der Speicher, der durch das Ergebnis belegt wird, muss - mit free() wieder freigegeben werden. - - - Beispiel: - char *str = plugin->iconv_from_internal (plugin, "ISO-8859-1", "utf-8 string: é à"); - -
- -
- ascii_strcasecmp - - - Prototyp: - - int ascii_strcasecmp (t_weechat_plugin *plugin, - char *string1, char *string2) - - - - Vergleich von Zeichenketten unabhängig von Sprache und - Schreibweise (gross/klein). - - - Argumente: - - - - : Zeiger auf Plugin-Struktur - - - - - : erste Zeichenkette des Vergleichs - - - - - : zweite Zeichenkette des Vergleichs - - - - - - Rückgabewert: Unterschied zwischen den zwei Zeichenketten: kleiner - Null wenn - string1 < string2, Null wenn string1 == string2, grösser Null - wenn string1 > string2 - - - Beispiel: - if (plugin->ascii_strcasecmp (plugin, "abc", "def") != 0) ... - -
- -
- ascii_strncasecmp - - - Prototyp: - - int ascii_strncasecmp (t_weechat_plugin *plugin, - char *string1, char *string2, int max) - - - - Vergleich von Zeichenketten unabhängig von Sprache und Schreibweise - (gross/klein) für höchstens "max" Zeichen. - - - Argumente: - - - - : Zeiger auf Plugin-Struktur - - - - - : erste Zeichenkette des Vergleichs - - - - - : zweite Zeichenkette des Vergleichs - - - - - : maximale Zahl an Zeichen für den - Vergleich - - - - - - Rückgabewert: Unterschied zwischen den zwei Zeichenketten: kleiner - Null wenn string1 < string2, Null wenn string1 == string2, - grösser Null wenn string1 > string2 - - - Beispiel: - if (plugin->ascii_strncasecmp (plugin, "abc", "def", 2) != 0) ... - -
- -
- explode_string - - - Prototyp: - - char **explode_string (t_weechat_plugin *plugin, char *string, - char *separators, int num_items_max, int *num_items) - - - - Zerlege eine Zeichenkette entsprechend eines oder mehrerer - Trennzeichen(s). - - - Argumente: - - - - : Zeiger auf eine Plugin-Struktur - - - - - : zu zerlegende Zeichenkette - - - - - : zu verwendende(s) Trennzeichen - - - - - : maximale Anzahl an zu - erzeugenden Teilen (0 = keine Grenze) - - - - - : Zeiger auf eine int-Variable, - die die Anzahl der erzeugten - Teile enthält - - - - - - Rückgabewert: ein Array von Zeichenketten, NULL bei Fehlern. - - - Hinweis: Das zurückgegebene Array muss nach der Benutzung mittels - "free_exloded_string" explizit freigegeben werden. - - - Beispiel: - -char **argv; -int argc; -argv = plugin->explode_string (plugin, string, " ", 0, &argc); -... -if (argv != NULL) - plugin->free_exploded_string (plugin, argv); - - -
- -
- free_exploded_string - - - Prototyp: - - char **free_exploded_string (t_weechat_plugin *plugin, - char **string) - - - - Gib ein Array frei, dass infolge der Zerlegung eines Strings - reserviert wurde. - - - Argumente: - - - - : Zeiger auf eine Plugin-Struktur - - - - - : ein Array von Strings - - - - - - Rückgabewert: keiner (?). - - - Beispiel: - -char *argv; -int argc; -argv = plugin->explode_string (plugin, string, " ", 0, &argc); -... -if (argv != NULL) - plugin->free_exploded_string (plugin, argv); - - -
- -
- mkdir_home - - - Prototyp: - - int mkdir_home (t_weechat_plugin *plugin, char *directory) - - - - Erzeugt ein Verzeichnis im WeeChat-Verzeichnis. - - - Argumente: - - - - : Zeiger auf Pluginstrukur - - - - - : Verzeichnis, das erzeugt werden - soll - - - - - - Rückgabewert: 1 wenn das Verzeichnis erfolgreich erstellt wurde, 0 - wenn ein Fehler aufgetreten ist. - - - Beispiel: - -if (!plugin->mkdir_home (plugin, "temp")) - plugin->print_server(plugin, "Konnte 'temp'-Verzeichnis im WeeChat-Verzeichnis nicht erstellen."); - - -
- -
- exec_on_files - - - Prototyp: - - void exec_on_files (t_weechat_plugin *plugin, char *repertoire, - int (*callback)(t_weechat_plugin *, char *)) - - - - Führe eine Funktion auf allen Dateien eines Verzeichnisses aus. - - - Argumente: - - - - : Zeiger auf eine Plugin-Struktur - - - - - : Verzeichnis der zu verwendenden - Dateien - - - - - : die anzuwendende Funktion - - - - - - Rückgabewert: keiner. - - - Beispiel: - -int callback (t_weechat_plugin *plugin, char *file) -{ - plugin->print_server (plugin, "file: %s", file); - return 1; -} -... -plugin->exec_on_files (plugin, "/tmp", &callback); - - -
- -
- print - - - Prototyp: - - void print (t_weechat_plugin *plugin, - char *server, char *channel, char *message, ...) - - - - Sende eine Nachricht an einen WeeChat-Puffer, bezeichnet durch - server und channel (beide können NULL sein, dann wird der aktuelle - Puffer verwendet). - - - Argumente: - - - - : Zeiger auf Plugin-Struktur - - - - - : interner Name des Servers, zu - welchem der Puffer gehört, in dem die Nachricht angezeigt - werden soll (kann NULL sein) - - - - - : Name des Channels, in dem die - Nachricht angezeigt werden soll (kann NULL sein) - - - - - : Nachricht - - - - - - - To display colored text, there are following codes: - - - - - Code - Description - - - - - 0x02 - - bold text - - - - 0x03 + "xx" - - text color "xx" - (see for colors) - - - - 0x03 + "xx,yy" - - text color "xx" - and background "yy" - (see for colors) - - - - 0x0F - - disable color and attributes - - - - 0x12 - - reverse video (revert text color with background) - - - - 0x1F - - underlined text - - - - - - Note: the same code (without number for 0x03) may be used to stop - the attribute. - - - Rückgabewert: keiner. - - - Beispiele: - -plugin->print (plugin, NULL, NULL, "hello"); -plugin->print (plugin, NULL, "#weechat", "hello"); -plugin->print (plugin, "freenode", "#weechat", "hello"); -plugin->print (plugin, NULL, NULL, - "Test: \x02 Fett \x0F\x03%02d Blau \x03%02d Grün", - plugin->get_irc_color (plugin, "blue"), - plugin->get_irc_color (plugin, "green")); - - -
- -
- print_server - - - Prototyp: - - void print_server (t_weechat_plugin *plugin, - char *message, ...) - - - - Zeige eine Nachricht im aktuellen Server-Puffer. - - - Argumente: - - - - : Zeiger auf eine Plugin-Struktur - - - - - : Nachricht - - - - - - - To display colored text, see . - - - Rückgabewert: keiner. - - - Beispiel: plugin->print_server (plugin, "hello"); - -
- -
- print_infobar - - - Prototyp: - - void print_infobar (t_weechat_plugin *plugin, - int time, char *message, ...) - - - - Zeige eine Nachricht in der Infobar für eine bestimmte Zeit - - - Argumente: - - - - : Zeiger auf eine Plugin-Struktur - - - - - : Zeitspanne für die Anzeige (in - Sekunden, 0 = ständige Anzeige) - - - - - - Rückgabewert: keiner. - - - Beispiel: - -plugin->print_infobar (plugin, 5, "hello"); - - -
- -
- infobar_remove - - - Prototyp: - - void infobar_remove (t_weechat_plugin *plugin, int count) - - - - Entferne eine oder mehr Nachrichten aus der Infobar. - - - Argumente: - - - - : Zeiger auf eine Plugin-Struktur - - - - - : Anzahl der Nachrichten (wenn das - Argument kleiner als Null ist, werden alle Nachrichten - entfernt) - - - - - - Rückgabewert: keiner. - - - Beispiel: plugin->infobar_remove (1); - -
- -
- log - - - Prototyp: - - void log (t_weechat_plugin *plugin, - char *server, char *channel, char *message, ...) - - - - Schreibe eine Nachricht in die Log-Datei (für den entsprechenden - Server/Channel). - - - Argumente: - - - - : Zeiger auf eine Plugin-Struktur - - - - - : interner Name des Servers, zu - welchem der Log-Puffer gehört (kann NULL sein) - - - - - : Name des Channels, zu welchem der - Log-Puffer gehört (kann NULL sein) - - - - - : Nachricht - - - - - - Rückgabewert: keiner. - - - Beispiel: - -plugin->log (plugin, "freenode", "#weechat", "test"); - - -
- -
- msg_handler_add - - - Prototyp: - - t_plugin_handler *msg_handler_add (t_weechat_plugin - *plugin, char *message, t_plugin_handler_func *function, - char *handler_args, void *handler_pointer) - - - - Erzeuge einen IRC-Message-Handler, der aufgerufen wird, wenn - eine Nachricht empfangen wird. - - - Argumente: - - - - : Zeiger auf eine Plugin-Struktur - - - - - : Name (Typ) der IRC-Nachricht ("*" - für alle Nachrichten). - Eine Liste der bekannten IRC-Nachrichten ist in den - RFCs - 1459 - und - 2812 - zu finden. - Weiterhin können sie einen speziellen Namen verwenden, der - mit "weechat_" beginnt, um spezielle Ereignisse zu - bearbeiten, wie in der folgenden Tabelle aufgeführt: - - - - - Name - Beschreibung - - - - - weechat_pv - private Nachricht empfangen - - - weechat_highlight - - hervorgehobene Nachricht (in einem Channel oder privatem Chat) - - - - weechat_ctcp - - CTCP-Nachricht empfangen (VERSION, PING, ...) - - - - weechat_dcc - - DCC-Nachricht empfangen (Chat oder Datei) - - - - - - - - - - : Funktion, die aufgerufen wird, - wenn eine Nachricht empfangen wurde - - - Sie verwendet den folgenden Prototyp: - - int my_function (t_weechat_plugin *plugin, - int argc, char **argv, - char *handler_args, void *handler_pointer) - - - - Argument argc ist auf 3 gesetzt, die folgenden Werte sind - im argv-Array: - - - argv[0] = Server Name - - - argv[1] = IRC Nachricht - - - argv[2] = Kommando Argumente - - - - - - - : Argumente, die beim Aufruf - an die Funktion übergeben werden - - - - - : pointer given to function - when called - : Zeiger, der an die Funktion - übergeben wird - - - - - - Rückgabewert: Zeiger auf den neuen Handler - - - Hinweis: die Funktion, die aufgerufen wird wenn eine Nachricht - empfangen wurde, muss einen der folgenden Werte zurückgeben: - - - - PLUGIN_RC_KO: Funktion ist fehlgschlagen - - - - - PLUGIN_RC_OK: Funktion war erfolgreich - - - - - PLUGIN_RC_OK_IGNORE_WEECHAT: Die Nachricht - wird nicht an WeeChat übergeben - - - - - PLUGIN_RC_OK_IGNORE_PLUGINS: Die Nachricht - wird nicht an andere Plugins weitergegeben - - - - - PLUGIN_RC_OK_IGNORE_ALL: Die Nachricht - wird weder an WeeChat noch an andere - Plugins weitergegeben - - - - - PLUGIN_RC_OK_WITH_HIGHLIGHT: Funktion - erfolgreich vervollständigt und eine Hervorhebung bei den - empfangenen Nachrichten eingebaut - - - - - - Beispiel: - -int msg_kick (t_weechat_plugin *plugin, int argc, char **argv, - char *handler_args, void *handler_pointer) -{ - plugin->print (plugin, argv[0], NULL, "KICK received"); - return PLUGIN_RC_OK; -} -... -t_plugin_handler *msg_handler; -msg_handler = plugin->msg_handler_add (plugin, "KICK", - &msg_kick, NULL, NULL); - - -
- -
- cmd_handler_add - - - Prototyp: - - t_plugin_handler *cmd_handler_add (t_weechat_plugin - *plugin, char *command, char *description, char *arguments, - char *arguments_description, char *completion_template, - t_plugin_handler_func *fonction, char *handler_args, - void *handler_pointer) - - - - Erzeugt einen Handler für ein WeeChat-Kommando, der aufgerufen - wird, wenn der Anwender das Kommando ausführt (Beispiel: /command). - - - Argumente: - - - - : Zeiger auf eine Plugin-Struktur - - - - - : Name des neuen Kommandos, der auch - Name eines bereits existierenden Kommandos sein kann (mit - Bedacht zu verwenden, das ersetzte Kommando ist nicht - verfügbar, bis das Plugin entfernt wurde) - - - - - : kurze Beschreibung des - Kommandos (angezeigt beim Ausführen von /help command) - - - - - : kurze Beschreibung der Argumente - des Kommandos (angezeigt beim Ausführen von /help command) - - - - - : lange Beschreibung - der Argumente des Kommandos (angezeigt beim Ausführen von - /help command) - - - - - : Vorlage für die - Vervollständigung; zum Beispiel bedeutet - "abc|%w def|%i", dass das erste Argument - "abc" oder ein WeeChat-Kommando sein kann und das zweite - Argument "def" oder ein IRC-Kommando. Eine leere - Zeichenkette bedeutet, dass WeeChat für jedes Argument - einen Nicknamen des gegenwärtigen Channels einsetzt, ein - NULL oder "-" schaltet die Vervollständigung für alle - Argumente ab. - - - Die folgenden Ersetzungen können verwendet werden: - - - - - Code - Beschreibung - - - - - %- - keine Vervollständigung für das Argument - - - %* - - - repeat last completion for all following arguments - (this code has to be at the end of completion - template, preceded by "|") - - - - %a - Alias - - - %A - - Aliase und Kommandos (WeeChat, IRC und Plugins) - - - - %c - gegenwärtiger Channel - - - %C - alle channels (inklusive Queries) - - - %f - Dateiname - - - %h - Plugin Kommandos - - - %i - IRC Kommandos (senden) - - - %I - IRC Kommandos (empfangen) - - - %k - Grundfunktionen - - - %m - Nicknamen des gegenwärtigen Servers - - - %M - - Nicks auf dem gegenwärtigen Server (in allen - offenen Channeln) - - - - %n - Nicknamen des gegenwärtigen Channels - - - %N - - Nicknamen und Hostnamen des gegenwärtigen - Channels - - - - %o - Konfigurationseinstellungen - - - %O - Plugin Optionen - - - %p - Standard "part" Nachricht - - - %q - Standard "quit" Nachricht - - - %s - Name des gegenwärtigen Servers - - - %S - Namen aller definierten Server - - - %t - Topic des gegenwärtigen Channels - - - %v - Wert einer Konfigurationseinstellung - - - %V - Wert einer Plugin-Option - - - %w - WeeChat Kommandos - - - - - - - - - : Funktion, die aufgerufen wird, - wenn das Kommando ausgeführt wird - - - Sie verwendet den folgenden Prototypen: - - int my_function (t_weechat_plugin *plugin, - int argc, char **argv, - char *handler_args, void *handler_pointer) - - - - Das Argument argc ist auf 3 gesetzt, das Array argv enthält - die folgenden Werte: - - - argv[0] = Server Name - - - argv[1] = Kommando - - - argv[2] = Kommando-Argumente - - - - - - - : Argumente, die an die Funktion - übergeben werden - - - - - : Zeiger, der an die Funktion - übergeben wird - - - - - - Rückgabewert: Zeiger auf den neuen Kommando-Handler. - - - Hinweis: die Funktion, die aufgerufen wird, wenn das Kommando - ausgeführt wird, muss einen der folgende Werte zurückgeben: - - - - PLUGIN_RC_KO: Funktion ist fehlgeschlagen - - - - - PLUGIN_RC_OK: Funktion war erfolgreich - - - - - - Beispiel: - -int cmd_test (t_weechat_plugin *plugin, int argc, char **argv, - char *handler_args, void *handler_pointer) -{ - plugin->print (plugin, argv[0], NULL, - "test command, nick: %s", - (argv[2]) ? argv[2] : "none"); - return PLUGIN_RC_OK; -} -... -t_plugin_handler *cmd_handler; -cmd_handler = plugin->cmd_handler_add (plugin, "test", "Test command", - "[nick]", "nick: nick of channel", - "%n", &cmd_test, NULL, NULL); - - -
- -
- timer_handler_add - - - Prototyp: - - t_plugin_handler *timer_handler_add (t_weechat_plugin - *plugin, int interval, t_plugin_handler_func *function, - char *handler_args, void *handler_pointer) - - - - Erzeuge einen zeitgesteuerten Handler, der periodisch - eine Funktion aufruft. - - - Argumente: - - - - : Zeiger auf eine Plugin-Struktur - - - - - : Intervall (in Secunden) zwischen - zwei Aufrufen der Funktion - - - - - : Funktion, die aufgerufen wird - - - Sie verwendet den folgenden Prototypen: - - int my_function (t_weechat_plugin *plugin, - int argc, char **argv, - char *handler_args, void *handler_pointer) - - - - Das Argument argc ist auf 0 gesetzt und argv ist auf NULL - gesetzt. - - - - - : Argumente der aufgerufenen - Funktion - - - - - : Zeiger, der an die Funktion - übergeben wird - - - - - - Rückgabewert: Zeiger auf den neuen timer-Handler. - - - Hinweis: die Funktion, die aufgerufen wird, muss einen der folgende - Werte zurückgeben: - - - - PLUGIN_RC_KO: Funktion ist fehlgeschlagen - - - - - PLUGIN_RC_OK: Funktion war erfolgreich - - - - - - Beispiel: - -int my_timer (t_weechat_plugin *plugin, int argc, char **argv, - char *handler_args, void *handler_pointer) -{ - plugin->print (plugin, NULL, NULL, "my timer"); - return PLUGIN_RC_OK; -} -... -t_plugin_handler *timer_handler; -timer_handler = plugin->timer_handler_add (plugin, 60, &my_timer); - - -
- -
- keyboard_handler_add - - - Prototyp: - - t_plugin_handler *keyboard_handler_add (t_weechat_plugin - *plugin, t_plugin_handler_func *function, - char *handler_args, void *handler_pointer) - - - - Erzeugt einen Keyboard-Handler, der nach dem Drücken einer Taste - aufgerufen wird. - - - Argumente: - - - - : Zeiger auf eine Plugin-Struktur - - - - - : Die Funktion, die aufgerufen wird - - - Sie verwendet den folgenden Prototypen: - - int my_function (t_weechat_plugin *plugin, - int argc, char **argv, - char *handler_args, void *handler_pointer) - - - - Das Argument argc ist auf 3 gesetzt, argv enthält die - folgenden Werte: - - - - argv[0] = Taste, die gedrückt wurde - (Name der internen Funktion oder '*' gefolgt von einem - Tastaturcode) - - - - - argv[1] = Kommandozeile vor dem Tastendruck - - - - - argv[2] = Kommandozeile nach dem Tastendruck - - - - - - - - : Argumente, die bei Aufruf der - Funktion übergeben - werden - - - - - : Zeiger auf die Funktion, - der bei Aufruf übergeben - wird - - - - - - Rückgabewert: Zeiger auf den Handler. - - - Hinweis: Die aufgerufene Funktion muss einen der folgenden Werte - zurückgeben: - - - - PLUGIN_RC_KO: Funktion ist fehlgeschlagen - - - - - PLUGIN_RC_OK: Funktion war erfolgreich - - - - - - Beispiel: - -int my_keyb (t_weechat_plugin *plugin, int argc, char **argv, - char *handler_args, void *handler_pointer) -{ - if (argc == 2) - { - plugin->print (plugin, NULL, NULL, "key pressed: %s", argv[0]); - if (argv[1] && (argv[1][0] == '1')) - plugin->print (plugin, NULL, NULL, "input text changed"); - else - plugin->print (plugin, NULL, NULL, "input text not changed"); - } - return PLUGIN_RC_OK; -} -... -t_plugin_handler *keyb_handler; -keyb_handler = plugin->keyboard_handler_add (plugin, &my_keyb); - - -
- -
- event_handler_add - - - Prototyp: - - t_plugin_handler *event_handler_add (t_weechat_plugin - *plugin, char *event, t_plugin_handler_func *function, - char *handler_args, void *handler_pointer) - - - - Fügt einen Ereignishandler hinzu, der aufgerufen wird, wenn ein - Ereignis eintritt. - - - Argumente: - - - - : Zeiger auf Plugin-Strukture - - - - - : Ereignis (siehe folgende Tabelle) - - - - - : aufgerufene Funktion - - - Es wird folgender Prototyp verwendet: - - int my_function (t_weechat_plugin *plugin, - int argc, char **argv, - char *handler_args, void *handler_pointer) - - - - - Arguments depend on event (see table below). - - - - - : Argument, die an die aufgerufene - Funktion übergeben werden - - - - - : Pointer, der an die - aufgerufene Funktion übergeben werden - - - - - - - List of events: - - - - - Ereignis - Beschreibung - Arguments - - - - - buffer_open - ein Puffer wurde geöffnet - - argc = 1, argv = { buffer number } - - - - buffer_close - ein Puffer wurde geschlossen - - argc = 1, argv = { buffer number } - - - - buffer_move - a buffer was moved - - argc = 2, argv = { new buffer number, old number } - - - - - - - - Rückgabewert: Pointer auf den neuen Ereignishandler. - - - Anmerkung: die aufgerufene Function muss einen der folgenden Werte - zurückgeben: - - - - PLUGIN_RC_KO: Funktion fehlgeschlagen - - - - - PLUGIN_RC_OK: Funktion erfolgreich beendet - - - - - - Beispiel: - -int my_event (t_weechat_plugin *plugin, int argc, char **argv, - char *handler_args, void *handler_pointer) -{ - plugin->print (plugin, NULL, NULL, "my_event"); - return PLUGIN_RC_OK; -} -... -t_plugin_handler *event_handler; -event_handler = plugin->event_handler_add (plugin, "buffer_open", - &my_event); - - -
- -
- handler_remove - - - Prototyp: - - void handler_remove (t_weechat_plugin *plugin, - t_plugin_handler *handler) - - - - Entfernt einen Nachrichten- oder Kommando-Handler. - - - Argumente: - - - - : Zeiger auf eine Plugin-Struktur - - - - - : Handler, der entfernt werden soll - - - - - - Rückgabewert: keiner - - - Beispiel: - plugin->handler_remove (plugin, my_handler); - -
- -
- handler_remove_all - - - Prototyp: - - void handler_remove_all (t_weechat_plugin *plugin) - - - - Entfernt alle Handler eines Plugins. - - - Argumente: - - - - : Zeiger auf eine Plugin-Struktur - - - - - - Rückgabewert: keiner - - - Beispiel: - plugin->handler_remove_all (plugin); - -
- -
- modifier_add - - - Prototyp: - - t_plugin_modifier *modifier_add (t_weechat_plugin *plugin, - char *type, char *message, t_plugin_modifier_func *function, - char *modifier_args, void *modifier_pointer) - - - - Füge einen Nachrichtenmodifikator hinzu. - - - Argumente: - - - - : Zeiger auf Plugin-Struktur - - - - - : Modifikatorart: - - - - - Art - Beschreibung - - - - - irc_in - wird bei eingehenden IRC-Nachrichten aufgerufen - - - irc_user - - wird bei jeder Benutzernachricht (oder Befehl) - aufgerufen (bevor WeeChat die Nachricht parst) - - - - irc_out - - wird unmittelbar vor dem Abschicken einer ausgehenden - Nachricht an den IRC-Server aufgerufen (auch bei - Nachrichten, die WeeChat automatisch an den Server - sendet) - - - - - - - - - - : Name der IRC-Nachricht (wird nur - bei den Arten "irc_in" and "irc_out" benutzt) - Um eine Liste der IRC-Nachrichten zu erhalten, lies bitte - folgende Dokumente:RFCs - 1459 - and - 2812. - Außerdem gibt es den Wert "*", der alle Nachrichten - anspricht (ohne Filter). - - - - - : aufgerufene Funktion - - - Folgender Prototyp wird dafür benutzt: - - int my_function (t_weechat_plugin *plugin, - int argc, char **argv, - char *modifier_args, void *modifier_pointer) - - - - Argument argc hat den Wert 2, folgende Werte sind in dem - argv-Array: - - - argv[0] = Servername - - - argv[1] = Nachricht - - - - - - - : an die Funktion übergebene - Werte - - - - - : an die Funktion - übergebener Zeiger - - - - - - Rückgabewert: Zeiger auf den neuen Nachrichtenmodifikator - - - Anmerkung: Die Funktion muss die veränderte Zeichenkette oder NULL - (wenn keine Änderungen erfolgten) zurückgeben. - Wenn die Funktion eine leere Zeichenkette zurückgibt, wird die - Nachricht komplett verworfen und nicht weiter von WeeChat - verarbeitet. (Seien Sie vorsichtig mit dem Verwerfen von - Nachrichten!) Die zurückgegebene Zeichenkette muss mit malloc() - zugewiesen worden sein und wird von WeeChat nach Gebrauch - automatisch mit free() wieder freigegeben. - - - Beispiel: - -char *adder (t_weechat_plugin *plugin, int argc, char **argv, - char *modifier_args, void *modifier_pointer) -{ - char *string; - string = malloc (strlen (argv[1]) + 16); - strcpy (string, argv[1]); - strcat (string, "test"); - return string; -} -... -t_plugin_modifier *modifier; -modifier = plugin->modifier_add (plugin, "irc_in", "privmsg", - &adder, NULL, NULL); - - -
- -
- modifier_remove - - - Prototyp: - - void modifier_remove (t_weechat_plugin *plugin, - t_plugin_modifier *modifier) - - - - Entfernt einen Nachrichtenmodifikator. - - - Arguments: - - - - : Zeiger auf Plugin-Struktur - - - - - : zu entfernender Modifikator - - - - - - Rückgabewert: keiner - - - Beispiel: - plugin->modifier_remove (plugin, my_modifier); - -
- -
- modifier_remove_all - - - Prototyp: - - void modifier_remove_all (t_weechat_plugin *plugin) - - - - Entfernt alle Modifikatoren für ein Plugin. - - - Argumente: - - - - : Zeiger auf Plugin-Struktur - - - - - - Rückgabewert: keiner - - - Beispiel: - plugin->modifier_remove_all (plugin); - -
- -
- exec_command - - - Prototyp: - - void exec_command (t_weechat_plugin - *plugin, char *server, char *channel, char *command) - - - - Führe ein WeeChat-Kommando aus (oder sende eine Nachricht an - einen Channel). - - - Argumente: - - - - : Zeiger auf eine Plugin-Struktur - - - - - : interner Name des Servers, auf den - das Kommando angewendet werden soll (kann NULL sein) - - - - - : Name des Channels, auf den das - Kommando angewendet werden soll (kann NULL sein) - - - - - : Kommando - - - - - - Rückgabewert: keiner - - - Beispiel: - -plugin->exec_command (plugin, NULL, NULL, "/help nick"); -plugin->exec_command (plugin, "freenode", "#weechat", "hello"); - - -
- -
- get_info - - - Prototyp: - - char *get_info (t_weechat_plugin *plugin, - char *info, char *server) - - - - Gib eine Information über WeeChat oder einen Channel zurück. - - - Argumente: - - - - : Zeiger auf eine Plugin-Struktur - - - - - : Name (Typ) der Information: - - - - - Info - Beschreibung - - - - - version - WeeChats Version - - - nick - Nickname - - - channel - - Name des Channels (NULL bei einem Server oder - Privatchat) - - - - server - Name des Servers - - - type - - Puffertyp: 0=standard, 1=DCC, 2=raw IRC data - - - - away - Status des "away"-Flags - - - inactivity - - Anzahl der Sekunden seit der letzten - Tastenbetätigung - - - - input - - Inhalt der Kommandozeile im gegenwärtigen Fenster - - - - input_mask - - Inhalt der Farbmaske für die Kommandozeile - - - - input_pos - - Position des Cursors in der Kommandozeile - - - - weechat_dir - - WeeChat-Verzeichnis (Standard: ~/.weechat/) - - - - weechat_libdir - WeeChat-Systemverzeichnis (Bibliotheken) - - - weechat_sharedir - WeeChat-Systemverzeichnis (gemeinsame Dateien) - - - - - - - - - : interner Name des Servers um - Informationen zu lesen (wenn benötigt) - - - - - - Rückgabewert: angeforderte Information oder NULL - - - Hinweis: das Ergebnis muss nach Nutzung mit "free" wieder - freigegeben werden. - - - Beispiele: - -char *version = plugin->get_info (plugin, "version", NULL); -char *nick = plugin->get_info (plugin, "nick", "freenode"); -char *inactivity = plugin->get_info (plugin, "inactivity", NULL); - -plugin->print (plugin, NULL, NULL, - "WeeChat version %s, you are %s on freenode " - "(inactive for %s seconds)", - version, nick, inactivity); - -if (version) - free (version); -if (nick) - free (nick); -if (inactivity) - free (inactivity); - - -
- -
- get_dcc_info - - - Prototyp: - - t_plugin_info_dcc *get_dcc_info (t_weechat_plugin *plugin) - - - - Gib eine Liste der aktiven oder beendeten DCCs zurück. - - - Argumente: - - - - : Zeiger auf eine Plugin-Struktur - - - - - - Rückgabewert: verkettete Liste von DCCs. - - - - - Typ - Feld - Beschreibung - - - - - char * - server - IRC Server - - - char * - channel - IRC Channel - - - int - type - - DCC Typ: - 0 = Chatanfrage empfangen, - 1 = Chatanfrage gesendet, - 2 = Datei empfangen, - 3 = Datei gesendet - - - - int* - status - - DCC Status: - 0 = wartend, - 1 = verbindend, - 2 = aktiv, - 3 = beendet, - 4 = fehlgeschlagen, - 5 = unterbrochen durch Anwender - - - - time_t - start_time - Datum/Zeit der Erzeugung der DCC - - - time_t - start_transfer - Datum/Zeit des Beginns der Übertragung der DCC - - - unsigned long - addr - IP-Adresse des Partners - - - int - port - Port der DCC - - - char * - nick - Nickname des Partners - - - char * - filename - Dateiname - - - char * - local_filename - lokaler Dateiname - - - int - filename_suffix - Suffix wenn die Datei umbenannt wird - - - unsigned long - size - Dateigrösse - - - unsigned long - pos - Position in Datei - - - unsigned long - start_resume - Startposition nach einer Unterbrechung - - - unsigned long - bytes_per_sec - - Übertragungsrate (Bytes/s) seit Beginn der Übertragung - - - - t_plugin_dcc_info * - prev_dcc - - Zeiger auf voheriges DCC-Info - - - - t_plugin_dcc_info * - next_dcc - - Zeiger auf nächstes DCC-Info - - - - - - - - - Hinweis: Das Ergebnis muss nach der Benutzung mittels - "free_dcc_info" wieder freigegeben werden. - - - Beispiele: - -t_plugin_dcc_info *dcc_info = plugin->get_dcc_info (plugin); -for (ptr_dcc = dcc_info; ptr_dcc; ptr_dcc = ptr_dcc->next_dcc) -{ - plugin->print_server (plugin, "DCC type=%d, with: %s", - ptr_dcc->type, ptr_dcc->nick); -} -if (dcc_info) - plugin->free_dcc_info (plugin, dcc_info); - - -
- -
- free_dcc_info - - - Prototyp: - - void free_dcc_info (t_weechat_plugin *plugin, - t_plugin_dcc_info *dcc_info) - - - - Gibt den Speicher einer Liste von DCC-Infos wieder frei. - - - Argumente: - - - - : Zeiger auf eine Plugin-Struktur - - - - - : Zeiger auf eine Liste mit - DCC-Infos, die mit "get_dcc_info" angelegt wurde - - - - - - Rückgabewert: keiner. - - - Beispiel: - plugin->free_dcc_info (plugin, dcc_info); - -
- -
- get_server_info - - - Prototyp: - - t_plugin_server_info *get_server_info (t_weechat_plugin *plugin) - - - - Gibt die Liste von IRC-Servern zurück (verbunden oder nicht) - - - Argumente: - - - - : Zeiger auf eine Plugin-Struktur - - - - - - Rückgabewert: Liste von IRC-Servern. - - - - - Typ - Feld - Beschreibung - - - - - char * - name - interner Servername - - - int - autoconnect - 1 wenn Autoconnect gesetzt ist, 0 sonst - - - int - autoreconnect - - 1 wenn autoreconnect gesetzt ist, - 0 sonst - - - - int - autoreconnect_delay - Wartezeit vor erneutem Verbindungsversuch - - - int - command_line - - 1 wenn der Servername auf der Kommandozeile angegeben - wurde (ist somit temporär) 0 sonst - - - - char * - address - Serveradresse (Name oder IP) - - - int - port - Port - - - int - ipv6 - IPv6-Verbindung - - - int - ssl - SSL-Verbindung - - - char * - password - Passwort - - - char * - nick1 - primärer Nickname - - - char * - nick2 - alternativer Nickname - - - char * - nick3 - zweiter, alternativer Nickname - - - char * - username - Username - - - char * - real name - tatsächlicher Name - - - char * - command - - Kommando, dass bei erfolgreicher Verbindung - ausgeführt wurde - - - - int - command_delay - Verzögerung nach Ausführung des Kommandos - - - char * - autojoin - Channels, die automatisch betreten werden sollen - - - int - autorejoin - - 1 wenn Channels wieder betreten werden sollen, nachdem - man gekickt wurde 0 sonst - - - - char * - notify_levels - Benachrichtigungs-Level von Channels - - - char * - charset_decode_iso - Zeichensatz zum Dekodieren von ISO - - - char * - charset_decode_utf - Zeichensatz zum Dekodieren von UTF - - - char * - charset_encode - - Zeichensatz der Channels zum Kodieren von - Nachrichten - - - - int - is_connected - 1 wenn verbunden mit einem Server, 0 otherwise - - - int - ssl_connected - 1 wenn verbunden über SSL, 0 sonst - - - char * - nick - gegenwärtiger Nickname - - - int - is_away - 1 wenn away-flag gesetzt ist, 0 sonst - - - time_t - away_time - Zeitspanne seit away-flag gesetzt ist - - - int - lag - Lag (in Millisekunden) - - - t_plugin_server_info * - prev_server - Zeiger auf vorherigen Knoten der Liste - - - t_plugin_server_info * - next_server - Zeiger auf nächsten Knoten der Liste - - - - - - - Hinweis: das Ergebnis muss nach der Benutzung mit - "free_server_info" wieder freigegeben werden. - - - Beispiel: - -t_plugin_server_info *server_info, *ptr_server_info; -server_info = plugin->get_server_info (plugin); -if (server_info) -{ - for (ptr_server_info = server_info; ptr_server_info; - ptr_server_info = ptr_server_info->next_server) - { - plugin->print (plugin, NULL, NULL, - "server: %s, address: %s, port: %d %s", - ptr_server_info->name, - ptr_server_info->address, - ptr_server_info->port, - (ptr_server_info->is_connected) ? "(connected)" : ""); - } - plugin->free_server_info (plugin, server_info); -} - - -
- -
- free_server_info - - - Prototyp: - - void free_server_info (t_weechat_plugin *plugin, - t_plugin_server_info *server_info) - - - - Gib den Speicher einer Liste "server info" frei - - - Argumente: - - - - : Zeiger auf eine Plugin-Struktur - - - - - : Zeiger auf eine Server-Liste, - der von der Funktion "get_server_info" zurückgegeben wurde. - - - - - - Rückgabewert: keiner. - - - Beispiel: - plugin->free_server_info (plugin, server_info); - -
- -
- get_channel_info - - - Prototyp: - - t_plugin_channel_info *get_channel_info (t_weechat_plugin *plugin, - char *server) - - - - Gib eine Liste der Channels für einen Server zurück. - - - Argumente: - - - - : Zeiger auf eine Plugin-Struktur - - - - - : interner Name des Server - - - - - - Rückgabewert: verkettete Liste von Channels für einen Server. - - - - - Typ - Feld - Beschreibung - - - - - int - type - - 0 für einen normalen Channel, 1 für einen Privaten - - - - char * - name - Name des Channels - - - char * - topic - Topic des Channels - - - char * - modes - Channelmodus (Flags) - - - int - limit - Anzahl der erlaubten User - - - char * - key - Schlüssel des Channels - - - int - nicks_count - Anzahl der Nicknamen des Channels - - - t_plugin_channel_info * - prev_channel - Zeiger auf vorherigem Knoten der Liste - - - t_plugin_channel_info * - next_channel - Zeiger auf nächsten Knoten der Liste - - - - - - - Hinweis: Das Ergebnis muss nach der Benutzung mit - "free_channel_info" wieder freigegeben werden. - - - Beispiel: - -t_plugin_channel_info *channel_info, *ptr_chan_info; -channel_info = plugin->get_channel_info (plugin, "freenode"); -if (channel_info) -{ - for (ptr_chan_info = channel_info; ptr_chan_info; - ptr_chan_info = ptr_chan_info->next_channel) - { - plugin->print (plugin, NULL, NULL, - " %s (type %d)", - ptr_chan_info->name, - ptr_chan_info->type); - } - plugin->free_channel_info (plugin, channel_info); -} - - -
- -
- free_channel_info - - - Prototyp: - - void free_channel_info (t_weechat_plugin *plugin, - t_plugin_channel_info *channel_info) - - - - Gibt den Speicher einer Liste "channel info" wieder frei. - - - Argumente: - - - - : Zeiger auf eine Plugin-Struktur - - - - - : Zeiger auf eine Liste - "channel info", der von "get_channel_info" zurückgegeben - wurde - - - - - - Rückgabewert: keiner. - - - Beispiel: - plugin->free_channel_info (plugin, channel_info); - -
- -
- get_nick_info - - - Prototyp: - - t_plugin_nick_info *get_nick_info (t_weechat_plugin *plugin, - char *server, char *channel) - - - - Gib eine Liste der Nicknamen für einen Channel zurück. - - - Argumente: - - - - : Zeiger auf eine Plugin-Struktur - - - - - : interner Name des Servers - - - - - : Name des Channels - - - - - - Rückgabewert: verkettete Liste von Nicknamen eines Channels. - - - - - Typ - Feld - Beschreibung - - - - - char * - nick - Nickname - - - char * - host - Hostname - - - int - Flags - - Flags, die für einen Nicknamen gesetzt sind: - Zweierpotenzen "oder" Zwischenwerte - (1 = channel owner, - 2 = channel admin, - 4 = op, - 8 = halfop, - 16 = voice, - 32 = away) - - - - t_plugin_nick_info * - prev_nick - Zeiger auf vorherigen Knoten der Liste - - - t_plugin_nick_info * - next_nick - Zeiger auf nächsten Knoten der Liste - - - - - - - Hinweis: Das Ergebnis muss nach der Benutzung mit "free_nick_info" wieder freigegeben werden. - - - Beispiel: - -t_plugin_nick_info *nick_info, *ptr_nick_info; -nick_info = plugin->get_nick_info (plugin, "freenode", "#weechat"); -if (nick_info) -{ - for (ptr_nick_info = nick_info; ptr_nick_info; - ptr_nick_info = ptr_nick_info->next_nick) - { - plugin->print (plugin, NULL, NULL, - " %s (flags: %d)", - ptr_nick_info->nick, - ptr_nick_info->flags); - } - plugin->free_nick_info (plugin, nick_info); -} - - -
- -
- free_nick_info - - - Prototyp: - - void free_nick_info (t_weechat_plugin *plugin, - t_plugin_nick_info *nick_info) - - - - Gibt den Speicher einer Liste "nick info" frei. - - - Argumente: - - - - : Zeiger auf eine Plugin-Struktur - - - - - : Zeiger auf eine Liste - "nick info", der von "get_nick_info" zurückgegeben wurde - - - - - - Rückgabewert: keiner. - - - Beispiel: - plugin->free_nick_info (plugin, nick_info); - -
- -
- get_config - - - Prototyp: - - char *get_config (t_weechat_plugin *plugin, char *option) - - - - Gibt den Wert einer Option der WeeChat-Konfiguration zurück. - - - Argumente: - - - - : Zeiger auf eine Plugin-Struktur - - - - - : Name der Option - - - - - - Rückgabewert: Wert der Option, oder NULL, wenn nichts gefunden wurde. - - - Hinweis: Das Ergebnis muss nach der Benutzung mit "free" wieder - freigegeben werden. - - - Beispiel: - -char *value1 = plugin->get_config (plugin, "look_set_title"); -char *value2 = plugin->get_config (plugin, "freenode.server_autojoin"); - - -
- -
- set_config - - - Prototyp: - - int set_config (t_weechat_plugin *plugin, - char *option, char *value) - - - - Setze den Wert einer Option der WeeChat-Konfiguration. - - - Argumente: - - - - : Zeiger auf eine Plugin-Struktur - - - - - : Name der Option - - - - - : der neue Wert der Option - - - - - - Rückgabewert: 1 wenn der Wert der Option gesetzt werden konnte, - 0 bei Auftreten eines Fehlers. - - - Beispiel: - -plugin->set_config (plugin, "look_nicklist", "off"); - - -
- -
- get_plugin_config - - - Prototyp: - - char *get_plugin_config (t_weechat_plugin *plugin, char *option) - - - - Gibt den Wert einer Option eines Plugins zurück. - Die Option wird aus "~/.weechat/plugins.rc" - gelesen und sieht so aus: "plugin.option=value" - (Hinweis: der Name des Plugins wird automatisch gesetzt). - - - - Argumente: - - - - : Zeiger auf eine Plugin-Struktur - - - - - : Name der Option - - - - - - Rückgabewert: Wert der Option, NULL wenn nichts gefunden wurde. - - - Hinweis: Das Ergebnis muss nach der Benutzung mit "free" wieder - freigegeben werden. - - - Beispiel: - -char *value = plugin->get_plugin_config (plugin, "my_var"); - - -
- -
- set_plugin_config - - - Prototyp: - - int set_plugin_config (t_weechat_plugin *plugin, - char *option, char *value) - - - - Setzt den Wert einer Option eines Plugins. - Die Option wird in die Datei - "~/.weechat/plugins.rc" geschrieben - und sieht so aus: "plugin.option=value" - (Hinweis: der Name des Plugins wird automatisch gesetzt) - - - Argumente: - - - - : Zeiger auf eine Plugin-Struktur - - - - - : Name der Option, die gesetzt werden soll - - - - - : Wert der zu setzenden Option - - - - - - Rückgabewert: 1 wenn die Option gesetzt werden konnte, 0 wenn ein - Fehler aufgetreten ist. - - - Beispiel: - -plugin->set_plugin_config (plugin, "my_var", "value"); - - -
- -
- get_irc_color - - - Prototype: - - int get_irc_color (t_weechat_plugin *plugin, - char *color_name) - - - - Hole IRC-Farbindex mit dem Farbnamen. - - - Argumente: - - - - : Zeiger auf die Pluginstruktur - - - - - : Farbname - Folgende Farben sind erlaubt: - - - - - Farbname - Wert - - - - - white - 0 - - - black - 1 - - - blue - 2 - - - green - 3 - - - lightred - 4 - - - red - 5 - - - magenta - 6 - - - brown - 7 - - - yellow - 8 - - - lightgreen - 9 - - - cyan - 10 - - - lightcyan - 11 - - - lightblue - 12 - - - lightmagenta - 13 - - - gray - 14 - - - lightgray - 15 - - - - - - - - - - Rückgabewert: IRC-Farbindex, -1 wenn die Farbe nicht gefunden wurde. - - - Beispiel: - -int color_blue = plugin->get_irc_color (plugin, "blue"); /* return 2 */ - - -
- -
- input_color - - - Prototyp: - - void input_color (t_weechat_plugin *plugin, - int color, int start, int length) - - - - Erzeugt einen Farbcode im Eingabepuffer. - - - Argumente: - - - - : Zeiger auf die Pluginstruktur - - - - - : Textfarbe (wenn der Wert < 0 ist, - dann wird der Eingabepuffer aufgefrischt und nicht verändert) - - - - - : Startposition für Einfärbung (wenn - der Wert < 0 ist, wird die Maske neu initialisiert) - - - - - : Länge der Einfärbung (wenn der Wert - <= 0 ist, wird die Maske neu initialisiert) - - - - - - Rückgabewert: keiner. - - - Beispiele: - -plugin->input_color (plugin, plugin->get_irc_color (plugin, "blue"), 10, 5); - - -
- -
- get_window_info - - - Prototype: - - t_plugin_window_info *get_window_info (t_weechat_plugin *plugin) - - - - Gibt die Liste der WeeChat-Fenster zurück. - - - Argumente: - - - - : Zeiger auf Pluginstruktur - - - - - - Rückgabewert: verkettete Liste der WeeChat-Fenster. - - - - - Typ - Feld - Beschreibung - - - - - int - win_x - horizontale Fensterposition - - - int - win_y - vertikale Fensterposition - - - int - win_width - Fensterbreite - - - int - win_height - Fensterhöhe - - - int - win_width_pct - - Breite in % (im Vergleich zum übergeordneten Fenster) - - - - int - win_height_pct - - Höhe % (im Vergleich zum übergeordneten Fenster) - - - - int - num_buffer - Anzahl der angezeigten Puffer - - - t_plugin_window_info * - prev_window - - Zeiger auf die Informationen des vorhergehenden Fensters - - - - t_plugin_window_info * - next_window - - Zeiger auf die Informationen des nächsten Fensters - - - - - - - - Anmerkung: Das Ergebnis muss nach Benutzung durch einen Aufruf der - "free_window_info"-Funktion gelöscht werden. - - - Example: - -t_plugin_window_info *window_info, *ptr_window; - -window_info = plugin->get_window_info (plugin); -if (window_info) -{ - for (ptr_window = window_info; ptr_window; ptr_window = ptr_window->next_window) - { - plugin->print (plugin, NULL, NULL, "--- window info ---"); - plugin->print (plugin, NULL, NULL, "(%d,%d), size: %dx%d, %%size: %d%%x%d%%", - ptr_window->win_x, ptr_window->win_y, - ptr_window->win_width, ptr_window->win_height, - ptr_window->win_width_pct, ptr_window->win_height_pct); - plugin->print (plugin, NULL, NULL, "num_buffer: %d", ptr_window->num_buffer); - } - plugin->free_window_info (plugin, window_info); -} -else - plugin->print (plugin, NULL, NULL, "no window info!"); - - -
- -
- free_window_info - - - Prototyp: - - void free_window_info (t_weechat_plugin *plugin, - t_plugin_window_info *window_info) - - - - Gibt den Speicher wieder frei, der von der - Fenster-Informationsliste belegt wird. - - - Argumente: - - - - : Zeiger auf Pluginstruktur - - - - - : Zeiger auf - Fenster-Informationsliste, der von der - "get_window_info"-Funktion zurückgegeben wurde - - - - - - Rückgabewert: keiner. - - - Beispiel: - plugin->free_window_info (plugin, window_info); - -
- -
- get_buffer_info - - - Prototyp: - - t_plugin_buffer_info *get_buffer_info (t_weechat_plugin *plugin) - - - - Gibt eine Liste der WeeChat-Puffer zurück. - - - Argumente: - - - - : Zeiger auf Pluginstruktur - - - - - - Rückgabewert: verkettete Liste der WeeChat-Puffer. - - - - - Typ - Feld - Beschreibung - - - - - int - type - Puffertyp: 0=standard, 1=DCC, 2=raw IRC data - - - int - number - Puffer-Nummer - - - int - num_displayed - Anzahl der Fenster im Puffer - - - char * - server_name - Servername für den Puffer (kann NULL sein) - - - char * - channel_name - Channelname für den Puffer (kann NULL sein) - - - int - notify_level - Benachrichtigungslevel für den Puffer - - - char * - log_filename - - Name der Logdatei (NULL bedeutet, dass nichts geloggt - wird) - - - - t_plugin_buffer_info * - prev_buffer - Zeiger auf die vorhergehenden Pufferinformationen - - - t_plugin_buffer_info * - next_buffer - Zeiger auf die nächsten Pufferinformationen - - - - - - - Bemerkung: Das Ergebnis muss nach der Auswertung mit der - "free_buffer_info"-Funktion wieder gelöscht werden. - - - Beispiel: - -t_plugin_buffer_info *buffer_info, *ptr_buffer; - -buffer_info = plugin->get_buffer_info (plugin); -if (buffer_info) -{ - for (ptr_buffer = buffer_info; ptr_buffer; ptr_buffer = ptr_buffer->next_buffer) - { - plugin->print (plugin, NULL, NULL, "--- buffer info ---"); - plugin->print (plugin, NULL, NULL, "type: %d", ptr_buffer->type); - plugin->print (plugin, NULL, NULL, "number: %d", ptr_buffer->number); - plugin->print (plugin, NULL, NULL, "num_displayed: %d", ptr_buffer->num_displayed); - plugin->print (plugin, NULL, NULL, "server: %s", ptr_buffer->server_name); - plugin->print (plugin, NULL, NULL, "channel: %s", ptr_buffer->channel_name); - plugin->print (plugin, NULL, NULL, "notify level: %d", ptr_buffer->notify_level); - plugin->print (plugin, NULL, NULL, "log filename: %s", ptr_buffer->log_filename); - } - plugin->free_buffer_info (plugin, buffer_info); -} -else - plugin->print (plugin, NULL, NULL, "no buffer info!"); - - -
- -
- free_buffer_info - - - Prototyp: - - void free_buffer_info (t_weechat_plugin *plugin, - t_plugin_buffer_info *buffer_info) - - - - Gibt den Speicher frei, der von der Puffer-Informationsliste - belegt wird. - - - Argumente: - - - - : Zeiger auf Pluginstruktur - - - - - : pointer to buffer info list - returned by "get_buffer_info" function - - - - - - Rückgabewert: keiner. - - - Beispiel: - plugin->free_buffer_info (plugin, buffer_info); - -
- -
- get_buffer_data - - - Prototype: - - t_plugin_buffer_data *get_buffer_info (t_weechat_plugin *plugin, - char *server, char *channel) - - - - Gibt den Inhalt des Puffers zurück. - - - Argumente: - - - - : Zeiger auf Pluginstruktur - - - - - : interner Name des Servers - - - - - : Channelname - - - - - - Rückgabewert: Pufferinhalt (verkettete Liste mit den Zeilen). - - - - - Typ - Feld - Beschreibung - - - - - time_t - date - Datum/Zeit - - - char * - nick - Nick - - - char * - data - Zeileninhalt (Farbcodes wurden entfernt) - - - t_plugin_buffer_line * - prev_line - Zeiger auf die vorherige Zeile - - - t_plugin_buffer_line * - next_line - Zeiger auf die nächste Zeile - - - - - - - Bemerkung: Das Ergebnis muss nach der Auswertung mit der - "free_buffer_data"-Funktion wieder gelöscht werden. - - - Example: - -t_plugin_buffer_line *buffer_line, *ptr_line; -char text_time[256]; - -buffer_line = plugin->get_buffer_data (plugin); -if (buffer_line) -{ - for (ptr_line = buffer_line; ptr_line; ptr_line = ptr_line->next_line) - { - strftime (text_time, sizeof (text_time), "%x %X", localtime (&(ptr_line->date))); - plugin->print (plugin, NULL, NULL, "date: %s, nick: %s, data: %s", - text_time, ptr_line->nick, ptr_line->data); - } - plugin->free_buffer_data (plugin, buffer_line); -} - - -
- -
- free_buffer_data - - - Prototype: - - void free_buffer_data (t_weechat_plugin *plugin, - t_plugin_buffer_line *buffer_line) - - - - Gibt den Speicher frei, der von den Pufferzeilen belegt wurde. - - - Arguments: - - - - : Zeiger auf Pluginstruktur - - - - - : Zeiger auf Pufferzeilen, der - von der "get_buffer_data"-Funktion zurückgegeben wurde - - - - - - Rückgabewert: keiner. - - - Beispiele: - plugin->free_buffer_data (plugin, buffer_line); - -
- -
- -
- Übersetzen eines Plugins - - - Das Übersetzen braucht keine WeeChat-Quellen, aber die Datei "weechat-plugin.h". - - - - Um ein Plugin zu übersetzen, das aus einer Datei "toto.c" besteht - (unter GNU/Linux): - -$ gcc -fPIC -Wall -c toto.c -$ gcc -shared -fPIC -o libtoto.so toto.o - - - -
- -
- Laden des Plugins in WeeChat - - - Kopiere die Datei "libtoto.so" in das Plugin-Verzeichnis der - systemweiten Dateien WeeChats (zum Beispiel: - "/usr/local/lib/weechat/plugins") oder in das - Plugin-Verzeichnis des Users (zum Beispiel: - "/home/xxxxx/.weechat/plugins"). - - - - In WeeChat: - /plugin load toto - - -
- -
- Plugin Beispiel - - - Vollständiges Beispiel eines Plugins, welches das Kommando /double - implementiert, dass seine Argumente im gegenwärtigen Channel doppelt - ausgibt (ok, das ist weniger nützlich, aber auch nur ein Beispiel!): - -#include <stdlib.h> - -#include "weechat-plugin.h" - -char plugin_name[] = "Double"; -char plugin_version[] = "0.1"; -char plugin_description[] = "Test plugin for WeeChat"; - -/* "/double" command manager */ - -int double_cmd (t_weechat_plugin *plugin, int argc, char **argv, - char *handler_args, void *handler_pointer) -{ - if (argv[2] && (argv[2][0] != '/')) - { - plugin->exec_command (plugin, NULL, NULL, argv[2]); - plugin->exec_command (plugin, NULL, NULL, argv[2]); - } - return PLUGIN_RC_OK; -} - -int weechat_plugin_init (t_weechat_plugin *plugin) -{ - plugin->cmd_handler_add (plugin, "double", - "Display two times a message", - "msg", - "msg: message to display two times", - NULL, - &double_cmd, - NULL, NULL); - return PLUGIN_RC_OK; -} - -void weechat_plugin_end (t_weechat_plugin *plugin) -{ - /* nothing done here */ -} - - - -
- -
- -
- Zeichensatz Plugin - - - Das Zeichensatz-Plugin ermöglicht das Ver- und Entschlüsseln von Daten - auf 3 Ebenen: Global, pro Server oder pro Channel. - Das Plugin ist optional, wird jedoch empfohlen: wenn es nicht geladen - ist, kann WeeChat nur UTF-8-Daten lesen und schreiben. - - - - Das Zeichensatz-Plugin sollte beim Start von WeeChat automatisch geladen - werden. - Um sicherzustellen, dass das Plugin geladen wurde, versuchen Sie: - "/charset". - Wenn der Befehl nicht gefunden wird, laden Sie das Plugin manuell mit - dem Befehl: /plugin load charset - Wenn das Plugin nicht gefunden wird, kompilieren Sie WeeChat erneut - mit Plugin- und Zeichensatz-Support - - - - Wenn das Zeichensatz-Plugin startet, zeigt es den Terminalzeichensatz - und den internen Zeichensatz an. Der Terminalzeichensatz hängt von - den LOCALE-Einstellungen ab, der interne ist UTF-8. - Zum Beispiel: - --P- Charset plugin starting, terminal charset: ISO-8859-15 (WeeChat internal: UTF-8) - - - -
- Einstellungen - - - - - Um den globalen Zeichensatz zum Kodieren und Dekodieren - festzulegen, benutzen Sie den "/setp" Befehl. - Zum Beispiel: - -/setp charset.global.decode = ISO-8859-15 -/setp charset.global.encode = ISO-8859-15 - - Wenn der Zeichensatz zum Dekodieren nicht gesetzt ist (z.B. beim - ersten Start des Plugins), wird es automatisch auf den - Terminalzeichensatz eingestellt (wenn es nicht UTF-8 ist) oder - als Voreinstellung auf "ISO-8859-1" gesetzt. - Der voreingestellte Enkodierungszeichensatz ist leer, so dass in - der Voreinstellung mit dem internen Zeichensatz (UTF-8) enkodiert - wird. - - - - - Um den Serverzeichensatz festzulegen, benutzen Sie den - "/charset"-Befehl im Server-Puffer. - Wenn Sie nur einen Zeichensatz vorgeben, wird dieser automatisch - zum Enkodieren und Dekodieren verwendet. - Zum Beispiel: - /charset ISO-8859-15 - Das ist gleichbedeutend mit: - -/charset decode ISO-8859-15 -/charset encode ISO-8859-15 - - - - - - Um den zeichensatz im Channel (oder einem privatem Chat) - festzulegen, müssen Sie den gleichen Befehl wie für den Server - benutzen, jedoch in dem Channel-Puffer (oder Query-Puffer) - - - - -
- -
- FAQ - - - Wenn Sie Probleme mit den Zeichen oder dem Zeichensatz-Plugin haben: - - - - überprüfen Sie, ob weechat-curses zu libcursesw gelinkt ist - (Achtung: Wird bei den meisten, jedoch nicht bei allen - Distributionen benötigt): - ldd /pfad/zu/weechat-curses - - - - - überprüfen Sie die Zeichensatz-Zeile im Server-Puffer, dort - sollten ISO-XXXXXX oder UTF-8 für den Terminal-Zeichensatz - stehen. Wenn Sie dort ANSI_X3.4-1968 oder andere Werte sehen, - sind Ihre LOCALES eventuell falsch eingestellt. - - - - - Setze die globalen Dekodier-Einstellungen, z.B.: - /setp charset.global.decode = ISO-8859-15 - - - - - -
- -
- -
- Skript-Plugins - - - Vier Plugins werden von WeeChat angeboten um Skriptsprachen zu nutzen: - Perl, Python, Ruby und Lua. - - -
- Laden / Entfernen von Skripten - - - Scripts are loaded and unloaded with /perl, - /python, /ruby and - /lua commands - (type /help in WeeChat for help about commands). - - Skripte werden mit den Kommandos /perl, /python, - /ruby und /lua geladen oder - entfernt. (Benutze /help in WeeChat für Hilfe zu - den Kommandos). - - - - Beispiele: - - - - Laden eines Perl-Skripts: - /perl load /tmp/test.pl - - - - - Liste alle geladenen Perl-Skripte auf: - /perl - - - - - Laden eines Python-Skripts: - /python load /tmp/test.py - - - - - Liste alle geladenen Python-Skripte auf: - /python - - - - - Laden eines Ruby-Skripts: - /ruby load /tmp/test.rb - - - - - Liste alle geladenen Ruby-Skripte auf: - /ruby - - - - - Laden eines Lua-Skripts: - /lua load /tmp/test.lua - - - - - Liste alle geladenen Lua-Skripte auf: - /lua - - - - - -
- -
- Syntax in den Skriptsprachen - -
- Perl - - - In einem WeeChat-PerlSkript ist allen API-Funktionen und Variablen - ein "weechat::" vorangestellt. - Beispiel: -weechat::register("test", "1.0", "end_test", "WeeChat perl script"); - - -
- -
- Python - - - Ein WeeChat-Pythonskript muss mit einer Importdirektive für WeeChat - beginnen: - import weechat - - - - Allen API-Funktionen und Variablen ist ein - "weechat." vorangestellt. - Beispiel: -weechat.register("test", "1.0", "end_test", "WeeChat python script") - - -
- -
- Ruby - - - In einem WeeChat-Rubyskript muss der gesamte Code innerhalb von - Funktionen stehen. Für den Hauptteil ist die Funktion - "weechat_init" zu definieren, die automatisch - aufgerufen wird, wenn das Skript in WeeChat geladen wird. - Beispiel: - -def weechat_init - Weechat.register("test", "1.0", "end_test", "WeeChat ruby script") - Weechat.add_command_handler("command", "my_command") - return Weechat::PLUGIN_RC_OK -end - -def my_command(server, args) - Weechat.print("my command") - return Weechat::PLUGIN_RC_OK -end - - - - - Allen API-Funktionen ist "Weechat." - und Variablen "Weechat::" vorangestellt. - - -
- -
- Lua - - - In einem WeeChat-Luaskript ist allen Funktionen ein - "weechat." vorangestellt. Variablen beginnen - mit "weechat." und enden mit - "()". - Beispiel: - -function message_handler(server, args) - weechat.print("I am a message handler") - return weechat.PLUGIN_RC_OK() -end - - - -
- -
- -
- WeeChat / Skript-API - -
- register - - - Perl-Prototyp: - - weechat::register(name, version, end_function, description, - [charset]); - - - - Python-Prototyp: - - weechat.register(name, version, end_function, description, - [charset]) - - - - Ruby-Prototyp: - - Weechat.register(name, version, end_function, description, - [charset]) - - - - Lua-Prototyp: - - weechat.register(name, version, end_function, description, - [charset]) - - - - Das ist die erste Funktion, die in einem Skript aufgerufen wird. - Alle WeeChat-Skripte müssen diese Funktion aufrufen. - - - Argumente: - - - - : eindeutiger Name des Skripts - (jedes Skript muss einen eindeutigen Namen besitzen) - - - - - : Version des Skripts - - - - - : Funktion, die aufgerufen - wird, wenn das Skript entfernt werden soll (optional; ein - leerer String bedeutet, dass nichts aufgerufen wird) - - - - - : eine kurze Beschreibung des - Skripts - - - - - : Zeichensatz, der von dem Script - benutzt wird, sollten Sie setzen, wenn das Script nicht in - UTF-8 geschrieben ist - - - - - - Rückgabewert: 1 wenn das Skript registriert werden konnte, 0 wenn - ein Fehler aufgetaucht ist. - - - Beispiele: - -# perl -weechat::register("test", "1.0", "end_test", "Test script!", "ISO-8859-1"); - -# python -weechat.register("test", "1.0", "end_test", "Test script!", "ISO-8859-1") - -# ruby -Weechat.register("test", "1.0", "end_test", "Test script!", "ISO-8859-1") - --- lua -weechat.register("test", "1.0", "end_test", "Test script!", "ISO-8859-1") - - -
- -
- set_charset - - - Perl-Prototyp: - - weechat::set_charset(charset); - - - - Python-Prototyp: - - weechat.set_charset(charset) - - - - Ruby-Prototyp: - - Weechat.set_charset(charset) - - - - Lua-Prototyp: - - weechat.set_charset(charset) - - - - Legt einen neuen Script-Zeichensatz fest. - - - Argumente: - - - - : neuer Script-Zeichensatz - - - - - - Rückgabewert: 1, wenn der Zeichensatz erfolgreich gesetzt wurd, 0, - wenn ein Fehler aufgetreten ist - - - Beispiele: - -# perl -weechat::set_charset("ISO-8859-1"); - -# python -weechat.set_charset("ISO-8859-1") - -# ruby -Weechat.set_charset("ISO-8859-1") - --- lua -weechat.set_charset("ISO-8859-1") - - -
- -
- print - - - Perl-Prototyp: - - weechat::print(message, [channel, [server]]) - - - - Python-Prototyp: - - weechat.prnt(message, [channel, [server]]) - - - - Ruby-Prototyp: - - Weechat.print(message, [channel, [server]]) - - - - Lua-Prototyp: - - weechat.print(message, [channel, [server]]) - - - - Sende eine Nachricht an einen WeeChat-Puffer, identifiziert durch - Server und Channel. - - - Argumente: - - - - : Nachricht - - - - - : Name des Channels, zu welchem der - Puffer gehört, in dem die - Nachricht angezeigt werden soll - - - - - : interner Name des Servers, zu - welchem der Puffer gehört, in dem die Nachricht angezeigt - werden soll - - - - - - - To display colored text, see . - - - Rückgabewert: 1 bei Erfolg, 0 wenn ein Fehler aufgetreten ist - - - Beispiele: - -# perl -weechat::print("message"); -weechat::print("message", "#weechat"); -weechat::print("message", "#weechat", "freenode"); -weechat::print("test: \x0305 rot \x0F normal"); - -# python -weechat.prnt("message") -weechat.prnt("message", "#weechat") -weechat.prnt("message", "#weechat", "freenode") - -# ruby -Weechat.print("message") -Weechat.print("message", "#weechat") -Weechat.print("message", "#weechat", "freenode") - --- lua -weechat.print("message") -weechat.print("message", "#weechat") -weechat.print("message", "#weechat", "freenode") - - -
- - -
- print_server - - - Perl prototype: - - weechat::print_server(message) - - - - Python prototype: - - weechat.print_server(message) - - - - Ruby prototype: - - Weechat.print_server(message) - - - - Lua prototype: - - weechat.print_server(message) - - - - Display a message on server buffer. - - - Arguments: - - - - : message - - - - - - To display colored text, see . - - - Return value: 1 if success, 0 if an error occurred. - - - Examples: - -# perl -weechat::print_server("message"); -weechat::print_server("test: \x0305 rot \x0F normal"); - -# python -weechat.print_server("message") - -# ruby -Weechat.print_server("message") - --- lua -weechat.print_server("message") - - -
- -
- print_infobar - - - Perl-Prototyp: - - weechat::print_infobar(time, message); - - - - Python-Prototyp: - - weechat.print_infobar(time, message) - - - - Ruby-Prototyp: - - Weechat.print_infobar(time, message) - - - - Lua-Prototyp: - - weechat.print_infobar(time, message) - - - - Zeige eine Nachricht für einen festen Zeitraum in der Infobar. - - - Argumente: - - - - : Zeit (in sekunden) der Anzeige - (0 = permanent) - - - - - : Nachricht - - - - - - Rückgabewert: 1 bei Erfolg, 0 wenn ein Fehler aufgetreten ist - - - Beispiele: - -# perl -weechat::print_infobar(5, "message"); - -# python -weechat.print_infobar(5, "message") - -# ruby -Weechat.print_infobar(5, "message") - --- lua -weechat.print_infobar(5, "message") - - -
- -
- remove_infobar - - - Perl-Prototyp: - - weechat::remove_infobar([count]); - - - - Python-Prototyp: - - weechat.remove_infobar([count]) - - - - Ruby-Prototyp: - - Weechat.remove_infobar([count]) - - - - Lua-Prototyp: - - weechat.remove_infobar([count]) - - - - Entfernt eine oder mehrere Nachrichten aus dem Infobar-Speicher. - - - Argumente: - - - - : Anzahl der Nachrichten, die entfernt - werden sollen (Ist kein Argument angegeben oder <= 0 - werden alle Nachrichten entfernt) - - - - - - Rückgabewert: 1 bei Erfolg, 0 bei Auftreten eines Fehlers - - - Beispiele: - -# perl -weechat::remove_infobar(1); - -# python -weechat.remove_infobar(1) - -# ruby -Weechat.remove_infobar(1) - --- lua -weechat.remove_infobar(1) - - -
- -
- log - - - Perl-Prototyp: - - weechat::log(message, [channel, [server]]); - - - - Python-Prototyp: - - weechat.log(message, [channel, [server]]) - - - - Ruby-Prototyp: - - Weechat.log(message, [channel, [server]]) - - - - Lua-Prototyp: - - weechat.log(message, [channel, [server]]) - - - - Schreibe eine Nachricht in die Logdatei eines Servers oder Channels. - - - Argumente: - - - - : Nachricht - - - - - : Name des Channels, zu welchem der - Puffer der Logdatei gehört - - - - - : interner Name des Servers, zu - welchem der Puffer der Logdatei gehört - - - - - - Rückgabewert: 1 bei Erfolg, 0 wenn ein Fehler aufgetreten ist. - - - Beispiel: - -# perl -weechat::log("message", "#weechat", "freenode"); - -# python -weechat.log("message", "#weechat", "freenode") - -# ruby -Weechat.log("message", "#weechat", "freenode") - --- lua -weechat.log("message", "#weechat", "freenode") - - -
- -
- add_message_handler - - - Perl-Prototyp: - - weechat::add_message_handler(message, function); - - - - Python-Prototyp: - - weechat.add_message_handler(message, function) - - - - Ruby-Prototyp: - - Weechat.add_message_handler(message, function) - - - - Lua-Prototyp: - - weechat.add_message_handler(message, function) - - - - Erzeuge einen Nachrichten-Handler, der bei Empfang einer - IRC-Nachricht aufgerufen wird. - - - Argumente: - - - - : Name (Typ) der IRC-Nachricht. Für - eine Liste - der bekannten Typen von IRC-Nachrichten konsultieren sie - bitte die - RFCs - 1459 - und - 2812. - Mehr noch, sie können spezielle Ereignisse abfangen, indem - sie einen speziellen Namen verwenden, der mit - "weechat_" beginnt (siehe - ). - - - - - : Funktion, die bei Empfang einer - Nachricht aufgerufen werden soll - - - - - - Rückgabewert: 1 bei Erfolg, 0 wenn ein Fehler aufgetreten ist. - - - Beispiele: - -# perl -weechat::add_message_handler ("privmsg", "my_function"); -sub my_function -{ - weechat::print("server=$_[0]"); - ($null, $channel, $message) = split ":",$_[1],3; - ($mask, $null, $channel) = split " ", $channel; - weechat::print("mask=$mask, channel=$channel, msg=$message"); - return weechat::PLUGIN_RC_OK; -} - -# python -weechat.add_message_handler ("privmsg", "my_function") -def my_function(server, args): - weechat.prnt("server="+server) - null, channel, message = string.split(args, ":", 2) - mask, null, channel = string.split(string.strip(channel), " ", 2) - weechat.prnt("mask="+mask+", canal="+channel+", message="+message) - return weechat.PLUGIN_RC_OK - -# ruby -Weechat.add_message_handler("privmsg", "my_function") -def my_function(server, args) - Weechat.print("server=#{server}, args=#{args}") - return Weechat::PLUGIN_RC_OK -end - --- lua -weechat.add_message_handler ("privmsg", "my_function") -function my_function(server, args) - weechat.print("server=" .. server .. ", args=" .. args) - return weechat.PLUGIN_RC_OK() -end - - - - Hinweis: die Funktion, die aufgerufen wird wenn eine Nachricht - empfangen wurde, muss einen der folgenden Werte zurückgeben: - - - - PLUGIN_RC_KO: Funktion fehlgeschlagen - - - - - PLUGIN_RC_OK: Funktion war erfolgreich - - - - - PLUGIN_RC_OK_IGNORE_WEECHAT: Die Nachricht - wird nicht an WeeChat übergeben - - - - - PLUGIN_RC_OK_IGNORE_PLUGINS: Die Nachricht - wird nicht an andere Plugins - weitergegeben - - - - - PLUGIN_RC_OK_IGNORE_ALL: Die Nachricht - wird weder an WeeChat noch an andere Plugins übergeben - - - - - PLUGIN_RC_OK_WITH_HIGHLIGHT: Funktion - erfolgreich vervollständigt und eine Hervorhebung bei den - empfangenen Nachrichten eingebaut - - - - -
- -
- add_command_handler - - - Perl-Prototyp: - - weechat::add_command_handler(command, function, - [description, arguments, arguments_description, - completion_template]); - - - - Python-Prototyp: - - weechat.add_command_handler(command, function, - [description, arguments, arguments_description, - completion_template]) - - - - Ruby-Prototyp: - - Weechat.add_command_handler(command, function, - [description, arguments, arguments_description, - completion_template]) - - - - Lua-Prototyp: - - weechat.add_command_handler(command, function, - [description, arguments, arguments_description, - completion_template]) - - - - Erzeugt einen Kommando-Handler, der aufgerufen wird, wenn der - Anwender das Kommando benutzt (Beispiel: /command). - - - Argumente: - - - - : - Name des neuen Kommandos, der auch Name eines bereits - existierenden Kommandos sein kann (mit Bedacht zu verwenden, - das ersetzte Kommando ist nicht verfügbar, bis das Plugin - entfernt wurde) - - - - - : Funktion, die aufgerufen wird, - wenn das Kommando ausgeführt wird - - - - - : eine kurze Beschreibung der - Argumente des Kommandos (werden angezeigt bei /help command) - - - - - : eine ausführliche - Beschreibung der Argumente des Kommandos (werden angezeigt - bei /help command) - - - - - : - Vorlage für die Vervollständigung; zum Beispiel bedeutet - "abc|%w def|%i", dass das - erste Argument "abc" oder ein WeeChat-Kommando sein kann - und das zweite Argument "def" oder ein IRC-Kommando. - (siehe ) - - - - - - Rückgabewert: 1 bei Erfolg, 0 wenn ein Fehler aufgetreten ist - - - Beispiele: - -# perl -weechat::add_command_handler("command", "my_command"); -sub my_command -{ - weechat::print("server= $_[0], args: $_[1]"); - return weechat::PLUGIN_RC_OK; -} - -# python -weechat.add_command_handler("command", "my_command") -def my_command(server, args): - weechat.prnt("server="+server+", args="+args) - return weechat.PLUGIN_RC_OK - -# ruby -Weechat.add_command_handler("command", "my_command") -def my_command(server, args) - Weechat.print("server=#{server}, args=#{args}") - return Weechat::PLUGIN_RC_OK -end - --- lua -weechat.add_command_handler("command", "my_command") -def my_command(server, args) - weechat.print("server="..server..", args="..args) - return weechat.PLUGIN_RC_OK() -end - - - - Hinweis: die Funktion, die aufgerufen wird wenn eine Nachricht - empfangen wurde, muss einen der folgenden Werte zurückgeben: - - - - - PLUGIN_RC_KO : Funktion ist fehlgeschlagen - - - - - PLUGIN_RC_OK : Funktion war erfolgreich - - - - -
- -
- add_timer_handler - - - Perl-Prototyp: - - weechat::add_timer_handler(interval, function); - - - - Python-Prototyp: - - weechat.add_timer_handler(interval, function) - - - - Ruby-Prototyp: - - Weechat.add_timer_handler(interval, function) - - - - Lua-Prototyp: - - weechat.add_timer_handler(interval, function) - - - - Erzeugt einen zeitgesteuerten Handler, der periodisch eine Funktion - aufruft. - - - Argumente: - - - - : Interval (in Sekunden) zwischen - zwei Aufrufen der Funktion. - - - - - : Funktion, die aufgerufen wird - - - - - - Rückgabewert: 1 bei Erfolg, 0 wenn ein Fehler aufgetreten ist - - - Beispiele: - -# perl -weechat::add_timer_handler(60, "my_timer"); -sub my_timer -{ - weechat::print("this is timer handler"); - return weechat::PLUGIN_RC_OK; -} - -# python -weechat.add_timer_handler(60, "my_timer") -def my_timer(): - weechat.prnt("this is timer handler") - return weechat.PLUGIN_RC_OK - -# ruby -Weechat.add_timer_handler(60, "my_timer") -def my_timer() - Weechat.print("this is timer handler") - return Weechat::PLUGIN_RC_OK -end - --- lua -weechat.add_timer_handler(60, "my_timer") -function my_timer() - weechat.print("this is timer handler") - return weechat.PLUGIN_RC_OK() -end - - - - Note: function called has to return one of following values: - Hinweis: die Funktion, die aufgerufen wird, muss - einen der folgenden Werte zurückgeben: - - - - - PLUGIN_RC_KO: Funktion ist fehlgeschlagen - - - - - PLUGIN_RC_OK: Funktion war erfolgreich - completed - - - - -
- -
- add_keyboard_handler - - - Perl-Prototyp: - - weechat::add_keyboard_handler(function); - - - - Python-Prototyp: - - weechat.add_keyboard_handler(function) - - - - Ruby-Prototyp: - - Weechat.add_keyboard_handler(function) - - - - Lua-Prototyp: - - weechat.add_keyboard_handler(function) - - - - Erzeugt einen Keyboard-Handler, der für jeden Tastendruck - aufgerufen wird. - - - Argumente: - - - - : Funktion, die aufgerufen wird - - - - - - Rückgabewert: 1 bei Erfolg, 0 wenn ein Fehler aufgetreten ist - - - Beispiele: - -# perl -weechat::add_keyboard_handler("my_keyboard"); -sub my_keyboard -{ - my $key = shift; - my $input_before = shift; - my $input_after = shift; - weechat::print("keyboard handler: key = '$key', " - ."input before = '$input_before' " - ."after = '$input_after'"); - return weechat::PLUGIN_RC_OK; -} - -# python -weechat.add_keyboard_handler("my_keyboard") -def my_keyboard(key, input_before, input_after): - weechat.prnt("keyboard handler: key = '%s', " \ - "input before = '%s' after = '%s'" - %(key, input_before, input_after)) - return weechat.PLUGIN_RC_OK - -# ruby -Weechat.add_keyboard_handler("my_keyboard") -def my_keyboard(key, input_before, input_after) - Weechat.print("keyboard handler: key = '#{key}', " \ - "input before = '#{input_before}' " \ - "after = '#{input_after}'") - return Weechat::PLUGIN_RC_OK -end - --- lua -weechat.add_keyboard_handler("my_keyboard") -function my_keyboard(key, input_before, input_after) - weechat.print("keyboard handler: key = '"..key.. - "', input before = '"..input_before.. - "' after = '"..input_after.."'") - return weechat.PLUGIN_RC_OK() -end - - - - Hinweis: Die aufgerufene Funktion muss einen der folgenden Werte - zurückgeben: - - - - PLUGIN_RC_KO: Funktion ist fehlgeschlagen - - - - - PLUGIN_RC_OK: Funktion war erfolgreich - - - - -
- -
- add_event_handler - - - Perl-Prototyp: - - weechat::add_event_handler(event, function); - - - - Python-Prototyp: - - weechat.add_event_handler(event, function) - - - - Ruby-Prototyp: - - Weechat.add_event_handler(event, function) - - - - Lua-Prototyp: - - weechat.add_event_handler(event, function) - - - - Fügt einen Ereignis-Handler hinzu, der beim Auftreten eines - Ereignisses aufgerufen wird. - - - Argumente: - - - - : Ereignis - (see ) - - - - - : aufgerufene Funktion - - - - - - Rückgabewerte: 1 bei Erfolg, 0 bei aufgetretenen Fehlern - - - Beispiele: - -# perl -weechat::add_event_handler("buffer_open", "my_event"); -sub my_event -{ - weechat::print("buffer open"); - return weechat::PLUGIN_RC_OK; -} - -# python -weechat.add_event_handler("buffer_open", "my_event") -def my_event(): - weechat.prnt("buffer open") - return weechat.PLUGIN_RC_OK - -# ruby -Weechat.add_event_handler("buffer_open", "my_event") -def my_event() - Weechat.print("buffer open") - return Weechat::PLUGIN_RC_OK -end - --- lua -weechat.add_event_handler("buffer_open", "my_event") -function my_event() - weechat.print("buffer open") - return weechat.PLUGIN_RC_OK() -end - - - - Bemerkung: aufgerufene Funktion muss einen der folgenden Werte - zurückgeben: - - - - PLUGIN_RC_KO: Funktion fehlgeschlagen - - - - - PLUGIN_RC_OK: Funktion erfolgreich beendet - - - - -
- -
- remove_handler - - - Perl-Prototyp: - - weechat::remove_handler(name, function); - - - - Python-Prototyp: - - weechat.remove_handler(name, function) - - - - Ruby-Prototyp: - - Weechat.remove_handler(name, function) - - - - Lua-Prototyp: - - weechat.remove_handler(name, function) - - - - Entfernt einen Nachrichten- oder Kommando-Handler. - - - Argumente: - - - - : Name der IRC-Message oder Kommando - - - - - : Funktion - - - - - - Rückgabewert: 1 bei Erfolg, 0 bei Auftreten eines Fehlers - - - Beispiele: - -# perl -weechat::remove_handler("command", "my_command"); - -# python -weechat.remove_handler("command", "my_command") - -# ruby -Weechat.remove_handler("command", "my_command") - --- lua -weechat.remove_handler("command", "my_command") - - -
- -
- remove_timer_handler - - - Perl-Prototyp: - - weechat::remove_timer_handler(function); - - - - Python-Prototyp: - - weechat.remove_timer_handler(function) - - - - Ruby-Prototyp: - - Weechat.remove_timer_handler(function) - - - - Lua-Prototyp: - - weechat.remove_timer_handler(function) - - - - Entfernt einen zeitgesteuerten Handler. - - - Argumente: - - - - : Funktion - - - - - - Rückgabewert: 1 bei Erfolg, 0 wenn ein Fehler aufgetreten ist - - - Beispiele: - -# perl -weechat::remove_timer_handler("my_timer"); - -# python -weechat.remove_timer_handler("my_timer") - -# ruby -Weechat.remove_timer_handler("my_timer") - --- lua -weechat.remove_timer_handler("my_timer") - - -
- -
- remove_keyboard_handler - - - Perl-Prototyp: - - weechat::remove_keyboard_handler(function); - - - - Python-Prototyp: - - weechat.remove_keyboard_handler(function) - - - - Ruby-Prototyp: - - Weechat.remove_keyboard_handler(function) - - - - Lua-Prototyp: - - weechat.remove_keyboard_handler(function) - - - - Entfernt einen Keyboard-Handler. - - - Argumente: - - - - : Funktion - - - - - - Rückgabewerte: 1 bei Erfolg, 0 wenn ein Fehler aufgetreten ist. - - - Beispiele: - -# perl -weechat::remove_keyboard_handler("my_keyboard"); - -# python -weechat.remove_keyboard_handler("my_keyboard") - -# ruby -Weechat.remove_keyboard_handler("my_keyboard") - --- lua -weechat.remove_keyboard_handler("my_keyboard") - - -
- -
- remove_event_handler - - - Perl-Prototyp: - - weechat::remove_event_handler(function); - - - - Python-Prototyp: - - weechat.remove_event_handler(function) - - - - Ruby-Prototyp: - - Weechat.remove_event_handler(function) - - - - Lua-Prototyp: - - weechat.remove_event_handler(function) - - - - Entfernt einen Ereignis-Handler. - - - Argumente: - - - - : Funktion - - - - - - Rückgabewerte: 1 bei Erfolg, 0 wenn ein Fehler aufgetreten ist. - - - Beispiele: - -# perl -weechat::remove_event_handler("my_event"); - -# python -weechat.remove_event_handler("my_event") - -# ruby -Weechat.remove_event_handler("my_event") - --- lua -weechat.remove_event_handler("my_event") - - -
- -
- add_modifier - - - Perl-Prototyp: - - weechat::add_modifier(type, message, function); - - - - Python-Prototyp: - - weechat.add_modifier(type, message, function) - - - - Ruby-Prototyp: - - Weechat.add_modifier(type, message, function) - - - - Lua-Prototyp: - - weechat.add_modifier(type, message, function) - - - - Fügt einen Nachrichtenmodifikator hinzu. - - - Argumente: - - - - : Modifikatorart: - - - - - Art - Beschreibung - - - - - irc_in - wird bei eingehenden IRC-Nachrichten aufgerufen - - - irc_user - - wird bei jeder Benutzernachricht (oder Befehl) - aufgerufen (bevor WeeChat die Nachricht parst) - - - - irc_out - - wird unmittelbar vor dem Abschicken einer ausgehenden - Nachricht an den IRC-Server aufgerufen (auch bei - Nachrichten, die WeeChat automatisch an den Server - sendet) - - - - - - - - - - :Name der IRC-Nachricht (wird nur bei - den Arten "irc_in" and "irc_out" benutzt) Um eine Liste der - IRC-Nachrichten zu erhalten, lies bitte folgende Dokumente: - RFCs - 1459 - and - 2812. - Außerdem gibt es den Wert "*", der alle Nachrichten - anspricht (ohne Filter). - - - - - : aufgerufene Funktion - - - - - - Rückgabewert: 1 bei Erfolg, 0 bei einem aufgetretenem Fehler - - - Beispiele: - -# perl -weechat::add_modifier("irc_in", "privmsg", "mod_in"); -weechat::add_modifier("irc_out", "privmsg", "mod_out"); -sub mod_in -{ - return "$_[1] [modifier IN]"; -} -sub mod_out -{ - return "$_[1] [modifier OUT]"; -} - -# python -weechat.add_modifier("irc_in", "privmsg", "mod_in") -weechat.add_modifier("irc_out", "privmsg", "mod_out") -def mod_in(server, args): - return args + " [modifier IN]" -def mod_out(server, args): - return args + " [modifier OUT]" - -# ruby -Weechat.add_modifier("irc_in", "privmsg", "mod_in") -Weechat.add_modifier("irc_out", "privmsg", "mod_out") -def mod_in(server, args) - return args + " [modifier IN]" -end -def mod_out(server, args) - return args + " [modifier OUT]" -end - --- lua -weechat.add_modifier("irc_in", "privmsg", "mod_in") -weechat.add_modifier("irc_out", "privmsg", "mod_out") -function mod_in(server, args) - return args .. " [modifier IN]" -end -function mod_out(server, args) - return args .. " [modifier OUT]" -end - - -
- -
- remove_modifier - - - Perl-Prototyp: - - weechat::remove_modifier(type, message, function); - - - - Python-Prototyp: - - weechat.remove_modifier(type, message, function) - - - - Ruby-Prototyp: - - Weechat.remove_modifier(type, message, function) - - - - Lua-Prototyp: - - weechat.remove_modifier(type, message, function) - - - - Entfernt einen Nachrichtenmodifikator. - - - Argumente: - - - - : Modifikatorart - - - - - : Nachrichtenart, die der Modifikator - verwaltet - - - - - : Funktion - - - - - - Rückgabewert: 1 bei Erfolg, 0 bei einem aufgetretenem Fehler - - - Beispiele: - -# perl -weechat::remove_modifier("irc_in", "privmsg", "mod_in"); - -# python -weechat.remove_modifier("irc_in", "privmsg", "mod_in") - -# ruby -Weechat.remove_modifier("irc_in", "privmsg", "mod_in") - --- lua -weechat.remove_modifier("irc_in", "privmsg", "mod_in") - - -
- -
- command - - - Perl-Prototyp: - - weechat::command(command, [channel, [server]]); - - - - Python-Prototyp: - - weechat.command(command, [channel, [server]]) - - - - Ruby-Prototyp: - - Weechat.command(command, [channel, [server]]) - - - - Lua-Prototyp: - - weechat.command(command, [channel, [server]]) - - - - Führt ein WeeChat-Kommando aus (oder sendet eine Nachricht an einen - Channel). - - - Argumente: - - - - : Kommando - - - - - : Name des Channels, für den das - Kommando ausgeführt werden soll - - - - - : interner Name des Servers, für den - das Kommando ausgeführt werden soll - - - - - - Rückgabewert: 1 bei Erfolg, 0 wenn ein Fehler aufgetreten ist - - - Beispiele: - -# perl -weechat::command("hello everybody!"); -weechat::command("/kick toto please leave this channel", "#weechat"); -weechat::command("/nick newnick", "", "freenode"); - -# python -weechat.command("hello everybody!") -weechat.command("/kick toto please leave this channel", "#weechat") -weechat.command("/nick newnick", "", "freenode") - -# ruby -Weechat.command("hello everybody!") -Weechat.command("/kick toto please leave this channel", "#weechat") -Weechat.command("/nick newnick", "", "freenode") - --- lua -weechat.command("hello everybody!") -weechat.command("/kick toto please leave this channel", "#weechat") -weechat.command("/nick newnick", "", "freenode") - - -
- -
- get_info - - - Perl-Prototyp: - - weechat::get_info(name, [server]); - - - - Python-Prototyp: - - weechat.get_info(name, [server]) - - - - Ruby-Prototyp: - - Weechat.get_info(name, [server]) - - - - Lua-Prototyp: - - weechat.get_info(name, [server]) - - - - Gibt ein Info über WweeChat oder einen Channel zurück. - - - Argumente: - - - - : Name (Typ) des Infos, das gelesen - werden soll (siehe ) - - - - - : interner Name des Servers - - - - - - Rückgabewert: angefragte Infos, oder leerer String, wenn ein - Fehler aufgetreten ist. - - - Beispiele: - -# perl -$version = get_info("version"); -$nick = get_info("nick", "freenode"); - -# python -version = weechat.get_info("version") -nick = weechat.get_info("nick", "freenode") - -# ruby -version = Weechat.get_info("version") -nick = Weechat.get_info("nick", "freenode") - --- lua -version = weechat.get_info("version") -nick = weechat.get_info("nick", "freenode") - - -
- -
- get_dcc_info - - - Perl-Prototyp: - - weechat::get_dcc_info(); - - - - Python-Prototyp: - - weechat.get_dcc_info() - - - - Ruby-Prototyp: - - Weechat.get_dcc_info() - - - - Lua-Prototyp: - - weechat.get_dcc_info() - - - - Gibt eine Liste der gegenwärtig aktiven oder beendeten DCCs zurück. - - - Rückgabewert: Liste der DCCS - (siehe ). - - - Beispiele: - -# perl -my @dccs = weechat::get_dcc_info(); -if (@dccs) -{ - foreach my $dcc (@dccs) - { - while (my ($key, $value) = each %$dcc) - { - weechat::print("$key = '$value'"); - } - } -} -else -{ - weechat::print("no DCC"); -} - -# python -dccs = weechat.get_dcc_info() -if dccs != None: - if dccs == []: - weechat.prnt("no DCC") - else: - for d in dccs: - for b in d.keys(): - weechat.prnt("%s = '%s'" %(b, d[b])) -else: - weechat.prnt("error while getting DCC") - -# ruby -dccs = Weechat.get_dcc_info() -if dccs != nil - if dccs == [] - Weechat.print("no DCC") - else - dccs.each do |m| - m.each do |key, value| - Weechat.print("#{key} = '#{value}'") - end - end - end -else - Weechat.print("error while getting DCC") -end - --- lua -dccs = weechat.get_dcc_info() -if dccs ~= nil then - if dccs then - dcc, dccinfos = next (dccs, nil) - while (dcc) do - key, value = next (dccinfos, nil) - while (key) do - weechat.print(key.." = '"..value.."'") - key, value = next (dccinfos, key) - end - dcc, dccinfos = next (dccs, dcc) - end - else - weechat.print("no DCC") - end -else - weechat.print("error while getting DCC") -end - - -
- -
- get_server_info - - - Perl-Prototyp: - - weechat::get_server_info(); - - - - Python-Prototyp: - - weechat.get_server_info() - - - - Ruby-Prototyp: - - Weechat.get_server_info() - - - - Lua-Prototyp: - - weechat.get_server_info() - - - - Gibt eine Liste der IRC-Server zurück (verbunden oder nicht). - - - Rückgabewert: Liste der Server - (siehe ). - - - Beispiele: - -# perl -my $servers = weechat::get_server_info(); -if ($servers) -{ - while (my ($srvname, $srvinfos) = each %$servers) - { - while ( my ($key, $value) = each %$srvinfos) - { - weechat::print("$srvname -> $key = '$value'"); - } - } -} -else -{ - weechat::print("no server"); -} - -# python -servers = weechat.get_server_info() -if servers != None: - if servers == {}: - weechat.prnt("no server") - else: - for s in servers: - for i in servers[s]: - weechat.prnt("%s -> %s = '%s'" % (s, i, str(servers[s][i]))) -else: - weechat.prnt("error while getting servers") - -# ruby -servers = Weechat.get_server_info() -if servers != nil - if servers == [] - Weechat.print("no server") - else - servers.each do |n, s| - s.each do |key, value| - Weechat.print("#{n} -> #{key} = '#{value}'") - end - end - end -else - Weechat.print("error while getting servers") -end - --- lua -servers = weechat.get_server_info() -if servers ~= nil then - if servers then - srv, srvinfos = next (servers, nil) - while (srv) do - key, value = next (srvinfos, nil) - while (key) do - weechat.print(srv.." -> "..key.." = '"..value.."'") - key, value = next (srvinfos, key) - end - srv, srvinfos = next (servers, srv) - end - else - weechat.print("no server") - end -else - weechat.print("error while getting servers") -end - - -
- -
- get_channel_info - - - Perl-Prototyp: - - weechat::get_channel_info(server); - - - - Python-Prototyp: - - weechat.get_channel_info(server) - - - - Ruby-Prototyp: - - Weechat.get_channel_info(server) - - - - Lua-Prototyp: - - weechat.get_channel_info(server) - - - - Gibt eine Liste der Channels für einen Server zurück. - - - Rückgabewert: Liste der Channel für einen Server - (siehe ). - - - Beispiele: - -# perl -my $channels = weechat::get_channel_info(weechat::get_info("server")); -if ($channels) -{ - while (my ($channame, $chaninfos) = each %$channels) - { - while (my ($key, $value) = each %$chaninfos) - { - weechat::print("$channame -> $key = '$value'"); - } - } -} -else -{ - weechat::print("no channel"); -} - -# python -chans = weechat.get_channel_info(weechat.get_info("server")) -if chans != None: - if chans == {}: - weechat.prnt("no channel") - else: - for s in chans: - for i in chans[s]: - weechat.prnt("%s -> %s = '%s'" % (s, i, str(chans[s][i]))) -else: - weechat.prnt("error while getting channels") - -# ruby -channels = Weechat.get_channel_info(Weechat.get_info("server")) -if channels != nil - if channels == {} - Weechat.print("no channel") - else - channels.each do |n, c| - c.each do |key, value| - Weechat.print("#{n} -> #{key} = '#{value}'") - end - end - end -else - Weechat.print("error while getting channels") -end - --- lua -chans = weechat.get_channel_info(weechat.get_info("server")) -if chans ~= nil then - if chans then - chan, chaninfos = next (chans, nil) - while (chan) do - key, value = next (chaninfos, nil) - while (key) do - weechat.print(chan.." -> "..key.." = '"..value.."'") - key, value = next (chaninfos, key) - end - chan, chaninfos = next (chans, chan) - end - else - weechat.print("no channel") - end -else - weechat.print("error while getting channels") -end - - -
- -
- get_nick_info - - - Perl-Prototyp: - - weechat::get_nick_info(server, channel); - - - - Python-Prototyp: - - weechat.get_nick_info(server, channel) - - - - Ruby-Prototyp: - - Weechat.get_nick_info(server, channel) - - - - Lua-Prototyp: - - weechat.get_nick_info(server, channel) - - - - Gibt eine Liste der Nicknamen für einen Channel zurück. - - - Rückgabewert: Liste der Nicknamen eines Channels - (siehe ). - - - Beispiele: - -# perl -my $nicks = weechat::get_nick_info("freenode", "#weechat"); -if ($nicks) -{ - while (my ($nickname, $nickinfos) = each %$nicks) - { - while ( my ($key, $value) = each %$nickinfos) - { - weechat::print("$nickname -> $key = '$value'"); - } - } -} -else -{ - weechat::print("no nick"); -} - -# python -nicks = weechat.get_nick_info("freenode", "#weechat") -if nicks != None: - if nicks == {}: - weechat.prnt("no nick") - else: - for n in nicks: - for f in nicks[n]: - weechat.prnt("%s -> %s = '%s'" % (n, f, str(nicks[n][f]))) -else: - weechat.prnt("error while getting nicks") - -# ruby -nicks = Weechat.get_nick_info("freenode", "#weechat") -if nicks != nil - if nicks == {} - Weechat.print("no nick") - else - nicks.each do |nk, nattr| - nattr.each do |key, value| - Weechat.print("#{nk} -> #{key} = '#{value}'") - end - end - end -else - Weechat.print("error while getting nicks") -end - --- lua -nicks = weechat.get_nick_info("freenode", "#weechat") -if nicks ~= nil then - if nicks then - nick, nickinfos = next (nicks, nil) - while (nick) do - key, value = next (nickinfos, nil) - while (key) do - weechat.print(nick.." -> "..key.." = '"..value.."'") - key, value = next (nickinfos, key) - end - nick, nickinfos = next (nicks, nick) - end - else - weechat.print("no nick") - end -else - weechat.print("error while getting nicks") -end - - -
- -
- get_config - - - Perl-Prototyp: - - weechat::get_config(option); - - - - Python-Prototyp: - - weechat.get_config(option) - - - - Ruby-Prototyp: - - Weechat.get_config(option) - - - - Lua-Prototyp: - - weechat.get_config(option) - - - - Gibt den Wert einer Option der WeeChat-Konfiguration zurück. - - - Argumente: - - - - : Name der Option - - - - - - Rückgabewert: Wert der Option, leerer String wenn nichts gefunden - wurde. - - - Beispiele: - -# perl -$value1 = weechat::get_config("look_nicklist"); -$value2 = weechat::get_config("freenode.server_autojoin"); - -# python -value1 = weechat.get_config("look_nicklist") -value2 = weechat.get_config("freenode.server_autojoin") - -# ruby -value1 = Weechat.get_config("look_nicklist") -value2 = Weechat.get_config("freenode.server_autojoin") - --- lua -value1 = weechat.get_config("look_nicklist") -value2 = weechat.get_config("freenode.server_autojoin") - - -
- -
- set_config - - - Perl-Prototyp: - - weechat::set_config(option, value); - - - - Python-Prototyp: - - weechat.set_config(option, value) - - - - Ruby-Prototyp: - - Weechat.set_config(option, value) - - - - Lua-Prototyp: - - weechat.set_config(option, value) - - - - Setze den Wert einer Option der WeeChat-Konfiguration. - - - Argumente: - - - - : Name der Option, die gesetzt werden - soll - - - - - : neuer Wert der Option - - - - - - Rückgabewert: 1 wenn der Wert gesetzt wurde, 0 wenn ein Fehler - aufgetreten ist. - - - Beispiele: - -# perl -weechat::set_config("look_nicklist", "off"); -weechat::set_config("freenode.server_autojoin", "#weechat"); - -# python -weechat.set_config("look_nicklist", "off") -weechat.set_config("freenode.server_autojoin", "#weechat") - -# ruby -Weechat.set_config("look_nicklist", "off") -Weechat.set_config("freenode.server_autojoin", "#weechat") - --- lua -weechat.set_config("look_nicklist", "off") -weechat.set_config("freenode.server_autojoin", "#weechat") - - -
- -
- get_plugin_config - - - Perl-Prototyp: - - weechat::get_plugin_config(option); - - - - Python-Prototyp: - - weechat.get_plugin_config(option) - - - - Ruby-Prototyp: - - Weechat.get_plugin_config(option) - - - - Lua-Prototyp: - - weechat.get_plugin_config(option) - - - - Gibt den Wert einer Option eines Plugins zurück. Die Option wird - aus der Datei "~/.weechat/plugins.rc" gelesen - und sieht so aus: "plugin.option=value" - (Hinweis: Der Name des Plugins wird automatisch gesetzt). - - - Argumente: - - - - : Name der zu lesenden Option - - - - - - Rückgabewert: Wert der Option, leerer String wenn die Option nicht - gefunden wurde. - - - Beispiele: - -# perl -$value = weechat::get_plugin_config("my_var"); - -# python -value = weechat.get_plugin_config("my_var") - -# ruby -value = Weechat.get_plugin_config("my_var") - --- lua -value = weechat.get_plugin_config("my_var") - - -
- -
- set_plugin_config - - - Perl-Prototyp: - - weechat::set_plugin_config(option, value); - - - - Python-Prototyp: - - weechat.set_plugin_config(option, value) - - - - Ruby-Prototyp: - - Weechat.set_plugin_config(option, value) - - - - Lua-Prototyp: - - weechat.set_plugin_config(option, value) - - - - Setzt den Wert einer Option eines Plugins. Die Option bzw. ihr Wert - wird in "~/.weechat/plugins.rc" geschrieben und - sieht so aus: "plugin.option=value" - (Hinweis: der Name des Plugins wird automatisch gesetzt). - - - Argumente: - - - - : Name der Option, die gesetzt werden - soll - - - - - : Der neue Wert der Option - - - - - - Rückgabewert: 1 wenn die Option gesetzt wurde, 0 wenn ein Fehler - aufgetreten ist. - - - Beispiele: - -# perl -weechat::set_plugin_config("my_var", "value"); - -# python -weechat.set_plugin_config("my_var", "value") - -# ruby -Weechat.set_plugin_config("my_var", "value") - --- lua -weechat.set_plugin_config("my_var", "value") - - -
- -
- get_irc_color - - - Perl-Prototyp: - - weechat::get_irc_color(color); - - - - Python-Prototyp: - - weechat.get_irc_color(color) - - - - Ruby-Prototyp: - - Weechat.get_irc_color(color) - - - - Lua-Prototyp: - - weechat.get_irc_color(color) - - - - Hole IRC-Farbindex mit dem Farbnamen. - - - Rückgabewert: IRC-Farbindex, -1 wenn die Farbe nicht gefunden wurde - (siehe ). - - - Beispiele: - -# perl -my $color_blue = weechat::get_irc_color("blue"); - -# python -color_blue = weechat.get_irc_color("blue") - -# ruby -color_blue = Weechat.get_irc_color("blue") - --- lua -color_blue = weechat.get_irc_color("blue") - - -
- -
- input_color - - - Perl-Prototyp: - - weechat::input_color(color); - - - - Python-Prototyp: - - weechat.input_color(color) - - - - Ruby-Prototyp: - - Weechat.input_color(color) - - - - Lua-Prototyp: - - weechat.input_color(color) - - - - Erzeugt einen Farbcode im Eingabepuffer.Add color in input buffer. - - - Rückgabewert: keiner. - - - Bespiele: - -# perl -weechat::input_color(weechat::get_irc_color("blue"), 10, 5); - -# python -weechat.input_color(weechat.get_irc_color("blue"), 10, 5) - -# ruby -Weechat.input_color(Weechat.get_irc_color("blue"), 10, 5) - --- lua -weechat.input_color(weechat.get_irc_color("blue"), 10, 5) - - -
- -
- get_window_info - - - Perl-Prototyp: - - weechat::get_window_info(); - - - - Python-Prototyp: - - weechat.get_window_info() - - - - Ruby-Prototyp: - - Weechat.get_window_info() - - - - Lua-Prototyp: - - weechat.get_window_info() - - - - Gibt die Liste der WeeChat-Fenster zurück. - - - Rückgabewert: List der WeeChat-Fenster - (see ). - - - Besipiele: - -# perl -my @wf = weechat::get_window_info(); -if (@wf) -{ - weechat::print("**** Fenster-Informationen ****"); - foreach my $w (@wf) - { - while ( my ($key, $value) = each %$w) - { - weechat::print(" > $key => $value"); - } - weechat::print("----------------------"); - } -} -else -{ - weechat::print("**** Keine Fenster-Informationen ****"); -} - -# python -wf = weechat.get_window_info() -if wf != None and wf != []: - weechat.prnt ("**** Fenster-Informationen ****") - for w in wf: - for i in w: - weechat.prnt (" > %s => %s" % (i, w[i])) - weechat.prnt ("----------------------") -else: - weechat.prnt ("**** Keine Fenster-Informationen ****") - -# ruby -wf = Weechat.get_window_info() -if wf != nil and wf != [] - Weechat.print("**** Fenster-Informationen ****") - wf.each do |w| - w.each do |key, value| - Weechat.print(" > #{key} => #{value}") - end - Weechat.print("----------------------") - end -else - Weechat.print("**** Keine Fenster-Informationen ****") -end - --- lua -wf = weechat.get_window_info() -if wf then - weechat.print ("**** Fenster-Informationen ****") - w, winfos = next (wf, nil) - while (w) do - key, value = next (winfos, nil) - while (key) do - weechat.print(" > " .. key .. " => " .. value) - key, value = next (winfos, key) - end - weechat.print ("----------------------") - w, winfos = next (wf, w) - end -else - weechat.print("**** Keine Fenster-Informationen ****") -end - - -
- -
- get_buffer_info - - - Perl-Prototyp: - - weechat::get_buffer_info(); - - - - Python-Prototyp: - - weechat.get_buffer_info() - - - - Ruby-Prototyp: - - Weechat.get_buffer_info() - - - - Lua-Prototyp: - - weechat.get_buffer_info() - - - - Gibt eine Liste der WeeChat-Puffer. - - - Rückgabewert: Liste der WeeChat-Puffer - (siehe ). - - - Beispiele: - -# perl -my $bf = weechat::get_buffer_info(); -if ($bf) -{ - while ( my ($nobuf, $binfos) = each %$bf) - { - while ( my ($key, $value) = each %$binfos) - { - weechat::print(" > $key => $value"); - } - weechat::print("----------------------"); - } -} -else -{ - weechat::print("**** keine Pufferinformationen ****"); -} - -# python -bf = weechat.get_buffer_info() -if bf != None and bf != {}: - for b in bf: - weechat.prnt ("**** Informationen für Puffer Nr. %d ****" % b) - for c in bf[b]: - weechat.prnt (" > %s => %s" % (c, bf[b][c])) - weechat.prnt ("----------------------") -else: - weechat.prnt ("**** keine Pufferinformationen ****") - -# ruby -bf = Weechat.get_buffer_info() -if bf != nil and bf != {} - bf.each do |n, c| - Weechat.print("**** Informationen für Puffer Nr. #{n} ****") - c.each do |key, value| - Weechat.print(" > #{key} => #{value}") - end - Weechat.print("----------------------") - end -else - Weechat.print("**** keine Pufferinformationen ****") -end - --- lua -bf = weechat.get_buffer_info() -if bf then - b, binfos = next (bf, nil) - while (b) do - weechat.print("**** Informationen für Puffer Nr. " .. b .. " ****") - key, value = next (binfos, nil) - while (key) do - weechat.print(" > " .. key .. " => " .. value) - key, value = next (binfos, key) - end - weechat.print ("----------------------") - b, infos = next (bf, b) - end -else - weechat.print("**** keine Pufferinformationen ****") -end - - -
- -
- get_buffer_data - - - Perl-Prototyp: - - weechat::get_buffer_data(server, channel); - - - - Python-Prototyp: - - weechat.get_buffer_data(server, channel) - - - - Ruby-Prototyp: - - Weechat.get_buffer_data(server, channel) - - - - Lua-Prototyp: - - weechat.get_buffer_data(server, channel) - - - - Gibt den Inhalt eines Puffers zurück. - - - Rückgabewert: Liste der Pufferzeilen - (see ). - - - Beispiele: - -# perl -my $server = weechat::get_info("server"); -my $channel = weechat::get_info("channel"); -my @bc = weechat::get_buffer_data($server, $channel); -if (@bc) -{ - weechat::print("**** Pufferdaten für '$channel'\@'$server' ****"); - foreach my $l (@bc) { - while ( my ($key, $value) = each %$l) { - weechat::print(" > $key => $value"); - } - weechat::print("----------------------"); - } -} -else -{ - weechat::print("**** keine Pufferdaten ****"); -} - -# python -server = weechat.get_info("server") -channel = weechat.get_info("channel") -bc = weechat.get_buffer_data(server, channel) -if bc != None and bc != []: - weechat.prnt ("**** Pufferdaten für '%s'@'%s' ****" % (channel, server)) - for l in bc: - for i in l: - weechat.prnt (" > %s => %s" % (i, l[i])) - weechat.prnt ("----------------------") -else: - weechat.prnt ("**** keine Pufferdaten ****") - -# ruby -server = Weechat.get_info("server") -channel = Weechat.get_info("channel") -bc = Weechat.get_buffer_data(server, channel) -if bc != nil and bc != [] - Weechat.print("**** Pufferdaten für '#{channel}'@'#{server}' ****") - bc.each do |l| - l.each do |key, value| - Weechat.print(" > #{key} => #{value}") - end - Weechat.print("----------------------") - end -else - Weechat.print("**** keine Pufferdaten ****") -end - --- lua -server = weechat.get_info("server") -channel = weechat.get_info("channel") -bc = weechat.get_buffer_data(server, channel) -if bc then - b, bdatas = next (bc, nil) - weechat.print("**** Pufferdaten für '" .. channel .. "'@'" .. server .. "' ****") - while (b) do - key, value = next (bdatas, nil) - while (key) do - weechat.print(" > " .. key .. " => " .. value) - key, value = next (bdatas, key) - end - weechat.print ("----------------------") - b, bdatas = next (bc, b) - end -else - weechat.print("**** keine Pufferdaten ****") -end - - -
- -
- -
- -
- - - - - Autoren / Support - - - Dieses Kapitel listet Autoren und Beitragende für WeeChat auf, und - zeigt die Möglichkeiten um Support zu bekommen. - - -
- Autoren - - - WeeChat wird entwickelt von: - - - - FlashCode (Sébastien Helleu) - flashcode AT flashtux.org - - Hauptentwickler - - - - - kolter (Emmanuel Bouthenot) - kolter AT openics.org - - Entwickler - - - - - Ptitlouis - ptitlouis AT sysif.net - - erzeugt Debian-Pakete - - - - - -
- -
- Beitragende - - - Die folgenden Personen trugen zur Entwicklung von WeeChat bei: - - - - Jiri Golembiovsky - - Tschechische Übersetzung, Patches - - - - - Rudolf Polzer - - Patches - - - - - Jim Ramsay - - Patches - - - - - Odin - - SuSE RPM - - - - - Pistos - - Patches - - - - - Gwenn - - Patches - - - - - voroskoi - - Ungarische Übersetzung - - - - - Frank Zacharias - - Deutsche Übersetzung - - - - - Pavel Shevchuk - - Russisch Übersetzung - - - - - -
- -
- Support bekommen - - - Bevor Sie nach Support fragen, sollten Sie die Dokumentation und die FAQ - gelesen haben, die bei WeeChat angeboten wird. (Die Dokumentation - ist dieses Dokument, wenn Sie sie nicht bis zu dieser Zeile gelesen - haben, sollten Sie sie noch Mal lesen!) - - - - - - - IRC: Server "irc.freenode.net", - Channel "#weechat" - - - - - WeeChat Forum: - - http://forums.flashtux.org - - - - - - Mailingliste: - - - - Zum abonnieren: - - http://mail.nongnu.org/mailman/listinfo/weechat-support - - - - - - Um eine Mail an die Liste zu senden: - weechat-support@nongnu.org - - - - Das Archiv der Mailingliste ist hier: - - http://mail.nongnu.org/archive/html/weechat-support - - - - - - -
- -
+ &authors.de.xml; diff --git a/doc/en/Makefile.am b/doc/en/Makefile.am index 7e781921f..52c09196b 100644 --- a/doc/en/Makefile.am +++ b/doc/en/Makefile.am @@ -16,11 +16,16 @@ LANGCODE = en BOOK = weechat.$(LANGCODE) -BOOK_INCLUDE = intro.$(LANGCODE).xml install.$(LANGCODE).xml \ - usage.$(LANGCODE).xml plugins.$(LANGCODE).xml \ - plugin_api.$(LANGCODE).xml plugin_charset.$(LANGCODE).xml \ +BOOK_INCLUDE = intro.$(LANGCODE).xml \ + install.$(LANGCODE).xml \ + usage.$(LANGCODE).xml \ + plugins.$(LANGCODE).xml \ + plugin_api.$(LANGCODE).xml \ + plugin_irc.$(LANGCODE).xml \ + plugin_charset.$(LANGCODE).xml \ + plugin_fifo.$(LANGCODE).xml \ plugin_scripts.$(LANGCODE).xml \ - weechat_commands.xml irc_commands.xml key_functions.xml \ + weechat_commands.xml \ config.xml QUICKSTART = weechat_quickstart.$(LANGCODE).txt diff --git a/doc/en/authors.en.xml b/doc/en/authors.en.xml index 64957aa1a..e919963fb 100644 --- a/doc/en/authors.en.xml +++ b/doc/en/authors.en.xml @@ -73,6 +73,24 @@ along with this program. If not, see . czech translation, patches + + + Pavel Shevchuk - + russian translation + + + + + Frank Zacharias - + german translation + + + + + voroskoi - + hungarian translation + + Rudolf Polzer - @@ -103,24 +121,6 @@ along with this program. If not, see . patches - - - voroskoi - - hungarian translation - - - - - Frank Zacharias - - german translation - - - - - Pavel Shevchuk - - russian translation - - diff --git a/doc/en/install.en.xml b/doc/en/install.en.xml index 71d566e27..06f386315 100644 --- a/doc/en/install.en.xml +++ b/doc/en/install.en.xml @@ -44,7 +44,7 @@ along with this program. If not, see . Mandriva/RedHat (or any RPM compatible distribution): - rpm -i /chemin/weechat-x.y.z-1.i386.rpm + rpm -i /path/to/weechat-x.y.z-1.i386.rpm @@ -66,16 +66,44 @@ along with this program. If not, see . Source package - All you have to do is to run in a console or a terminal: + WeeChat can be compiled with autotools or cmake. + + +
+ Compile with Autotools + + + In a console or a terminal: $ ./configure $ make - - - Then get root privileges and install WeeChat: + + + Then get root privileges and install WeeChat: $ su (enter root password) # make install - + + +
+ +
+ Compile with Cmake + + + In a console or a terminal: +$ mkdir build +$ cd build +$ cmake .. +$ make + + + Then get root privileges and install WeeChat: +$ su +(enter root password) +# make install + + +
@@ -93,7 +121,7 @@ along with this program. If not, see . - Execute this script: + If you're using Autotools (and not cmake), execute this script: ./autogen.sh diff --git a/doc/en/intro.en.xml b/doc/en/intro.en.xml index 0e85bd743..ed50a8c57 100644 --- a/doc/en/intro.en.xml +++ b/doc/en/intro.en.xml @@ -46,7 +46,7 @@ along with this program. If not, see . - many GUI: Curses, wxWidgets, Gtk and Qt + many GUI: Curses (wxWidgets, Gtk and Qt under development) @@ -91,7 +91,7 @@ along with this program. If not, see .
-
+
Pre-requisites @@ -100,7 +100,7 @@ along with this program. If not, see . a running GNU/Linux system (with compiler tools for source - package) + package), or compatible OS (see above) diff --git a/doc/en/plugin_api.en.xml b/doc/en/plugin_api.en.xml index a6499157f..b1a496289 100644 --- a/doc/en/plugin_api.en.xml +++ b/doc/en/plugin_api.en.xml @@ -21,6 +21,15 @@ along with this program. If not, see . --> + + Plugin API + + + This chapter describes WeeChat plugins interface (API). + --- will be completed soon! --- + + +
API functions diff --git a/doc/en/plugin_fifo.en.xml b/doc/en/plugin_fifo.en.xml new file mode 100644 index 000000000..c1c2e081e --- /dev/null +++ b/doc/en/plugin_fifo.en.xml @@ -0,0 +1,96 @@ + + + + +
+ FIFO plugin + + + You can remote control WeeChat, by sending commands or text to a + FIFO pipe (if option "plugins.var.fifo.fifo" is enabled, it is by default). + + + + The FIFO pipe is located in "~/.weechat/" and is + called "weechat_fifo_xxxxx" (where xxxxx is the process ID (PID) of + running WeeChat). + + + + Syntax for the FIFO pipe commands/text is one of following: + + category,name *text or command here + name *text or command here + *text or command here + + + + + Some examples: + + + + nick change on freenode to "mynick|out" : + $ echo 'freenode,freenode */nick mynick|out' >~/.weechat/weechat_fifo_12345 + + + + + display text on #weechat channel: + $ echo 'freenode,#weechat *hello everybody!' >~/.weechat/weechat_fifo_12345 + + + + + display text on current channel (buffer displayed by WeeChat): + $ echo '*hello!' >~/.weechat/weechat_fifo_12345 + Warning: this is dangerous and you should + not do that except if you know what you do! + + + + + send two commands to unload/reload Perl scripts (you have to + separate them with "\n"): + $ echo -e " weechat,weechat */perl unload\nweechat,weechat */perl autoload" >~/.weechat/weechat_fifo_12345 + + + + + + + You can write a script to send command to all running WeeChat at same + time, for example: + +#!/bin/sh +if [ $# -eq 1 ]; then + for fifo in ~/.weechat/weechat_fifo_* + do + echo -e "$1" >$fifo + done +fi + + If the script is called "auto_weechat_command", you can run it with: +$ ./auto_weechat_command "freenode,#weechat *hello" + + +
diff --git a/doc/en/plugin_irc.en.xml b/doc/en/plugin_irc.en.xml new file mode 100644 index 000000000..74d2e9e4d --- /dev/null +++ b/doc/en/plugin_irc.en.xml @@ -0,0 +1,27 @@ + + + + +
+ IRC plugin + +
diff --git a/doc/en/plugins.en.xml b/doc/en/plugins.en.xml index 723633668..9ef595f7d 100644 --- a/doc/en/plugins.en.xml +++ b/doc/en/plugins.en.xml @@ -25,8 +25,7 @@ along with this program. If not, see . Plugins - This chapter describes WeeChat plugins interface (API) and - the default scripts plugins (Perl, Python, Ruby, Lua), provided with + This chapter describes WeeChat plugin API and default plugins provided with WeeChat. @@ -64,28 +63,40 @@ along with this program. If not, see . - The plugin must have some variables and functions (mandatory, - without them the plugin can't load): + The plugin must use some mandatory macros (to define some variables) + and some functions (without them the plugin can't load): + - Variable + Macro Description - char plugin_name[] + WEECHAT_PLUGIN_NAME plugin name - char plugin_version[] + WEECHAT_PLUGIN_DESCRIPTION + short description of plugin + + + WEECHAT_PLUGIN_VERSION plugin version - char plugin_description[] - short description of plugin + WEECHAT_PLUGIN_WEECHAT_VERSION + + target WeeChat version where plugin will run (warning: plugin + will not run on any other WeeChat version!) + + + + WEECHAT_PLUGIN_LICENSE + plugin license @@ -101,15 +112,16 @@ along with this program. If not, see . - int weechat_plugin_init (t_weechat_plugin *plugin) + int weechat_plugin_init (struct t_weechat_plugin *plugin, int argc, char *argv[]) function called when plugin is loaded, must return - PLUGIN_RC_OK if successful, PLUGIN_RC_KO if error - (if error, plugin will NOT be loaded) + WEECHAT_RC_OK if successful, WEECHAT_RC_ERROR if error + (if error, plugin will NOT be loaded), argc/argv are arguments + for plugin (given on command line by user) - void weechat_plugin_end (t_weechat_plugin *plugin) + int weechat_plugin_end (struct t_weechat_plugin *plugin) function called when plugin is unloaded @@ -117,8 +129,6 @@ along with this program. If not, see . - &plugin_api.en.xml; -
Compile plugin @@ -159,55 +169,85 @@ along with this program. If not, see . Full example of plugin, which adds a /double command, which displays - two times arguments on current channel (ok that's not very useful, - but that's just an example!): + two times arguments on current buffer, or execute two times a command + (ok that's not very useful, but that's just an example!): #include <stdlib.h> #include "weechat-plugin.h" -char plugin_name[] = "Double"; -char plugin_version[] = "0.1"; -char plugin_description[] = "Test plugin for WeeChat"; +WEECHAT_PLUGIN_NAME("double"); +WEECHAT_PLUGIN_DESCRIPTION("Test plugin for WeeChat"); +WEECHAT_PLUGIN_AUTHOR("FlashCode <flashcode@flashtux.org>"); +WEECHAT_PLUGIN_VERSION("0.1"); +WEECHAT_PLUGIN_WEECHAT_VERSION("0.2.7"); +WEECHAT_PLUGIN_LICENSE("GPL3"); + +struct t_weechat_plugin *weechat_plugin = NULL; + /* "/double" command manager */ -int double_cmd (t_weechat_plugin *plugin, int argc, char **argv, - char *handler_args, void *handler_pointer) +int +double_cmd (void *data, struct t_gui_buffer *buffer, int argc, + char **argv, char **argv_eol) { - if (argv[2] && (argv[2][0] != '/')) + /* make C compiler happy */ + (void) argv; + + if (argc > 1) { - plugin->exec_command (plugin, NULL, NULL, argv[2]); - plugin->exec_command (plugin, NULL, NULL, argv[2]); + weechat_command (NULL, argv_eol[1]); + weechat_command (NULL, argv_eol[1]); } - return PLUGIN_RC_OK; + + return WEECHAT_RC_OK; } -int weechat_plugin_init (t_weechat_plugin *plugin) +int +weechat_plugin_init (struct t_weechat_plugin *plugin, + int argc, char *argv[]) { - plugin->cmd_handler_add (plugin, "double", - "Display two times a message", - "msg", - "msg: message to display two times", - NULL, - &double_cmd, - NULL, NULL); - return PLUGIN_RC_OK; + weechat_plugin = plugin; + + weechat_hook_command ("double", + "Display two times a message", + "msg", + "msg: message to display two times", + NULL, + &double_cmd, NULL); + + return WEECHAT_RC_OK; } -void weechat_plugin_end (t_weechat_plugin *plugin) +int +weechat_plugin_end (struct t_weechat_plugin *plugin) { /* nothing done here */ + (void) plugin; + + return WEECHAT_RC_OK; }
+ +
- &plugin_charset.en.xml; - - &plugin_scripts.en.xml; +
+ Default plugins + + &plugin_irc.en.xml; + + + + &plugin_fifo.en.xml; + + + +
diff --git a/doc/en/usage.en.xml b/doc/en/usage.en.xml index f934ddb06..11f746ac2 100644 --- a/doc/en/usage.en.xml +++ b/doc/en/usage.en.xml @@ -29,7 +29,7 @@ along with this program. If not, see . used, internal and IRC commands, setup file, and FIFO pipe use.
-
+
Running WeeChat @@ -49,12 +49,6 @@ along with this program. If not, see . Disable auto-connect to servers at startup - - -c, --config - - Display config help (list of options) - - -d, --dir <path> @@ -64,24 +58,12 @@ along with this program. If not, see . is created if not found by WeeChat. - - -f, --key-functions - - Display WeeChat internal functions for keys - - -h, --help Display help - - -i, --irc-commands - - Display IRC commands list - - -k, --keys @@ -106,12 +88,6 @@ along with this program. If not, see . Display WeeChat version - - -w, --weechat-commands - - Display WeeChat commands list - - @@ -157,14 +133,13 @@ along with this program. If not, see . When you run WeeChat for the first time, a default configuration file is created, with default options. The default configuration file is: - "~/.weechat/weechat.rc" + "~/.weechat/weechat.conf" You can edit this file at your convenience to configure WeeChat - (ONLY if WeeChat is not running), or you can set parameters with - "/set" command in WeeChat - (see ) + or you can set parameters with "/set" command in + WeeChat (see )
@@ -441,12 +416,6 @@ along with this program. If not, see . Remove last infobar message - - Alt + J then Alt + D - - Display DCC buffer - - Alt + J then Alt + L @@ -459,25 +428,6 @@ along with this program. If not, see . Switch to buffer previously displayed - - Alt + J then Alt + R - - Switch to raw IRC data buffer - - - - Alt + J then Alt + S - - Switch to server buffer - - - - Alt + J then Alt + X - - Switch to first channel of next server - (or server buffer if no channel is opened) - - Alt + digit (0-9) @@ -544,35 +494,33 @@ along with this program. If not, see . Command line - WeeChat command line (at the bottom of window) lets you send text on - channels and execute WeeChat or IRC commands (see - ). + WeeChat command line (at the bottom of window) lets you execute commands + or send text to buffer. Commands begin with "/" char, followed by name of command. - For example, to initiate a private chat with "toto": - /query toto + For example, to see list of all options: + /set - Text sent to a channel is any text that does not begin with "/" char. + Text sent to a buffer is any text that does not begin with "/" char. For example, to send text "hello" on current - channel: + buffer: hello However, it is possible to start with "/" char, by adding another. - For example, to send text "/query toto" on current - channel: - //query toto + For example, to send text "/set" on current + buffer: + //set - If option for sending IRC colors ("irc_colors_send") - is enabled, you can use color codes and attributes, as follow (press - Ctrl-C then following letter, with optional value): + For some plugins like IRC, you can use color codes and attributes, as + follow (press Ctrl-C then following letter, with optional value): @@ -717,54 +665,17 @@ along with this program. If not, see .
-
- WeeChat / IRC commands +
+ WeeChat commands - This chapter lists all WeeChat and IRC commands. + This chapter lists all WeeChat commands. -
- WeeChat commands + + + - - &weechat_commands.xml; - - -
- -
- Key functions - - - - - - - Function - Description - - - - - &key_functions.xml; - - - - - - -
- -
- IRC commands - - - &irc_commands.xml; - - -
-
@@ -785,7 +696,7 @@ along with this program. If not, see . - &config.xml; + @@ -870,78 +781,4 @@ along with this program. If not, see .
-
- FIFO pipe - - - You can remote control WeeChat, by sending commands or text to a - FIFO pipe (you have to enable option "irc_fifo_pipe", it is disabled - by default). - - - - The FIFO pipe is located in "~/.weechat/" and is - called "weechat_fifo_xxxxx" (where xxxxx is the process ID (PID) of - running WeeChat). So if many WeeChat are running, you have many FIFO - pipes, one for each session. - - - - The syntax for the FIFO pipe commands/text is: - server,channel *text or command here - where server and channel are optional, but if channel is here, server - should be too. - - - - Some examples: - - - - nick change on freenode to "mynick|out" : - $ echo 'freenode */nick mynick|out' >~/.weechat/weechat_fifo_12345 - - - - - display text on #weechat channel: - $ echo 'freenode,#weechat *hello everybody!' >~/.weechat/weechat_fifo_12345 - - - - - display text on current channel (buffer displayed by WeeChat): - $ echo '*hello!' >~/.weechat/weechat_fifo_12345 - Warning: this is dangerous and you should - not do that except if you know what you do! - - - - - send two commands to unload/reload Perl scripts (you have to - separate them with "\n"): - $ echo -e "freenode */perl unload\nfreenode */perl autoload" >~/.weechat/weechat_fifo_12345 - - - - - - - You can write a script to send command to all running WeeChat at same - time, for example: - - #!/bin/sh - if [ $# -eq 1 ]; then - for fifo in ~/.weechat/weechat_fifo_* - do - echo -e "$1" >$fifo - done - fi - - If the script is called "auto_weechat_command", you can run it with: - $ ./auto_weechat_command "freenode,#weechat *hello" - - -
- diff --git a/doc/en/weechat.en.xml b/doc/en/weechat.en.xml index d2e8102a0..353b078b3 100644 --- a/doc/en/weechat.en.xml +++ b/doc/en/weechat.en.xml @@ -37,7 +37,9 @@ along with this program. If not, see . + + ]> diff --git a/doc/fr/Makefile.am b/doc/fr/Makefile.am index 8f921edef..ecde797ca 100644 --- a/doc/fr/Makefile.am +++ b/doc/fr/Makefile.am @@ -16,11 +16,16 @@ LANGCODE = fr BOOK = weechat.$(LANGCODE) -BOOK_INCLUDE = intro.$(LANGCODE).xml install.$(LANGCODE).xml \ - usage.$(LANGCODE).xml plugins.$(LANGCODE).xml \ - plugin_api.$(LANGCODE).xml plugin_charset.$(LANGCODE).xml \ +BOOK_INCLUDE = intro.$(LANGCODE).xml \ + install.$(LANGCODE).xml \ + usage.$(LANGCODE).xml \ + plugins.$(LANGCODE).xml \ + plugin_api.$(LANGCODE).xml \ + plugin_irc.$(LANGCODE).xml \ + plugin_charset.$(LANGCODE).xml \ + plugin_fifo.$(LANGCODE).xml \ plugin_scripts.$(LANGCODE).xml \ - weechat_commands.xml irc_commands.xml key_functions.xml \ + weechat_commands.xml \ config.xml QUICKSTART = weechat_quickstart.$(LANGCODE).txt diff --git a/doc/fr/authors.fr.xml b/doc/fr/authors.fr.xml index 5b60cc680..4c17d5e9a 100644 --- a/doc/fr/authors.fr.xml +++ b/doc/fr/authors.fr.xml @@ -73,6 +73,24 @@ along with this program. If not, see . traduction en tchèque, patchs + + + Pavel Shevchuk - + traduction en russe + + + + + Frank Zacharias - + traduction en allemand + + + + + voroskoi - + traduction en hongrois + + Rudolf Polzer - @@ -103,24 +121,6 @@ along with this program. If not, see . patchs - - - voroskoi - - traduction en hongrois - - - - - Frank Zacharias - - traduction en allemand - - - - - Pavel Shevchuk - - traduction en russe - - diff --git a/doc/fr/install.fr.xml b/doc/fr/install.fr.xml index 70b1ada77..7b05f2dbe 100644 --- a/doc/fr/install.fr.xml +++ b/doc/fr/install.fr.xml @@ -28,7 +28,7 @@ along with this program. If not, see . Ce chapitre explique comment installer WeeChat. -
+
Paquets binaires @@ -45,7 +45,7 @@ along with this program. If not, see . Mandriva/RedHat (ou toute distribution compatible avec les RPM) : - rpm -i /chemin/weechat-x.y.z-1.i386.rpm + rpm -i /chemin/vers/weechat-x.y.z-1.i386.rpm @@ -63,24 +63,48 @@ along with this program. If not, see .
-
+
Paquet source + +
+ Compiler avec les Autotools - - Tapez simplement dans une console ou un terminal : + + Dans une console ou un terminal : $ ./configure $ make - - - Obtenez les droits root et installez WeeChat : + + + Obtenez les droits root et installez WeeChat : $ su (entrez le mot de passe root) # make install - + + +
+ +
+ Compiler avec Cmake + + + Dans une console ou un terminal : +$ mkdir build +$ cd build +$ cmake .. +$ make + + + Obtenez les droits root et installez WeeChat : +$ su +(entrez le mot de passe root) +# make install + + +
-
+
Sources GIT @@ -95,13 +119,13 @@ along with this program. If not, see . - Exécutez ce script : + Si vous utilisez les Autotools (et non cmake), exécutez ce script : ./autogen.sh Suivez alors les instructions du paquet source - (voir ) + (voir )
diff --git a/doc/fr/intro.fr.xml b/doc/fr/intro.fr.xml index 04227b6cb..f69adb3ca 100644 --- a/doc/fr/intro.fr.xml +++ b/doc/fr/intro.fr.xml @@ -47,7 +47,7 @@ along with this program. If not, see . - plusieurs interfaces : Curses, wxWidgets, Gtk et Qt + plusieurs interfaces : Curses (wxWidgets, Gtk et Qt en développement) @@ -93,7 +93,7 @@ along with this program. If not, see .
-
+
Pré-requis @@ -102,7 +102,8 @@ along with this program. If not, see . un système GNU/Linux (avec le compilateur et les outils - associés pour le paquet des sources) + associés pour le paquet des sources), ou un système compatible + (voir ci-dessus) diff --git a/doc/fr/plugin_api.fr.xml b/doc/fr/plugin_api.fr.xml index 1fdfc56af..ee8f16bcb 100644 --- a/doc/fr/plugin_api.fr.xml +++ b/doc/fr/plugin_api.fr.xml @@ -21,6 +21,15 @@ along with this program. If not, see . --> + + API extension + + + Ce chapitre décrit l'interface des extensions (API). + --- sera complété très prochainement ! --- + + +
Fonctions de l'interface (API) diff --git a/doc/fr/plugin_fifo.fr.xml b/doc/fr/plugin_fifo.fr.xml new file mode 100644 index 000000000..ac9e62d4d --- /dev/null +++ b/doc/fr/plugin_fifo.fr.xml @@ -0,0 +1,100 @@ + + + + +
+ Tube FIFO + + + Vous pouvez contrôler WeeChat à distance, en envoyant des commandes + ou du texte dans un tube FIFO (si l'option "plugins.var.fifo.fifo" est + activée, elle l'est par défaut). + + + + Le tube FIFO est dans le répertoire "~/.weechat/" + et s'appelle "weechat_fifo_xxxxx" (où xxxxx est l'ID du processus + (PID) du WeeChat qui tourne). + + + + La syntaxe pour envoyer des commandes ou du texte dans le tube FIFO + est une des suivantes : + + catégorie,nom *texte ou commande ici + nom *texte ou commande ici + *texte ou commande ici + + + + + Quelques exemples : + + + + changement du pseudo sur freenode en "pseudo|absent" : + $ echo 'freenode,freenode */nick pseudo|absent' >~/.weechat/weechat_fifo_12345 + + + + + affichage de texte sur le canal #weechat : + $ echo 'freenode,#weechat *bonjour tout le monde !' >~/.weechat/weechat_fifo_12345 + + + + + affichage de texte sur le canal courant (le tampon affiché + par WeeChat) : + $ echo '*bonjour !' >~/.weechat/weechat_fifo_12345 + Attention : ceci est dangereux et vous ne + devriez pas le faire sauf si vous savez ce que vous faites ! + + + + + envoyer deux commandes pour décharger/recharger les scripts Perl + (vous devez les séparer par "\n") : + $ echo -e "weechat,weechat */perl unload\nweechat,weechat */perl autoload" >~/.weechat/weechat_fifo_12345 + + + + + + + Vous pouvez écrire un script qui envoie les commandes à tous les + WeeChat qui tournent en même temps, par exemple : + +#!/bin/sh +if [ $# -eq 1 ]; then + for fifo in ~/.weechat/weechat_fifo_* + do + echo -e "$1" >$fifo + done +fi + + Si le script s'appelle "auto_weechat_command", vous pouvez le lancer + ainsi : +$ ./auto_weechat_command "freenode,#weechat *bonjour" + + +
diff --git a/doc/fr/plugin_irc.fr.xml b/doc/fr/plugin_irc.fr.xml new file mode 100644 index 000000000..74d2e9e4d --- /dev/null +++ b/doc/fr/plugin_irc.fr.xml @@ -0,0 +1,27 @@ + + + + +
+ IRC plugin + +
diff --git a/doc/fr/plugins.fr.xml b/doc/fr/plugins.fr.xml index bffd6dc27..e29c9a6ef 100644 --- a/doc/fr/plugins.fr.xml +++ b/doc/fr/plugins.fr.xml @@ -21,15 +21,15 @@ along with this program. If not, see . --> - + Extensions - Ce chapitre décrit l'interface des extensions (API) et les extensions - pour scripts (Perl, Python, Ruby, Lua), fournies avec WeeChat. + Ce chapitre décrit l'API extension de WeeChat et les extensions fournies + par défaut avec WeeChat. -
+
Les extensions dans WeeChat @@ -52,7 +52,7 @@ along with this program. If not, see .
-
+
Ecrire une extension @@ -63,28 +63,42 @@ along with this program. If not, see . - L'extension doit comporter certaines variables et fonctions - obligatoires (sans quoi l'extension ne peut être chargée) : + L'extension doit comporter certaines macros obligatoires (pour définir + des variables) et des fonctions (sans quoi l'extension ne peut être + chargée) : + - Variable + Macro Description - char plugin_name[] + WEECHAT_PLUGIN_NAME le nom de l'extension - char plugin_version[] + WEECHAT_PLUGIN_DESCRIPTION + une courte description de l'extension + + + WEECHAT_PLUGIN_VERSION la version de l'extension - char plugin_description[] - une courte description de l'extension + WEECHAT_PLUGIN_WEECHAT_VERSION + + la version de WeeChat pour laquelle l'extension est destinée + (attention: l'extension ne pourra tourner sur aucune autre + version de WeeChat !) + + + + WEECHAT_PLUGIN_LICENSE + la licence de l'extension @@ -100,16 +114,17 @@ along with this program. If not, see . - int weechat_plugin_init (t_weechat_plugin *plugin) + int weechat_plugin_init (struct t_weechat_plugin *plugin, int argc, char *argv[]) fonction appelée au chargement de l'extension - qui doit renvoyer PLUGIN_RC_OK en cas de succès, - PLUGIN_RC_KO en cas d'erreur (si erreur, l'extension - ne sera PAS chargée) + qui doit renvoyer WEECHAT_RC_OK en cas de succès, + WEECHAT_RC_ERROR en cas d'erreur (si erreur, l'extension + ne sera PAS chargée), argv/argv sont les paramètres pour + l'extension (donnés sur la ligne de commande par l'utilisateur) - void weechat_plugin_end (t_weechat_plugin *plugin) + int weechat_plugin_end (struct t_weechat_plugin *plugin) fonction appelée au déchargement de l'extension @@ -117,9 +132,7 @@ along with this program. If not, see . - &plugin_api.fr.xml; - -
+
Compiler l'extension @@ -138,7 +151,7 @@ along with this program. If not, see .
-
+
Charger l'extension dans WeeChat @@ -156,60 +169,91 @@ along with this program. If not, see .
-
+
Exemple d'extension Un exemple complet d'extension, qui ajoute une commande /double - affichant deux fois les paramètres passés sur le canal courant - (d'accord ce n'est pas très utile mais ceci est un exemple !) : + affichant deux fois les paramètres passés sur le tampon courant + ou exécutant deux fois une commande (d'accord ce n'est pas très utile + mais ceci est un exemple !) : #include <stdlib.h> #include "weechat-plugin.h" -char plugin_name[] = "Double"; -char plugin_version[] = "0.1"; -char plugin_description[] = "Plugin de test pour WeeChat"; +WEECHAT_PLUGIN_NAME("double"); +WEECHAT_PLUGIN_DESCRIPTION("Test plugin for WeeChat"); +WEECHAT_PLUGIN_AUTHOR("FlashCode <flashcode@flashtux.org>"); +WEECHAT_PLUGIN_VERSION("0.1"); +WEECHAT_PLUGIN_WEECHAT_VERSION("0.2.7"); +WEECHAT_PLUGIN_LICENSE("GPL3"); -/* gestionnaire de commande "/double" */ +struct t_weechat_plugin *weechat_plugin = NULL; -int double_cmd (t_weechat_plugin *plugin, int argc, char **argv, - char *handler_args, void *handler_pointer) + +/* "/double" command manager */ + +int +double_cmd (void *data, struct t_gui_buffer *buffer, int argc, + char **argv, char **argv_eol) { - if (argv[2] && (argv[2][0] != '/')) + /* make C compiler happy */ + (void) argv; + + if (argc > 1) { - plugin->exec_command (plugin, NULL, NULL, argv[2]); - plugin->exec_command (plugin, NULL, NULL, argv[2]); + weechat_command (NULL, argv_eol[1]); + weechat_command (NULL, argv_eol[1]); } - return PLUGIN_RC_OK; + + return WEECHAT_RC_OK; } -int weechat_plugin_init (t_weechat_plugin *plugin) +int +weechat_plugin_init (struct t_weechat_plugin *plugin, + int argc, char *argv[]) { - plugin->cmd_handler_add (plugin, "double", - "Affiche deux fois un message", - "msg", - "msg: message a afficher deux fois", - NULL, - &double_cmd, - NULL, NULL); - return PLUGIN_RC_OK; + weechat_plugin = plugin; + + weechat_hook_command ("double", + "Display two times a message", + "msg", + "msg: message to display two times", + NULL, + &double_cmd, NULL); + + return WEECHAT_RC_OK; } -void weechat_plugin_end (t_weechat_plugin *plugin) +int +weechat_plugin_end (struct t_weechat_plugin *plugin) { - /* on ne fait rien ici */ + /* nothing done here */ + (void) plugin; + + return WEECHAT_RC_OK; }
+ + +
+ Default plugins + + &plugin_irc.fr.xml; + + + + &plugin_fifo.fr.xml; + + + +
+
- &plugin_charset.fr.xml; - - &plugin_scripts.fr.xml; - diff --git a/doc/fr/usage.fr.xml b/doc/fr/usage.fr.xml index 01bf847e9..6fbeae839 100644 --- a/doc/fr/usage.fr.xml +++ b/doc/fr/usage.fr.xml @@ -21,7 +21,7 @@ along with this program. If not, see . --> - + Utilisation @@ -30,7 +30,7 @@ along with this program. If not, see . l'utilisation du tube FIFO. -
+
Lancer WeeChat @@ -51,12 +51,6 @@ along with this program. If not, see . démarrage - - -c, --config - - Afficher l'aide sur le fichier de config (liste des options) - - -d, --dir <répertoire> @@ -67,25 +61,12 @@ along with this program. If not, see . s'il n'est pas trouvé par WeeChat. - - -f, --key-functions - - Afficher la liste des fonctions internes WeeChat pour les - touches - - -h, --help Afficher l'aide - - -i, --irc-commands - - Afficher la liste des commandes IRC - - -k, --keys @@ -111,12 +92,6 @@ along with this program. If not, see . Afficher la version de WeeChat - - -w, --weechat-commands - - Afficher la liste des commandes WeeChat - - @@ -166,20 +141,19 @@ along with this program. If not, see . Lorsque vous lancez WeeChat pour la première fois, un fichier de configuration par défaut est créé, avec les options par défaut. Le fichier de configuration par défaut est : - "~/.weechat/weechat.rc" + "~/.weechat/weechat.conf" Vous pouvez éditer ce fichier pour configurer WeeChat à votre - convenance (SEULEMENT si WeeChat ne tourne pas), ou vous pouvez - modifier les paramètres dans WeeChat avec la commande - "/set" - (voir ) + convenance ou vous pouvez modifier les paramètres dans WeeChat avec la + commande "/set" + (voir )
-
+
Raccourcis clavier @@ -454,12 +428,6 @@ along with this program. If not, see . Effacer le dernier message de la barre d'informations - - Alt + J puis Alt + D - - Afficher le tampon des DCC - - Alt + J puis Alt + L @@ -472,25 +440,6 @@ along with this program. If not, see . Sauter au tampon affiché précédemment - - Alt + J puis Alt + R - - Sauter au tampon de données brutes IRC - - - - Alt + J puis Alt + S - - Sauter au tampon du serveur - - - - Alt + J puis Alt + X - - Sauter au premier canal du serveur suivant - (ou tampon du serveur si aucun canal n'est ouvert) - - Alt + chiffre (0-9) @@ -554,41 +503,38 @@ along with this program. If not, see .
-
+
La ligne de commande La ligne de commande WeeChat (située en bas de la fenêtre) permet - d'envoyer du texte sur les canaux et d'exécuter des commandes - WeeChat ou IRC (voir ). + d'exécuter des commandes ou d'envoyer du texte vers le tampon. Les commandes débutent par un caractère "/", suivi du nom de la - commande. Par exemple pour initier une conversation privée avec - "toto" : - /query toto + commande. Par exemple pour afficher la liste de toutes les options : + /set - Le texte envoyé à un canal est tout texte ne commençant pas par le + Le texte envoyé à un tampon est tout texte ne commençant pas par le caractère "/", par exemple pour envoyer "bonjour" - sur le canal courant : + sur le tampon courant : bonjour Il est cependant possible de faire débuter un texte par "/" en le doublant. Par exemple pour envoyer le texte - "/query toto" sur le canal courant : - //query toto + "/set" sur le tampon courant : + //set - Si l'option d'envoi des couleurs IRC - ("irc_colors_send") est activée, il est possible - d'utiliser des codes couleur et attributs comme suit (appuyer sur Ctrl-C - puis la lettre qui suit et éventuellement une valeur) : + Pour certaines extensions comme IRC, il est possible d'utiliser + des codes couleur et attributs cmome suit (appuyer sur Ctrl-C puis sur + la lettre qui suit et éventuellement une valeur) : @@ -733,57 +679,20 @@ along with this program. If not, see .
-
- Commandes WeeChat / IRC +
+ Commandes WeeChat - Ce chapitre liste toutes les commandes WeeChat et IRC. + Ce chapitre liste toutes les commandes WeeChat. -
- Commandes WeeChat - - - &weechat_commands.xml; - - -
- -
- Fonctions pour les touches - - - - - - - Fonction - Description - - - - - &key_functions.xml; - - - - - - -
- -
- Commandes IRC - - - &irc_commands.xml; - - -
+ + +
-
+
Fichier de configuration @@ -801,7 +710,7 @@ along with this program. If not, see . - &config.xml; + @@ -886,81 +795,4 @@ along with this program. If not, see .
-
- Tube FIFO - - - Vous pouvez contrôler WeeChat à distance, en envoyant des commandes - ou du texte dans un tube FIFO (l'option "irc_fifo_pipe" doit être - activée, elle est désactivée par défaut). - - - - Le tube FIFO est dans le répertoire "~/.weechat/" - et s'appelle "weechat_fifo_xxxxx" (où xxxxx est l'ID du processus - (PID) du WeeChat qui tourne). Donc si plusieurs WeeChat tournent, il - y a plusieurs tubes FIFO, un pour chaque session. - - - - La syntaxe pour envoyer des commandes ou du texte dans le tube FIFO - est la suivante : - serveur,canal *texte ou commande ici - où le serveur et le canal sont facultatifs, mais si le canal est là, - le serveur doit l'être aussi. - - - - Quelques exemples : - - - - changement du pseudo sur freenode en "pseudo|absent" : - $ echo 'freenode */nick pseudo|absent' >~/.weechat/weechat_fifo_12345 - - - - - affichage de texte sur le canal #weechat : - $ echo 'freenode,#weechat *bonjour tout le monde !' >~/.weechat/weechat_fifo_12345 - - - - - affichage de texte sur le canal courant (le tampon affiché - par WeeChat) : - $ echo '*bonjour !' >~/.weechat/weechat_fifo_12345 - Attention : ceci est dangereux et vous ne - devriez pas le faire sauf si vous savez ce que vous faites ! - - - - - envoyer deux commandes pour décharger/recharger les scripts Perl - (vous devez les séparer par "\n") : - $ echo -e "freenode */perl unload\nfreenode */perl autoload" >~/.weechat/weechat_fifo_12345 - - - - - - - Vous pouvez écrire un script qui envoie les commandes à tous les - WeeChat qui tournent en même temps, par exemple : - -#!/bin/sh -if [ $# -eq 1 ]; then - for fifo in ~/.weechat/weechat_fifo_* - do - echo -e "$1" >$fifo - done -fi - - Si le script s'appelle "auto_weechat_command", vous pouvez le lancer - ainsi : -$ ./auto_weechat_command "freenode,#weechat *bonjour" - - -
- diff --git a/doc/fr/weechat.fr.xml b/doc/fr/weechat.fr.xml index d6868c349..7cb9bceab 100644 --- a/doc/fr/weechat.fr.xml +++ b/doc/fr/weechat.fr.xml @@ -37,7 +37,9 @@ along with this program. If not, see . + + ]> @@ -47,7 +49,7 @@ along with this program. If not, see . WeeChat 0.2.7-dev - Guide utilisateur - Client de messagerie instantanée, léger et extensible + Client de discussion rapide, léger et extensible Sébastien