\input texinfo @c -*-texinfo-*- @c %**start of header @setfilename weechat_doc_es.info @settitle WeeChat - Cliente IRC r@'apido, ligero y extensible @c %**end of header @c WeeChat documentation (spanish version) @c @c Copyright (c) 2005 by FlashCode @c @c This manual is free software; you can redistribute it and/or modify @c it under the terms of the GNU General Public License as published by @c the Free Software Foundation; either version 2 of the License, or @c (at your option) any later version. @c @c This manual is distributed in the hope that it will be useful, @c but WITHOUT ANY WARRANTY; without even the implied warranty of @c MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the @c GNU General Public License for more details. @c @c You should have received a copy of the GNU General Public License @c along with this program; if not, write to the Free Software @c Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA @c pdf : texi2pdf weechat_doc_es.texi @c html: makeinfo --html --no-split --number-sections weechat_doc_es.texi @c tex @c \overfullrule=0pt @c end tex @documentlanguage es @documentencoding ISO-8859-1 @titlepage @title WeeChat - Gui@'on de usuario. @subtitle Cliente IRC r@'apido, peque@~no y extensible @subtitle Documentaci@'on para WeeChat v0.1.6-cvs - 6 de noviembre de 2005 @author FlashCode <@email{flashcode@@flashtux.org, flashcode AT flashtux.org}> @page Este manual documenta el cliente de IRC WeeChat, y hace parte del proyecto.@* @* Puede obtener la @`ultima versi@'on de este documento en la p@'agina:@* @uref{http://weechat.flashtux.org/doc.php}@* @* Copyright @copyright{} 2005 FlashCode <@email{flashcode@@flashtux.org, flashcode AT flashtux.org}>@* Traducido en espa@~nol por Iznogoud <@email{iznogoud@@dlfp.org, iznogoud AT dlfp.org}>@* @* Puede utilizar este documento seg@'un los t@'erminos de la licencia GNU General Public License versi@'on 2 o posterior. @end titlepage @everyheading @thischapter @| @| @everyfooting @thistitle @| @| Page @thispage @contents @node Top, Introduccion, (dir), (dir) @menu * Introduccion:: Presentaci@'on de WeeChat * Instalacion:: Instalaci@'on de WeeChat * Uso:: Utilizaci@'on de WeeChat * Plugins:: WeeChat plugins * Autores / Soporte:: Contactar los autores y obtener soporte @end menu @c ******************************* Introducci'on ******************************* @node Introduccion, Instalacion, Top, Top @chapter Introducci@'on @menu * Descripcion:: * Requisitos:: @end menu @node Descripcion, Requisitos, Introduccion, Introduccion @section Descripci@'on WeeChat (Wee Enhanced Environment for Chat) es un cliente de IRC libre, r@'apido y de peque@~no tama@~no, dise@~nado para diferentes sistemas operativos.@* @* Las caracter@'isticas principales son las siguientes: @itemize @minus @item conexi@'on multi-servidores (con SSL, IPv6, proxy) @item m@'ultiples interfaces: Curses, wxWidgets, Gtk y Qt @item peque@~no, r@'apido y ligero. @item parametrizable y extensible mediante guiones (scripts) @item conforme a las RFCs 1459, 2810, 2811, 2812, y 2813 @item multi-plataforma (Gnu/Linux, *BSD, MacOS X, Windows y otros sistemas operativos) @item 100% GPL, con Licencia Libre @end itemize @* La p@'agina Web de WeeChat est@'a aqu@'i (en franc@'es):@* @uref{http://weechat.flashtux.org}@* @node Requisitos, , Descripcion, Introduccion @section Requisitos Los requisitos para instalar WeeChat son:@* @itemize @bullet @item Un sistema operativo GNU/Linux (con compilador y herramientas asociadas para paquetes de c@'odigo fuente) @item Acceso a la cuenta "root" (para instalar WeeChat) @item Seg@'un el interfaz, una de las bibliotecas siguientes: @itemize @minus @item Curses: la librer@'ia ncurses, @item Gtk: *** interfaz no desarrollada por el momento ***, @item Qt: *** interfaz no desarrollada por el momento ***, @end itemize @end itemize @c ******************************* Instalaci@'on ******************************* @node Instalacion, Uso, Introduccion, Top @chapter Instalaci@'on @menu * Paquetes binarios:: * Paquetes de fuentes:: * CVS:: @end menu @node Paquetes binarios, Paquetes de fuentes, Instalacion, Instalacion @section Paquetes binarios Los paquetes binarios est@'an disponibles para las siguientes distribuciones: @itemize @bullet @item Debian (o compatible con Debian)@* Para instalar WeeChat: @kbd{apt-get install weechat-curses} @item Mandrake/Redhat (o cualquier distribuci@'on compatible con los paquetes RPM)@* Para instalar WeeChat: @kbd{rpm -i /direccion/weechat-x.y.z-1.i386.rpm} @item Gentoo@* Para instalar WeeChat: @kbd{emerge -pf weechat && emerge weechat} @item BSD (no disponible !) @item Slackware (no disponible!) @item Windows (no disponible!) @end itemize donde x.y.z es la versi@'on de WeeChat (por ejemplo 0.0.1) @* @node Paquetes de fuentes, CVS, Paquetes binarios, Instalacion @section Paquetes de fuentes Escribe en un terminal o una consola:@* @kbd{./configure}@* @kbd{make}@* Nota: si quieres construir WeeChat @'unicamente para ciertas interfaces, puedes a@~nadir Par@'ametros a ./configure, escribe @kbd{./configure --help} para obtener ayuda sobre estas opciones.@* Adquiere los derechos de root e instala WeeChat:@* @kbd{su}@* (introduce la contrase@~na de root)@* @kbd{make install}@* @node CVS, , Paquetes de fuentes, Instalacion @section CVS Atenci@'on: Las fuentes CVS est@'an reservadas para usuarios con experiencia: Es posible que WeeChat no se instale o que se sea bastante inestable. @exclamdown{}Ya te he avisado!@* Para recuperar las fuentes CVS, escribe las l@'ineas siguientes:@* @kbd{cvs -d:pserver:anoncvs@@subversions.gnu.org:/cvsroot/weechat login}@* @kbd{cvs -z3 -d:pserver:anoncvs@@subversions.gnu.org:/cvsroot/weechat co weechat}@* (Si te pregunta una contrase@~na, simplemente pulsa la tecla Entrar)@* Ejecuta el script:@* @kbd{./autogen.sh}@* Luego, lee las instructiones para Paquetes de fuentes - @xref{Paquetes de fuentes}. @c ******************************* Utilisaci@'on ******************************** @node Uso, Plugins, Instalacion, Top @chapter Uso @menu * Iniciar WeeChat:: * Ficheros de configuracion:: * Atajos de teclado:: * Comandos WeeChat:: * Canal FIFO:: @end menu @node Iniciar WeeChat, Ficheros de configuracion, Uso, Uso @section Iniciar WeeChat @subsection Par@'ametros de l@'inea de comandos @table @code @item -a, --no-connect Disable auto-connect to servers at startup@* @item -c, --config Obtener la ayuda del fichero de configuraci@'on (lista de opciones)@* @item -f, --key-functions Display WeeChat internal functions for keys@* @item -h, --help Obtener la ayuda@* @item -i, --irc-commands Display IRC commands list@* @item -k, --keys Display WeeChat default keys@* @item -l, --license Obtener la licencia de WeeChat@* @item -p, --no-plugin Don't load any plugin at startup @item -v, --version Obtener la versi@'on de WeeChat@* @item -w, --weechat-commands Display WeeChat commands list@* @end table @subsection Lanzar WeeChat Para ejecutar WeeChat, basta escribir la l@'inea siguiente:@* @kbd{weechat-curses} (para el interfaz con Curses)@* o @kbd{weechat-wxwidgets} (para el interfaz con wxWidgets)@* o @kbd{weechat-gtk} (para el interfaz con Gtk)@* o @kbd{weechat-qt} (para el interfaz con Qt)@* Cuando se ejecuta WeeChat por primera vez, un fichero de configuraci@'on se crea con las opciones por defecto;@* El fichero de configuraci@'on por defecto est@'a en: ~/.weechat/weechat.rc@* Puedes editarlo para configurar WeeChat con las opciones deseadas, o tambi@'en puedes modificar los par@'ametros directamente en WeeChat, con la l@'inea @kbd{/set} - @xref{Comandos WeeChat}. @node Ficheros de configuracion, Atajos de teclado, Iniciar WeeChat, Uso @section Ficheros de configuraci@'on Enumeraci@'on de las opciones del fichero de configuraci@'on:@* @table @kbd @item look_set_title Define el t@'itulo de la ventana (el terminal para la interfaz Curses) con el nombre y la versi@'on@* Typo: booleano (valores: 'on' u 'off'), valor por defecto: 'on'@* @item look_startup_logo Mostrar el logotipo de WeeChat en el arranque@* Typo: booleano (valores: 'on' u 'off'), valor por defecto: 'on'@* @item look_startup_version Mostrar la versi@'on de Weechat en el arranque@* Typo: booleano (valores: 'on' u 'off'), valor por defecto: 'on'@* @item look_weechat_slogan Esl@'ogan de WeeChat (si est@'a vac@'io, el esl@'ogan no ser@'a utilizado)@* Typo: cadena (cualquier cadena), valor por defecto: 'the geekest IRC client!'@* @item look_charset_decode_iso ISO charset for decoding messages from server (used only if locale is UTF-8) (if empty, messages are not converted if locale is UTF-8@* Typo: cadena (cualquier cadena), valor por defecto: 'ISO-8859-1'@* @item look_charset_decode_utf UTF charset for decoding messages from server (used only if locale is not UTF-8) (if empty, messages are not converted if locale is not UTF-8@* Typo: cadena (cualquier cadena), valor por defecto: 'UTF-8'@* @item look_charset_encode Charset for encoding messages sent to server, examples: UFT-8, ISO-8859-1 (if empty, messages are not converted)@* Typo: cadena (cualquier cadena), valor por defecto: ''@* @item look_charset_internal Forces internal WeeChat charset (should be empty in most cases, that means detected charset is used)@* Typo: cadena (cualquier cadena), valor por defecto: ''@* @item look_one_server_buffer Use same buffer for all servers@* Typo: booleano (valores: 'on' u 'off'), valor por defecto: 'off'@* @item look_buffer_timestamp Fecha y hora para las búfers@* Typo: cadena (cualquier cadena), valor por defecto: '[%H:%M:%S]'@* @item look_color_nicks Mostrar nombres de usuario con colores diferentes@* Typo: booleano (valores: 'on' u 'off'), valor por defecto: 'on'@* @item look_color_nicks_number Number of colors to use for nicks colors@* Typo: entero (valores: entre 1 y 10), valor por defecto: 10@* @item look_color_actions Mostrar acciones con colores diferentes@* Typo: booleano (valores: 'on' u 'off'), valor por defecto: 'on'@* @item look_nicklist Mostrar ventana de usuarios (para las ventanas de canal)@* Typo: booleano (valores: 'on' u 'off'), valor por defecto: 'on'@* @item look_nicklist_position Posici@'on de la ventana de usuarios (arriba (top), izquierda (left), derecha (right, por defecto), abajo (bottom))@* Typo: cadena (valores: 'left', 'right', 'top', 'bottom'), valor por defecto: 'right'@* @item look_nicklist_min_size Tama@~no m@'inimo para la ventana de usuarios (ancho o alto, dependiendo de look_nicklist_position (0 = sin tama@~no m@'inimo))@* Typo: entero (valores: entre 0 y 100), valor por defecto: 0@* @item look_nicklist_max_size Tama@~no m@'aximo para la ventana de usuarios (ancho o alto, dependiendo de look_nicklist_position (0 = sin tama@~no m@'aximo, si min == max y > 0, entonces se fija el tama@~no))@* Typo: entero (valores: entre 0 y 100), valor por defecto: 0@* @item look_no_nickname Texto a mostrar en lugar del nick cuando no se est@'a conectado@* Typo: cadena (cualquier cadena), valor por defecto: '-cmd-'@* @item look_nickmode Mostrar modo del usuario ((half)op/voice) antes de cada usuario@* Typo: booleano (valores: 'on' u 'off'), valor por defecto: 'on'@* @item look_nickmode_empty Mostrar un espacio si el modo de usuario no es (half)op/voice@* Typo: booleano (valores: 'on' u 'off'), valor por defecto: 'off'@* @item look_nick_completor La cadena mostrada tras la finalizaci@'on de los nombres de usuario@* Typo: cadena (cualquier cadena), valor por defecto: ':'@* @item look_nick_completion_ignore Chars ignored for nick completion@* Typo: cadena (cualquier cadena), valor por defecto: '[]-'@* @item look_infobar Activa la barra de informaci@'on@* Typo: booleano (valores: 'on' u 'off'), valor por defecto: 'on'@* @item look_infobar_timestamp Fecha y hora para las conversaciones guardadas@* Typo: cadena (cualquier cadena), valor por defecto: '%B, %A %d %Y'@* @item look_infobar_seconds Mostrar segundos en la hora de la barra de herramientas@* Typo: booleano (valores: 'on' u 'off'), valor por defecto: 'on'@* @item look_infobar_delay_highlight Retraso (en segundos) para la notificaci@'on de mensajes en la barra de informaci@'on (0 = desactivar las notificaciones en la barra de informaci@'on)@* Typo: entero (valores: entre 0 y 2147483647), valor por defecto: 7@* @item look_hotlist_names_count Max number of names in hotlist (0 = no name displayed, only buffer numbers)@* Typo: entero (valores: entre 0 y 32), valor por defecto: 3@* @item look_hotlist_names_level Level for displaying names in hotlist (combination of: 1=join/part, 2=message, 4=private, 8=highlight, for example: 12=private+highlight)@* Typo: entero (valores: entre 1 y 15), valor por defecto: 12@* @item look_hotlist_names_length Max length of names in hotlist (0 = no limit)@* Typo: entero (valores: entre 0 y 32), valor por defecto: 0@* @item look_day_change Display special message when day changes@* Typo: booleano (valores: 'on' u 'off'), valor por defecto: 'on'@* @item look_day_change_timestamp Timestamp for date displayed when day changed@* Typo: cadena (cualquier cadena), valor por defecto: '%a, %d %b %Y'@* @item col_real_white If set, uses real white color, disabled by default for terms with white background (if you never use white background, you should turn on this option to see real white instead of default term foreground color)@* Typo: booleano (valores: 'on' u 'off'), valor por defecto: 'off'@* @item col_title Color para la barra de t@'itulo@* Typo: color (color Curses @'o Gtk), valor por defecto: 'default'@* @item col_title_bg Color de fondo para la barra de t@'itulo@* Typo: color (color Curses @'o Gtk), valor por defecto: 'blue'@* @item col_chat Color para el texto de conversaci@'on@* Typo: color (color Curses @'o Gtk), valor por defecto: 'default'@* @item col_chat_time Color para la hora en la ventana de conversaci@'on@* Typo: color (color Curses @'o Gtk), valor por defecto: 'default'@* @item col_chat_time_sep Color para el separador de la hora (ventana de conversaci@'on)@* Typo: color (color Curses @'o Gtk), valor por defecto: 'brown'@* @item col_chat_prefix1 Color para el primer o tercer car@'acter de prefijo@* Typo: color (color Curses @'o Gtk), valor por defecto: 'lightcyan'@* @item col_chat_prefix2 Color para el car@'acter de en medio del prefijo@* Typo: color (color Curses @'o Gtk), valor por defecto: 'white'@* @item col_chat_server Color for server name@* Typo: color (color Curses @'o Gtk), valor por defecto: 'brown'@* @item col_chat_join Color for join arrow (prefix)@* Typo: color (color Curses @'o Gtk), valor por defecto: 'lightgreen'@* @item col_chat_part Color for part/quit arrow (prefix)@* Typo: color (color Curses @'o Gtk), valor por defecto: 'lightred'@* @item col_chat_nick Color para los nombres de usuario en las acciones (ventana de conversaci@'on)@* Typo: color (color Curses @'o Gtk), valor por defecto: 'lightcyan'@* @item col_chat_host Color para los nombres de m@'aquina (ventana de conversaci@'on)@* Typo: color (color Curses @'o Gtk), valor por defecto: 'cyan'@* @item col_chat_channel Color para los nombres de canal en las acciones (ventana de conversaci@'on)@* Typo: color (color Curses @'o Gtk), valor por defecto: 'white'@* @item col_chat_dark Color para los separadores oscuros (ventana de conversaci@'on)@* Typo: color (color Curses @'o Gtk), valor por defecto: 'green'@* @item col_chat_highlight Color para el alias subrayado (ventana de conversaci@'on)@* Typo: color (color Curses @'o Gtk), valor por defecto: 'yellow'@* @item col_chat_bg Color de fondo para la ventana de conversaci@'on@* Typo: color (color Curses @'o Gtk), valor por defecto: 'default'@* @item col_status Color para la barra de estado@* Typo: color (color Curses @'o Gtk), valor por defecto: 'default'@* @item col_status_delimiters Color para los delimitadores de la barra de estado@* Typo: color (color Curses @'o Gtk), valor por defecto: 'cyan'@* @item col_status_channel Color for current channel in status bar@* Typo: color (color Curses @'o Gtk), valor por defecto: 'white'@* @item col_status_data_msg Color para una ventana con mensajes nuevos (barra de estado)@* Typo: color (color Curses @'o Gtk), valor por defecto: 'yellow'@* @item col_status_private Color for window with private message (status bar)@* Typo: color (color Curses @'o Gtk), valor por defecto: 'lightmagenta'@* @item col_status_highlight Color para una ventana con resaltado (barra de estado)@* Typo: color (color Curses @'o Gtk), valor por defecto: 'lightred'@* @item col_status_data_other Color para una ventana con nuevos datos (no mensajes) (barra de estado)@* Typo: color (color Curses @'o Gtk), valor por defecto: 'default'@* @item col_status_more Color para una ventana con nuevos datos (barra de estado)@* Typo: color (color Curses @'o Gtk), valor por defecto: 'white'@* @item col_status_bg Color de fondo para la ventana de estado@* Typo: color (color Curses @'o Gtk), valor por defecto: 'blue'@* @item col_infobar Color para el texto de la barra de informaci@'on@* Typo: color (color Curses @'o Gtk), valor por defecto: 'black'@* @item col_infobar_delimiters Color para los delimitadores de la barra de informaci@'on@* Typo: color (color Curses @'o Gtk), valor por defecto: 'blue'@* @item col_infobar_highlight Color para la notificaci@'on en la barra de informaci@'on@* Typo: color (color Curses @'o Gtk), valor por defecto: 'white'@* @item col_infobar_bg Color de fondo para la ventana de la barra de informaci@'on@* Typo: color (color Curses @'o Gtk), valor por defecto: 'cyan'@* @item col_input Color para el texto de entrada@* Typo: color (color Curses @'o Gtk), valor por defecto: 'default'@* @item col_input_channel Color para el texto de entrada (nombre de canal)@* Typo: color (color Curses @'o Gtk), valor por defecto: 'white'@* @item col_input_nick Color para el texto de entrada (alias)@* Typo: color (color Curses @'o Gtk), valor por defecto: 'lightcyan'@* @item col_input_delimiters Color for input text (delimiters)@* Typo: color (color Curses @'o Gtk), valor por defecto: 'cyan'@* @item col_input_bg Color de fondo para la ventana de entrada@* Typo: color (color Curses @'o Gtk), valor por defecto: 'default'@* @item col_nick Color para los nombres de usuario@* Typo: color (color Curses @'o Gtk), valor por defecto: 'default'@* @item col_nick_away Color para los usuarios ausentes@* Typo: color (color Curses @'o Gtk), valor por defecto: 'cyan'@* @item col_nick_chanowner Color para el s@'imbolo de propietario de canal (especificado en unrealircd)@* Typo: color (color Curses @'o Gtk), valor por defecto: 'lightgreen'@* @item col_nick_chanadmin Color para el s@'imbolo de administrador de canal (especificado en unrealircd)@* Typo: color (color Curses @'o Gtk), valor por defecto: 'lightgreen'@* @item col_nick_op Color para el s@'imbolo de operador@* Typo: color (color Curses @'o Gtk), valor por defecto: 'lightgreen'@* @item col_nick_halfop Color para el s@'imbolo de semi-operador@* Typo: color (color Curses @'o Gtk), valor por defecto: 'lightmagenta'@* @item col_nick_voice Color para el s@'imbolo de voz@* Typo: color (color Curses @'o Gtk), valor por defecto: 'yellow'@* @item col_nick_more Color para '+' al desplazar nicks@* Typo: color (color Curses @'o Gtk), valor por defecto: 'lightmagenta'@* @item col_nick_sep Color para el separador de alias@* Typo: color (color Curses @'o Gtk), valor por defecto: 'blue'@* @item col_nick_self Color para el alias local@* Typo: color (color Curses @'o Gtk), valor por defecto: 'white'@* @item col_nick_color1 Color for nick@* Typo: color (color Curses @'o Gtk), valor por defecto: 'cyan'@* @item col_nick_color2 Color for nick@* Typo: color (color Curses @'o Gtk), valor por defecto: 'magenta'@* @item col_nick_color3 Color for nick@* Typo: color (color Curses @'o Gtk), valor por defecto: 'green'@* @item col_nick_color4 Color for nick@* Typo: color (color Curses @'o Gtk), valor por defecto: 'brown'@* @item col_nick_color5 Color for nick@* Typo: color (color Curses @'o Gtk), valor por defecto: 'lightblue'@* @item col_nick_color6 Color for nick@* Typo: color (color Curses @'o Gtk), valor por defecto: 'default'@* @item col_nick_color7 Color for nick@* Typo: color (color Curses @'o Gtk), valor por defecto: 'lightcyan'@* @item col_nick_color8 Color for nick@* Typo: color (color Curses @'o Gtk), valor por defecto: 'lightmagenta'@* @item col_nick_color9 Color for nick@* Typo: color (color Curses @'o Gtk), valor por defecto: 'lightgreen'@* @item col_nick_color10 Color for nick@* Typo: color (color Curses @'o Gtk), valor por defecto: 'blue'@* @item col_nick_private Color para el otro alias en la ventana privada@* Typo: color (color Curses @'o Gtk), valor por defecto: 'default'@* @item col_nick_bg Color de fondo para los nombres de usuario@* Typo: color (color Curses @'o Gtk), valor por defecto: 'default'@* @item col_chat_dcc_selected Color para el DCC seleccionado (ventana de conversaci@'on)@* Typo: color (color Curses @'o Gtk), valor por defecto: 'white'@* @item col_dcc_waiting Color para el estado dcc "esperando"@* Typo: color (color Curses @'o Gtk), valor por defecto: 'lightcyan'@* @item col_dcc_connecting Color para el estado dcc "conectando"@* Typo: color (color Curses @'o Gtk), valor por defecto: 'yellow'@* @item col_dcc_active Color para el estado dcc "activo"@* Typo: color (color Curses @'o Gtk), valor por defecto: 'lightblue'@* @item col_dcc_done Color para el estado dcc "terminado"@* Typo: color (color Curses @'o Gtk), valor por defecto: 'lightgreen'@* @item col_dcc_failed Color para el estado dcc "fallo"@* Typo: color (color Curses @'o Gtk), valor por defecto: 'lightred'@* @item col_dcc_aborted Color para el estado dcc "abortado"@* Typo: color (color Curses @'o Gtk), valor por defecto: 'lightred'@* @item history_max_lines Número m@'aximo de l@'ineas en el hist@'orico para un servidor/canal/privado (0 = ilimitado)@* Typo: entero (valores: entre 0 y 2147483647), valor por defecto: 4096@* @item history_max_commands Número m@'aximo de comandos de usuario en el hist@'orico (0 = ilimitado)@* Typo: entero (valores: entre 0 y 2147483647), valor por defecto: 100@* @item log_auto_server Registrar autom@'aticamente los mensajes de servidor@* Typo: booleano (valores: 'on' u 'off'), valor por defecto: 'off'@* @item log_auto_channel Registrar autom@'aticamente las conversaciones de canal@* Typo: booleano (valores: 'on' u 'off'), valor por defecto: 'off'@* @item log_auto_private Registrar autom@'aticamente las conversaciones privadas@* Typo: booleano (valores: 'on' u 'off'), valor por defecto: 'off'@* @item log_plugin_msg Registrar mensajes de plugins (scripts)@* Typo: booleano (valores: 'on' u 'off'), valor por defecto: 'off'@* @item log_path Ruta para los archivos de registro (logs) de WeeChat@* Typo: cadena (cualquier cadena), valor por defecto: '~/.weechat/logs/'@* @item log_timestamp Fecha y hora para los registros (ver man strftime para el formato de fecha/hora)@* Typo: cadena (cualquier cadena), valor por defecto: '%Y %b %d %H:%M:%S'@* @item log_hide_nickserv_pwd Ocultar contrase@~na mostrada por nickserv@* Typo: booleano (valores: 'on' u 'off'), valor por defecto: 'on'@* @item irc_display_away Mostrar mensaje en todos los canales cuando se vuelva del estado ausente@* Typo: booleano (valores: 'on' u 'off'), valor por defecto: 'on'@* @item irc_default_msg_away Mensaje por defecto para el estado ausente@* Typo: cadena (cualquier cadena), valor por defecto: 'away'@* @item irc_default_msg_part Mensaje por defecto de salida (saliendo de un canal)@* Typo: cadena (cualquier cadena), valor por defecto: 'WeeChat %v'@* @item irc_default_msg_quit Mensaje de fin por defecto ('%v' ser@'a reemplazado por la versi@'on de WeeChat en la cadena)@* Typo: cadena (cualquier cadena), valor por defecto: 'WeeChat %v'@* @item irc_notice_as_pv Display notices as private messages@* Typo: booleano (valores: 'on' u 'off'), valor por defecto: 'off'@* @item irc_away_check Intervalo entre dos comprobaciones de ausencia (en minutos, 0 = no comprobar)@* Typo: entero (valores: entre 0 y 2147483647), valor por defecto: 0@* @item irc_lag_check Intervalo entre dos medidas de lag (en segundos)@* Typo: entero (valores: entre 30 y 2147483647), valor por defecto: 60@* @item irc_lag_min_show Lag m@'inimo a mostrar (en segundos)@* Typo: entero (valores: entre 0 y 2147483647), valor por defecto: 1@* @item irc_lag_disconnect Desconexi@'on tras un lag importante (en minutos, 0 = no desconectar nunca)@* Typo: entero (valores: entre 0 y 2147483647), valor por defecto: 5@* @item irc_fifo_pipe Crea una tuber@'ia FIFO para control remoto@* Typo: booleano (valores: 'on' u 'off'), valor por defecto: 'off'@* @item irc_highlight Comma separated list of words to highlight (case insensitive comparison, words may begin or end with "*" for partial match)@* Typo: cadena (cualquier cadena), valor por defecto: ''@* @item irc_colors_receive When off, colors codes are ignored in incoming messages@* Typo: booleano (valores: 'on' u 'off'), valor por defecto: 'on'@* @item irc_colors_send Allow user to send colors with special codes (%B=bold, %Cxx,yy=color, %U=underline, %R=reverse)@* Typo: booleano (valores: 'on' u 'off'), valor por defecto: 'on'@* @item dcc_auto_accept_files Aceptar autom@'aticamente los ficheros dcc entrantes@* Typo: booleano (valores: 'on' u 'off'), valor por defecto: 'off'@* @item dcc_auto_accept_chats Aceptar autom@'aticamente las peticiones de conversaci@'on dcc (¡utilizar con precauci@'on!)@* Typo: booleano (valores: 'on' u 'off'), valor por defecto: 'off'@* @item dcc_timeout Tiempo de espera para la petici@'on dcc (en segundos)@* Typo: entero (valores: entre 1 y 2147483647), valor por defecto: 300@* @item dcc_blocksize Tama@~no de bloque para los paquetes dcc en bytes (por defecto: 65536)@* Typo: entero (valores: entre 1024 y 102400), valor por defecto: 65536@* @item dcc_port_range Restricts outgoing dcc to use only ports in the given range (useful for NAT) (syntax: a single port, ie. 5000 or a port range, ie. 5000-5015, empty value means any port)@* Typo: cadena (cualquier cadena), valor por defecto: ''@* @item dcc_own_ip IP or DNS address used for outgoing dcc (if empty, local interface IP is used)@* Typo: cadena (cualquier cadena), valor por defecto: ''@* @item dcc_download_path Ruta para los ficheros recibidos con dcc (por defecto: directorio home del usuario)@* Typo: cadena (cualquier cadena), valor por defecto: '~'@* @item dcc_upload_path Ruta para la lectura de ficheros cuando se env@'ian a trav@'es de dcc (cuando no se especifica una ruta)@* Typo: cadena (cualquier cadena), valor por defecto: '~'@* @item dcc_convert_spaces Convertir los espacios a subrayados cuando se env@'ian los ficheros@* Typo: booleano (valores: 'on' u 'off'), valor por defecto: 'on'@* @item dcc_auto_rename Renombrar los ficheros recibidos si ya existen (a@~nadir '.1', '.2', ...)@* Typo: booleano (valores: 'on' u 'off'), valor por defecto: 'on'@* @item dcc_auto_resume Continuar autom@'aticamente la transferencia dcc si se ha perdido la conexi@'on con la m@'aquina remota@* Typo: booleano (valores: 'on' u 'off'), valor por defecto: 'on'@* @item proxy_use Utilizar un proxy para conectarse al servidor irc@* Typo: booleano (valores: 'on' u 'off'), valor por defecto: 'off'@* @item proxy_type Tipo de proxy(http (por defecto), socks4, socks5)@* Typo: cadena (valores: 'http', 'socks4', 'socks5'), valor por defecto: 'http'@* @item proxy_ipv6 Conectar al proxy en ipv6@* Typo: booleano (valores: 'on' u 'off'), valor por defecto: 'off'@* @item proxy_address Direcci@'on del servidor proxy (IP o nombre de m@'aquina)@* Typo: cadena (cualquier cadena), valor por defecto: ''@* @item proxy_port Puerto para conectarse al servidor proxy@* Typo: entero (valores: entre 0 y 65535), valor por defecto: 3128@* @item proxy_username Nombre de usuario para el servidor proxy@* Typo: cadena (cualquier cadena), valor por defecto: ''@* @item proxy_password Contrase@~na para el servidor proxy@* Typo: cadena (cualquier cadena), valor por defecto: ''@* @item plugins_path Path for searching plugins@* Typo: cadena (cualquier cadena), valor por defecto: '~/.weechat/plugins'@* @item plugins_autoload Comma separated list of plugins to load automatically at startup, "*" means all plugins found (names may be partial, for example "perl" is ok for "libperl.so")@* Typo: cadena (cualquier cadena), valor por defecto: '*'@* @item plugins_extension Standard plugins extension in filename, used for autoload (if empty, then all files are loaded when autoload is "*")@* Typo: cadena (cualquier cadena), valor por defecto: '.so'@* @item server_name Nombre asociado al servidor IRC (para mostrar solamente)@* Typo: cadena (cualquier cadena), valor por defecto: ''@* @item server_autoconnect Conexi@'on autom@'atica al servidor cuando WeeChat est@'e arrancando@* Typo: booleano (valores: 'on' u 'off'), valor por defecto: 'on'@* @item server_autoreconnect Reconexi@'on autom@'atica al servidor tras una desconexi@'on@* Typo: booleano (valores: 'on' u 'off'), valor por defecto: 'on'@* @item server_autoreconnect_delay Espera (en segundos) antes de intentar de nuevo una reconexi@'on al servidor@* Typo: entero (valores: entre 0 y 65535), valor por defecto: 30@* @item server_address Direcci@'on IP o nombre de m@'aquina del servidor IRC@* Typo: cadena (cualquier cadena), valor por defecto: ''@* @item server_port Puerto para conectarse al servidor@* Typo: entero (valores: entre 0 y 65535), valor por defecto: 6667@* @item server_ipv6 Usar el protocolo IPv6 para la comunicaci@'on del servidor@* Typo: booleano (valores: 'on' u 'off'), valor por defecto: 'off'@* @item server_ssl Usar SSL para la comunicaci@'on del servidor@* Typo: booleano (valores: 'on' u 'off'), valor por defecto: 'off'@* @item server_password Contrase@~na para el servidor IRC@* Typo: cadena (cualquier cadena), valor por defecto: ''@* @item server_nick1 Nombre de usuario a utilizar en el servidor IRC@* Typo: cadena (cualquier cadena), valor por defecto: ''@* @item server_nick2 Nombre de usuario alternativo para el servidor IRC (si el nombre de usuario ya est@'a en uso)@* Typo: cadena (cualquier cadena), valor por defecto: ''@* @item server_nick3 Segundo nombre de usuario alternativo a utilizar en el servidor IRC (si el nombre de usuario alternativo ya est@'a en uso)@* Typo: cadena (cualquier cadena), valor por defecto: ''@* @item server_username Nombre de usuario para el servidor IRC@* Typo: cadena (cualquier cadena), valor por defecto: ''@* @item server_realname Nombre real para el servidor IRC@* Typo: cadena (cualquier cadena), valor por defecto: ''@* @item server_command Primer comando a ejecutar cuando se conecte a un servidor@* Typo: cadena (cualquier cadena), valor por defecto: ''@* @item server_command_delay Espera (en segundos) despu@'es de que el comando sea ejecutado (ejemplo: dar algo de tiempo para la autenticaci@'on)@* Typo: entero (valores: entre 0 y 5), valor por defecto: 0@* @item server_autojoin Lista de canales (separados por comas) a unirse cuando se conecte a un servidor (ejemplo: "#chan1,#chan2,#chan3 key1,key2")@* Typo: cadena (cualquier cadena), valor por defecto: ''@* @item server_autorejoin Unirse de nuevo autom@'aticamente a los canales cuando sea expulsado@* Typo: booleano (valores: 'on' u 'off'), valor por defecto: 'on'@* @item server_notify_levels Lista separada por comas de niveles de notificaci@'on para canales de este servidor (formato: #canal:1,...)@* Typo: cadena (cualquier cadena), valor por defecto: ''@* @end table Los colores para el interfaz Curses son:@* @itemize @minus @item @kbd{default}: color por defecto (con transparencia para el fondo) @item @kbd{black}: negro @item @kbd{red}: rojo oscuro @item @kbd{lightred}: rojo claro @item @kbd{green}: verde oscuro @item @kbd{lightgreen}: verde claro @item @kbd{brown}: marr@'on @item @kbd{yellow}: amarillo @item @kbd{blue}: azul oscuro @item @kbd{lightblue}: azul claro @item @kbd{magenta}: violeta oscuro @item @kbd{lightmagenta}: violeta claro @item @kbd{cyan}: cyan oscuro @item @kbd{lightcyan}: cyan claro @item @kbd{white}: blanco @end itemize @node Atajos de teclado, Comandos WeeChat, Ficheros de configuracion, Uso @section Atajos de teclado @table @kbd @item Flecha izquierda / Flecha derecha Ir a la letra anterior / siguiente en la l@'inea de comandos@* @* @item Ctrl + flecha izquierda / Ctrl + flecha derecha Ir a la palabra anterior / siguiente en la l@'inea de comandos@* @* @item Inicio / Ctrl + A Ir al inicio de la l@'inea de comandos@* @* @item Fin / Ctrl + E Ir al final de la l@'inea de comandos@* @* @item Ctrl + K Delete until end of line@* @* @item Ctrl + L Refrescar toda la ventana@* @* @item Ctrl + U Delete until beginning of line@* @* @item Ctrl + W Borrar la palabra anterior en la l@'inea de comandos@* @* @item Backspace / Supr Borrar el caracter anterior / siguiente en la l@'inea de comandos@* @* @item Tab Completar el comando o el seud@'onimo (@kbd{Tab} de nuevo: encontrar la pr@'oxima autocompletaci@'on)@* @* @item Cualquier caracter A@~nadir la letra en la posici@'on del cursor en la l@'inea de comandos@* @* @item Entrar Ejecutar la l@'inea de comandos o enviar el mensaje@* @* @item Flecha de arriba / Flecha de abajo Mostrar los @'ultimos comandos/mensajes@* @* @item Ctrl + up arrow / Ctrl + down arrow Call again last commands/messages in global history@* @* @item PageUp / PageDown Obtener el hist@'orico de la memoria temporal (buffer)@* @* @item F5 / F6 Ir a la memoria temporal anterior / siguiente@* @* @item F7 / F8 Ir a la ventana anterior / siguiente@* @* @item F10 Borrar el @'ultimo mensaje en la barra de informaciones@* @* @item F11 / F12 Scroll nicklist@* @* @item Alt + flecha izquierda / Alt + flecha derecha Como F5 / F6@* @* @item Alt + A Ir a la memoria temporal donde hay actividad (con el orden de prioridad siguiente: resaltado, mensaje, otros)@* @* @item Alt + B Go to previous word@* @* @item Alt + D Delete next word@* @* @item Alt + F Go to next word@* @* @item Alt + H Borrar la 'hotlist' (notificaci@'on de actividad en otras memorias temporales)@* @* @item Alt + J then Alt + D Obtener la lista de DCC actual@* @* @item Alt + J then Alt + L Switch to last buffer@* @* @item Alt + J then Alt + S Ir a la memoria temporal del servidor@* @* @item Alt + J then Alt + X Ir al primer canal del servidor siguiente (o a la memoria temporal del servidor si ning@'un canal est@'a abierto)@* @* @item Alt + (1-9) Saltar a la memoria temporal con ese n@'umero@* @* @item Alt + J then number (01-99) Saltar a la memoria temporal con ese n@'umero@* @* @item Alt + K Grab a key @* @item Alt + R Delete entire line@* @* @item Alt + S Switch server on servers buffer@* (if option ``look_one_server_buffer'' is enabled)@* @* @item Alt + PageUp / Alt + PageDown / Alt + Home / Alt + End Scroll nicklist@* @* @end table @node Comandos WeeChat, Canal FIFO, Atajos de teclado, Uso @section Comandos WeeChat Comandos internos WeeChat:@* @table @kbd @item alias [nombre_alias [comando [argumentos]] @* crear un alias para un comando@* @* nombre_alias: nombre del seud@'onimo@* comando: nombre del comando (comando WeeChat @'o IRC, sin el primer '/')@* argumentos: par@'ametros para el comando@* @* @item buffer [acci@'on | número] @* gestionar los búfers@* @* acci@'on: acci@'on a efectuar:@* move: desplaza el búfer en la lista (puede ser relativo, por ejemplo, -1)@* close: cierra el búfer (para un canal equivale a /part sin el mensaje de fin)@* list: lista los búfers abiertos (si no hay par@'ametros se supone esta lista)@* notify: fija el nivel de notificaci@'on (0=nunca, 1=highlight, 2=1+msg, 3=2+join/part)@* número: saltar al búfer por número@* @* @item clear [-all] @* limpiar la(s) ventana(s)@* @* -all: limpiar todas las ventanas@* @* @item connect [nombre_del_servidor] @* conectarse a un servidor@* @* nombre_del_servidor: nombre del servidor al que conectarse@* @* @item disconnect [nombre_del_servidor] @* desconectarse de un servidor@* @* nombre_del_servidor: nombre del servidor del que desconectarse@* @* @item debug dump @* imprime mensajes de depuraci@'on@* @* volcado: almacena un volcado de memoria en el archivo de registro de Weechat (se escribe el mismo volcado cuando Weechat se cuelga)@* @* @item help [comando] @* mostrar ayuda sobre los comandos@* @* comando: nombre de un comando de Weechat @'o de IRC@* @* @item ignore [mask [[type | command] [channel [server]]]] @* ignore IRC messages and/or hosts@* @* mask: nick or host mask to ignore@* type: type of message to ignore (action, ctcp, dcc, pv)@* command: IRC command@* channel: name of channel for ignore@* server: name of server for ignore@* @* For each argument, '*' means all.@* Without argument, /ignore command lists all defined ignore.@* @* @item key [clave funci@'on/comando] [desatar clave] [funciones] [reset -yes] @* atar/desatar claves@* @* clave: ata esta clave a una funci@'on interna o a un comando (comenzando por "/ ")@* desatar: desata una clave(si "all", se restauran los anclajes por defecto)@* funciones: lista funciones internas para el anclaje de claves@* reset: restaura anclajes a los valores por defecto y elimina todos los anclajes personales (usar cuidadosamente)@* @* @item plugin [load fichero] | [autoload] | [reload] | [unload] @* list/load/unload plugins@* @* filename: WeeChat plugin (file) to load@* @* Without argument, /plugin command lists all loaded plugins.@* @* @item server [nombre_de_servidor] | [nombre_de_servidor nombre/IP puerto [-auto | -noauto] [-ipv6] [-ssl] [-pwd contrase@~na] [-nicks alias1 alias2 alias3] [-username nombre de usuario] [-realname nombre_real] [-command comando] [-autojoin canal[,canal]] ] | [del nombre_de_servidor] @* lista, a@~nade o elimina servidores@* @* nombre_de_servidor: nombre del servidor, para uso interno y para mostrar@* nombre_de_anfitri@'on: nombre o direcci@'on IP del servidor@* puerto: puerto para el servidor (número entero)@* ipv6: utilizar protocolo IPv6@* ssl: utilizar protocolo SSL@* contrase@~na: contrase@~na para el servidor@* alias1: primer alias para el servidor@* alias2: alias alternativo para el servidor@* alias3: segundo alias alternativo para el servidor@* nombre_de_usuario: nombre de usuario@* nombre_real: nombre real del usuario@* @* @item save [archivo] @* guardar configuraci@'on a disco@* @* archivo: fichero en el que guardar la configuraci@'on@* @* @item set [opci@'on [ = valor]] @* modificar par@'ametros de configuraci@'on@* @* option: name of an option (if name is full and no value is given, then help is displayed on option)@* value: value for option@* @* @item unalias alias @* eliminar un alias@* @* alias: nombre del alias a suprimir@* @* @item unignore [number | [mask [[type | command] [channel [server]]]]] @* unignore IRC messages and/or hosts@* @* number: # of ignore to unignore (number is displayed by list of ignore)@* mask: nick or host mask to unignore@* type: type of message to unignore (action, ctcp, dcc, pv)@* command: IRC command@* channel: name of channel for unignore@* server: name of server for unignore@* @* For each argument, '*' means all.@* Without argument, /unignore command lists all defined ignore.@* @* @item uptime -o @* show WeeChat uptime@* @* -o: send uptime on current channel as an IRC message@* @* @item window [list | -1 | +1 | b# | splith | splitv | [merge [down | up | left | right | all]]] @* gesti@'on de ventanas@* @* list: list opened windows (no parameter implies this list)@* -1: jump to previous window@* +1: jump to next window@* b#: jump to next window displaying buffer number #@* splith: split current window horizontally@* splitv: split current window vertically@* merge: merge window with another@* @* @end table Comandos IRC:@* @table @kbd @item admin [target] @* encontrar informaci@'on sobre el administrador del servidor@* @* target: servidor objetivo@* @* @item ame mensaje @* send a CTCP action to all channels of all connected servers@* @* mensaje: mensaje a enviar@* @* @item amsg texto @* send message to all channels of all connected servers@* @* texto: texto a enviar@* @* @item away [-all] [mensaje] @* revertir el estado ausente@* @* -all: revertir el estado ausente en todos los servidores conectados@* mensaje: mensaje para el estado ausente (si no se da ningún mensaje, se elimina el estado ausente)@* @* @item ban [canal] [usariio [usuario ...]] @* banea usuarios o m@'aquinas@* @* canal: canal en el que banear@* usuario: nombre de usuario o m@'aquina a banear@* @* @item ctcp nickname type [arguments] @* send a CTCP message (Client-To-Client Protocol)@* @* nickname: user to send CTCP to@* type: CTCP type (examples: "version", "ping", ..)@* arguments: arguments for CTCP@* @* @item dcc acci@'on [usuario [fichero]] @* empieza DCC (archivo @'o charla) @'o cerrar charla@* @* acci@'on: 'send' (env@'io de archivo) @'o 'chat' (charla) @'o 'close' (cerrar charla)@* usuario: nombre de usuario a quien enviar el archivo o la charla@* fichero: nombre del fichero (en la m@'aquina local)@* @* @item dehalfop [pseudo [pseudo]] @* elimina el estado de media operador de canal a/a los usuario(s)@* @* @item deop [pseudo [pseudo]] @* elimina el estado de operador de canal a/a los usuario(s)@* @* @item devoice [pseudo [pseudo]] @* elimina la voz a/a los usuario(s)@* @* @item die @* cerrar el servidor@* @* @item halfop [pseudo [pseudo]] @* dar el estado de media operador de canal a/a los usuario(s)@* @* @item info [target] @* obtener informaci@'on describiendo al servidor@* @* objetivo: nombre del servidor@* @* @item invite usuario canal @* invitar a un usuario a un canal@* @* nickname: usuario a invitar@* channel: canal para la invitaci@'on@* @* @item ison usuario [usuario ...] @* comprobar si un usuario est@'a actualmente en el IRC@* @* usuario: usuario@* @* @item join canal[,canal] [clave[,clave]] @* unirse a un canal@* @* canal: nombre del canal al que unirse@* clave: clave para unirse al canal@* @* @item kick [canal] usuario [comentario] @* expulsar forzosamente a un usuario de un canal@* @* canal: canal en el que est@'a el usuario@* usuario: usuario a expulsar@* comentario: comentario para la expulsi@'on@* @* @item kickban [canal] usuario [comentario] @* expulsa y banea a un usuario de un canal@* @* canal: canal donde est@'a el usuario@* usuario: nombre de usuario a expulsar y banear@* comentario: comentario para la expulsi@'on@* @* @item kill usuario comentario @* cerrar la conexi@'on cliente-servidor@* @* usuario: usuario@* comentario: comentario para la muerte@* @* @item links [[servidor] m@'ascara_servidor] @* listar todos los nombres de servidor conocidos por el servidor que responde a la consulta@* @* servidor: este servidor deber@'ia responder a la consulta@* m@'ascara_servidor: listado de servidores que deben coincidir con esta m@'ascara@* @* @item list [canal[,canal] [servidor]] @* listar canales y sus temas@* @* canal: canal a listar@* servidor: nombre del servidor@* @* @item lusers [m@'ascara [objetivo]] @* obtener estad@'isticas sobre el tama@~no de la red IRC@* @* m@'ascara: servidores que coinciden s@'olo con la m@'ascara@* objetivo: servidor al que remitir la consulta@* @* @item me mensaje @* enviar una acci@'on CTCP al canal actual@* @* mensaje: mensaje a enviar@* @* @item mode @{ canal @{[+|-]|o|p|s|i|t|n|b|v@} [limitar] [usuario] [m@'ascara de baneo] @} | @{ usuario @{[+|-]|i|w|s|o@} @} @* cambiar modo del canal o del usuario@* @* channel modes:@* channel: channel name to modify@* o: give/take channel operator privileges@* p: private channel flag@* s: secret channel flag@* i: invite-only channel flag@* t: topic settable by channel operator only flag@* n: no messages to channel from clients on the outside@* m: moderated channel@* l: set the user limit to channel@* b: set a ban mask to keep users out@* e: set exception mask@* v: give/take the ability to speak on a moderated channel@* k: set a channel key (password)@* user modes:@* nickname: nickname to modify@* i: mark a user as invisible@* s: mark a user for receive server notices@* w: user receives wallops@* o: operator flag@* @* @item motd [target] @* obtener el mensaje del d@'ia@* @* objetivo: nombre del servidor@* @* @item msg destinatario[,destinatario] texto @* enviar un mensaje a un usuario o canal@* @* destinatario: usuario o canal (puede que sea una m@'ascara, '*' = canal actual)@* texto: texto a enviar@* @* @item names [canal[,canal]] @* listar usuarios en canales@* @* canal: nombre del canal@* @* @item nick [-all] usuarios @* cambiar el nombre de usuario actual@* @* -all: establece el nuevo nombre de usuario para todos los servidores conectados@* nickname: nuevo nombre de usuario@* @* @item notice usuario texto @* enviar mensaje de aviso a usuario@* @* usuario: usuario destinatario del aviso@* texto: texto a enviar@* @* @item op pseudo [pseudo] @* dar el estado de operador de canal a/a los usuario(s)@* @* @item oper contrase@~na de usuario @* obtener el estado de operador@* @* usuario/contrase@~na: usado para obtener los privilegios en el servidor IRC actual@* @* @item part [canal[,canal]] [mensaje_de_salida] @* abandonar un canal@* @* canal: canal a abandonar@* mensaje de salida: mensaje de partida (mostrado al resto de usuarios)@* @* @item ping servidor1 [servidor2] @* hacer ping a un servidor@* @* servidor1: servidor al que hacer ping@* servidor2: remitir el ping a este servidor@* @* @item pong demonio [demonio2] @* contestar a un mensaje de ping@* @* demonio: demonio que ha contestado al mensaje Ping@* d@'emon2: remitir el mensaje a este demonio@* @* @item query usuario [texto] @* enviar un mensaje privado a un usuario@* @* usuario: usuario para conversaci@'on privada@* texto: texto a enviar@* @* @item quit [mensaje_de_salida] @* cerrar todas las conexiones y salir@* @* mensaje_de_salida: mensaje de partida (mostrado al resto de usuarios)@* @* @item quote datos @* enviar datos en sucio al servidor sin analizar@* @* datos: datos en sucio a enviar@* @* @item rehash @* pedir al servidor que recarque su archivo de configuraci@'on@* @* @item restart @* pedir al servidor que se reinicie@* @* @item service usuario reservado distribuci@'on tipo reservado info @* registrar un nuevo servicio@* @* distribuci@'on: visibilidad del servicio@* tipo: reservado para una futura utilizaci@'on@* @* @item servlist [m@'ascara [tipo]] @* listar servicios conectados actualmente a la red@* @* m@'ascara: listar s@'olo aquellos servicios que concuerdan con esta m@'ascara@* tipo: listar s@'olo servicios de este tipo@* @* @item squery servicio texto @* enviar un mensaje a un servicio@* @* servicio: nombre del servicio@* texto: texto a enviar@* @* @item squit comentario de servidor @* desconectar los enlaces de servidor@* @* servidor: nombre del servidor@* comentario: comentario para salir@* @* @item stats [consulta [servidor]] @* pedir estad@'isticas sobre el servidor@* @* consulta: c/h/i/k/l/m/o/y/u (ver la RFC1459)@* servidor: nombre del servidor@* @* @item summon usuario [destinatario [canal]] @* enviar a los usuarios que est@'an en una m@'aquina local ejecutando un servidor IRC un mensaje pidi@'endoles que se unan al IRC@* @* usuario: nombre de usuario@* destinatario: nombre del servidor@* canal: nombre del canal@* @* @item time [target] @* pedir la hora local del servidor@* @* destinatario: pedir la hora de ese servidor@* @* @item topic [canal] [tema] @* obtener/establecer el tema de un canal@* @* canal: nombre del canal@* tema: nuevo tema para el canal (si el tema es "-delete" entonces se elimina el tema actual)@* @* @item trace [target] @* encontrar la ruta hacia el servidor especificado@* @* target: servidor objetivo@* @* @item unban [canal] usuario [usuario ...] @* desbanea usuarios o m@'aquinas@* @* canal: canal en el que desbanear (quitar la prohibici@'on)@* usuario: usuario o m@'aquina a desbanear@* @* @item userhost usuario [usuario ...] @* devuelve una lista de informaci@'on sobre usuarios@* @* usuario: usuario@* @* @item users [target] @* lista de usuarios conectados al servidor@* @* target: servidor objetivo@* @* @item version [servidor | usuario] @* da la informaci@'on de versi@'on del usuario o servidor (actual o especificado)@* @* servidor: nombre de servidor@* usuario: usuario@* @* @item voice [pseudo [pseudo]] @* da voz a/a los usuario(s)@* @* @item wallops texto @* enviar un mensaje a todos los usuarios conectados que tengan activo el modo de usuario w para ellos mismos@* @* texto a enviar@* @* @item who [m@'ascara ["o"]] @* genera una consulta que devuelve una lista de informaci@'on@* @* m@'ascara: s@'olo informaci@'on que concuerde con esta m@'ascara@* o: s@'olo son devueltos operadores de acuerdo con la m@'ascara proporcionada@* @* @item whois [servidor] usuario[,usuario] @* pedir informaci@'on sobre el/los usuario(s)@* @* servidor: nombre del servidor@* usuario: nombre de usuario (puede que sea una m@'ascara)@* @* @item whowas usuario [,usuario [,usuario ...]] [número [destinatario]] @* pedir informaci@'on sobre un usuario que ya no existe@* @* usuario: nombre de usuario a buscar@* número: número de respuestas a devolver (búsqueda completa si el número es negativo)@* destinatario: la respuesta deber@'ia concordar con esta m@'ascara@* @* @end table Internal functions for keys:@* @table @kbd @item return terminar l@'inea@* @item tab completar palabra@* @item backspace borrar el car@'acter anterior@* @item delete borrar el car@'acter siguiente@* @item delete_end_line borrar hasta fin de l@'inea@* @item delete_beginning_line borrar hasta principio de l@'inea@* @item delete_line borrar l@'inea entera@* @item delete_previous_word borrar la palabra anterior@* @item delete_next_word borrar la palabra siguiente@* @item clipboard_paste paste current clipboard content@* @item transpose_chars transpose chars@* @item home ir al principio de l@'inea@* @item end ir al final de l@'inea@* @item left mover un car@'acter a la izquierda@* @item previous_word mover a la palabra anterior@* @item right mover un car@'acter a la derecha@* @item next_word mover a la palabra siguiente@* @item up llamar al comando anterior en el historial@* @item up_global call previous command in global history@* @item down llamar al comando siguiente en el historial@* @item down_global call next command in global history@* @item page_up desplazarse una p@'agina hacia arriba@* @item page_down desplazarse una p@'agina hacia abajo@* @item infobar_clear limpiar barra de informaci@'on@* @item nick_page_up desplazar la lista de nicks una p@'agina hacia arriba@* @item nick_page_down desplazar la lista de nicks una p@'agina hacia abajo@* @item nick_beginning mostrar el principio de la lista de nicks@* @item nick_end mostrar el final de la lista de nicks@* @item refresh recargar la pantalla@* @item jump_smart saltar al búfer con actividad@* @item jump_dcc saltar al búfer DCC@* @item jump_last_buffer jump to last buffer@* @item jump_server saltar al búfer servidor@* @item jump_next_server saltar al servidor siguiente@* @item hotlist_clear limpiar hotlist@* @item grab_key grab a key@* @end table @node Canal FIFO, , Comandos WeeChat, Uso @section Canal FIFO Puedes controlar WeeChat a distantia, enviando comandos o texto a un canal FIFO (debes activar la opci@'on "irc_fifo_pipe" que est@'a desactivada por defecto).@* El canal FIFO est@'a dentro del directorio ~/.weechat/ y se llama "weechat_fifo_xxxxx" (donde xxxxx es el ID del proceso (PID) de WeeChat).@* Entonces si tienes varios WeeChat que se est@'an ejecutando, tendr@'as varios canales FIFO, uno por cada sesi@'on.@* @* La sintaxis para enviar comandos o texto dentro del canal FIFO es la siguiente:@* @command{servidor,canal *texto o comando aqu@'i}@* donde el serviros y el canal son opcionales pero si precisa el canal, debes precisar tambi@'en el servidor.@* @* Algunos ejemplos: @table @asis @item @bullet{} cambiar el seud@'onimo en freenode por "mynick|out": @* @command{echo "freenode */nick mynick|out" >~/.weechat/weechat_fifo_12345} @* @item @bullet{} escribir texto en el canal #weechat: @* @command{echo "freenode,#weechat *@exclamdown{}Hola a todos!" >~/.weechat/weechat_fifo_12345} @* @item @bullet{} escribir texto en el canal corriente (el que se puede visualizar en WeeChat actualmente) @* @command{echo "*@exclamdown{}Hola!" >~/.weechat/weechat_fifo_12345} @* @b{Advertencia:} esto es peligroso y no deber@'ias hacerlo.. salvo si lo que est@'as haciendo. @* @item @bullet{} enviar dos comandos para descargar y recargar los scripts Perl (tienes que separarlos con un \n): @* @command{echo -e "freenode */perl unload\nfreenode */perl autoload" >~/.weechat/weechat_fifo_12345} @end table @* Puedes escribir un script que envia los comandos a todos los programas WeeChat que se est@'an ejecutando de momento. Por ejemplo:@* @verbatim #!/bin/sh if [ $# -eq 1 ]; then for fifo in $(/bin/ls ~/.weechat/weechat_fifo_* 2>/dev/null); do echo -e "$1" >$fifo done fi @end verbatim @* Si el script se llama "auto_weechat_command", puedes ejecutarlo hac@'i:@* @command{./auto_weechat_command "freenode,#weechat *Hola"} @c ******************************** Plugins *********************************** @node Plugins, Autores / Soporte, Uso, Top @chapter Plugins @menu * Plugins in WeeChat:: * Write a plugin:: * Plugin example:: * Scripts plugins:: @end menu @node Plugins in WeeChat, Write a plugin, Plugins, Plugins @section Plugins in WeeChat A plugin is a C program which can call WeeChat functions defined in an interface.@* @* This C program does not need WeeChat sources to compile and can be dynamically loaded into WeeChat with command @command{/plugin}.@* @* The plugin has to be a dynamic library, for dynamic loading by operating system. Under GNU/Linux, the file has ``.so'' extension, ``.dll'' under Windows. @node Write a plugin, Plugin example, Plugins in WeeChat, Plugins @section Write a plugin @subsection Base rules The plugin should include ``weechat-plugin.h'' file (available in WeeChat source code).@* This file defines structures and types used to communicate with WeeChat.@* @* The plugin must have some variables and functions (mandatory, without them the plugin can't load):@* @itemize @bullet @item variables for plugin description: @itemize @minus @item plugin_name[]: plugin name @item plugin_version[]: plugin version @item plugin_description[]: short description of plugin @end itemize @item functions for init and end of plugin: @itemize @minus @item weechat_plugin_init: function called when plugin is loaded, must return PLUGIN_RC_OK (0) if successful, PLUGIN_RC_KO (-1) if error @item weechat_plugin_end: function called when plugin is unloaded @end itemize @end itemize @subsection API functions The plugin can call some functions defined in t_weechat_plugin structure.@* @* These functions are detailed below:@* @itemize @bullet @item @command{int ascii_strcasecmp (t_weechat_plugin *plugin, char *string1, char *string2)}@* @* Locale and case independent string comparison.@* @emph{Arguments:} @itemize @minus @item @option{plugin}: pointer to plugin structure @item @option{string1}: first string for comparison @item @option{string2}: second string for comparison @end itemize @* @emph{Return value:}@* @* Difference between two strings: negative if chaine1 < chaine2, nul if chaine1 == chaine 2, positive if chaine1 > chaine2@* @* @emph{Example:}@* @* @code{if (plugin->ascii_strcasecmp (plugin, "abc", "def") != 0) ...}@* @* @item @command{int ascii_strncasecmp (t_weechat_plugin *plugin, char *string1, char *string2, int max)}@* @* Locale and case independent string comparison, for ``max'' chars.@* @emph{Arguments:} @itemize @minus @item @option{plugin}: pointer to plugin structure @item @option{string1}: first string for comparison @item @option{string2}: second string for comparison @item @option{max}: max number of chars for comparison @end itemize @* @emph{Return value:}@* @* Difference between two strings: negative if chaine1 < chaine2, nul if chaine1 == chaine 2, positive if chaine1 > chaine2@* @* @emph{Example:}@* @* @code{if (plugin->ascii_strncasecmp (plugin, "abc", "def", 2) != 0) ...}@* @* @item @command{char **explode_string (t_weechat_plugin *plugin, char *string, char *separators, int num_items_max, int *num_items)}@* @* Explode a string according to one or more delimiter(s).@* @emph{Param@`etres :} @itemize @minus @item @option{plugin}: pointer to plugin structure @item @option{string}: string to explode @item @option{separators}: delimiters used for explosion @item @option{num_items_max}: maximum number of items created (0 means no limit) @item @option{num_items}: pointer to int which will contain number of items created @end itemize @* @emph{Return value:}@* @* Array of strings, NULL if problem.@* Note: the result has to be free by a call to ``free_exploded_string'' function after use.@* @* @emph{Example:}@* @* @code{char *argv;}@* @code{int argc;}@* @code{argv = plugin->explode_string (plugin, string, " ", 0, &argc);}@* @code{...}@* @code{if (argv != NULL)}@* @code{plugin->free_exploded_string (plugin, argv);}@* @* @item @command{char **free_exploded_string (t_weechat_plugin *plugin, char **string)}@* @* Free memory used by a string explosion.@* @emph{Arguments:} @itemize @minus @item @option{plugin}: pointer to plugin structure @item @option{string}: string exploded by ``explode_string'' function @end itemize @* @emph{Return value:}@* @* None.@* @* @emph{Example:}@* @* @code{char *argv;}@* @code{int argc;}@* @code{argv = plugin->explode_string (plugin, string, " ", 0, &argc);}@* @code{...}@* @code{if (argv != NULL)}@* @code{plugin->free_exploded_string (plugin, argv);}@* @* @item @command{void exec_on_files (t_weechat_plugin *plugin, char *directory, int (*callback)(t_weechat_plugin *, char *))}@* @* Execute a function on all files of a directory.@* @emph{Arguments:} @itemize @minus @item @option{plugin}: pointer to plugin structure @item @option{directory}: directory for searching files @item @option{callback}: function called for each file found @end itemize @* @emph{Return value:}@* @* Aucune.@* @* @emph{Exemple :}@* @* @code{int callback (t_weechat_plugin *plugin, char *file)}@* @code{@{}@* @code{@ @ @ @ plugin->printf_server (plugin, "file: %s", file);}@* @code{@ @ @ @ return 1;}@* @code{@}}@* @code{}@* @code{...}@* @code{plugin->exec_on_files (plugin, "/tmp", &callback);}@* @* @item @command{void printf (t_weechat_plugin *plugin, char *server, char *channel, char *message, ...)}@* @* Display a message on a WeeChat buffer, identified by server and channel (both may be NULL for current buffer).@* @emph{Arguments:} @itemize @minus @item @option{plugin}: pointer to plugin structure @item @option{server}: name of server to find buffer for message display (may be NULL) @item @option{channel}: name of channel to find buffer for message display (may be NULL) @item @option{message}: message @end itemize @* @emph{Return value:}@* @* None.@* @* @emph{Examples:}@* @* @code{plugin->printf (NULL, NULL, "hello");}@* @code{plugin->printf (NULL, "#weechat", "hello");}@* @code{plugin->printf ("freenode", "#weechat", "hello");}@* @* @item @command{void printf_server (t_weechat_plugin *plugin, char *message, ...)}@* @* Display a message on server buffer.@* @emph{Param@`etres :} @itemize @minus @item @option{plugin}: pointer to plugin structure @item @option{message}: message @end itemize @* @emph{Return value:}@* @* None.@* @* @emph{Example:}@* @* @code{plugin->printf_server ("hello");}@* @* @item @command{void printf_infobar (t_weechat_plugin *plugin, int time, char *message, ...)}@* @* Display a message in infobar for a specified time.@* @emph{Arguments:} @itemize @minus @item @option{plugin}: pointer to plugin structure @item @option{time}: time in seconds for displaying message (0 means never erased) @item @option{message}: message @end itemize @* @emph{Return value:}@* @* None.@* @* @emph{Example:}@* @* @code{plugin->printf_infobar (5, "hello");}@* @* @item @command{t_plugin_handler *msg_handler_add (t_weechat_plugin *plugin, char *message, t_plugin_handler_func *handler_func, char *handler_args, void *handler_pointer)}@* @* Add an IRC message handler, called when an IRC message is received.@* @emph{Arguments:} @itemize @minus @item @option{plugin}: pointer to plugin structure @item @option{message}: IRC message (for example: ``PRIVMSG'') @item @option{handler_func}: function called when message is received @item @option{handler_args}: arguments given to function when called @item @option{handler_pointer}: pointer given to function when called @end itemize @* @emph{Return value:}@* @* Pointer to new message handler.@* @* @emph{Example:}@* @* @code{int msg_kick (t_weechat_plugin *plugin, char *server, char *command, char *arguments, char *handler_args, void *handler_pointer)}@* @code{@{}@* @code{@ @ @ @ plugin->printf (plugin, server, NULL, "KICK received");}@* @code{@ @ @ @ return PLUGIN_RC_OK;}@* @code{@}}@* @code{...}@* @code{plugin->msg_handler_add (plugin, "KICK", &msg_kick, NULL, NULL);}@* @* @emph{Notes:}@* @* Function called when message is received has to return one of these values (prefixed by ``weechat::'' for Perl and ``weechat.'' for Python):@* @itemize @minus @item @option{PLUGIN_RC_KO}: function failed @item @option{PLUGIN_RC_OK}: function successfully completed @item @option{PLUGIN_RC_OK_IGNORE_WEECHAT}: message will not be sent to WeeChat @item @option{PLUGIN_RC_OK_IGNORE_PLUGINS}: message will not be sent to other plugins @item @option{PLUGIN_RC_OK_IGNORE_ALL}: message will not be sent to WeeChat neither other plugins @end itemize @* @item @command{t_plugin_handler *cmd_handler_add (t_weechat_plugin *plugin, char *command, char *description, char *arguments, char *arguments_description, t_plugin_handler_func *handler_func, char *handler_args, void *handler_pointer)}@* @* Add a WeeChat command handler, called when user uses command (for example /command).@* @emph{Arguments:} @itemize @minus @item @option{plugin}: pointer to plugin structure @item @option{command}: the new command @item @option{description}: command description (displayed by /help command) @item @option{arguments}: short description of command arguments (displayed by /help command) @item @option{arguments_description}: long description of command arguments (displayed by /help command) @item @option{handler_func}: function called when comand is executed @item @option{handler_args}: arguments given to function when called @item @option{handler_pointer}: pointer given to function when called @end itemize @* @emph{Return value:}@* @* Pointer to new command handler.@* @* @emph{Example:}@* @* @code{int cmd_test (t_weechat_plugin *plugin, char *server, char *command, char *arguments, char *handler_args, void *handler_pointer)}@* @code{@{}@* @code{@ @ @ @ plugin->printf (plugin, server, NULL, "test command, file: %s", (arguments) ? arguments : "none");}@* @code{@ @ @ @ return PLUGIN_RC_OK;}@* @code{@}}@* @code{...}@* @code{plugin->cmd_handler_add (plugin, "test", "Test command", "[file]", "file: a file name", &cmd_test, NULL, NULL);}@* @* @emph{Notes:}@* @* Function called when message is received has to return one of these values (prefixed by ``weechat::'' for Perl and ``weechat.'' for Python):@* @itemize @minus @item @option{PLUGIN_RC_KO}: function failed @item @option{PLUGIN_RC_OK}: function successfully completed @end itemize @* @item @command{void handler_remove (t_weechat_plugin *plugin, t_plugin_handler *handler)}@* @* Remove a handler.@* @emph{Arguments:} @itemize @minus @item @option{plugin}: pointer to plugin structure @item @option{handler}: handler to remove @end itemize @* @emph{Return value:}@* @* None.@* @* @emph{Example:}@* @* @code{plugin->handler_remove (plugin, my_handler);}@* @* @item @command{void handler_remove_all (t_weechat_plugin *plugin)}@* @* Remove all handlers for a plugin.@* @emph{Arguments:} @itemize @minus @item @option{plugin}: pointer to plugin structure @end itemize @* @emph{Return value:}@* @* None.@* @* @emph{Example :}@* @* @code{plugin->handler_remove_all (plugin);}@* @* @item @command{void exec_command (t_weechat_plugin *plugin, char *server, char *channel, char *command)}@* @* Execute a WeeChat command (or send a message to a channel).@* @emph{Arguments:} @itemize @minus @item @option{plugin}: pointer to plugin structure @item @option{server}: name of server for executing command (may be NULL) @item @option{channel}: name of channel for executing command (may be NULL) @item @option{command}: command @end itemize @* @emph{Return value:}@* @* None.@* @* @emph{Examples:}@* @* @code{plugin->exec_command (plugin, NULL, NULL, "/help nick");}@* @code{plugin->exec_command (plugin, "freenode", "#weechat", "hello");}@* @* @item @command{char *get_info (t_weechat_plugin *plugin, char *info, char *server, char *channel)}@* @* Return an info about WeeChat or a channel.@* @emph{Param@`etres :} @itemize @minus @item @option{plugin}: pointer to plugin structure @item @option{info}: name of info to read: @itemize @minus @item @option{version}: get WeeChat's version @item @option{nick}: get nick @item @option{channel}: get channel name @item @option{server}: get server name @item @option{away}: get ``away'' flag @item @option{weechat_dir}: get WeeChat home dir @item @option{weechat_libdir}: get WeeChat system lib dir @item @option{weechat_sharedir}: get WeeChat system share dir @end itemize @item @option{server}: name of server for reading info (if needed) @item @option{channel}: name of channel for reading info (if needed) @end itemize @* @emph{Return value:}@* @* Information asked, NULL if not found.@* Note: result has to be free by a call to ``free'' function after use.@* @* @emph{Examples:}@* @* @code{char *version = plugin->get_info (plugin, "version", NULL, NULL);}@* @code{char *nick = plugin->get_info (plugin, "nick", "freenode", NULL);}@* @* @item @command{t_plugin_info_dcc *get_dcc_info (t_weechat_plugin *plugin)}@* @* Returns list of DCC currently active or finished.@* @emph{Arguments:} @itemize @minus @item @option{plugin}: pointer to plugin structure @end itemize @* @emph{Return value:}@* @* Chained list of DCC.@* Note: result has to be free by a call to ``free_dcc_info'' function after use.@* @* @emph{Example:}@* @* @code{t_plugin_dcc_info *dcc_info = plugin->get_dcc_info (plugin);}@* @code{for (ptr_dcc = dcc_info; ptr_dcc; ptr_dcc = ptr_dcc->next_dcc)}@* @code{@{}@* @code{@ @ @ @ plugin->printf_server (plugin, "DCC type=%d, with: %s", ptr_dcc->type, ptr_dcc->nick);}@* @code{@}}@* @* @item @command{void free_dcc_info (t_weechat_plugin *plugin, t_plugin_dcc_info *dcc_info)}@* @* Free memory used by a DCC list.@* @emph{Param@`etres :} @itemize @minus @item @option{plugin}: pointer to plugin structure @item @option{dcc_info}: pointer to DCC list returned by ``get_dcc_info'' function @end itemize @* @emph{Return value:}@* @* None.@* @* @emph{Example:}@* @* @code{plugin->free_dcc_info (plugin, dcc_info);}@* @* @item @command{char *get_config (t_weechat_plugin *plugin, char *option)}@* @* Return value of a WeeChat config option.@* @emph{Arguments:} @itemize @minus @item @option{plugin}: pointer to plugin structure @item @option{option}: name of option to read @end itemize @* @emph{Return value:}@* @* Value of option, NULL if not found.@* Note: result has to be free by a call to ``free'' function after use.@* @* @emph{Examples:}@* @* @code{char *value1 = plugin->get_config (plugin, "look_nicklist");}@* @code{char *value2 = plugin->get_config (plugin, "freenode.server_autojoin");}@* @* @item @command{int set_config (t_weechat_plugin *plugin, char *option, char *value)}@* @* Update value of a WeeChat config option.@* @emph{Arguments:} @itemize @minus @item @option{plugin}: pointer to plugin structure @item @option{option}: name of option to update @item @option{value}: new value for option @end itemize @* @emph{Return value:}@* @* 1 if option was updated successfully, 0 if error occured.@* @* @emph{Example:}@* @* @code{plugin->set_config (plugin, "look_nicklist", "off");}@* @* @item @command{char *get_plugin_config (t_weechat_plugin *plugin, char *option)}@* @* Return value of a plugin option.@* @emph{Arguments:} @itemize @minus @item @option{plugin}: pointer to plugin structure @item @option{option}: name of option to read @end itemize @* @emph{Return value:}@* @* Value of option, NULL if not found.@* Note: result has to be free by a call to ``free'' function after use.@* @* @emph{Example:}@* @* @code{char *value = plugin->get_plugin_config (plugin, "my_var");}@* @* @item @command{int set_plugin_config (t_weechat_plugin *plugin, char *option, char *value)}@* @* Update value of a plugin option.@* @emph{Arguments:} @itemize @minus @item @option{plugin}: pointer to plugin structure @item @option{option}: name of option to update @item @option{value}: new value for option @end itemize @* @emph{Return value:}@* @* 1 if option was updated successfully, 0 if error occured.@* @* @emph{Example:}@* @* @code{plugin->set_plugin_config (plugin, "my_var", "value");}@* @* @end itemize @subsection Compile plugin Compile does not need WeeChat sources, only file ``weechat-plugin.h''.@* To compile a plugin which has one file ``toto.c'' (sous GNU/Linux):@* @* gcc -fPIC -Wall -c toto.c@* gcc -shared -fPIC -o libtoto.so toto.o @subsection Load plugin under WeeChat Copy ``libtoto.so'' file into general plugins dir (for example /usr/local/lib/weechat/plugins) or into user's plugins dir (for example /home/xxxxx/.weechat/plugins).@* @* Under WeeChat:@* @command{/plugin load toto} @node Plugin example, Scripts plugins, Write a plugin, Plugins @section Plugin example 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!):@* @verbatim #include #include "weechat-plugin.h" char plugin_name[] = "Toto"; char plugin_version[] = "0.1"; char plugin_description[] = "Test plugin for WeeChat"; /* "/hello" command handler */ int toto_cmd_double (t_weechat_plugin *plugin, char *server, char *command, char *arguments, char *handler_args, void *handler_pointer) { if (arguments && arguments[0] && (arguments[0] != '/')) { plugin->exec_command (plugin, NULL, NULL, arguments); plugin->exec_command (plugin, NULL, NULL, arguments); } 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", &toto_cmd_double, NULL, NULL); return PLUGIN_RC_OK; } void weechat_plugin_end (t_weechat_plugin *plugin) { /* nothing done here */ } @end verbatim @node Scripts plugins, , Plugin example, Plugins @section Scripts plugins Three plugins are provided with WeeChat to load scripts: Perl, Python and Ruby. @subsection Load/unload scripts Perl scripts are loaded and unloaded with @command{/perl}, @command{/python} and @command{/ruby} commands. (type @kbd{/help} within WeeChat to get help about commands).@* @emph{Examples:}@* @itemize @bullet @item Load a Perl script: @kbd{/perl load /tmp/sample.pl}@* @item Unload all Perl scripts: @kbd{/perl unload}@* @item List all Perl scripts: @kbd{/perl}@* @item Load a Python script: @kbd{/python load /tmp/sample.py}@* @item Unload all Python scripts: @kbd{/python unload}@* @item List all Python scripts: @kbd{/python}@* @end itemize @subsection WeeChat / Scripts API @itemize @bullet @item Perl: @command{weechat::register ( name, version, shutdown_function, description );}@* Python: @command{weechat.register ( name, version, shutdown_function, description )}@* @* This is first function to call in script.@* All scripts for WeeChat should call this function.@* @emph{Arguments:} @itemize @minus @item @option{name}: unique name to identify script (each script must have unique name) @item @option{version}: script's version @item @option{shutdown_function}: function called when script is unloaded (optional parameter, empty string means nothing is called at the end) @item @option{description}: short description of script. @end itemize @* @emph{Return value:}@* @* 1 if script was registered, 0 if error occured.@* @* @emph{Perl example:}@* @* @code{weechat::register ("sample", "1.0", "sample_end", "Sample script!");}@* @* @emph{Python example:}@* @* @code{weechat.register ("sample", "1.0", "sample_end", "Sample script!")}@* @* @item Perl: @command{weechat::print ( message, [channel, [server]] );}@* Python: @command{weechat.prnt ( message, [channel, [server]] )}@* @* Print message in a channel.@* @emph{Arguments:} @itemize @minus @item @option{message}: message to display @item @option{channel}: name of channel @item @option{server}: internal name of server @end itemize @* @emph{Return value:}@* @* 1 if successful, 0 if error occured.@* @* @emph{Perl examples:}@* @* @code{weechat::print ("message");}@* @code{weechat::print ("message", "#weechat");}@* @code{weechat::print ("message", "#weechat", "freenode");}@* @* @emph{Python examples:}@* @* @code{weechat.prnt ("message")}@* @code{weechat.prnt ("message", "#weechat")}@* @code{weechat.prnt ("message", "#weechat", "freenode")}@* @* @item Perl: @command{weechat::print_infobar ( delay, message );}@* Python: @command{weechat.print_infobar ( delay, message )}@* @* Print message in infobar.@* @emph{Arguments:} @itemize @minus @item @option{delay}: after this delay (in seconds), message will be erased (if 0, message will not be erased). @item @option{message}: message to display @end itemize @* @emph{Return value:}@* @* 1 if successful, 0 if error occured.@* @* @emph{Perl example:}@* @* @code{weechat::print_infobar (5, "message");}@* @* @emph{Python example:}@* @* @code{weechat.print_infobar (5, "message")}@* @* @item Perl: @command{weechat::add_message_handler ( name, function );}@* Python: @command{weechat.add_message_handler ( name, function )}@* @* Attach a script function to an IRC message.@* Function will be called each time IRC message will be received.@* @emph{Arguments:} @itemize @minus @item @option{name}: name of IRC message@* To know list of IRC messages, please refer to RFC 1459 and/or 2812:@* RFC 1459: @uref{ftp://ftp.rfc-editor.org/in-notes/rfc1459.txt}@* RFC 2812: @uref{ftp://ftp.rfc-editor.org/in-notes/rfc2812.txt} @item @option{function}: function called when message is received @end itemize @* @emph{Return value:}@* @* 1 if function was attached, 0 if error occured.@* @* @emph{Perl example:}@* @* @code{weechat::add_message_handler ("privmsg", my_function);}@* @code{sub my_function}@* @code{@{ }@* @code{@ @ @ @ weechat::print ("server=$_[0]\n");}@* @code{@ @ @ @ ($null, $channel, $message) = split ":",$_[1],3;}@* @code{@ @ @ @ ($hostmask, $null, $channel) = split " ", $channel;}@* @code{@ @ @ @ weechat::print ("host=$hostmask, chan=$channel, msg=$message\n");}@* @code{@ @ @ @ return 0;}@* @code{@} }@* @* @* @emph{Python example:}@* @* @code{weechat.add_message_handler ("privmsg", my_function)}@* @code{def my_function(server, args):}@* @code{@ @ @ @ weechat.prnt("server="+server)}@* @code{@ @ @ @ null, channel, message = string.split(args, ":", 2)}@* @code{@ @ @ @ hostmask, null, channel = string.split(string.strip(channel), " ", 2)}@* @code{@ @ @ @ weechat.prnt("host="+hostmask+", channel="+channel+", message="+message)}@* @code{@ @ @ @ return 0}@* @* @emph{Notes:}@* @* Function called when message is received has to return one of these values (prefixed by ``weechat::'' for Perl and ``weechat.'' for Python):@* @itemize @minus @item @option{PLUGIN_RC_KO}: function failed @item @option{PLUGIN_RC_OK}: function successfully completed @item @option{PLUGIN_RC_OK_IGNORE_WEECHAT}: message will not be sent to WeeChat @item @option{PLUGIN_RC_OK_IGNORE_PLUGINS}: message will not be sent to other plugins @item @option{PLUGIN_RC_OK_IGNORE_ALL}: message will not be sent to WeeChat neither other plugins @end itemize @* @item Perl: @command{weechat::add_command_handler ( name, function );}@* Python: @command{weechat.add_command_handler ( name, function )}@* @* Create new WeeChat command, linked with script function.@* Function will be called when user will launch command with @kbd{/name}.@* @emph{Arguments:} @itemize @minus @item @option{name}: name of new command@* This name may be existing command, so that the command is overrided by script function. Be careful when overriding WeeChat commands, they'll not be available until your script will be unloaded. @item @option{function}: function linked with command @item @option{description}: command description (displayed by /help command) @item @option{arguments}: short description of command arguments (displayed by /help command) @item @option{arguments_description}: long description of command arguments (displayed by /help command) @end itemize @* @emph{Return value:}@* @* 1 if function was attached, 0 if error occured.@* @* @emph{Perl example:}@* @* @code{weechat::add_command_handler ("command", my_command);}@* @code{sub my_command}@* @code{@{ }@* @code{@ @ @ @ weechat::print("Server: $_[0], arguments: $_[1]\n");}@* @code{@ @ @ @ return 0;}@* @code{@} }@* @* @emph{Python example:}@* @* @code{weechat.add_command_handler ("command", my_command)}@* @code{def my_command(server, args):}@* @code{@ @ @ @ weechat.prnt("server:"+server+" arguments:"+args)}@* @code{@ @ @ @ return 0}@* @* @emph{Notes:}@* @* Function called when command is executed has to return one of these values (prefixed by ``weechat::'' for Perl and ``weechat.'' for Python):@* @itemize @minus @item @option{PLUGIN_RC_KO}: function failed @item @option{PLUGIN_RC_OK}: function successfully completed @end itemize @* @item Perl: @command{weechat::remove_handler ( name, function );}@* Python: @command{weechat.remove_handler ( name, function )}@* @* Remove a message or command handler.@* @emph{Arguments:} @itemize @minus @item @option{name}: name of IRC message or command handler @item @option{function}: function @end itemize @* @emph{Return value:}@* @* 1 if successful, 0 if error occured.@* @* @emph{Perl example:}@* @* @code{weechat::remove_handler ("command", my_command);}@* @* @emph{Python example:}@* @* @code{weechat.remove_handler ("command", my_command)}@* @* @item Perl: @command{weechat::command ( command, [channel, [server]] );}@* Python: @command{weechat.command ( command, [channel, [server]] )}@* @* Execute a command or send a message to a channel.@* @emph{Arguments:} @itemize @minus @item @option{command}: command to execute (or message to send in a channel) @item @option{channel}: name of channel @item @option{server}: internal name of server @end itemize @* @emph{Return value:}@* @* 1 if successful, 0 if error occured.@* @* @emph{Perl examples:}@* @* @code{weechat::command ("hello world!");}@* @code{weechat::command ("/kick toto please leave this chan", "#weechat");}@* @code{weechat::command ("/nick newnick", "", "freenode");}@* @* @emph{Python examples:}@* @* @code{weechat.command ("hello world!")}@* @code{weechat.command ("/kick toto please leave this chan", "#weechat")}@* @code{weechat.command ("/nick newnick", "", "freenode")}@* @* @item Perl: @command{weechat::get_info ( name, [server, [channel] ] );}@* Python: @command{weechat.get_info ( name, [server, [channel] ] )}@* @* Get various info about WeeChat, server or user.@* @emph{Arguments:} @itemize @minus @item @option{name}: name of info to retrieve: @itemize @minus @item @option{version}: get WeeChat version @item @option{nick}: get nickname @item @option{channel}: get channel name @item @option{server}: get server name @item @option{away}: get ``away'' flag @item @option{weechat_dir}: get WeeChat home dir @item @option{weechat_libdir}: get WeeChat system lib dir @item @option{weechat_sharedir}: get WeeChat system share dir @end itemize @item @option{server}: internal name of server @item @option{channel}: channel name @end itemize @* @emph{Return value:}@* @* Asked info, empty if error occured or info was not found.@* @* @emph{Perl examples:}@* @* @code{$version = weechat::get_info("version");}@* @code{$nick = weechat::get_info("nick", "freenode");}@* @* @emph{Python examples:}@* @* @code{$version = weechat.get_info("version")}@* @code{$nick = weechat.get_info("nick", "freenode")}@* @* @item Perl: @command{weechat::get_dcc_info ( );}@* Python: @command{weechat.get_dcc_info ( );}@* @* Get DCC list.@* Returned array has following fields: @itemize @minus @item server: IRC server @item channel: IRC channel @item type: DCC type: @itemize @minus @item 0: chat (received) @item 1: chat (sent) @item 2: file (receiving) @item 3: file (sending) @end itemize @item status: DCC status: @itemize @minus @item 0: waiting @item 1: connecting @item 2: active @item 3: done @item 4: failed @item 5: aborted @end itemize @item start_time: date/time of DCC creation @item start_transfer: date/time of transfer start @item addr: remote address @item port: port used for DCC @item nick: remote nick @item filename: filename @item local_filename: local filename @item size: file size @item pos: current position in file @item start_resume: restart position after interruption @item bytes_per_sec: bytes sent/received per second @end itemize @* @emph{Return value:}@* @* DCC list, 0 if error occured.@* @* @item Perl: @command{weechat::get_config ( option );}@* Python: @command{weechat.get_config ( option )}@* @* Get WeeChat config option value.@* @emph{Arguments:} @itemize @minus @item @option{option}: name of option @end itemize @* @emph{Return value:}@* @* Value of option, empty if error occured or option was not found.@* @* @emph{Perl examples:}@* @* @code{$value1 = weechat::get_config ("look_nicklist");}@* @code{$value2 = weechat::get_config ("freenode.server_autojoin");}@* @* @emph{Python examples:}@* @* @code{$value1 = weechat.get_config ("look_nicklist")}@* @code{$value2 = weechat.get_config ("freenode.server_autojoin")}@* @* @item Perl: @command{weechat::set_config ( option, value );}@* Python: @command{weechat.set_config ( option, value )}@* @* Get WeeChat config option value.@* @emph{Arguments:} @itemize @minus @item @option{option}: name of option @item @option{value}: new value for option @end itemize @* @emph{Return value:}@* @* 1 if successful, 0 if error occured.@* @* @emph{Perl examples:}@* @* @code{weechat::set_config ("look_nicklist", "off");}@* @code{weechat::set_config ("freenode.server_autojoin"", "#weechat");}@* @* @emph{Python examples:}@* @* @code{weechat.set_config ("look_nicklist", "off")}@* @code{weechat.set_config ("freenode.server_autojoin"", "#weechat")}@* @* @item Perl: @command{weechat::get_plugin_config ( option );}@* Python: @command{weechat.get_plugin_config ( option )}@* @* Return value of a plugin option.@* Option is read from file ~/.weechat/plugins.rc and is like:@* @code{plugin.script.option=value}@* Note: plugin and script names are automatically added.@* @emph{Arguments:} @itemize @minus @item @option{option}: name of option @end itemize @* @emph{Return value:}@* @* Value of option, empty if error occured or option was not found.@* @* @emph{Perl example:}@* @* @code{$value = weechat::get_plugin_config ("my_var");}@* @* @emph{Python example:}@* @* @code{$value = weechat.get_plugin_config ("my_var")}@* @* @item Perl: @command{weechat::set_plugin_config ( option, value );}@* Python: @command{weechat.set_plugin_config ( option, value )}@* @* Update value of a plugin option.@* Option is written in file ~/.weechat/plugins.rc and is like:@* @code{plugin.script.option=value}@* Note: plugin and script names are automatically added.@* @emph{Arguments:} @itemize @minus @item @option{option}: name of option @item @option{value}: new value for option @end itemize @* @emph{Return value:}@* @* 1 if successful, 0 if error occured.@* @* @emph{Perl example:}@* @* @code{weechat::set_plugin_config ("my_var", "value");}@* @* @emph{Python example:}@* @* @code{weechat.set_plugin_config ("my_var", "value")}@* @* @end itemize @c **************************** Autores / Soporte ***************************** @node Autores / Soporte, , Plugins, Top @chapter Autores / Soporte @ifhtml @menu * Autores:: * Obtener soporte/ayuda:: * Copyright:: @end menu @end ifhtml @ifnothtml @menu * Autores:: * Obtener soporte/ayuda:: @end menu @end ifnothtml @node Autores, Obtener soporte/ayuda, Autores / Soporte, Autores / Soporte @section Autores WeeChat est@'a desarollado por:@* @itemize @bullet @item FlashCode <@email{flashcode@@flashtux.org, flashcode AT flashtux.org}> @end itemize @ifhtml @node Obtener soporte/ayuda, Copyright, Autores, Autores / Soporte @end ifhtml @ifnothtml @node Obtener soporte/ayuda, , Autores, Autores / Soporte @end ifnothtml @section Obtener soporte/ayuda Antes de pedir ayuda al soporte, por favor lee la documentaci@'on y las FAQ de WeeChat.@* (La documentaci@'on es el documento que est@'as leyendo, si no has leido todo hasta aqu@'i, puedes hacerlo ahora ...)@* @itemize @bullet @item Soporte por IRC:@* - servidor: @b{irc.freenode.net}@* - canal: @b{#weechat}@*@* @item Foro WeeChat: @uref{http://forums.flashtux.org}@*@* @item Soporte mediante listas de difusi@'on:@* - para apuntarse: @*@uref{http://mail.nongnu.org/mailman/listinfo/weechat-support}.@* - para enviar un correo a la lista:@*@email{weechat-support@@nongnu.org}.@* Los archivos de la lista est@'an aqu@'i:@* @uref{http://mail.nongnu.org/archive/html/weechat-support}@*@* @item Ver la p@'agina de soporte para WeeChat para m@'as detalles:@* @uref{http://weechat.flashtux.org/support.php} @end itemize @ifhtml @node Copyright, , Obtener soporte/ayuda, Autores / Soporte @section Copyright Este manual documenta el cliente IRC WeeChat y hace parte del mismo proyecto WeeChat.@* Copyright @copyright{} 2005 FlashCode <@email{flashcode@@flashtux.org, flashcode AT flashtux.org}>@* Traducido en espa@~nol por Iznogoud <@email{iznogoud@@dlfp.org, iznogoud AT dlfp.org}>@* @* Este documento puede ser utilizado seg@'un los t@'erminos de la licencia GNU General Public License versi@'on 2 o posterior. @end ifhtml @bye