Add Jabber plugin (alpha version, many Jabber features are missing)

This commit introduces Jabber/XMPP protocol for WeeChat. It uses iksemel lib.
Please note many major Jabber features are missing:
- roster management (add/remove/.. buddies),
- MUC,
- transports.
It is possible to define servers (with /jabber), connect to them (with
/jconnect), disconnect (/jdisconnect) and chat with buddies (with /jchat).
This commit is contained in:
Sebastien Helleu 2009-01-15 15:29:05 +01:00
parent c717d206cd
commit 18a62f1dac
118 changed files with 14824 additions and 752 deletions

View File

@ -47,6 +47,7 @@ OPTION(DISABLE_CHARSET "Disable Charset plugin")
OPTION(ENABLE_DEMO "Enable Demo plugin")
OPTION(DISABLE_FIFO "Disable FIFO plugin")
OPTION(DISABLE_IRC "Disable IRC plugin")
OPTION(DISABLE_JABBER "Disable Jabber plugin")
OPTION(DISABLE_LOGGER "Disable Logger plugin")
OPTION(DISABLE_NOTIFY "Disable Notify plugin")
OPTION(DISABLE_RELAY "Disable Relay plugin")

View File

@ -1,63 +1,65 @@
WeeChat - Wee Enhanced Environment for Chat
===========================================
ChangeLog - 2008-12-19
ChangeLog - 2009-01-15
Version 0.2.7 (under dev!):
* add some colors in IRC messages from server (for text and nicks)
(task #8926)
* new relay plugin (network communication between WeeChat and remote
* add jabber plugin (jabber/XMPP protocol)
* add irc plugin (replaces old IRC code in core)
* add relay plugin (network communication between WeeChat and remote
application)
* add logger plugin with new features: backlog, level for messages to log
(task #8592), level by buffer (task #6687), filename mask by buffer,
option "name_lower_case" (bug #19522)
* add some other plugins: alias, demo, fifo, notify, tcl, xfer
* add hooks: command, timer, file descriptor, connection, print, signal,
config, completion, modifier, info, infolist
* new plugin API with many new functions: hooks, buffer management and
nicklist, bars, configuration files, network, infos/infolists, lists,
upgrade
* new display engine, with prefix and message for each line
* add new type of buffer, with free content
* add tags for lines and custom filtering by tags or regex (task #7674)
* add custom bars, with custom items
* add support for more than one proxy, with proxy selection for each IRC
server (task #6859)
* add smart join/part/quit message filter in IRC plugin (task #8503)
* add group support in nicklist
* improve main loop: higher timout in select(), less CPU usage
* add /reload command to reload WeeChat and plugins config files
(signal SIGHUP is catched to reload config files)
* add new /layout command and save_layout_on_exit config option, to
save/restore windows and buffers order (task #5453)
* use of many addresses for one IRC server (auto-switch when a connexion
fails), nicks are now set with one option "nicks" (task #6088)
* fix network connection for hostnames resolving to several IPs: try all
IPs in list until one succeeds (bug #21473, debian bug #498610)
* add new options for completion, optional stop instead of cycling with
words found (task #5909)
* add new option scroll_page_percent to choose percent of height to scroll
with page_up and page_down keys (task #8702)
* add number of lines remaining after last line displayed in "-MORE-"
indicator (task #6702)
* add speed limit for DCC files sending (task #6178)
* new name for configuration files (*.conf instead of *.rc)
* improve /set command, new command /unset (task #6085)
* add some colors in IRC messages from server (for text and nicks)
(task #8926)
* add color decoding in title for IRC channels (task #6030)
* fix lock with SSL servers when connection fails, and when disconnecting
during connection problem (bug #17584)
* add new option scroll_page_percent to choose percent of height to scroll
with page_up and page_down keys (task #8702)
* add new /layout command and save_layout_on_exit config option, to
save/restore windows and buffers order (task #5453)
* fix network connection for hostnames resolving to several IPs: try all
IPs in list until one succeeds (bug #21473, debian bug #498610)
* fix display bug with some weird UTF-8 chars (bug #19687)
* fix bug with wide chars in input (bug #16356)
* add number of lines remaining after last line displayed in "-MORE-"
indicator (task #6702)
* add new options for completion, optional stop instead of cycling with
words found (task #5909)
* add speed limit for DCC files sending (task #6178)
* add new input action "set_unread_current_buffer" to set unread marker for
current buffer only (task #7286)
* add new option "xfer.file.use_nick_in_filename" for Xfer files
(task #7140)
* remove key functions, replaced by /input command
* fix bug with alias, use current buffer to run commands (bug #22876)
* add new names for config files (*.conf instead of *.rc)
* improve /set command, new command /unset (task #6085)
* add new type of buffer, with free content
* add tags for lines and custom filtering by tags or regex (task #7674)
* add custom bars, with custom items
* command /whois is now authorized in private without argument (task #7482)
* remove kernel info in CTCP VERSION reply (IRC plugin) (task #7494)
* use of many addresses for one IRC server (auto-switch when a connexion
fails), nicks are now set with one option "nicks" (task #6088)
* fix bug when switching window, scrollback is now preserved (task #7680)
* add group support in nicklist
* new logger plugin with new features: backlog, level for messages to log
(task #8592), level by buffer (task #6687), filename mask by buffer,
option "name_lower_case" (bug #19522)
* improve main loop: higher timout in select(), less CPU usage
* add /reload command to reload WeeChat and plugins config files
(signal SIGHUP is catched to reload config files)
* new plugins: alias, demo, fifo, irc, logger, notify, tcl, trigger,
xfer, relay
* add hooks: command, timer, file descriptor, connection, print, signal,
config, completion, modifier, info, infolist
* new plugin API with many new functions: hooks, buffer management, bars,
config files, lists
* new display engine, with prefix and message for each line
* add missing IRC commands (328, 369)
* fix nick completion bug (missing space after nick)

48
cmake/FindIksemel.cmake Normal file
View File

@ -0,0 +1,48 @@
# Copyright (c) 2003-2009 FlashCode <flashcode@flashtux.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
# - Find Iksemel
# This module finds if libiksemel is installed and determines where
# the include files and libraries are.
#
# This code sets the following variables:
#
# IKSEMEL_INCLUDE_PATH = path to where iksemel.h can be found
# IKSEMEL_LIBRARY = path to where libiksemel.so* can be found
IF (IKSEMEL_FOUND)
# Already in cache, be silent
SET(IKSEMEL_FIND_QUIETLY TRUE)
ENDIF (IKSEMEL_FOUND)
FIND_PATH(IKSEMEL_INCLUDE_PATH
NAMES iksemel.h
PATHS /usr/include /usr/local/include /usr/pkg/include
)
FIND_LIBRARY(IKSEMEL_LIBRARY
NAMES iksemel
PATHS /lib /usr/lib /usr/local/lib /usr/pkg/lib
)
IF (IKSEMEL_INCLUDE_PATH AND IKSEMEL_LIBRARY)
SET(IKSEMEL_FOUND TRUE)
ENDIF (IKSEMEL_INCLUDE_PATH AND IKSEMEL_LIBRARY)
MARK_AS_ADVANCED(
IKSEMEL_INCLUDE_PATH
IKSEMEL_LIBRARY
)

View File

@ -53,6 +53,7 @@ AM_GNU_GETTEXT_VERSION([0.15])
# Checks for libraries
AC_CHECK_LIB(ncurses, initscr, LIBNCURSES_FOUND=1, LIBNCURSES_FOUND=0)
AC_CHECK_LIB(ncursesw, initscr, LIBNCURSESW_FOUND=1, LIBNCURSESW_FOUND=0)
AC_CHECK_LIB(iksemel, iks_stream_new, LIBIKSEMEL_FOUND=1, LIBIKSEMEL_FOUND=0)
# Checks for header files
AC_HEADER_STDC
@ -99,6 +100,7 @@ AH_VERBATIM([PLUGIN_CHARSET], [#undef PLUGIN_CHARSET])
AH_VERBATIM([PLUGIN_DEMO], [#undef PLUGIN_DEMO])
AH_VERBATIM([PLUGIN_FIFO], [#undef PLUGIN_FIFO])
AH_VERBATIM([PLUGIN_IRC], [#undef PLUGIN_IRC])
AH_VERBATIM([PLUGIN_JABBER], [#undef PLUGIN_JABBER])
AH_VERBATIM([PLUGIN_LOGGER], [#undef PLUGIN_LOGGER])
AH_VERBATIM([PLUGIN_NOTIFY], [#undef PLUGIN_NOTIFY])
AH_VERBATIM([PLUGIN_RELAY], [#undef PLUGIN_RELAY])
@ -125,6 +127,7 @@ AC_ARG_ENABLE(charset, [ --disable-charset turn off Charset plugin (
AC_ARG_ENABLE(demo, [ --enable-demo turn on Demo plugin (default=off)],enable_demo=$enableval,enable_demo=no)
AC_ARG_ENABLE(fifo, [ --disable-fifo turn off Fifo plugin (default=compiled)],enable_fifo=$enableval,enable_fifo=yes)
AC_ARG_ENABLE(irc, [ --disable-irc turn off IRC plugin (default=compiled)],enable_irc=$enableval,enable_irc=yes)
AC_ARG_ENABLE(jabber, [ --disable-jabber turn off Jabber plugin (default=compiled)],enable_jabber=$enableval,enable_jabber=yes)
AC_ARG_ENABLE(logger, [ --disable-logger turn off Logger plugin (default=compiled)],enable_logger=$enableval,enable_logger=yes)
AC_ARG_ENABLE(notify, [ --disable-notify turn off Notify plugin (default=compiled)],enable_notify=$enableval,enable_notify=yes)
AC_ARG_ENABLE(relay, [ --disable-relay turn off Relay plugin (default=compiled)],enable_relay=$enableval,enable_relay=yes)
@ -374,6 +377,26 @@ else
not_asked="$not_asked irc"
fi
# --------------------------------- jabber -------------------------------------
if test "x$enable_jabber" = "xyes" ; then
if test "$LIBIKSEMEL_FOUND" = "0" ; then
AC_MSG_WARN([[
*** libiksemel was not found. You may want to get it from http://code.google.com/p/iksemel/
*** WeeChat will be built without Jabber support.]])
enable_jabber="no"
not_found="$not_found jabber"
else
IKSEMEL_CFLAGS=""
IKSEMEL_LFLAGS="-liksemel"
AC_SUBST(IKSEMEL_CFLAGS)
AC_SUBST(IKSEMEL_LFLAGS)
AC_DEFINE(PLUGIN_JABBER)
fi
else
not_asked="$not_asked jabber"
fi
# --------------------------------- logger -------------------------------------
if test "x$enable_logger" = "xyes" ; then
@ -702,7 +725,6 @@ if test "x$enable_tcl" = "xyes" ; then
enable_tcl="no"
not_found="$not_found tcl"
else
echo "for grepp"
TCL_VERSION=`echo 'puts $tcl_version' | $TCL`
TCL_PATCHLEVEL=`echo 'puts $tcl_patchLevel' | $TCL`
@ -973,6 +995,7 @@ AM_CONDITIONAL(PLUGIN_CHARSET, test "$enable_charset" = "yes")
AM_CONDITIONAL(PLUGIN_DEMO, test "$enable_demo" = "yes")
AM_CONDITIONAL(PLUGIN_FIFO, test "$enable_fifo" = "yes")
AM_CONDITIONAL(PLUGIN_IRC, test "$enable_irc" = "yes")
AM_CONDITIONAL(PLUGIN_JABBER, test "$enable_jabber" = "yes")
AM_CONDITIONAL(PLUGIN_LOGGER, test "$enable_logger" = "yes")
AM_CONDITIONAL(PLUGIN_NOTIFY, test "$enable_notify" = "yes")
AM_CONDITIONAL(PLUGIN_RELAY, test "$enable_relay" = "yes")
@ -1004,6 +1027,7 @@ AC_OUTPUT([Makefile
src/plugins/demo/Makefile
src/plugins/fifo/Makefile
src/plugins/irc/Makefile
src/plugins/jabber/Makefile
src/plugins/logger/Makefile
src/plugins/notify/Makefile
src/plugins/relay/Makefile
@ -1066,6 +1090,9 @@ fi
if test "x$enable_irc" = "xyes" ; then
listplugins="$listplugins irc"
fi
if test "x$enable_jabber" = "xyes" ; then
listplugins="$listplugins jabber"
fi
if test "x$enable_logger" = "xyes"; then
listplugins="$listplugins logger"
fi

View File

@ -28,6 +28,9 @@ BOOK_AUTOGEN_INCLUDE = ../include_autogen.xml \
autogen/irc_commands.xml \
autogen/irc_infos.xml \
autogen/irc_options.xml \
autogen/jabber_commands.xml \
autogen/jabber_infos.xml \
autogen/jabber_options.xml \
autogen/logger_commands.xml \
autogen/logger_infos.xml \
autogen/logger_options.xml \
@ -56,6 +59,7 @@ BOOK_USER_INCLUDE = user/install.$(LANGCODE).xml \
user/plugin_charset.$(LANGCODE).xml \
user/plugin_fifo.$(LANGCODE).xml \
user/plugin_irc.$(LANGCODE).xml \
user/plugin_jabber.$(LANGCODE).xml \
user/plugin_logger.$(LANGCODE).xml \
user/plugin_scripts.$(LANGCODE).xml \
user/plugin_xfer.$(LANGCODE).xml

View File

@ -6,14 +6,14 @@
docgen.pl builds XML doc files to include in many languages
-->
<command>/aspell [list | enable lang | disable | addword [lang] word]</command>
<command>/aspell dictlist | enable lang | disable | addword [lang] word</command>
<programlisting>
aspell plugin configuration
list: show installed dictionnaries
enable: enable aspell on current buffer
disable: disable aspell on current buffer
addword: add a word in your personnal aspell dictionary
dictlist: show installed dictionaries
enable: enable aspell on current buffer
disable: disable aspell on current buffer
addword: add a word in your personal aspell dictionary
Input line beginning with a '/' is not checked, except for some commands.
</programlisting>

View File

@ -45,7 +45,7 @@ Nickname: zu sperrender User oder Host
<command>/connect [-all [-nojoin] | servername [servername ...] [-nojoin] | hostname [-port port] [-ipv6] [-ssl]]</command>
<programlisting>
mit Server verbinden
connect to IRC server(s)
-all: connect to all servers
servername: internal server name to connect
@ -104,7 +104,7 @@ Server herunterfahren
<command>/disconnect [-all | Servername [Servername ...]]</command>
<programlisting>
Serververbindung(en) trennen
disconnect from IRC server(s)
-all: Trenne von allen Servern
servername: Servername, von dem getrennt werden soll
@ -360,7 +360,7 @@ den Server dazu bringen, sich selbst neu zu starten
<command>/server [list [servername]] | [listfull [servername]] | [add servername hostname[/port] [-auto | -noauto] [-ipv6] [-ssl]] | [copy servername newservername] | [rename servername newservername] | [keep servername] | [del servername] | [deloutq] | [switch]</command>
<programlisting>
Auflisten, Hinzufügen oder Entfernen von Servern
list, add or remove IRC servers
list: list servers (no parameter implies this list)
listfull: list servers with detailed info for each server

View File

@ -276,7 +276,7 @@
</listitem>
</itemizedlist>
<command>irc.network.send_unknown_commands</command>: sende unbekannte Befehle an den IRC-Server
<command>irc.network.send_unknown_commands</command>: send unknown commands to server
<itemizedlist>
<listitem>
<para>type: boolean</para>
@ -286,7 +286,7 @@
</listitem>
</itemizedlist>
<command>irc.server_default.addresses</command>: list of IP/port or hostname/port for server (separated by comma)
<command>irc.server_default.addresses</command>: list of hostname/port or IP/port for server (separated by comma)
<itemizedlist>
<listitem>
<para>type: string</para>
@ -386,7 +386,7 @@
</listitem>
</itemizedlist>
<command>irc.server_default.nicks</command>: nicknames to use on IRC server (separated by comma)
<command>irc.server_default.nicks</command>: nicknames to use on server (separated by comma)
<itemizedlist>
<listitem>
<para>type: string</para>
@ -396,7 +396,7 @@
</listitem>
</itemizedlist>
<command>irc.server_default.password</command>: Passwort für den IRC-Server
<command>irc.server_default.password</command>: password for server
<itemizedlist>
<listitem>
<para>type: string</para>
@ -416,7 +416,7 @@
</listitem>
</itemizedlist>
<command>irc.server_default.realname</command>: voller Name, der an den Server übermittelt werden soll
<command>irc.server_default.realname</command>: real name to use on server
<itemizedlist>
<listitem>
<para>type: string</para>
@ -436,7 +436,7 @@
</listitem>
</itemizedlist>
<command>irc.server_default.username</command>: Benutzername, der an den Server übermittelt werden soll
<command>irc.server_default.username</command>: user name to use on server
<itemizedlist>
<listitem>
<para>type: string</para>

View File

@ -0,0 +1,39 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
********* WARNING! *********
This file is autogenerated with docgen.pl script. *** DO NOT EDIT! ***
docgen.pl builds XML doc files to include in many languages
-->
<command>/jabber [list [servername]] | [listfull [servername]] | [add servername username hostname[/port] password [-auto | -noauto] [-ipv6] [-tls] [-sasl]] | [copy servername newservername] | [rename servername newservername] | [keep servername] | [del servername] | [switch]</command>
<programlisting>
list, add or remove Jabber servers
list: list servers (no parameter implies this list)
listfull: list servers with detailed info for each server
add: create a new server
servername: server name, for internal and display use
username: username to use on server
hostname: name or IP address of server, with optional port (default: 5222)
password: password for username on server
auto: automatically connect to server when WeeChat starts
noauto: do not connect to server when WeeChat starts (default)
ipv6: use IPv6 protocol
tls: use TLS cryptographic protocol
sasl: use SASL for authentication
copy: duplicate a server
rename: rename a server
keep: keep server in config file (for temporary servers only)
del: delete a server
switch: switch active server (when one buffer is used for all servers, default key: alt-s on server buffer)
Examples:
/jabber listfull
/jabber add jabberfr user jabber.fr/5222 password -tls
/jabber copy jabberfr jabberfr2
/jabber rename jabberfr jabbfr
/jabber del jabberfr
/jabber switch
</programlisting>

View File

@ -0,0 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
********* WARNING! *********
This file is autogenerated with docgen.pl script. *** DO NOT EDIT! ***
docgen.pl builds XML doc files to include in many languages
-->
<row>
<entry>info</entry>
<entry>jabber_buffer</entry>
<entry>get buffer pointer for a Jabber server/MUC</entry>
</row>
<row>
<entry>infolist</entry>
<entry>jabber_buddy</entry>
<entry>list of buddies for a Jabber server or MUC</entry>
</row>
<row>
<entry>infolist</entry>
<entry>jabber_muc</entry>
<entry>list of MUCs for a Jabber server</entry>
</row>
<row>
<entry>infolist</entry>
<entry>jabber_server</entry>
<entry>list of Jabber servers</entry>
</row>

View File

@ -0,0 +1,768 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
********* WARNING! *********
This file is autogenerated with docgen.pl script. *** DO NOT EDIT! ***
docgen.pl builds XML doc files to include in many languages
-->
<command>jabber.color.input_nick</command>: color for nick in input bar
<itemizedlist>
<listitem>
<para>type: color</para>
</listitem>
<listitem>
<para>values: a color name (default value: lightcyan)</para>
</listitem>
</itemizedlist>
<command>jabber.color.message_join</command>: color for text in join messages
<itemizedlist>
<listitem>
<para>type: color</para>
</listitem>
<listitem>
<para>values: a color name (default value: green)</para>
</listitem>
</itemizedlist>
<command>jabber.color.message_quit</command>: color for text in part/quit messages
<itemizedlist>
<listitem>
<para>type: color</para>
</listitem>
<listitem>
<para>values: a color name (default value: red)</para>
</listitem>
</itemizedlist>
<command>jabber.look.color_nicks_in_server_messages</command>: use nick color in messages from server
<itemizedlist>
<listitem>
<para>type: boolean</para>
</listitem>
<listitem>
<para>values: on, off (default value: on)</para>
</listitem>
</itemizedlist>
<command>jabber.look.display_away</command>: bei Abwesenheit und Rückkehr eine Nachricht anzeigen
<itemizedlist>
<listitem>
<para>type: integer</para>
</listitem>
<listitem>
<para>values: off, local, muc (default value: local)</para>
</listitem>
</itemizedlist>
<command>jabber.look.display_muc_modes</command>: display MUC modes in "buffer_name" bar item
<itemizedlist>
<listitem>
<para>type: boolean</para>
</listitem>
<listitem>
<para>values: on, off (default value: on)</para>
</listitem>
</itemizedlist>
<command>jabber.look.hide_nickserv_pwd</command>: Von NickServ angezeigte Passwörter verstecken
<itemizedlist>
<listitem>
<para>type: boolean</para>
</listitem>
<listitem>
<para>values: on, off (default value: on)</para>
</listitem>
</itemizedlist>
<command>jabber.look.highlight_tags</command>: comma separated list of tags for messages that may produce highlight (usually any message from another user, not server messages,..)
<itemizedlist>
<listitem>
<para>type: string</para>
</listitem>
<listitem>
<para>values: any string (default value: 'jabber_chat_msg,jabber_notice')</para>
</listitem>
</itemizedlist>
<command>jabber.look.nick_completion_smart</command>: Intelligente vervollständigung der Nicknamen (vervollständigt zuerst mit dem letzten Nick, der einen angesprochen hat)
<itemizedlist>
<listitem>
<para>type: boolean</para>
</listitem>
<listitem>
<para>values: on, off (default value: on)</para>
</listitem>
</itemizedlist>
<command>jabber.look.nick_prefix</command>: Text, der im Chatfenster vor dem Nickname erscheinen soll
<itemizedlist>
<listitem>
<para>type: string</para>
</listitem>
<listitem>
<para>values: any string (default value: '')</para>
</listitem>
</itemizedlist>
<command>jabber.look.nick_suffix</command>: Text, der im Chatfenster nach dem Nickname erscheinen soll
<itemizedlist>
<listitem>
<para>type: string</para>
</listitem>
<listitem>
<para>values: any string (default value: '')</para>
</listitem>
</itemizedlist>
<command>jabber.look.notice_as_pv</command>: NOTICEs als Queries anzeigen
<itemizedlist>
<listitem>
<para>type: boolean</para>
</listitem>
<listitem>
<para>values: on, off (default value: off)</para>
</listitem>
</itemizedlist>
<command>jabber.look.one_server_buffer</command>: benutze den gleichen Puffer für alle Server
<itemizedlist>
<listitem>
<para>type: boolean</para>
</listitem>
<listitem>
<para>values: on, off (default value: off)</para>
</listitem>
</itemizedlist>
<command>jabber.look.open_near_server</command>: open new MUCs/privates near server
<itemizedlist>
<listitem>
<para>type: boolean</para>
</listitem>
<listitem>
<para>values: on, off (default value: off)</para>
</listitem>
</itemizedlist>
<command>jabber.look.show_away_once</command>: in privaten Unterhaltungen nur einmalig eine Abwesenheitsnachricht anzeigen
<itemizedlist>
<listitem>
<para>type: boolean</para>
</listitem>
<listitem>
<para>values: on, off (default value: on)</para>
</listitem>
</itemizedlist>
<command>jabber.look.smart_filter</command>: filter join/part/quit messages for a nick if not speaking for some minutes on MUC (you must create a filter on tag "jabber_smart_filter")
<itemizedlist>
<listitem>
<para>type: boolean</para>
</listitem>
<listitem>
<para>values: on, off (default value: off)</para>
</listitem>
</itemizedlist>
<command>jabber.look.smart_filter_delay</command>: delay for filtering join/part/quit messages (in minutes)
<itemizedlist>
<listitem>
<para>type: integer</para>
</listitem>
<listitem>
<para>values: 1 .. 10080 (default value: 5)</para>
</listitem>
</itemizedlist>
<command>jabber.network.anti_flood</command>: anti-flood: # Sekunden zwischen zwei Benutzernachrichten (0 = kein anti-flood)
<itemizedlist>
<listitem>
<para>type: integer</para>
</listitem>
<listitem>
<para>values: 0 .. 5 (default value: 2)</para>
</listitem>
</itemizedlist>
<command>jabber.network.colors_receive</command>: wenn der Schalter deaktiviert ist, werden die Farben von eingehenden Nachrichten entfernt
<itemizedlist>
<listitem>
<para>type: boolean</para>
</listitem>
<listitem>
<para>values: on, off (default value: on)</para>
</listitem>
</itemizedlist>
<command>jabber.network.colors_send</command>: allow user to send colors with special codes (^Cb=bold, ^Ccxx=color, ^Ccxx,yy=color+background, ^Cu=underline, ^Cr=reverse)
<itemizedlist>
<listitem>
<para>type: boolean</para>
</listitem>
<listitem>
<para>values: on, off (default value: on)</para>
</listitem>
</itemizedlist>
<command>jabber.network.default_msg_part</command>: default part message (leaving MUC) ('%v' will be replaced by WeeChat version in string)
<itemizedlist>
<listitem>
<para>type: string</para>
</listitem>
<listitem>
<para>values: any string (default value: 'WeeChat %v')</para>
</listitem>
</itemizedlist>
<command>jabber.network.default_msg_quit</command>: default quit message (disconnecting from server) ('%v' will be replaced by WeeChat version in string)
<itemizedlist>
<listitem>
<para>type: string</para>
</listitem>
<listitem>
<para>values: any string (default value: 'WeeChat %v')</para>
</listitem>
</itemizedlist>
<command>jabber.network.lag_check</command>: interval between two checks for lag (in seconds, 0 = never check)
<itemizedlist>
<listitem>
<para>type: integer</para>
</listitem>
<listitem>
<para>values: 0 .. 2147483647 (default value: 60)</para>
</listitem>
</itemizedlist>
<command>jabber.network.lag_disconnect</command>: Maximal-Lag bis zum Trennen der Verbindung (in Minuten - 0: nie trennen)
<itemizedlist>
<listitem>
<para>type: integer</para>
</listitem>
<listitem>
<para>values: 0 .. 2147483647 (default value: 5)</para>
</listitem>
</itemizedlist>
<command>jabber.network.lag_min_show</command>: Mindest-Lag, der angezeigt werden soll, in Sekunden
<itemizedlist>
<listitem>
<para>type: integer</para>
</listitem>
<listitem>
<para>values: 0 .. 2147483647 (default value: 1)</para>
</listitem>
</itemizedlist>
<command>jabber.server.flashtux.autoconnect</command>: automatisch mit dem Server verbinden, wenn WeeChat gestartet wird
<itemizedlist>
<listitem>
<para>type: boolean</para>
</listitem>
<listitem>
<para>values: on, off (default value: )</para>
</listitem>
</itemizedlist>
<command>jabber.server.flashtux.autojoin</command>: comma separated list of MUCs to join when connected to server (example: "#chan1,#chan2,#chan3 key1,key2")
<itemizedlist>
<listitem>
<para>type: string</para>
</listitem>
<listitem>
<para>values: any string (default value: '')</para>
</listitem>
</itemizedlist>
<command>jabber.server.flashtux.autoreconnect</command>: die Verbindung nach Trennung automatisch wiederherstellen
<itemizedlist>
<listitem>
<para>type: boolean</para>
</listitem>
<listitem>
<para>values: on, off (default value: )</para>
</listitem>
</itemizedlist>
<command>jabber.server.flashtux.autoreconnect_delay</command>: Zeit in Sekunden, die gewartet wird, bevor ein Verbindungsneuaufbau versucht wird
<itemizedlist>
<listitem>
<para>type: integer</para>
</listitem>
<listitem>
<para>values: 0 .. 65535 (default value: )</para>
</listitem>
</itemizedlist>
<command>jabber.server.flashtux.autorejoin</command>: automatically rejoin MUCs when kicked
<itemizedlist>
<listitem>
<para>type: boolean</para>
</listitem>
<listitem>
<para>values: on, off (default value: )</para>
</listitem>
</itemizedlist>
<command>jabber.server.flashtux.command</command>: command(s) to run when connected to server (many commands should be separated by ';', use '\;' for a semicolon, special variables $nick, $muc and $server are replaced by their value)
<itemizedlist>
<listitem>
<para>type: string</para>
</listitem>
<listitem>
<para>values: any string (default value: '')</para>
</listitem>
</itemizedlist>
<command>jabber.server.flashtux.command_delay</command>: Wartezeit in Sekunden nach Ausführung des Befehls, um z.B. eine Authentifizierung zu ermöglichen
<itemizedlist>
<listitem>
<para>type: integer</para>
</listitem>
<listitem>
<para>values: 0 .. 3600 (default value: )</para>
</listitem>
</itemizedlist>
<command>jabber.server.flashtux.ipv6</command>: Server über IPv6 ansprechen
<itemizedlist>
<listitem>
<para>type: boolean</para>
</listitem>
<listitem>
<para>values: on, off (default value: )</para>
</listitem>
</itemizedlist>
<command>jabber.server.flashtux.local_alias</command>: local alias
<itemizedlist>
<listitem>
<para>type: string</para>
</listitem>
<listitem>
<para>values: any string (default value: '')</para>
</listitem>
</itemizedlist>
<command>jabber.server.flashtux.local_hostname</command>: custom local hostname/IP for server (optional, if empty local hostname is used)
<itemizedlist>
<listitem>
<para>type: string</para>
</listitem>
<listitem>
<para>values: any string (default value: '')</para>
</listitem>
</itemizedlist>
<command>jabber.server.flashtux.password</command>: password
<itemizedlist>
<listitem>
<para>type: string</para>
</listitem>
<listitem>
<para>values: any string (default value: '')</para>
</listitem>
</itemizedlist>
<command>jabber.server.flashtux.proxy</command>: proxy used for this server (optional)
<itemizedlist>
<listitem>
<para>type: string</para>
</listitem>
<listitem>
<para>values: any string (default value: '')</para>
</listitem>
</itemizedlist>
<command>jabber.server.flashtux.resource</command>: resource (for example: Home or Work)
<itemizedlist>
<listitem>
<para>type: string</para>
</listitem>
<listitem>
<para>values: any string (default value: '')</para>
</listitem>
</itemizedlist>
<command>jabber.server.flashtux.sasl</command>: use SASL for authentication
<itemizedlist>
<listitem>
<para>type: boolean</para>
</listitem>
<listitem>
<para>values: on, off (default value: )</para>
</listitem>
</itemizedlist>
<command>jabber.server.flashtux.server</command>: hostname/port or IP/port for server
<itemizedlist>
<listitem>
<para>type: string</para>
</listitem>
<listitem>
<para>values: any string (default value: '')</para>
</listitem>
</itemizedlist>
<command>jabber.server.flashtux.tls</command>: use TLS cryptographic protocol for server communication
<itemizedlist>
<listitem>
<para>type: boolean</para>
</listitem>
<listitem>
<para>values: on, off (default value: )</para>
</listitem>
</itemizedlist>
<command>jabber.server.flashtux.username</command>: user name to use on server
<itemizedlist>
<listitem>
<para>type: string</para>
</listitem>
<listitem>
<para>values: any string (default value: '')</para>
</listitem>
</itemizedlist>
<command>jabber.server.jabberfr.autoconnect</command>: automatisch mit dem Server verbinden, wenn WeeChat gestartet wird
<itemizedlist>
<listitem>
<para>type: boolean</para>
</listitem>
<listitem>
<para>values: on, off (default value: )</para>
</listitem>
</itemizedlist>
<command>jabber.server.jabberfr.autojoin</command>: comma separated list of MUCs to join when connected to server (example: "#chan1,#chan2,#chan3 key1,key2")
<itemizedlist>
<listitem>
<para>type: string</para>
</listitem>
<listitem>
<para>values: any string (default value: '')</para>
</listitem>
</itemizedlist>
<command>jabber.server.jabberfr.autoreconnect</command>: die Verbindung nach Trennung automatisch wiederherstellen
<itemizedlist>
<listitem>
<para>type: boolean</para>
</listitem>
<listitem>
<para>values: on, off (default value: )</para>
</listitem>
</itemizedlist>
<command>jabber.server.jabberfr.autoreconnect_delay</command>: Zeit in Sekunden, die gewartet wird, bevor ein Verbindungsneuaufbau versucht wird
<itemizedlist>
<listitem>
<para>type: integer</para>
</listitem>
<listitem>
<para>values: 0 .. 65535 (default value: )</para>
</listitem>
</itemizedlist>
<command>jabber.server.jabberfr.autorejoin</command>: automatically rejoin MUCs when kicked
<itemizedlist>
<listitem>
<para>type: boolean</para>
</listitem>
<listitem>
<para>values: on, off (default value: )</para>
</listitem>
</itemizedlist>
<command>jabber.server.jabberfr.command</command>: command(s) to run when connected to server (many commands should be separated by ';', use '\;' for a semicolon, special variables $nick, $muc and $server are replaced by their value)
<itemizedlist>
<listitem>
<para>type: string</para>
</listitem>
<listitem>
<para>values: any string (default value: '')</para>
</listitem>
</itemizedlist>
<command>jabber.server.jabberfr.command_delay</command>: Wartezeit in Sekunden nach Ausführung des Befehls, um z.B. eine Authentifizierung zu ermöglichen
<itemizedlist>
<listitem>
<para>type: integer</para>
</listitem>
<listitem>
<para>values: 0 .. 3600 (default value: )</para>
</listitem>
</itemizedlist>
<command>jabber.server.jabberfr.ipv6</command>: Server über IPv6 ansprechen
<itemizedlist>
<listitem>
<para>type: boolean</para>
</listitem>
<listitem>
<para>values: on, off (default value: )</para>
</listitem>
</itemizedlist>
<command>jabber.server.jabberfr.local_alias</command>: local alias
<itemizedlist>
<listitem>
<para>type: string</para>
</listitem>
<listitem>
<para>values: any string (default value: '')</para>
</listitem>
</itemizedlist>
<command>jabber.server.jabberfr.local_hostname</command>: custom local hostname/IP for server (optional, if empty local hostname is used)
<itemizedlist>
<listitem>
<para>type: string</para>
</listitem>
<listitem>
<para>values: any string (default value: '')</para>
</listitem>
</itemizedlist>
<command>jabber.server.jabberfr.password</command>: password
<itemizedlist>
<listitem>
<para>type: string</para>
</listitem>
<listitem>
<para>values: any string (default value: '')</para>
</listitem>
</itemizedlist>
<command>jabber.server.jabberfr.proxy</command>: proxy used for this server (optional)
<itemizedlist>
<listitem>
<para>type: string</para>
</listitem>
<listitem>
<para>values: any string (default value: '')</para>
</listitem>
</itemizedlist>
<command>jabber.server.jabberfr.resource</command>: resource (for example: Home or Work)
<itemizedlist>
<listitem>
<para>type: string</para>
</listitem>
<listitem>
<para>values: any string (default value: '')</para>
</listitem>
</itemizedlist>
<command>jabber.server.jabberfr.sasl</command>: use SASL for authentication
<itemizedlist>
<listitem>
<para>type: boolean</para>
</listitem>
<listitem>
<para>values: on, off (default value: )</para>
</listitem>
</itemizedlist>
<command>jabber.server.jabberfr.server</command>: hostname/port or IP/port for server
<itemizedlist>
<listitem>
<para>type: string</para>
</listitem>
<listitem>
<para>values: any string (default value: '')</para>
</listitem>
</itemizedlist>
<command>jabber.server.jabberfr.tls</command>: use TLS cryptographic protocol for server communication
<itemizedlist>
<listitem>
<para>type: boolean</para>
</listitem>
<listitem>
<para>values: on, off (default value: )</para>
</listitem>
</itemizedlist>
<command>jabber.server.jabberfr.username</command>: user name to use on server
<itemizedlist>
<listitem>
<para>type: string</para>
</listitem>
<listitem>
<para>values: any string (default value: '')</para>
</listitem>
</itemizedlist>
<command>jabber.server_default.autoconnect</command>: automatisch mit dem Server verbinden, wenn WeeChat gestartet wird
<itemizedlist>
<listitem>
<para>type: boolean</para>
</listitem>
<listitem>
<para>values: on, off (default value: off)</para>
</listitem>
</itemizedlist>
<command>jabber.server_default.autojoin</command>: comma separated list of MUCs to join when connected to server (example: "#chan1,#chan2,#chan3 key1,key2")
<itemizedlist>
<listitem>
<para>type: string</para>
</listitem>
<listitem>
<para>values: any string (default value: '')</para>
</listitem>
</itemizedlist>
<command>jabber.server_default.autoreconnect</command>: die Verbindung nach Trennung automatisch wiederherstellen
<itemizedlist>
<listitem>
<para>type: boolean</para>
</listitem>
<listitem>
<para>values: on, off (default value: on)</para>
</listitem>
</itemizedlist>
<command>jabber.server_default.autoreconnect_delay</command>: Zeit in Sekunden, die gewartet wird, bevor ein Verbindungsneuaufbau versucht wird
<itemizedlist>
<listitem>
<para>type: integer</para>
</listitem>
<listitem>
<para>values: 0 .. 65535 (default value: 10)</para>
</listitem>
</itemizedlist>
<command>jabber.server_default.autorejoin</command>: automatically rejoin MUCs when kicked
<itemizedlist>
<listitem>
<para>type: boolean</para>
</listitem>
<listitem>
<para>values: on, off (default value: off)</para>
</listitem>
</itemizedlist>
<command>jabber.server_default.command</command>: command(s) to run when connected to server (many commands should be separated by ';', use '\;' for a semicolon, special variables $nick, $muc and $server are replaced by their value)
<itemizedlist>
<listitem>
<para>type: string</para>
</listitem>
<listitem>
<para>values: any string (default value: '')</para>
</listitem>
</itemizedlist>
<command>jabber.server_default.command_delay</command>: Wartezeit in Sekunden nach Ausführung des Befehls, um z.B. eine Authentifizierung zu ermöglichen
<itemizedlist>
<listitem>
<para>type: integer</para>
</listitem>
<listitem>
<para>values: 0 .. 3600 (default value: 0)</para>
</listitem>
</itemizedlist>
<command>jabber.server_default.ipv6</command>: Server über IPv6 ansprechen
<itemizedlist>
<listitem>
<para>type: boolean</para>
</listitem>
<listitem>
<para>values: on, off (default value: off)</para>
</listitem>
</itemizedlist>
<command>jabber.server_default.local_alias</command>: local alias
<itemizedlist>
<listitem>
<para>type: string</para>
</listitem>
<listitem>
<para>values: any string (default value: '')</para>
</listitem>
</itemizedlist>
<command>jabber.server_default.local_hostname</command>: custom local hostname/IP for server (optional, if empty local hostname is used)
<itemizedlist>
<listitem>
<para>type: string</para>
</listitem>
<listitem>
<para>values: any string (default value: '')</para>
</listitem>
</itemizedlist>
<command>jabber.server_default.password</command>: password
<itemizedlist>
<listitem>
<para>type: string</para>
</listitem>
<listitem>
<para>values: any string (default value: '')</para>
</listitem>
</itemizedlist>
<command>jabber.server_default.proxy</command>: proxy used for this server (optional)
<itemizedlist>
<listitem>
<para>type: string</para>
</listitem>
<listitem>
<para>values: any string (default value: '')</para>
</listitem>
</itemizedlist>
<command>jabber.server_default.resource</command>: resource (for example: Home or Work)
<itemizedlist>
<listitem>
<para>type: string</para>
</listitem>
<listitem>
<para>values: any string (default value: '')</para>
</listitem>
</itemizedlist>
<command>jabber.server_default.sasl</command>: use SASL for authentication
<itemizedlist>
<listitem>
<para>type: boolean</para>
</listitem>
<listitem>
<para>values: on, off (default value: on)</para>
</listitem>
</itemizedlist>
<command>jabber.server_default.server</command>: hostname/port or IP/port for server
<itemizedlist>
<listitem>
<para>type: string</para>
</listitem>
<listitem>
<para>values: any string (default value: '')</para>
</listitem>
</itemizedlist>
<command>jabber.server_default.tls</command>: use TLS cryptographic protocol for server communication
<itemizedlist>
<listitem>
<para>type: boolean</para>
</listitem>
<listitem>
<para>values: on, off (default value: off)</para>
</listitem>
</itemizedlist>
<command>jabber.server_default.username</command>: user name to use on server
<itemizedlist>
<listitem>
<para>type: string</para>
</listitem>
<listitem>
<para>values: any string (default value: '')</para>
</listitem>
</itemizedlist>

View File

@ -10,7 +10,7 @@
<programlisting>
logger plugin configuration
list: show logging status for open buffers
list: show logging status for opened buffers
set: set logging level on current buffer
level: level for messages to be logged (0 = logging disabled, 1 = a few messages (most important) .. 9 = all messages)
disable: disable logging on current buffer (set level to 0)

View File

@ -61,7 +61,7 @@ Puffer verwalten
move: move buffer in the list (may be relative, for example -1)
close: close buffer
list: list buffers (no parameter implies this list)
notify: display notify levels for all open buffers
notify: display notify levels for all opened buffers
localvar: display local variables for current buffer
scroll: scroll in history (may be relative, and may end by a letter: s=sec, m=min, h=hour, d=day, M=month, y=year); if there is only letter, then scroll to beginning of this item
@ -286,7 +286,7 @@ zeigt die Uptime von Weechat an
<programlisting>
Fenster verwalten
list: list open windows (no parameter implies this list)
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 #

View File

@ -26,7 +26,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
<title>IRC plugin</title>
<para>
The IRC plugin is designed to chat thru IRC protocols with other people.
The IRC plugin is designed to chat thru IRC protocol with other people.
It is multi-servers, and offers all supported IRC commands including DCC
chat and file transfer (via xfer plugin, see
<xref linkend="secPluginXfer" />).

View File

@ -0,0 +1,73 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
WeeChat documentation (english version)
Copyright (c) 2003-2009 by FlashCode <flashcode@flashtux.org>
This manual is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
This manual is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
-->
<section id="secPluginJabber">
<!-- TRANSLATION NEEDED -->
<title>Jabber plugin</title>
<para>
The Jabber plugin is designed to chat thru XMPP protocol with other people.
It is multi-servers.
</para>
<section id="secJabberOptions">
<title>Options (file jabber.conf)</title>
<para>
&jabber_options.xml;
</para>
</section>
<section id="secJabberCommands">
<title>Commands</title>
<para>
&jabber_commands.xml;
</para>
</section>
<section id="secJabberInfosHooked">
<title>Infos and infolists</title>
<para>
<informaltable colsep="0" frame="none">
<tgroup cols="3">
<thead>
<row>
<entry>Type</entry>
<entry>Name</entry>
<entry>Description</entry>
</row>
</thead>
<tbody>
&jabber_infos.xml;
</tbody>
</tgroup>
</informaltable>
</para>
</section>
</section>

View File

@ -94,6 +94,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
<listitem>
<para>irc: IRC chat protocol</para>
</listitem>
<listitem>
<para>jabber: Jabber chat protocol</para>
</listitem>
<listitem>
<para>logger: log buffers to files</para>
</listitem>
@ -133,6 +136,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
&plugin_irc.de.xml;
&plugin_jabber.de.xml;
&plugin_logger.de.xml;
&plugin_scripts.de.xml;

View File

@ -39,6 +39,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
<!ENTITY plugin_charset.de.xml SYSTEM "plugin_charset.de.xml">
<!ENTITY plugin_fifo.de.xml SYSTEM "plugin_fifo.de.xml">
<!ENTITY plugin_irc.de.xml SYSTEM "plugin_irc.de.xml">
<!ENTITY plugin_jabber.de.xml SYSTEM "plugin_jabber.de.xml">
<!ENTITY plugin_logger.de.xml SYSTEM "plugin_logger.de.xml">
<!ENTITY plugin_scripts.de.xml SYSTEM "plugin_scripts.de.xml">
<!ENTITY plugin_xfer.de.xml SYSTEM "plugin_xfer.de.xml">

View File

@ -65,11 +65,12 @@ my @locale_list = qw(en_US fr_FR de_DE);
my %plugin_list = ("weechat" => "co", "alias" => "",
"aspell" => "o", "charset" => "co",
"demo" => "co", "fifo" => "co",
"irc" => "co", "logger" => "co",
"notify" => "co", "relay" => "co",
"perl" => "", "python" => "",
"ruby" => "", "lua" => "",
"tcl" => "", "xfer" => "co");
"irc" => "co", "jabber" => "o",
"logger" => "co", "notify" => "co",
"relay" => "co", "perl" => "",
"python" => "", "ruby" => "",
"lua" => "", "tcl" => "",
"xfer" => "co");
# options to ignore
my @ignore_options = ("aspell\\.dict\\..*",

View File

@ -28,6 +28,9 @@ BOOK_AUTOGEN_INCLUDE = ../include_autogen.xml \
autogen/irc_commands.xml \
autogen/irc_infos.xml \
autogen/irc_options.xml \
autogen/jabber_commands.xml \
autogen/jabber_infos.xml \
autogen/jabber_options.xml \
autogen/logger_commands.xml \
autogen/logger_infos.xml \
autogen/logger_options.xml \
@ -56,6 +59,7 @@ BOOK_USER_INCLUDE = user/install.$(LANGCODE).xml \
user/plugin_charset.$(LANGCODE).xml \
user/plugin_fifo.$(LANGCODE).xml \
user/plugin_irc.$(LANGCODE).xml \
user/plugin_jabber.$(LANGCODE).xml \
user/plugin_logger.$(LANGCODE).xml \
user/plugin_scripts.$(LANGCODE).xml \
user/plugin_xfer.$(LANGCODE).xml

View File

@ -6,14 +6,14 @@
docgen.pl builds XML doc files to include in many languages
-->
<command>/aspell [list | enable lang | disable | addword [lang] word]</command>
<command>/aspell dictlist | enable lang | disable | addword [lang] word</command>
<programlisting>
aspell plugin configuration
list: show installed dictionnaries
enable: enable aspell on current buffer
disable: disable aspell on current buffer
addword: add a word in your personnal aspell dictionary
dictlist: show installed dictionaries
enable: enable aspell on current buffer
disable: disable aspell on current buffer
addword: add a word in your personal aspell dictionary
Input line beginning with a '/' is not checked, except for some commands.
</programlisting>

View File

@ -45,7 +45,7 @@ nickname: user or host to ban
<command>/connect [-all [-nojoin] | servername [servername ...] [-nojoin] | hostname [-port port] [-ipv6] [-ssl]]</command>
<programlisting>
connect to server(s)
connect to IRC server(s)
-all: connect to all servers
servername: internal server name to connect
@ -104,7 +104,7 @@ shutdown the server
<command>/disconnect [-all | servername [servername ...]]</command>
<programlisting>
disconnect from server(s)
disconnect from IRC server(s)
-all: disconnect from all servers
servername: server name to disconnect
@ -360,7 +360,7 @@ tell the server to restart itself
<command>/server [list [servername]] | [listfull [servername]] | [add servername hostname[/port] [-auto | -noauto] [-ipv6] [-ssl]] | [copy servername newservername] | [rename servername newservername] | [keep servername] | [del servername] | [deloutq] | [switch]</command>
<programlisting>
list, add or remove servers
list, add or remove IRC servers
list: list servers (no parameter implies this list)
listfull: list servers with detailed info for each server

View File

@ -276,7 +276,7 @@
</listitem>
</itemizedlist>
<command>irc.network.send_unknown_commands</command>: send unknown commands to IRC server
<command>irc.network.send_unknown_commands</command>: send unknown commands to server
<itemizedlist>
<listitem>
<para>type: boolean</para>
@ -286,7 +286,7 @@
</listitem>
</itemizedlist>
<command>irc.server_default.addresses</command>: list of IP/port or hostname/port for server (separated by comma)
<command>irc.server_default.addresses</command>: list of hostname/port or IP/port for server (separated by comma)
<itemizedlist>
<listitem>
<para>type: string</para>
@ -386,7 +386,7 @@
</listitem>
</itemizedlist>
<command>irc.server_default.nicks</command>: nicknames to use on IRC server (separated by comma)
<command>irc.server_default.nicks</command>: nicknames to use on server (separated by comma)
<itemizedlist>
<listitem>
<para>type: string</para>
@ -396,7 +396,7 @@
</listitem>
</itemizedlist>
<command>irc.server_default.password</command>: password for IRC server
<command>irc.server_default.password</command>: password for server
<itemizedlist>
<listitem>
<para>type: string</para>
@ -416,7 +416,7 @@
</listitem>
</itemizedlist>
<command>irc.server_default.realname</command>: real name to use on IRC server
<command>irc.server_default.realname</command>: real name to use on server
<itemizedlist>
<listitem>
<para>type: string</para>
@ -436,7 +436,7 @@
</listitem>
</itemizedlist>
<command>irc.server_default.username</command>: user name to use on IRC server
<command>irc.server_default.username</command>: user name to use on server
<itemizedlist>
<listitem>
<para>type: string</para>

View File

@ -0,0 +1,39 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
********* WARNING! *********
This file is autogenerated with docgen.pl script. *** DO NOT EDIT! ***
docgen.pl builds XML doc files to include in many languages
-->
<command>/jabber [list [servername]] | [listfull [servername]] | [add servername username hostname[/port] password [-auto | -noauto] [-ipv6] [-tls] [-sasl]] | [copy servername newservername] | [rename servername newservername] | [keep servername] | [del servername] | [switch]</command>
<programlisting>
list, add or remove Jabber servers
list: list servers (no parameter implies this list)
listfull: list servers with detailed info for each server
add: create a new server
servername: server name, for internal and display use
username: username to use on server
hostname: name or IP address of server, with optional port (default: 5222)
password: password for username on server
auto: automatically connect to server when WeeChat starts
noauto: do not connect to server when WeeChat starts (default)
ipv6: use IPv6 protocol
tls: use TLS cryptographic protocol
sasl: use SASL for authentication
copy: duplicate a server
rename: rename a server
keep: keep server in config file (for temporary servers only)
del: delete a server
switch: switch active server (when one buffer is used for all servers, default key: alt-s on server buffer)
Examples:
/jabber listfull
/jabber add jabberfr user jabber.fr/5222 password -tls
/jabber copy jabberfr jabberfr2
/jabber rename jabberfr jabbfr
/jabber del jabberfr
/jabber switch
</programlisting>

View File

@ -0,0 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
********* WARNING! *********
This file is autogenerated with docgen.pl script. *** DO NOT EDIT! ***
docgen.pl builds XML doc files to include in many languages
-->
<row>
<entry>info</entry>
<entry>jabber_buffer</entry>
<entry>get buffer pointer for a Jabber server/MUC</entry>
</row>
<row>
<entry>infolist</entry>
<entry>jabber_buddy</entry>
<entry>list of buddies for a Jabber server or MUC</entry>
</row>
<row>
<entry>infolist</entry>
<entry>jabber_muc</entry>
<entry>list of MUCs for a Jabber server</entry>
</row>
<row>
<entry>infolist</entry>
<entry>jabber_server</entry>
<entry>list of Jabber servers</entry>
</row>

View File

@ -0,0 +1,768 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
********* WARNING! *********
This file is autogenerated with docgen.pl script. *** DO NOT EDIT! ***
docgen.pl builds XML doc files to include in many languages
-->
<command>jabber.color.input_nick</command>: color for nick in input bar
<itemizedlist>
<listitem>
<para>type: color</para>
</listitem>
<listitem>
<para>values: a color name (default value: lightcyan)</para>
</listitem>
</itemizedlist>
<command>jabber.color.message_join</command>: color for text in join messages
<itemizedlist>
<listitem>
<para>type: color</para>
</listitem>
<listitem>
<para>values: a color name (default value: green)</para>
</listitem>
</itemizedlist>
<command>jabber.color.message_quit</command>: color for text in part/quit messages
<itemizedlist>
<listitem>
<para>type: color</para>
</listitem>
<listitem>
<para>values: a color name (default value: red)</para>
</listitem>
</itemizedlist>
<command>jabber.look.color_nicks_in_server_messages</command>: use nick color in messages from server
<itemizedlist>
<listitem>
<para>type: boolean</para>
</listitem>
<listitem>
<para>values: on, off (default value: on)</para>
</listitem>
</itemizedlist>
<command>jabber.look.display_away</command>: display message when (un)marking as away
<itemizedlist>
<listitem>
<para>type: integer</para>
</listitem>
<listitem>
<para>values: off, local, muc (default value: local)</para>
</listitem>
</itemizedlist>
<command>jabber.look.display_muc_modes</command>: display MUC modes in "buffer_name" bar item
<itemizedlist>
<listitem>
<para>type: boolean</para>
</listitem>
<listitem>
<para>values: on, off (default value: on)</para>
</listitem>
</itemizedlist>
<command>jabber.look.hide_nickserv_pwd</command>: hide password displayed by nickserv
<itemizedlist>
<listitem>
<para>type: boolean</para>
</listitem>
<listitem>
<para>values: on, off (default value: on)</para>
</listitem>
</itemizedlist>
<command>jabber.look.highlight_tags</command>: comma separated list of tags for messages that may produce highlight (usually any message from another user, not server messages,..)
<itemizedlist>
<listitem>
<para>type: string</para>
</listitem>
<listitem>
<para>values: any string (default value: 'jabber_chat_msg,jabber_notice')</para>
</listitem>
</itemizedlist>
<command>jabber.look.nick_completion_smart</command>: smart completion for nicks (completes with last speakers first)
<itemizedlist>
<listitem>
<para>type: boolean</para>
</listitem>
<listitem>
<para>values: on, off (default value: on)</para>
</listitem>
</itemizedlist>
<command>jabber.look.nick_prefix</command>: text to display before nick in chat window
<itemizedlist>
<listitem>
<para>type: string</para>
</listitem>
<listitem>
<para>values: any string (default value: '')</para>
</listitem>
</itemizedlist>
<command>jabber.look.nick_suffix</command>: text to display after nick in chat window
<itemizedlist>
<listitem>
<para>type: string</para>
</listitem>
<listitem>
<para>values: any string (default value: '')</para>
</listitem>
</itemizedlist>
<command>jabber.look.notice_as_pv</command>: display notices as private messages
<itemizedlist>
<listitem>
<para>type: boolean</para>
</listitem>
<listitem>
<para>values: on, off (default value: off)</para>
</listitem>
</itemizedlist>
<command>jabber.look.one_server_buffer</command>: use same buffer for all servers
<itemizedlist>
<listitem>
<para>type: boolean</para>
</listitem>
<listitem>
<para>values: on, off (default value: off)</para>
</listitem>
</itemizedlist>
<command>jabber.look.open_near_server</command>: open new MUCs/privates near server
<itemizedlist>
<listitem>
<para>type: boolean</para>
</listitem>
<listitem>
<para>values: on, off (default value: off)</para>
</listitem>
</itemizedlist>
<command>jabber.look.show_away_once</command>: show remote away message only once in private
<itemizedlist>
<listitem>
<para>type: boolean</para>
</listitem>
<listitem>
<para>values: on, off (default value: on)</para>
</listitem>
</itemizedlist>
<command>jabber.look.smart_filter</command>: filter join/part/quit messages for a nick if not speaking for some minutes on MUC (you must create a filter on tag "jabber_smart_filter")
<itemizedlist>
<listitem>
<para>type: boolean</para>
</listitem>
<listitem>
<para>values: on, off (default value: off)</para>
</listitem>
</itemizedlist>
<command>jabber.look.smart_filter_delay</command>: delay for filtering join/part/quit messages (in minutes)
<itemizedlist>
<listitem>
<para>type: integer</para>
</listitem>
<listitem>
<para>values: 1 .. 10080 (default value: 5)</para>
</listitem>
</itemizedlist>
<command>jabber.network.anti_flood</command>: anti-flood: # seconds between two user messages (0 = no anti-flood)
<itemizedlist>
<listitem>
<para>type: integer</para>
</listitem>
<listitem>
<para>values: 0 .. 5 (default value: 2)</para>
</listitem>
</itemizedlist>
<command>jabber.network.colors_receive</command>: when off, colors codes are ignored in incoming messages
<itemizedlist>
<listitem>
<para>type: boolean</para>
</listitem>
<listitem>
<para>values: on, off (default value: on)</para>
</listitem>
</itemizedlist>
<command>jabber.network.colors_send</command>: allow user to send colors with special codes (^Cb=bold, ^Ccxx=color, ^Ccxx,yy=color+background, ^Cu=underline, ^Cr=reverse)
<itemizedlist>
<listitem>
<para>type: boolean</para>
</listitem>
<listitem>
<para>values: on, off (default value: on)</para>
</listitem>
</itemizedlist>
<command>jabber.network.default_msg_part</command>: default part message (leaving MUC) ('%v' will be replaced by WeeChat version in string)
<itemizedlist>
<listitem>
<para>type: string</para>
</listitem>
<listitem>
<para>values: any string (default value: 'WeeChat %v')</para>
</listitem>
</itemizedlist>
<command>jabber.network.default_msg_quit</command>: default quit message (disconnecting from server) ('%v' will be replaced by WeeChat version in string)
<itemizedlist>
<listitem>
<para>type: string</para>
</listitem>
<listitem>
<para>values: any string (default value: 'WeeChat %v')</para>
</listitem>
</itemizedlist>
<command>jabber.network.lag_check</command>: interval between two checks for lag (in seconds, 0 = never check)
<itemizedlist>
<listitem>
<para>type: integer</para>
</listitem>
<listitem>
<para>values: 0 .. 2147483647 (default value: 60)</para>
</listitem>
</itemizedlist>
<command>jabber.network.lag_disconnect</command>: disconnect after important lag (in minutes, 0 = never disconnect)
<itemizedlist>
<listitem>
<para>type: integer</para>
</listitem>
<listitem>
<para>values: 0 .. 2147483647 (default value: 5)</para>
</listitem>
</itemizedlist>
<command>jabber.network.lag_min_show</command>: minimum lag to show (in seconds)
<itemizedlist>
<listitem>
<para>type: integer</para>
</listitem>
<listitem>
<para>values: 0 .. 2147483647 (default value: 1)</para>
</listitem>
</itemizedlist>
<command>jabber.server.flashtux.autoconnect</command>: automatically connect to server when WeeChat is starting
<itemizedlist>
<listitem>
<para>type: boolean</para>
</listitem>
<listitem>
<para>values: on, off (default value: )</para>
</listitem>
</itemizedlist>
<command>jabber.server.flashtux.autojoin</command>: comma separated list of MUCs to join when connected to server (example: "#chan1,#chan2,#chan3 key1,key2")
<itemizedlist>
<listitem>
<para>type: string</para>
</listitem>
<listitem>
<para>values: any string (default value: '')</para>
</listitem>
</itemizedlist>
<command>jabber.server.flashtux.autoreconnect</command>: automatically reconnect to server when disconnected
<itemizedlist>
<listitem>
<para>type: boolean</para>
</listitem>
<listitem>
<para>values: on, off (default value: )</para>
</listitem>
</itemizedlist>
<command>jabber.server.flashtux.autoreconnect_delay</command>: delay (in seconds) before trying again to reconnect to server
<itemizedlist>
<listitem>
<para>type: integer</para>
</listitem>
<listitem>
<para>values: 0 .. 65535 (default value: )</para>
</listitem>
</itemizedlist>
<command>jabber.server.flashtux.autorejoin</command>: automatically rejoin MUCs when kicked
<itemizedlist>
<listitem>
<para>type: boolean</para>
</listitem>
<listitem>
<para>values: on, off (default value: )</para>
</listitem>
</itemizedlist>
<command>jabber.server.flashtux.command</command>: command(s) to run when connected to server (many commands should be separated by ';', use '\;' for a semicolon, special variables $nick, $muc and $server are replaced by their value)
<itemizedlist>
<listitem>
<para>type: string</para>
</listitem>
<listitem>
<para>values: any string (default value: '')</para>
</listitem>
</itemizedlist>
<command>jabber.server.flashtux.command_delay</command>: delay (in seconds) after command was executed (example: give some time for authentication)
<itemizedlist>
<listitem>
<para>type: integer</para>
</listitem>
<listitem>
<para>values: 0 .. 3600 (default value: )</para>
</listitem>
</itemizedlist>
<command>jabber.server.flashtux.ipv6</command>: use IPv6 protocol for server communication
<itemizedlist>
<listitem>
<para>type: boolean</para>
</listitem>
<listitem>
<para>values: on, off (default value: )</para>
</listitem>
</itemizedlist>
<command>jabber.server.flashtux.local_alias</command>: local alias
<itemizedlist>
<listitem>
<para>type: string</para>
</listitem>
<listitem>
<para>values: any string (default value: '')</para>
</listitem>
</itemizedlist>
<command>jabber.server.flashtux.local_hostname</command>: custom local hostname/IP for server (optional, if empty local hostname is used)
<itemizedlist>
<listitem>
<para>type: string</para>
</listitem>
<listitem>
<para>values: any string (default value: '')</para>
</listitem>
</itemizedlist>
<command>jabber.server.flashtux.password</command>: password
<itemizedlist>
<listitem>
<para>type: string</para>
</listitem>
<listitem>
<para>values: any string (default value: '')</para>
</listitem>
</itemizedlist>
<command>jabber.server.flashtux.proxy</command>: proxy used for this server (optional)
<itemizedlist>
<listitem>
<para>type: string</para>
</listitem>
<listitem>
<para>values: any string (default value: '')</para>
</listitem>
</itemizedlist>
<command>jabber.server.flashtux.resource</command>: resource (for example: Home or Work)
<itemizedlist>
<listitem>
<para>type: string</para>
</listitem>
<listitem>
<para>values: any string (default value: '')</para>
</listitem>
</itemizedlist>
<command>jabber.server.flashtux.sasl</command>: use SASL for authentication
<itemizedlist>
<listitem>
<para>type: boolean</para>
</listitem>
<listitem>
<para>values: on, off (default value: )</para>
</listitem>
</itemizedlist>
<command>jabber.server.flashtux.server</command>: hostname/port or IP/port for server
<itemizedlist>
<listitem>
<para>type: string</para>
</listitem>
<listitem>
<para>values: any string (default value: '')</para>
</listitem>
</itemizedlist>
<command>jabber.server.flashtux.tls</command>: use TLS cryptographic protocol for server communication
<itemizedlist>
<listitem>
<para>type: boolean</para>
</listitem>
<listitem>
<para>values: on, off (default value: )</para>
</listitem>
</itemizedlist>
<command>jabber.server.flashtux.username</command>: user name to use on server
<itemizedlist>
<listitem>
<para>type: string</para>
</listitem>
<listitem>
<para>values: any string (default value: '')</para>
</listitem>
</itemizedlist>
<command>jabber.server.jabberfr.autoconnect</command>: automatically connect to server when WeeChat is starting
<itemizedlist>
<listitem>
<para>type: boolean</para>
</listitem>
<listitem>
<para>values: on, off (default value: )</para>
</listitem>
</itemizedlist>
<command>jabber.server.jabberfr.autojoin</command>: comma separated list of MUCs to join when connected to server (example: "#chan1,#chan2,#chan3 key1,key2")
<itemizedlist>
<listitem>
<para>type: string</para>
</listitem>
<listitem>
<para>values: any string (default value: '')</para>
</listitem>
</itemizedlist>
<command>jabber.server.jabberfr.autoreconnect</command>: automatically reconnect to server when disconnected
<itemizedlist>
<listitem>
<para>type: boolean</para>
</listitem>
<listitem>
<para>values: on, off (default value: )</para>
</listitem>
</itemizedlist>
<command>jabber.server.jabberfr.autoreconnect_delay</command>: delay (in seconds) before trying again to reconnect to server
<itemizedlist>
<listitem>
<para>type: integer</para>
</listitem>
<listitem>
<para>values: 0 .. 65535 (default value: )</para>
</listitem>
</itemizedlist>
<command>jabber.server.jabberfr.autorejoin</command>: automatically rejoin MUCs when kicked
<itemizedlist>
<listitem>
<para>type: boolean</para>
</listitem>
<listitem>
<para>values: on, off (default value: )</para>
</listitem>
</itemizedlist>
<command>jabber.server.jabberfr.command</command>: command(s) to run when connected to server (many commands should be separated by ';', use '\;' for a semicolon, special variables $nick, $muc and $server are replaced by their value)
<itemizedlist>
<listitem>
<para>type: string</para>
</listitem>
<listitem>
<para>values: any string (default value: '')</para>
</listitem>
</itemizedlist>
<command>jabber.server.jabberfr.command_delay</command>: delay (in seconds) after command was executed (example: give some time for authentication)
<itemizedlist>
<listitem>
<para>type: integer</para>
</listitem>
<listitem>
<para>values: 0 .. 3600 (default value: )</para>
</listitem>
</itemizedlist>
<command>jabber.server.jabberfr.ipv6</command>: use IPv6 protocol for server communication
<itemizedlist>
<listitem>
<para>type: boolean</para>
</listitem>
<listitem>
<para>values: on, off (default value: )</para>
</listitem>
</itemizedlist>
<command>jabber.server.jabberfr.local_alias</command>: local alias
<itemizedlist>
<listitem>
<para>type: string</para>
</listitem>
<listitem>
<para>values: any string (default value: '')</para>
</listitem>
</itemizedlist>
<command>jabber.server.jabberfr.local_hostname</command>: custom local hostname/IP for server (optional, if empty local hostname is used)
<itemizedlist>
<listitem>
<para>type: string</para>
</listitem>
<listitem>
<para>values: any string (default value: '')</para>
</listitem>
</itemizedlist>
<command>jabber.server.jabberfr.password</command>: password
<itemizedlist>
<listitem>
<para>type: string</para>
</listitem>
<listitem>
<para>values: any string (default value: '')</para>
</listitem>
</itemizedlist>
<command>jabber.server.jabberfr.proxy</command>: proxy used for this server (optional)
<itemizedlist>
<listitem>
<para>type: string</para>
</listitem>
<listitem>
<para>values: any string (default value: '')</para>
</listitem>
</itemizedlist>
<command>jabber.server.jabberfr.resource</command>: resource (for example: Home or Work)
<itemizedlist>
<listitem>
<para>type: string</para>
</listitem>
<listitem>
<para>values: any string (default value: '')</para>
</listitem>
</itemizedlist>
<command>jabber.server.jabberfr.sasl</command>: use SASL for authentication
<itemizedlist>
<listitem>
<para>type: boolean</para>
</listitem>
<listitem>
<para>values: on, off (default value: )</para>
</listitem>
</itemizedlist>
<command>jabber.server.jabberfr.server</command>: hostname/port or IP/port for server
<itemizedlist>
<listitem>
<para>type: string</para>
</listitem>
<listitem>
<para>values: any string (default value: '')</para>
</listitem>
</itemizedlist>
<command>jabber.server.jabberfr.tls</command>: use TLS cryptographic protocol for server communication
<itemizedlist>
<listitem>
<para>type: boolean</para>
</listitem>
<listitem>
<para>values: on, off (default value: )</para>
</listitem>
</itemizedlist>
<command>jabber.server.jabberfr.username</command>: user name to use on server
<itemizedlist>
<listitem>
<para>type: string</para>
</listitem>
<listitem>
<para>values: any string (default value: '')</para>
</listitem>
</itemizedlist>
<command>jabber.server_default.autoconnect</command>: automatically connect to server when WeeChat is starting
<itemizedlist>
<listitem>
<para>type: boolean</para>
</listitem>
<listitem>
<para>values: on, off (default value: off)</para>
</listitem>
</itemizedlist>
<command>jabber.server_default.autojoin</command>: comma separated list of MUCs to join when connected to server (example: "#chan1,#chan2,#chan3 key1,key2")
<itemizedlist>
<listitem>
<para>type: string</para>
</listitem>
<listitem>
<para>values: any string (default value: '')</para>
</listitem>
</itemizedlist>
<command>jabber.server_default.autoreconnect</command>: automatically reconnect to server when disconnected
<itemizedlist>
<listitem>
<para>type: boolean</para>
</listitem>
<listitem>
<para>values: on, off (default value: on)</para>
</listitem>
</itemizedlist>
<command>jabber.server_default.autoreconnect_delay</command>: delay (in seconds) before trying again to reconnect to server
<itemizedlist>
<listitem>
<para>type: integer</para>
</listitem>
<listitem>
<para>values: 0 .. 65535 (default value: 10)</para>
</listitem>
</itemizedlist>
<command>jabber.server_default.autorejoin</command>: automatically rejoin MUCs when kicked
<itemizedlist>
<listitem>
<para>type: boolean</para>
</listitem>
<listitem>
<para>values: on, off (default value: off)</para>
</listitem>
</itemizedlist>
<command>jabber.server_default.command</command>: command(s) to run when connected to server (many commands should be separated by ';', use '\;' for a semicolon, special variables $nick, $muc and $server are replaced by their value)
<itemizedlist>
<listitem>
<para>type: string</para>
</listitem>
<listitem>
<para>values: any string (default value: '')</para>
</listitem>
</itemizedlist>
<command>jabber.server_default.command_delay</command>: delay (in seconds) after command was executed (example: give some time for authentication)
<itemizedlist>
<listitem>
<para>type: integer</para>
</listitem>
<listitem>
<para>values: 0 .. 3600 (default value: 0)</para>
</listitem>
</itemizedlist>
<command>jabber.server_default.ipv6</command>: use IPv6 protocol for server communication
<itemizedlist>
<listitem>
<para>type: boolean</para>
</listitem>
<listitem>
<para>values: on, off (default value: off)</para>
</listitem>
</itemizedlist>
<command>jabber.server_default.local_alias</command>: local alias
<itemizedlist>
<listitem>
<para>type: string</para>
</listitem>
<listitem>
<para>values: any string (default value: '')</para>
</listitem>
</itemizedlist>
<command>jabber.server_default.local_hostname</command>: custom local hostname/IP for server (optional, if empty local hostname is used)
<itemizedlist>
<listitem>
<para>type: string</para>
</listitem>
<listitem>
<para>values: any string (default value: '')</para>
</listitem>
</itemizedlist>
<command>jabber.server_default.password</command>: password
<itemizedlist>
<listitem>
<para>type: string</para>
</listitem>
<listitem>
<para>values: any string (default value: '')</para>
</listitem>
</itemizedlist>
<command>jabber.server_default.proxy</command>: proxy used for this server (optional)
<itemizedlist>
<listitem>
<para>type: string</para>
</listitem>
<listitem>
<para>values: any string (default value: '')</para>
</listitem>
</itemizedlist>
<command>jabber.server_default.resource</command>: resource (for example: Home or Work)
<itemizedlist>
<listitem>
<para>type: string</para>
</listitem>
<listitem>
<para>values: any string (default value: '')</para>
</listitem>
</itemizedlist>
<command>jabber.server_default.sasl</command>: use SASL for authentication
<itemizedlist>
<listitem>
<para>type: boolean</para>
</listitem>
<listitem>
<para>values: on, off (default value: on)</para>
</listitem>
</itemizedlist>
<command>jabber.server_default.server</command>: hostname/port or IP/port for server
<itemizedlist>
<listitem>
<para>type: string</para>
</listitem>
<listitem>
<para>values: any string (default value: '')</para>
</listitem>
</itemizedlist>
<command>jabber.server_default.tls</command>: use TLS cryptographic protocol for server communication
<itemizedlist>
<listitem>
<para>type: boolean</para>
</listitem>
<listitem>
<para>values: on, off (default value: off)</para>
</listitem>
</itemizedlist>
<command>jabber.server_default.username</command>: user name to use on server
<itemizedlist>
<listitem>
<para>type: string</para>
</listitem>
<listitem>
<para>values: any string (default value: '')</para>
</listitem>
</itemizedlist>

View File

@ -10,7 +10,7 @@
<programlisting>
logger plugin configuration
list: show logging status for open buffers
list: show logging status for opened buffers
set: set logging level on current buffer
level: level for messages to be logged (0 = logging disabled, 1 = a few messages (most important) .. 9 = all messages)
disable: disable logging on current buffer (set level to 0)

View File

@ -61,7 +61,7 @@ manage buffers
move: move buffer in the list (may be relative, for example -1)
close: close buffer
list: list buffers (no parameter implies this list)
notify: display notify levels for all open buffers
notify: display notify levels for all opened buffers
localvar: display local variables for current buffer
scroll: scroll in history (may be relative, and may end by a letter: s=sec, m=min, h=hour, d=day, M=month, y=year); if there is only letter, then scroll to beginning of this item
@ -286,7 +286,7 @@ show WeeChat uptime
<programlisting>
manage windows
list: list open windows (no parameter implies this list)
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 #

View File

@ -25,7 +25,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
<title>IRC plugin</title>
<para>
The IRC plugin is designed to chat thru IRC protocols with other people.
The IRC plugin is designed to chat thru IRC protocol with other people.
It is multi-servers, and offers all supported IRC commands including DCC
chat and file transfer (via xfer plugin, see
<xref linkend="secPluginXfer" />).

View File

@ -0,0 +1,72 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
WeeChat documentation (english version)
Copyright (c) 2003-2009 by FlashCode <flashcode@flashtux.org>
This manual is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
This manual is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
-->
<section id="secPluginJabber">
<title>Jabber plugin</title>
<para>
The Jabber plugin is designed to chat thru XMPP protocol with other people.
It is multi-servers.
</para>
<section id="secJabberOptions">
<title>Options (file jabber.conf)</title>
<para>
&jabber_options.xml;
</para>
</section>
<section id="secJabberCommands">
<title>Commands</title>
<para>
&jabber_commands.xml;
</para>
</section>
<section id="secJabberInfosHooked">
<title>Infos and infolists</title>
<para>
<informaltable colsep="0" frame="none">
<tgroup cols="3">
<thead>
<row>
<entry>Type</entry>
<entry>Name</entry>
<entry>Description</entry>
</row>
</thead>
<tbody>
&jabber_infos.xml;
</tbody>
</tgroup>
</informaltable>
</para>
</section>
</section>

View File

@ -93,6 +93,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
<listitem>
<para>irc: IRC chat protocol</para>
</listitem>
<listitem>
<para>jabber: Jabber chat protocol</para>
</listitem>
<listitem>
<para>logger: log buffers to files</para>
</listitem>
@ -132,6 +135,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
&plugin_irc.en.xml;
&plugin_jabber.en.xml;
&plugin_logger.en.xml;
&plugin_scripts.en.xml;

View File

@ -39,6 +39,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
<!ENTITY plugin_charset.en.xml SYSTEM "plugin_charset.en.xml">
<!ENTITY plugin_fifo.en.xml SYSTEM "plugin_fifo.en.xml">
<!ENTITY plugin_irc.en.xml SYSTEM "plugin_irc.en.xml">
<!ENTITY plugin_jabber.en.xml SYSTEM "plugin_jabber.en.xml">
<!ENTITY plugin_logger.en.xml SYSTEM "plugin_logger.en.xml">
<!ENTITY plugin_scripts.en.xml SYSTEM "plugin_scripts.en.xml">
<!ENTITY plugin_xfer.en.xml SYSTEM "plugin_xfer.en.xml">

View File

@ -28,6 +28,9 @@ BOOK_AUTOGEN_INCLUDE = ../include_autogen.xml \
autogen/irc_commands.xml \
autogen/irc_infos.xml \
autogen/irc_options.xml \
autogen/jabber_commands.xml \
autogen/jabber_infos.xml \
autogen/jabber_options.xml \
autogen/logger_commands.xml \
autogen/logger_infos.xml \
autogen/logger_options.xml \
@ -56,6 +59,7 @@ BOOK_USER_INCLUDE = user/install.$(LANGCODE).xml \
user/plugin_charset.$(LANGCODE).xml \
user/plugin_fifo.$(LANGCODE).xml \
user/plugin_irc.$(LANGCODE).xml \
user/plugin_jabber.$(LANGCODE).xml \
user/plugin_logger.$(LANGCODE).xml \
user/plugin_scripts.$(LANGCODE).xml \
user/plugin_xfer.$(LANGCODE).xml

View File

@ -6,15 +6,15 @@
docgen.pl builds XML doc files to include in many languages
-->
<command>/aspell [list | enable lang | disable | addword [lang] word]</command>
<command>/aspell dictlist | enable lang | disable | addword [lang] word</command>
<programlisting>
configuration de l'extension aspell
list: affichier les dictionnaires installés
enable: active aspell sur le tampon courant
disable: désactive aspell sur le tampon courant
addword: ajoute un mot dans le dictionnaire personnel aspell
dictlist: afficher les dictionnaires installés
enable: active aspell sur le tampon courant
disable: désactive aspell sur le tampon courant
addword: ajoute un mot dans le dictionnaire personnel aspell
Les lignes d'entrée commençant par '/' ne sont pas vérifiées, excepté pour certaines commandes.
Les lignes d'entrée commençant par '/' ne sont pas vérifiées, sauf pour certaines commandes.
</programlisting>

View File

@ -45,7 +45,7 @@ pseudo: pseudo ou hôte pour le bannissement
<command>/connect [-all [-nojoin] | nom_serveur [nom_serveur ...] [-nojoin] | nom/IP [-port port] [-ipv6] [-ssl]]</command>
<programlisting>
se connecter à un/plusieurs serveur(s)
se connecter à un/plusieurs serveur(s) IRC
-all: se reconnecter à tous les serveurs
nom_serveur: nom du serveur pour se connecter
@ -104,7 +104,7 @@ arrêter le serveur
<command>/disconnect [-all | nom_serveur [nom_serveur...]]</command>
<programlisting>
se déconnecter d'un/plusieurs serveur(s)
se déconnecter d'un/plusieurs serveur(s) IRC
-all: se déconnecter de tous les serveurs
nom_serveur: nom du serveur pour se déconnecter
@ -360,7 +360,7 @@ demander au serveur de redémarrer
<command>/server [list [nom_serveur]] | [listfull [nom_serveur]] | [add nom_serveur nom[/port] [-temp] [-auto | -noauto] [-ipv6] [-ssl]] | [copy nom_serveur nouveau_nom_serveur] | [rename nom_serveur nouveau_nom_serveur] | [keep nom_serveur] | [del nom_serveur] | [deloutq] | [switch]</command>
<programlisting>
liste, ajoute ou retire des serveurs
liste, ajoute ou retire des serveurs IRC
list: afficher les serveurs (pas de paramètre implique cette liste)
listfull: afficher les serveurs avec de l'info détaillée pour chaque

View File

@ -276,7 +276,7 @@
</listitem>
</itemizedlist>
<command>irc.network.send_unknown_commands</command>: envoie les commandes inconnues au serveur IRC
<command>irc.network.send_unknown_commands</command>: envoie les commandes inconnues au serveur
<itemizedlist>
<listitem>
<para>type: booléen</para>
@ -286,7 +286,7 @@
</listitem>
</itemizedlist>
<command>irc.server_default.addresses</command>: liste d'IP/port ou nom/port pour le serveur (séparés par des virgules)
<command>irc.server_default.addresses</command>: liste de nom/port ou IP/port pour le serveur (séparés par des virgules)
<itemizedlist>
<listitem>
<para>type: chaîne</para>
@ -386,7 +386,7 @@
</listitem>
</itemizedlist>
<command>irc.server_default.nicks</command>: pseudos à utiliser sur le serveur IRC (séparés par des virgules)
<command>irc.server_default.nicks</command>: pseudos à utiliser sur le serveur (séparés par des virgules)
<itemizedlist>
<listitem>
<para>type: chaîne</para>
@ -396,7 +396,7 @@
</listitem>
</itemizedlist>
<command>irc.server_default.password</command>: mot de passe pour le serveur IRC
<command>irc.server_default.password</command>: mot de passe pour le serveur
<itemizedlist>
<listitem>
<para>type: chaîne</para>
@ -416,7 +416,7 @@
</listitem>
</itemizedlist>
<command>irc.server_default.realname</command>: nom réel pour le serveur IRC
<command>irc.server_default.realname</command>: nom réel pour le serveur
<itemizedlist>
<listitem>
<para>type: chaîne</para>
@ -436,7 +436,7 @@
</listitem>
</itemizedlist>
<command>irc.server_default.username</command>: nom d'utilisateur pour le serveur IRC
<command>irc.server_default.username</command>: nom d'utilisateur pour le serveur
<itemizedlist>
<listitem>
<para>type: chaîne</para>

View File

@ -0,0 +1,39 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
********* WARNING! *********
This file is autogenerated with docgen.pl script. *** DO NOT EDIT! ***
docgen.pl builds XML doc files to include in many languages
-->
<command>/jabber [list [nom_serveur]] | [listfull [nom_serveur]] | [add nom_serveur nom_utilisateur nom[/port] mot_de_passe [-temp] [-auto | -noauto] [-ipv6] [-tls] [-sasl]] | [copy nom_serveur nouveau_nom_serveur] | [rename nom_serveur nouveau_nom_serveur] | [keep nom_serveur] | [del nom_serveur] | [switch]</command>
<programlisting>
liste, ajoute ou retire des serveurs Jabber
list: afficher les serveurs (pas de paramètre implique cette liste)
listfull: afficher les serveurs avec de l'info détaillée pour chaque
add: créer un nouveau serveur
nom_serveur: nom du serveur, pour usage interne et affichage
nom_utilisateur: nom d'utilisateur pour ce serveur
nom: nom ou adresse IP du serveur avec port en option (defaut: 5222)
mot_de_passe: mot de passe pour l'utilisateur sur le serveur
auto: se connecter automatiquement au serveur quand WeeChat démarre
noauto: ne pas se connecter au serveur quand WeeChat démarre (par défaut)
ipv6: utiliser le protocole IPv6
tsl: utiliser le protocole de chiffrement TLS
sasl: utiliser SASL pour l'authentification
copy: dupliquer un serveur
rename: renommer un serveur
keep: garder le serveur dans le fichier de configuration (pour les serveurs temporaires seulement)
del: supprimer un serveur
switch: changer le serveur actif (quand un tampon est utilisé pour tous les serveurs, touche par défaut: alt-s sur le tampon serveur)
Exemples :
/jabber listfull
/jabber add jabberfr user jabber.fr/5222 password -tls
/jabber copy jabberfr jabberfr2
/jabber rename jabberfr jabbfr
/jabber del jabberfr
/jabber switch
</programlisting>

View File

@ -0,0 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
********* WARNING! *********
This file is autogenerated with docgen.pl script. *** DO NOT EDIT! ***
docgen.pl builds XML doc files to include in many languages
-->
<row>
<entry>info</entry>
<entry>jabber_buffer</entry>
<entry>retourne le pointeur vers le tampon pour un serveur/MUC Jabber</entry>
</row>
<row>
<entry>infolist</entry>
<entry>jabber_buddy</entry>
<entry>liste des contacts pour un serveur ou MUC Jabber</entry>
</row>
<row>
<entry>infolist</entry>
<entry>jabber_muc</entry>
<entry>liste des MUCs pour un serveur Jabber</entry>
</row>
<row>
<entry>infolist</entry>
<entry>jabber_server</entry>
<entry>liste des serveurs Jabber</entry>
</row>

View File

@ -0,0 +1,768 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
********* WARNING! *********
This file is autogenerated with docgen.pl script. *** DO NOT EDIT! ***
docgen.pl builds XML doc files to include in many languages
-->
<command>jabber.color.input_nick</command>: couleur du pseudo dans la barre de saisie
<itemizedlist>
<listitem>
<para>type: couleur</para>
</listitem>
<listitem>
<para>valeurs: un nom de couleur (valeur par défaut: lightcyan)</para>
</listitem>
</itemizedlist>
<command>jabber.color.message_join</command>: couleur pour le texte dans les messages join
<itemizedlist>
<listitem>
<para>type: couleur</para>
</listitem>
<listitem>
<para>valeurs: un nom de couleur (valeur par défaut: green)</para>
</listitem>
</itemizedlist>
<command>jabber.color.message_quit</command>: couleur pour le texte dans les messages part/quit
<itemizedlist>
<listitem>
<para>type: couleur</para>
</listitem>
<listitem>
<para>valeurs: un nom de couleur (valeur par défaut: red)</para>
</listitem>
</itemizedlist>
<command>jabber.look.color_nicks_in_server_messages</command>: utiliser la couleur du pseudo dans les messages du serveur
<itemizedlist>
<listitem>
<para>type: booléen</para>
</listitem>
<listitem>
<para>valeurs: on, off (valeur par défaut: on)</para>
</listitem>
</itemizedlist>
<command>jabber.look.display_away</command>: affiche un message pour l'absence/le retour
<itemizedlist>
<listitem>
<para>type: entier</para>
</listitem>
<listitem>
<para>valeurs: off, local, muc (valeur par défaut: local)</para>
</listitem>
</itemizedlist>
<command>jabber.look.display_muc_modes</command>: affiche les modes du MUC dans l'objet de barre "buffer_name"
<itemizedlist>
<listitem>
<para>type: booléen</para>
</listitem>
<listitem>
<para>valeurs: on, off (valeur par défaut: on)</para>
</listitem>
</itemizedlist>
<command>jabber.look.hide_nickserv_pwd</command>: masquer le mot de passe affiché par nickserv
<itemizedlist>
<listitem>
<para>type: booléen</para>
</listitem>
<listitem>
<para>valeurs: on, off (valeur par défaut: on)</para>
</listitem>
</itemizedlist>
<command>jabber.look.highlight_tags</command>: liste des tags pour les messages qui peuvent produire un highlight (séparés par des virgules, typiquement tout message venant d'un autre utilisateur, pas les messages du serveur, ...)
<itemizedlist>
<listitem>
<para>type: chaîne</para>
</listitem>
<listitem>
<para>valeurs: toute chaîne (valeur par défaut: 'jabber_chat_msg,jabber_notice')</para>
</listitem>
</itemizedlist>
<command>jabber.look.nick_completion_smart</command>: complétion intelligente pour les pseudos (complète d'abord avec les personnes qui ont parlé récemment)
<itemizedlist>
<listitem>
<para>type: booléen</para>
</listitem>
<listitem>
<para>valeurs: on, off (valeur par défaut: on)</para>
</listitem>
</itemizedlist>
<command>jabber.look.nick_prefix</command>: texte à afficher avant le pseudo dans la fenêtre de discussion
<itemizedlist>
<listitem>
<para>type: chaîne</para>
</listitem>
<listitem>
<para>valeurs: toute chaîne (valeur par défaut: '')</para>
</listitem>
</itemizedlist>
<command>jabber.look.nick_suffix</command>: texte à afficher après le pseudo dans la fenêtre de discussion
<itemizedlist>
<listitem>
<para>type: chaîne</para>
</listitem>
<listitem>
<para>valeurs: toute chaîne (valeur par défaut: '')</para>
</listitem>
</itemizedlist>
<command>jabber.look.notice_as_pv</command>: afficher les notices comme des messages privés
<itemizedlist>
<listitem>
<para>type: booléen</para>
</listitem>
<listitem>
<para>valeurs: on, off (valeur par défaut: off)</para>
</listitem>
</itemizedlist>
<command>jabber.look.one_server_buffer</command>: utiliser le même tampon pour tous les serveurs
<itemizedlist>
<listitem>
<para>type: booléen</para>
</listitem>
<listitem>
<para>valeurs: on, off (valeur par défaut: off)</para>
</listitem>
</itemizedlist>
<command>jabber.look.open_near_server</command>: ouvrir les nouveaux MUCs/privés près du serveur
<itemizedlist>
<listitem>
<para>type: booléen</para>
</listitem>
<listitem>
<para>valeurs: on, off (valeur par défaut: off)</para>
</listitem>
</itemizedlist>
<command>jabber.look.show_away_once</command>: voir le message d'absence distant une seule fois en privé
<itemizedlist>
<listitem>
<para>type: booléen</para>
</listitem>
<listitem>
<para>valeurs: on, off (valeur par défaut: on)</para>
</listitem>
</itemizedlist>
<command>jabber.look.smart_filter</command>: filtrer les messages join/part/quit pour un pseudo s'il n'a pas parlé pendant quelques minutes sur le MUC (vous devez créer un filtre sur le tag "jabber_smart_filter")
<itemizedlist>
<listitem>
<para>type: booléen</para>
</listitem>
<listitem>
<para>valeurs: on, off (valeur par défaut: off)</para>
</listitem>
</itemizedlist>
<command>jabber.look.smart_filter_delay</command>: délai pour filtrer les messages join/part/quit (en minutes)
<itemizedlist>
<listitem>
<para>type: entier</para>
</listitem>
<listitem>
<para>valeurs: 1 .. 10080 (valeur par défaut: 5)</para>
</listitem>
</itemizedlist>
<command>jabber.network.anti_flood</command>: anti-flood: nombre de secondes entre deux messages utilisateur (0 = pas d'anti-flood)
<itemizedlist>
<listitem>
<para>type: entier</para>
</listitem>
<listitem>
<para>valeurs: 0 .. 5 (valeur par défaut: 2)</para>
</listitem>
</itemizedlist>
<command>jabber.network.colors_receive</command>: si désactivé, les codes couleurs des messages entrants sont ignorés
<itemizedlist>
<listitem>
<para>type: booléen</para>
</listitem>
<listitem>
<para>valeurs: on, off (valeur par défaut: on)</para>
</listitem>
</itemizedlist>
<command>jabber.network.colors_send</command>: autorise l'utilisateur à envoyer des couleurs avec des codes spéciaux (^Cb=gras, ^Cxx=couleur, ^Ccxx,yy=couleur+fond, ^Cu=souligné, ^Cr=inversé)
<itemizedlist>
<listitem>
<para>type: booléen</para>
</listitem>
<listitem>
<para>valeurs: on, off (valeur par défaut: on)</para>
</listitem>
</itemizedlist>
<command>jabber.network.default_msg_part</command>: message par défaut pour le part (en quittant un MUC) ('%v' sera remplacé par la version de WeeChat dans la chaîne)
<itemizedlist>
<listitem>
<para>type: chaîne</para>
</listitem>
<listitem>
<para>valeurs: toute chaîne (valeur par défaut: 'WeeChat %v')</para>
</listitem>
</itemizedlist>
<command>jabber.network.default_msg_quit</command>: message de fin par défaut (lors de la déconnexion du serveur) ('%v' sera remplacé par la version de WeeChat dans la chaîne)
<itemizedlist>
<listitem>
<para>type: chaîne</para>
</listitem>
<listitem>
<para>valeurs: toute chaîne (valeur par défaut: 'WeeChat %v')</para>
</listitem>
</itemizedlist>
<command>jabber.network.lag_check</command>: intervalle entre deux vérifications des absences (en secondes, 0 = ne jamais vérifier)
<itemizedlist>
<listitem>
<para>type: entier</para>
</listitem>
<listitem>
<para>valeurs: 0 .. 2147483647 (valeur par défaut: 60)</para>
</listitem>
</itemizedlist>
<command>jabber.network.lag_disconnect</command>: déconnexion après un lag important (en minutes, 0 = ne jamais se déconnecter)
<itemizedlist>
<listitem>
<para>type: entier</para>
</listitem>
<listitem>
<para>valeurs: 0 .. 2147483647 (valeur par défaut: 5)</para>
</listitem>
</itemizedlist>
<command>jabber.network.lag_min_show</command>: lag minimum à afficher (en secondes)
<itemizedlist>
<listitem>
<para>type: entier</para>
</listitem>
<listitem>
<para>valeurs: 0 .. 2147483647 (valeur par défaut: 1)</para>
</listitem>
</itemizedlist>
<command>jabber.server.flashtux.autoconnect</command>: connexion automatique au serveur quand WeeChat démarre
<itemizedlist>
<listitem>
<para>type: booléen</para>
</listitem>
<listitem>
<para>valeurs: on, off (valeur par défaut: )</para>
</listitem>
</itemizedlist>
<command>jabber.server.flashtux.autojoin</command>: liste des MUCs (séparés par des virgules) à rejoindre lorsque connecté au serveur (exemple: "#chan1,#chan2,#chan3 key1,key2")
<itemizedlist>
<listitem>
<para>type: chaîne</para>
</listitem>
<listitem>
<para>valeurs: toute chaîne (valeur par défaut: '')</para>
</listitem>
</itemizedlist>
<command>jabber.server.flashtux.autoreconnect</command>: reconnexion automatique au serveur après une déconnexion
<itemizedlist>
<listitem>
<para>type: booléen</para>
</listitem>
<listitem>
<para>valeurs: on, off (valeur par défaut: )</para>
</listitem>
</itemizedlist>
<command>jabber.server.flashtux.autoreconnect_delay</command>: délai (en secondes) avant de tenter une reconnexion au serveur
<itemizedlist>
<listitem>
<para>type: entier</para>
</listitem>
<listitem>
<para>valeurs: 0 .. 65535 (valeur par défaut: )</para>
</listitem>
</itemizedlist>
<command>jabber.server.flashtux.autorejoin</command>: rejoindre automatiquement les MUCs quand mis dehors
<itemizedlist>
<listitem>
<para>type: booléen</para>
</listitem>
<listitem>
<para>valeurs: on, off (valeur par défaut: )</para>
</listitem>
</itemizedlist>
<command>jabber.server.flashtux.command</command>: commande(s) à exécuter lorsque connecté au serveur (plusieurs commandes doivent être séparées par ';', utilisez '\;' pour un point-virgule, les variables spéciales $nick, $muc et $server sont remplacées par leur valeur)
<itemizedlist>
<listitem>
<para>type: chaîne</para>
</listitem>
<listitem>
<para>valeurs: toute chaîne (valeur par défaut: '')</para>
</listitem>
</itemizedlist>
<command>jabber.server.flashtux.command_delay</command>: délai (en secondes) après exécution de la commande (exemple: donner du temps pour l'authentification)
<itemizedlist>
<listitem>
<para>type: entier</para>
</listitem>
<listitem>
<para>valeurs: 0 .. 3600 (valeur par défaut: )</para>
</listitem>
</itemizedlist>
<command>jabber.server.flashtux.ipv6</command>: utiliser le protocole IPv6 pour la communication avec le serveur
<itemizedlist>
<listitem>
<para>type: booléen</para>
</listitem>
<listitem>
<para>valeurs: on, off (valeur par défaut: )</para>
</listitem>
</itemizedlist>
<command>jabber.server.flashtux.local_alias</command>: alias local
<itemizedlist>
<listitem>
<para>type: chaîne</para>
</listitem>
<listitem>
<para>valeurs: toute chaîne (valeur par défaut: '')</para>
</listitem>
</itemizedlist>
<command>jabber.server.flashtux.local_hostname</command>: nom local de machine/IP personnalisé pour le serveur (optionnel, si non renseigné, le nom de machine local est utilisé)
<itemizedlist>
<listitem>
<para>type: chaîne</para>
</listitem>
<listitem>
<para>valeurs: toute chaîne (valeur par défaut: '')</para>
</listitem>
</itemizedlist>
<command>jabber.server.flashtux.password</command>: mot de passe
<itemizedlist>
<listitem>
<para>type: chaîne</para>
</listitem>
<listitem>
<para>valeurs: toute chaîne (valeur par défaut: '')</para>
</listitem>
</itemizedlist>
<command>jabber.server.flashtux.proxy</command>: proxy utilisé pour ce serveur (optionnel)
<itemizedlist>
<listitem>
<para>type: chaîne</para>
</listitem>
<listitem>
<para>valeurs: toute chaîne (valeur par défaut: '')</para>
</listitem>
</itemizedlist>
<command>jabber.server.flashtux.resource</command>: ressource (pas exemple: Maison ou Travail)
<itemizedlist>
<listitem>
<para>type: chaîne</para>
</listitem>
<listitem>
<para>valeurs: toute chaîne (valeur par défaut: '')</para>
</listitem>
</itemizedlist>
<command>jabber.server.flashtux.sasl</command>: utiliser SASL pour l'authentification
<itemizedlist>
<listitem>
<para>type: booléen</para>
</listitem>
<listitem>
<para>valeurs: on, off (valeur par défaut: )</para>
</listitem>
</itemizedlist>
<command>jabber.server.flashtux.server</command>: nom/port ou IP/port pour le serveur
<itemizedlist>
<listitem>
<para>type: chaîne</para>
</listitem>
<listitem>
<para>valeurs: toute chaîne (valeur par défaut: '')</para>
</listitem>
</itemizedlist>
<command>jabber.server.flashtux.tls</command>: utiliser le protocole de chiffrement TLS pour la communication avec le serveur
<itemizedlist>
<listitem>
<para>type: booléen</para>
</listitem>
<listitem>
<para>valeurs: on, off (valeur par défaut: )</para>
</listitem>
</itemizedlist>
<command>jabber.server.flashtux.username</command>: nom d'utilisateur pour le serveur
<itemizedlist>
<listitem>
<para>type: chaîne</para>
</listitem>
<listitem>
<para>valeurs: toute chaîne (valeur par défaut: '')</para>
</listitem>
</itemizedlist>
<command>jabber.server.jabberfr.autoconnect</command>: connexion automatique au serveur quand WeeChat démarre
<itemizedlist>
<listitem>
<para>type: booléen</para>
</listitem>
<listitem>
<para>valeurs: on, off (valeur par défaut: )</para>
</listitem>
</itemizedlist>
<command>jabber.server.jabberfr.autojoin</command>: liste des MUCs (séparés par des virgules) à rejoindre lorsque connecté au serveur (exemple: "#chan1,#chan2,#chan3 key1,key2")
<itemizedlist>
<listitem>
<para>type: chaîne</para>
</listitem>
<listitem>
<para>valeurs: toute chaîne (valeur par défaut: '')</para>
</listitem>
</itemizedlist>
<command>jabber.server.jabberfr.autoreconnect</command>: reconnexion automatique au serveur après une déconnexion
<itemizedlist>
<listitem>
<para>type: booléen</para>
</listitem>
<listitem>
<para>valeurs: on, off (valeur par défaut: )</para>
</listitem>
</itemizedlist>
<command>jabber.server.jabberfr.autoreconnect_delay</command>: délai (en secondes) avant de tenter une reconnexion au serveur
<itemizedlist>
<listitem>
<para>type: entier</para>
</listitem>
<listitem>
<para>valeurs: 0 .. 65535 (valeur par défaut: )</para>
</listitem>
</itemizedlist>
<command>jabber.server.jabberfr.autorejoin</command>: rejoindre automatiquement les MUCs quand mis dehors
<itemizedlist>
<listitem>
<para>type: booléen</para>
</listitem>
<listitem>
<para>valeurs: on, off (valeur par défaut: )</para>
</listitem>
</itemizedlist>
<command>jabber.server.jabberfr.command</command>: commande(s) à exécuter lorsque connecté au serveur (plusieurs commandes doivent être séparées par ';', utilisez '\;' pour un point-virgule, les variables spéciales $nick, $muc et $server sont remplacées par leur valeur)
<itemizedlist>
<listitem>
<para>type: chaîne</para>
</listitem>
<listitem>
<para>valeurs: toute chaîne (valeur par défaut: '')</para>
</listitem>
</itemizedlist>
<command>jabber.server.jabberfr.command_delay</command>: délai (en secondes) après exécution de la commande (exemple: donner du temps pour l'authentification)
<itemizedlist>
<listitem>
<para>type: entier</para>
</listitem>
<listitem>
<para>valeurs: 0 .. 3600 (valeur par défaut: )</para>
</listitem>
</itemizedlist>
<command>jabber.server.jabberfr.ipv6</command>: utiliser le protocole IPv6 pour la communication avec le serveur
<itemizedlist>
<listitem>
<para>type: booléen</para>
</listitem>
<listitem>
<para>valeurs: on, off (valeur par défaut: )</para>
</listitem>
</itemizedlist>
<command>jabber.server.jabberfr.local_alias</command>: alias local
<itemizedlist>
<listitem>
<para>type: chaîne</para>
</listitem>
<listitem>
<para>valeurs: toute chaîne (valeur par défaut: '')</para>
</listitem>
</itemizedlist>
<command>jabber.server.jabberfr.local_hostname</command>: nom local de machine/IP personnalisé pour le serveur (optionnel, si non renseigné, le nom de machine local est utilisé)
<itemizedlist>
<listitem>
<para>type: chaîne</para>
</listitem>
<listitem>
<para>valeurs: toute chaîne (valeur par défaut: '')</para>
</listitem>
</itemizedlist>
<command>jabber.server.jabberfr.password</command>: mot de passe
<itemizedlist>
<listitem>
<para>type: chaîne</para>
</listitem>
<listitem>
<para>valeurs: toute chaîne (valeur par défaut: '')</para>
</listitem>
</itemizedlist>
<command>jabber.server.jabberfr.proxy</command>: proxy utilisé pour ce serveur (optionnel)
<itemizedlist>
<listitem>
<para>type: chaîne</para>
</listitem>
<listitem>
<para>valeurs: toute chaîne (valeur par défaut: '')</para>
</listitem>
</itemizedlist>
<command>jabber.server.jabberfr.resource</command>: ressource (pas exemple: Maison ou Travail)
<itemizedlist>
<listitem>
<para>type: chaîne</para>
</listitem>
<listitem>
<para>valeurs: toute chaîne (valeur par défaut: '')</para>
</listitem>
</itemizedlist>
<command>jabber.server.jabberfr.sasl</command>: utiliser SASL pour l'authentification
<itemizedlist>
<listitem>
<para>type: booléen</para>
</listitem>
<listitem>
<para>valeurs: on, off (valeur par défaut: )</para>
</listitem>
</itemizedlist>
<command>jabber.server.jabberfr.server</command>: nom/port ou IP/port pour le serveur
<itemizedlist>
<listitem>
<para>type: chaîne</para>
</listitem>
<listitem>
<para>valeurs: toute chaîne (valeur par défaut: '')</para>
</listitem>
</itemizedlist>
<command>jabber.server.jabberfr.tls</command>: utiliser le protocole de chiffrement TLS pour la communication avec le serveur
<itemizedlist>
<listitem>
<para>type: booléen</para>
</listitem>
<listitem>
<para>valeurs: on, off (valeur par défaut: )</para>
</listitem>
</itemizedlist>
<command>jabber.server.jabberfr.username</command>: nom d'utilisateur pour le serveur
<itemizedlist>
<listitem>
<para>type: chaîne</para>
</listitem>
<listitem>
<para>valeurs: toute chaîne (valeur par défaut: '')</para>
</listitem>
</itemizedlist>
<command>jabber.server_default.autoconnect</command>: connexion automatique au serveur quand WeeChat démarre
<itemizedlist>
<listitem>
<para>type: booléen</para>
</listitem>
<listitem>
<para>valeurs: on, off (valeur par défaut: off)</para>
</listitem>
</itemizedlist>
<command>jabber.server_default.autojoin</command>: liste des MUCs (séparés par des virgules) à rejoindre lorsque connecté au serveur (exemple: "#chan1,#chan2,#chan3 key1,key2")
<itemizedlist>
<listitem>
<para>type: chaîne</para>
</listitem>
<listitem>
<para>valeurs: toute chaîne (valeur par défaut: '')</para>
</listitem>
</itemizedlist>
<command>jabber.server_default.autoreconnect</command>: reconnexion automatique au serveur après une déconnexion
<itemizedlist>
<listitem>
<para>type: booléen</para>
</listitem>
<listitem>
<para>valeurs: on, off (valeur par défaut: on)</para>
</listitem>
</itemizedlist>
<command>jabber.server_default.autoreconnect_delay</command>: délai (en secondes) avant de tenter une reconnexion au serveur
<itemizedlist>
<listitem>
<para>type: entier</para>
</listitem>
<listitem>
<para>valeurs: 0 .. 65535 (valeur par défaut: 10)</para>
</listitem>
</itemizedlist>
<command>jabber.server_default.autorejoin</command>: rejoindre automatiquement les MUCs quand mis dehors
<itemizedlist>
<listitem>
<para>type: booléen</para>
</listitem>
<listitem>
<para>valeurs: on, off (valeur par défaut: off)</para>
</listitem>
</itemizedlist>
<command>jabber.server_default.command</command>: commande(s) à exécuter lorsque connecté au serveur (plusieurs commandes doivent être séparées par ';', utilisez '\;' pour un point-virgule, les variables spéciales $nick, $muc et $server sont remplacées par leur valeur)
<itemizedlist>
<listitem>
<para>type: chaîne</para>
</listitem>
<listitem>
<para>valeurs: toute chaîne (valeur par défaut: '')</para>
</listitem>
</itemizedlist>
<command>jabber.server_default.command_delay</command>: délai (en secondes) après exécution de la commande (exemple: donner du temps pour l'authentification)
<itemizedlist>
<listitem>
<para>type: entier</para>
</listitem>
<listitem>
<para>valeurs: 0 .. 3600 (valeur par défaut: 0)</para>
</listitem>
</itemizedlist>
<command>jabber.server_default.ipv6</command>: utiliser le protocole IPv6 pour la communication avec le serveur
<itemizedlist>
<listitem>
<para>type: booléen</para>
</listitem>
<listitem>
<para>valeurs: on, off (valeur par défaut: off)</para>
</listitem>
</itemizedlist>
<command>jabber.server_default.local_alias</command>: alias local
<itemizedlist>
<listitem>
<para>type: chaîne</para>
</listitem>
<listitem>
<para>valeurs: toute chaîne (valeur par défaut: '')</para>
</listitem>
</itemizedlist>
<command>jabber.server_default.local_hostname</command>: nom local de machine/IP personnalisé pour le serveur (optionnel, si non renseigné, le nom de machine local est utilisé)
<itemizedlist>
<listitem>
<para>type: chaîne</para>
</listitem>
<listitem>
<para>valeurs: toute chaîne (valeur par défaut: '')</para>
</listitem>
</itemizedlist>
<command>jabber.server_default.password</command>: mot de passe
<itemizedlist>
<listitem>
<para>type: chaîne</para>
</listitem>
<listitem>
<para>valeurs: toute chaîne (valeur par défaut: '')</para>
</listitem>
</itemizedlist>
<command>jabber.server_default.proxy</command>: proxy utilisé pour ce serveur (optionnel)
<itemizedlist>
<listitem>
<para>type: chaîne</para>
</listitem>
<listitem>
<para>valeurs: toute chaîne (valeur par défaut: '')</para>
</listitem>
</itemizedlist>
<command>jabber.server_default.resource</command>: ressource (pas exemple: Maison ou Travail)
<itemizedlist>
<listitem>
<para>type: chaîne</para>
</listitem>
<listitem>
<para>valeurs: toute chaîne (valeur par défaut: '')</para>
</listitem>
</itemizedlist>
<command>jabber.server_default.sasl</command>: utiliser SASL pour l'authentification
<itemizedlist>
<listitem>
<para>type: booléen</para>
</listitem>
<listitem>
<para>valeurs: on, off (valeur par défaut: on)</para>
</listitem>
</itemizedlist>
<command>jabber.server_default.server</command>: nom/port ou IP/port pour le serveur
<itemizedlist>
<listitem>
<para>type: chaîne</para>
</listitem>
<listitem>
<para>valeurs: toute chaîne (valeur par défaut: '')</para>
</listitem>
</itemizedlist>
<command>jabber.server_default.tls</command>: utiliser le protocole de chiffrement TLS pour la communication avec le serveur
<itemizedlist>
<listitem>
<para>type: booléen</para>
</listitem>
<listitem>
<para>valeurs: on, off (valeur par défaut: off)</para>
</listitem>
</itemizedlist>
<command>jabber.server_default.username</command>: nom d'utilisateur pour le serveur
<itemizedlist>
<listitem>
<para>type: chaîne</para>
</listitem>
<listitem>
<para>valeurs: toute chaîne (valeur par défaut: '')</para>
</listitem>
</itemizedlist>

View File

@ -0,0 +1,73 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
WeeChat documentation (french version)
Copyright (c) 2003-2009 by FlashCode <flashcode@flashtux.org>
This manual is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
This manual is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
-->
<section id="secPluginJabber">
<title>Extension Jabber</title>
<para>
L'extension Jabber permet de dialoguer avec d'autres personnes via le
protocole XMPP.
Elle est multi-serveurs.
</para>
<section id="secJabberOptions">
<title>Options (fichier jabber.conf)</title>
<para>
&jabber_options.xml;
</para>
</section>
<section id="secJabberCommands">
<title>Commandes</title>
<para>
&jabber_commands.xml;
</para>
</section>
<section id="secJabberInfosHooked">
<title>Infos et infolists</title>
<para>
<informaltable colsep="0" frame="none">
<tgroup cols="3">
<thead>
<row>
<entry>Type</entry>
<entry>Nom</entry>
<entry>Description</entry>
</row>
</thead>
<tbody>
&jabber_infos.xml;
</tbody>
</tgroup>
</informaltable>
</para>
</section>
</section>

View File

@ -96,6 +96,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
<listitem>
<para>irc: discussion avec le protocole IRC</para>
</listitem>
<listitem>
<para>jabber: discussion avec le protocole Jabber</para>
</listitem>
<listitem>
<para>logger: enregistrement des tampons dans des fichiers</para>
</listitem>
@ -135,6 +138,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
&plugin_irc.fr.xml;
&plugin_jabber.fr.xml;
&plugin_logger.fr.xml;
&plugin_scripts.fr.xml;

View File

@ -39,6 +39,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
<!ENTITY plugin_charset.fr.xml SYSTEM "plugin_charset.fr.xml">
<!ENTITY plugin_fifo.fr.xml SYSTEM "plugin_fifo.fr.xml">
<!ENTITY plugin_irc.fr.xml SYSTEM "plugin_irc.fr.xml">
<!ENTITY plugin_jabber.fr.xml SYSTEM "plugin_jabber.fr.xml">
<!ENTITY plugin_logger.fr.xml SYSTEM "plugin_logger.fr.xml">
<!ENTITY plugin_scripts.fr.xml SYSTEM "plugin_scripts.fr.xml">
<!ENTITY plugin_xfer.fr.xml SYSTEM "plugin_xfer.fr.xml">

View File

@ -5,6 +5,7 @@
<!ENTITY charset_commands.xml SYSTEM "autogen/charset_commands.xml">
<!ENTITY demo_commands.xml SYSTEM "autogen/demo_commands.xml">
<!ENTITY irc_commands.xml SYSTEM "autogen/irc_commands.xml">
<!ENTITY jabber_commands.xml SYSTEM "autogen/jabber_commands.xml">
<!ENTITY logger_commands.xml SYSTEM "autogen/logger_commands.xml">
<!ENTITY lua_commands.xml SYSTEM "autogen/lua_commands.xml">
<!ENTITY notify_commands.xml SYSTEM "autogen/notify_commands.xml">
@ -21,6 +22,7 @@
<!ENTITY aspell_options.xml SYSTEM "autogen/aspell_options.xml">
<!ENTITY charset_options.xml SYSTEM "autogen/charset_options.xml">
<!ENTITY irc_options.xml SYSTEM "autogen/irc_options.xml">
<!ENTITY jabber_options.xml SYSTEM "autogen/jabber_options.xml">
<!ENTITY logger_options.xml SYSTEM "autogen/logger_options.xml">
<!ENTITY relay_options.xml SYSTEM "autogen/relay_options.xml">
<!ENTITY weechat_options.xml SYSTEM "autogen/weechat_options.xml">
@ -31,6 +33,7 @@
<!ENTITY alias_infos.xml SYSTEM "autogen/alias_infos.xml">
<!ENTITY fifo_infos.xml SYSTEM "autogen/fifo_infos.xml">
<!ENTITY irc_infos.xml SYSTEM "autogen/irc_infos.xml">
<!ENTITY jabber_infos.xml SYSTEM "autogen/jabber_infos.xml">
<!ENTITY logger_infos.xml SYSTEM "autogen/logger_infos.xml">
<!ENTITY relay_infos.xml SYSTEM "autogen/relay_infos.xml">
<!ENTITY weechat_infos.xml SYSTEM "autogen/weechat_infos.xml">

View File

@ -133,6 +133,36 @@
./src/plugins/irc/irc-protocol.h
./src/plugins/irc/irc-server.c
./src/plugins/irc/irc-server.h
./src/plugins/jabber/jabber-bar-item.c
./src/plugins/jabber/jabber-bar-item.h
./src/plugins/jabber/jabber-buddy.c
./src/plugins/jabber/jabber-buddy.h
./src/plugins/jabber/jabber-buffer.c
./src/plugins/jabber/jabber-buffer.h
./src/plugins/jabber/jabber.c
./src/plugins/jabber/jabber-command.c
./src/plugins/jabber/jabber-command.h
./src/plugins/jabber/jabber-completion.c
./src/plugins/jabber/jabber-completion.h
./src/plugins/jabber/jabber-config.c
./src/plugins/jabber/jabber-config.h
./src/plugins/jabber/jabber-debug.c
./src/plugins/jabber/jabber-debug.h
./src/plugins/jabber/jabber-display.c
./src/plugins/jabber/jabber-display.h
./src/plugins/jabber/jabber.h
./src/plugins/jabber/jabber-info.c
./src/plugins/jabber/jabber-info.h
./src/plugins/jabber/jabber-input.c
./src/plugins/jabber/jabber-input.h
./src/plugins/jabber/jabber-muc.c
./src/plugins/jabber/jabber-muc.h
./src/plugins/jabber/jabber-server.c
./src/plugins/jabber/jabber-server.h
./src/plugins/jabber/jabber-upgrade.c
./src/plugins/jabber/jabber-upgrade.h
./src/plugins/jabber/jabber-xmpp.c
./src/plugins/jabber/jabber-xmpp.h
./src/plugins/logger/logger.c
./src/plugins/logger/logger.h
./src/plugins/logger/logger-buffer.c

457
po/cs.po
View File

@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat 0.2.7-dev\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2009-01-03 13:12+0100\n"
"POT-Creation-Date: 2009-01-15 14:36+0100\n"
"PO-Revision-Date: 2009-01-03 00:42+0100\n"
"Last-Translator: Jiri Golembiovsky <golemj@gmail.com>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@ -761,7 +761,7 @@ msgid ""
" move: move buffer in the list (may be relative, for example -1)\n"
" close: close buffer\n"
" list: list buffers (no parameter implies this list)\n"
" notify: display notify levels for all open buffers\n"
" notify: display notify levels for all opened buffers\n"
"localvar: display local variables for current buffer\n"
" scroll: scroll in history (may be relative, and may end by a letter: "
"s=sec, m=min, h=hour, d=day, M=month, y=year); if there is only letter, then "
@ -1156,7 +1156,7 @@ msgstr ""
#, fuzzy
msgid ""
" list: list open windows (no parameter implies this list)\n"
" list: list opened windows (no parameter implies this list)\n"
" -1: jump to previous window\n"
" +1: jump to next window\n"
" b#: jump to next window displaying buffer number #\n"
@ -2290,7 +2290,7 @@ msgid ""
msgstr ""
#, fuzzy, c-format
msgid "%s: pipe open"
msgid "%s: pipe opened"
msgstr "FIFO roura je otevřena\n"
#, fuzzy, c-format
@ -2335,12 +2335,12 @@ msgid "Lag"
msgstr ""
#, fuzzy, c-format
msgid "%s%s: error with IRC server from URL (\"%s\"), ignored"
msgid "%s%s: error with server from URL (\"%s\"), ignored"
msgstr "%s nevalidní syntaxe pro IRC server ('%s'), ignorován\n"
#, c-format
msgid ""
"%s%s: WARNING: some network connections may still be open and not visible, "
"%s%s: WARNING: some network connections may still be opened and not visible, "
"you should restart WeeChat now (with /quit)."
msgstr ""
@ -2602,7 +2602,8 @@ msgstr ""
" kanál: kanál pro zakázání\n"
"přezdívka: uživatel nebo host, který bude zakáhán"
msgid "connect to server(s)"
#, fuzzy
msgid "connect to IRC server(s)"
msgstr "připojit se k serveru/serverům"
msgid ""
@ -2693,7 +2694,8 @@ msgstr "odebrat hlas z přezdívky (přezdívek)"
msgid "shutdown the server"
msgstr "vypnout server"
msgid "disconnect from server(s)"
#, fuzzy
msgid "disconnect from IRC server(s)"
msgstr "odpojit ze serveru/serverů"
msgid "[-all | servername [servername ...]]"
@ -3073,7 +3075,8 @@ msgstr ""
"distribuce: viditelnost servisu\n"
" typ: rezervováné pro příští použití"
msgid "list, add or remove servers"
#, fuzzy
msgid "list, add or remove IRC servers"
msgstr "vypíše, přídá nebo odebere servery"
#, fuzzy
@ -3335,7 +3338,7 @@ msgstr ""
" cíl: odpověď musí odpovídat této masce"
#, fuzzy, c-format
msgid "%sirc: too few arguments for \"%s\" command"
msgid "%s%s: too few arguments for \"%s\" command"
msgstr "%s špatné parametry pro příkaz \"%s\"\n"
#, c-format
@ -3346,6 +3349,23 @@ msgstr ""
"%s%s: varování: server \"%s\" nenalezen v konfiguračním souboru, nesmazáno z "
"paměti, protože se stále používá"
#, fuzzy
msgid "list of hostname/port or IP/port for server (separated by comma)"
msgstr "přezdívka použitá na IRC serveru"
msgid "proxy used for this server (optional)"
msgstr ""
msgid "use IPv6 protocol for server communication"
msgstr "použít protokol IPv6 pro komunikaci se serverem"
msgid "use SSL for server communication"
msgstr "použít SSL pro komunikaci se serverem"
#, fuzzy
msgid "password for server"
msgstr "heslo pro IRC server"
msgid "automatically connect to server when WeeChat is starting"
msgstr "automaticky připojit k serveru, když je WeeChat spouštěn"
@ -3355,30 +3375,16 @@ msgstr "automaticky znovu připojit server, když je odpojen"
msgid "delay (in seconds) before trying again to reconnect to server"
msgstr "doba (v sekundách) před novým zkušením znovupřipojení na server"
msgid "proxy used for this server (optional)"
msgstr ""
#, fuzzy
msgid "list of IP/port or hostname/port for server (separated by comma)"
msgid "nicknames to use on server (separated by comma)"
msgstr "přezdívka použitá na IRC serveru"
msgid "use IPv6 protocol for server communication"
msgstr "použít protokol IPv6 pro komunikaci se serverem"
msgid "use SSL for server communication"
msgstr "použít SSL pro komunikaci se serverem"
msgid "password for IRC server"
msgstr "heslo pro IRC server"
#, fuzzy
msgid "nicknames to use on IRC server (separated by comma)"
msgstr "přezdívka použitá na IRC serveru"
msgid "user name to use on IRC server"
msgid "user name to use on server"
msgstr "uživatelské jméno použité na IRC serveru"
msgid "real name to use on IRC server"
#, fuzzy
msgid "real name to use on server"
msgstr "skutečné jméno použité na IRC serveru"
#, fuzzy
@ -3536,7 +3542,8 @@ msgstr ""
"povolit uživateli posílat barvy se speciálními kódy (^Cb=tlustě, "
"^Ccxx=barva, ^Ccxx,yy=barva+pozadí, ^Cu=podtržené, ^Cr=obrácené)"
msgid "send unknown commands to IRC server"
#, fuzzy
msgid "send unknown commands to server"
msgstr "poslat neznámý příkaz na IRC server"
#, fuzzy
@ -3941,7 +3948,7 @@ msgid "(message dropped)"
msgstr "(zpráva zahozena)"
#, fuzzy, c-format
msgid "%s%s: not enough memory for received IRC message"
msgid "%s%s: not enough memory for received message"
msgstr "%s nedostatek paměti pro získání IRC zprávy\n"
#, fuzzy, c-format
@ -3991,7 +3998,7 @@ msgstr "%s spojení odmítnuto\n"
#, fuzzy, c-format
msgid ""
"%s%s: proxy fails to establish connection to server (check username/password "
"if used and if IRC server address/port is allowed by proxy)"
"if used and if server address/port is allowed by proxy)"
msgstr ""
"%s selhalo zjednání spojení s proxy serverem (zkontrolujte uživatelské jméno "
"a heslo pokud jsou vyžadovány)\n"
@ -4012,6 +4019,10 @@ msgstr "%s handshake s gnutls selhal\n"
msgid "%s%s: not enough memory"
msgstr "Nedostatek paměti pro nový řádek\n"
#, c-format
msgid "%s%s: addresses not defined for server \"%s\", cannot connect"
msgstr "%s%s: adresa pro server \"%s\" není definována, nemohu se připojit"
#, fuzzy, c-format
msgid "%s%s: proxy \"%s\" not found for server \"%s\", cannot connect"
msgstr "%s přezdívka \"%s\" nebyla nalezena pro příkaz \"%s\"\n"
@ -4020,17 +4031,14 @@ msgstr "%s přezdívka \"%s\" nebyla nalezena pro příkaz \"%s\"\n"
msgid "%s%s: missing proxy settings, check options for proxy \"%s\""
msgstr "%sChyba: nemohu nastavit volbu \"%s\" pro pole \"%s\""
#, c-format
msgid "%s%s: addresses not defined for server \"%s\", cannot connect"
msgstr "%s%s: adresa pro server \"%s\" není definována, nemohu se připojit"
#, fuzzy, c-format
msgid "%s%s: nicks not defined for server \"%s\", cannot connect"
msgstr "%s přezdívka \"%s\" nebyla nalezena pro příkaz \"%s\"\n"
#, fuzzy, c-format
msgid ""
"%s%s: cannot connect with SSL since WeeChat was not built with GnuTLS support"
"%s%s: cannot connect with SSL because WeeChat was not built with GnuTLS "
"support"
msgstr ""
"%s nemohu se připojit pomocí SSL, protže WeeChat nebyl sestaven s podporou "
"GNUtls\n"
@ -4067,6 +4075,287 @@ msgstr "%s: Připojuji se znovu k serveru...\n"
msgid "%s%s: disconnected from server"
msgstr "Odpojen od serveru!\n"
#, fuzzy
msgid "list, add or remove Jabber servers"
msgstr "vypíše, přídá nebo odebere servery"
#, fuzzy
msgid ""
"[list [servername]] | [listfull [servername]] | [add servername username "
"hostname[/port] password [-auto | -noauto] [-ipv6] [-tls] [-sasl]] | [copy "
"servername newservername] | [rename servername newservername] | [keep "
"servername] | [del servername] | [switch]"
msgstr ""
"[list [jméno_serveru]] | [listfull [jméno_serveru]] | [add jméno_serveru "
"jméno_hosta [-port port] [-temp] [-auto | -noauto] [-ipv6] [-ssl] [-pwd "
"heslo] [-nick přezdívka1 přezdívka2 přezdívka3] [-username "
"uživatelské_jméno] [-realname pravé_jméno] [-command příkaz] [-autojoin kanál"
"[,kanál]] ] | [copy jméno_serveru nové_jméno_serveru] | [rename "
"jméno_serveru nové_jméno_serveru] | [keep jméno_serveru] | [del "
"jméno_serveru]"
#, fuzzy
msgid ""
" list: list servers (no parameter implies this list)\n"
" listfull: list servers with detailed info for each server\n"
" add: create a new server\n"
"servername: server name, for internal and display use\n"
" username: username to use on server\n"
" hostname: name or IP address of server, with optional port (default: "
"5222)\n"
" password: password for username on server\n"
" auto: automatically connect to server when WeeChat starts\n"
" noauto: do not connect to server when WeeChat starts (default)\n"
" ipv6: use IPv6 protocol\n"
" tls: use TLS cryptographic protocol\n"
" sasl: use SASL for authentication\n"
" copy: duplicate a server\n"
" rename: rename a server\n"
" keep: keep server in config file (for temporary servers only)\n"
" del: delete a server\n"
" switch: switch active server (when one buffer is used for all servers, "
"default key: alt-s on server buffer)\n"
"\n"
"Examples:\n"
" /jabber listfull\n"
" /jabber add jabberfr user jabber.fr/5222 password -tls\n"
" /jabber copy jabberfr jabberfr2\n"
" /jabber rename jabberfr jabbfr\n"
" /jabber del jabberfr\n"
" /jabber switch"
msgstr ""
" list: vypsat servery (pokud nejsou uvedeny žádné parametry bude "
"vypsán tento seznam)\n"
" listfull: vypsat servery s detailními informacemi o každém serveru\n"
" add: vytvoří nový server\n"
" jméno_serveru: jméno serveru pro vnitřní a zobrazovací použití\n"
" jméno_hosta: jméno nebo IP adresa serveru\n"
" port: port pro server (celé číslo, výchozí je 6667)\n"
" temp: vytvořit dočasný server (neukládá se do konfiguračního "
"souboru)\n"
" auto: automatickz pripojit k serveru při startu WeeChat\n"
" noauto: nepřipojovat k serveru automatickz při startu WeeChat "
"(výchozí)\n"
" ipv6: používat IPv6 protokol\n"
" ssl: používat SSL protokol\n"
" heslo: heslo pro server\n"
" přezdívka1: první přezdívka pro server\n"
" přezdívka2: alternativní přezdívka pro server\n"
" přezdívka3: druhá alternativní přezdívka pro server\n"
"uživatelské_jméno: uživatelské jméno\n"
" pravé_jméno: pravé jméno uživatele\n"
" copy: zkopírovat server\n"
" rename: přejmenovat server\n"
" keep: zachovat server v konfiguračním souboru (pouze pro "
"dočasné servery)\n"
" del: smazat server\n"
" deloutq: smazat zprávy v odchozích frontách všech serverů (všechny "
"zprávy, které WeeChat právě posílá)"
msgid "chat with a buddy"
msgstr ""
#, fuzzy
msgid "buddy [text]"
msgstr "text"
#, fuzzy
msgid ""
"buddy: buddy name for chat\n"
" text: text to send"
msgstr ""
"služba: jméno služby\n"
"text: text, který se má poslat"
#, fuzzy
msgid "connect to Jabber server(s)"
msgstr "připojit se k serveru/serverům"
#, fuzzy
msgid ""
"[-all [-nojoin] | servername [servername ...] [-nojoin] | hostname [-port "
"port] [-ipv6] [-tls] [-sasl]]"
msgstr ""
"[-all [-nojoin] | jméno_serveru [jméno_serveru ...] [-nojoin] | hostname [-"
"port port] [-ipv6] [-ssl]]"
#, fuzzy
msgid ""
" -all: connect to all servers\n"
"servername: internal server name to connect\n"
" -nojoin: do not join any MUC (even if autojoin is enabled on server)\n"
" hostname: hostname to connect\n"
" port: port for server (integer, default is 6667)\n"
" ipv6: use IPv6 protocol\n"
" tls: use TLS cryptographic protocol\n"
" saal: use SASL for authentication"
msgstr ""
" -all: připojit ke všem serverům\n"
"jméno_serveru: jméno serveru pro přípojení -nojoin: nepřipojovat se na "
"kanály (i pokud je na serveru zpanuto automatické připojování)\n"
" hostname: hostname pro připojení, vytvoří dočasný server\n"
" port: port pro server (celé číslo, výchozí je 6667)\n"
" ipv6: použít IPv6 protokol\n"
" ssl: použít SSL protokol"
#, fuzzy
msgid "disconnect from Jabber server(s)"
msgstr "odpojit ze serveru/serverů"
#, fuzzy
msgid "hostname/port or IP/port for server"
msgstr "přezdívka použitá na IRC serveru"
#, fuzzy
msgid "use TLS cryptographic protocol for server communication"
msgstr "použít protokol IPv6 pro komunikaci se serverem"
#, fuzzy
msgid "use SASL for authentication"
msgstr "použít SSL pro komunikaci se serverem"
msgid "resource (for example: Home or Work)"
msgstr ""
#, fuzzy
msgid "password"
msgstr "uživatel heslo"
#, fuzzy
msgid "local alias"
msgstr "Seznam pro aliasy:\n"
#, fuzzy
msgid ""
"command(s) to run when connected to server (many commands should be "
"separated by ';', use '\\;' for a semicolon, special variables $nick, $muc "
"and $server are replaced by their value)"
msgstr ""
"příkaz(y), které provést po přípojení k serveru (více příkazů se odděluje "
"pomocí ';', použijte '\\;' pro středník, speciální proměnné $nick, $channel "
"a $server jsou přepsány svou hodnotou)"
#, fuzzy
msgid ""
"comma separated list of MUCs to join when connected to server (example: "
"\"#chan1,#chan2,#chan3 key1,key2\")"
msgstr ""
"čárkou rozdělený seznam kanálů na které přistoupit po připojení na server "
"(příklad: \"#kanál1,#kanál2,#kanál3 klíč1,klíč2\")"
#, fuzzy
msgid "automatically rejoin MUCs when kicked"
msgstr "automaticky znovu přijít na kanál po vykopnutí"
#, fuzzy
msgid "open new MUCs/privates near server"
msgstr "otevřít nový kanál/soukromý rozhovor poblíž serveru"
msgid "display MUC modes in \"buffer_name\" bar item"
msgstr ""
msgid ""
"filter join/part/quit messages for a nick if not speaking for some minutes "
"on MUC (you must create a filter on tag \"jabber_smart_filter\")"
msgstr ""
#, fuzzy
msgid ""
"default part message (leaving MUC) ('%v' will be replaced by WeeChat version "
"in string)"
msgstr ""
"výchozí zpráva při odchodu z kanálu ('%v' bude nahrazeno verzí WeeChat v "
"řetězci)"
#, fuzzy
msgid "Jabber debug messages"
msgstr "vypsat debug zprávy"
msgid "MUC"
msgid_plural "MUCs"
msgstr[0] ""
msgstr[1] ""
#, fuzzy
msgid "get buffer pointer for a Jabber server/MUC"
msgstr "seznam uživatelů přihlášených k serveru"
#, fuzzy
msgid "list of Jabber servers"
msgstr "heslo pro IRC server"
#, fuzzy
msgid "list of MUCs for a Jabber server"
msgstr "seznam uživatelů přihlášených k serveru"
#, fuzzy
msgid "list of buddies for a Jabber server or MUC"
msgstr "seznam uživatelů přihlášených k serveru"
#, fuzzy, c-format
msgid "%s: this buffer is not a MUC!"
msgstr "Tohe není okno kanálu!\n"
#, fuzzy, c-format
msgid "%s%s: cannot allocate new MUC"
msgstr "%s nemohu přidělit nový kanál"
#, fuzzy, c-format
msgid "%s%s: connecting to server %s/%d%s%s%s via %s proxy %s/%d%s..."
msgstr "%s: připojuji se k serveru %s:%d%s%s přes %s proxy %s:%d%s...\n"
#, fuzzy, c-format
msgid "Connecting to server %s/%d%s%s%s via %s proxy %s/%d%s..."
msgstr "Připojuji se k serveru %s:%d%s%s přes %s proxy %s:%d%s...\n"
#, fuzzy, c-format
msgid "%s%s: connecting to server %s/%d%s%s%s..."
msgstr "%s: připojuji se k serveru %s:%d%s%s...\n"
#, fuzzy, c-format
msgid "%s%s: username or server not defined for server \"%s\", cannot connect"
msgstr "%s přezdívka \"%s\" nebyla nalezena pro příkaz \"%s\"\n"
#, fuzzy, c-format
msgid "%s%s: hostname/IP not defined for server \"%s\", cannot connect"
msgstr "%s přezdívka \"%s\" nebyla nalezena pro příkaz \"%s\"\n"
#, fuzzy, c-format
msgid ""
"%s%s: cannot connect with TLS because iksemel library was not built with "
"GnuTLS support"
msgstr ""
"%s nemohu se připojit pomocí SSL, protže WeeChat nebyl sestaven s podporou "
"GNUtls\n"
#, fuzzy, c-format
msgid "%s%s: failed to create stream parser"
msgstr "%s nemohu vytvořit server\n"
#, fuzzy, c-format
msgid "%s%s: failed to create id"
msgstr "%s DCC: nemohu vytvořit rouru\n"
#, fuzzy, c-format
msgid "%s%s: SASL authentication failed (check SASL option and password)"
msgstr "Nemůžu zapsat log soubor \"%s\"\n"
#, fuzzy, c-format
msgid "%s%s: server disconnected"
msgstr "Server %s%s%s vytvořen\n"
#, fuzzy, c-format
msgid "%s%s: stream error"
msgstr "%sServer: %s%s\n"
#, fuzzy, c-format
msgid "%s%s: login ok"
msgstr "%s DCC: nemohu provést fork\n"
#, fuzzy, c-format
msgid "%s%s: authentication failed (check SASL option and password)"
msgstr "Nemůžu zapsat log soubor \"%s\"\n"
#, c-format
msgid ""
"%s%s: unable to find filename mask for buffer \"%s\", logging is disabled "
@ -4127,7 +4416,7 @@ msgid "[list | set level | disable]"
msgstr ""
msgid ""
" list: show logging status for open buffers\n"
" list: show logging status for opened buffers\n"
" set: set logging level on current buffer\n"
" level: level for messages to be logged (0 = logging disabled, 1 = a few "
"messages (most important) .. 9 = all messages)\n"
@ -5109,6 +5398,97 @@ msgstr "%s DCC: nemohu nastavit 'neblokovaci' volbu na soket\n"
msgid "%s%s: timeout for \"%s\" with %s"
msgstr "%s chybí argument pro volbu \"%s\"\n"
#, fuzzy
#~ msgid ""
#~ "%s%s: cannot connect with TLS because WeeChat was not built with GnuTLS "
#~ "support"
#~ msgstr ""
#~ "%s nemohu se připojit pomocí SSL, protže WeeChat nebyl sestaven s "
#~ "podporou GNUtls\n"
#, fuzzy
#~ msgid ""
#~ "%s%s: cannot connect with SSL since WeeChat was not built with GnuTLS "
#~ "support"
#~ msgstr ""
#~ "%s nemohu se připojit pomocí SSL, protže WeeChat nebyl sestaven s "
#~ "podporou GNUtls\n"
#, fuzzy
#~ msgid "%s%s: authentication failed"
#~ msgstr "Nemůžu zapsat log soubor \"%s\"\n"
#, fuzzy
#~ msgid "list of Jabber ignore"
#~ msgstr "heslo pro IRC server"
#, fuzzy
#~ msgid "1 if string is a Jabber channel"
#~ msgstr "seznam uživatelů na kanálu"
#, fuzzy
#~ msgid "get nick from Jabber host"
#~ msgstr "zakázat přezdívky nebo hosty"
#, fuzzy
#~ msgid "list of nicks for a Jabber channel"
#~ msgstr "seznam uživatelů na kanálu"
#, fuzzy
#~ msgid ""
#~ "%s%s: error sending data to server: null pointer (please report problem "
#~ "to developers)"
#~ msgstr ""
#~ "%s%s: chyba při posílání dat na IRC server: nulový ukazatel (prosím "
#~ "oznamte problém vývojářům)"
#, fuzzy
#~ msgid ""
#~ "%s%s: error sending data to server: empty buffer (please report problem "
#~ "to developers)"
#~ msgstr ""
#~ "%s%s: chyba při posílání dat na IRC server: prázdný buffer (prosím "
#~ "oznamte problém vývojářům)"
#, fuzzy
#~ msgid "%s%s: error sending data to server (%s)"
#~ msgstr "%s chyba při zasílání dat na IRC server\n"
#, fuzzy
#~ msgid ""
#~ "[list [servername]] | [listfull [servername]] | [add username server[/"
#~ "port] [-auto | -noauto] [-ipv6] [-ssl]] | [copy servername newservername] "
#~ "| [rename servername newservername] | [keep servername] | [del "
#~ "servername] | [deloutq] | [switch]"
#~ msgstr ""
#~ "[list [jméno_serveru]] | [listfull [jméno_serveru]] | [add jméno_serveru "
#~ "jméno_hosta [-port port] [-temp] [-auto | -noauto] [-ipv6] [-ssl] [-pwd "
#~ "heslo] [-nick přezdívka1 přezdívka2 přezdívka3] [-username "
#~ "uživatelské_jméno] [-realname pravé_jméno] [-command příkaz] [-autojoin "
#~ "kanál[,kanál]] ] | [copy jméno_serveru nové_jméno_serveru] | [rename "
#~ "jméno_serveru nové_jméno_serveru] | [keep jméno_serveru] | [del "
#~ "jméno_serveru]"
#, fuzzy
#~ msgid "nicknames to use on Jabber server (separated by comma)"
#~ msgstr "přezdívka použitá na IRC serveru"
#, fuzzy
#~ msgid "user name to use on Jabber server"
#~ msgstr "uživatelské jméno použité na IRC serveru"
#, fuzzy
#~ msgid "real name to use on Jabber server"
#~ msgstr "skutečné jméno použité na IRC serveru"
#, fuzzy
#~ msgid "send unknown commands to Jabber server"
#~ msgstr "poslat neznámý příkaz na IRC server"
#, fuzzy
#~ msgid "password for Jabber server"
#~ msgstr "heslo pro proxy server"
#~ msgid " . type: boolean\n"
#~ msgstr " . typ: boolean\n"
@ -5299,9 +5679,6 @@ msgstr "%s chybí argument pro volbu \"%s\"\n"
#~ msgid "%s: debug enabled"
#~ msgstr "FIFO roura je otevřena\n"
#~ msgid "print debug messages"
#~ msgstr "vypsat debug zprávy"
#, fuzzy
#~ msgid "dump | buffer | windows | text"
#~ msgstr "dump | buffer | windows"

412
po/de.po
View File

@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat 0.2.7-dev\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2009-01-03 13:12+0100\n"
"POT-Creation-Date: 2009-01-15 14:36+0100\n"
"PO-Revision-Date: 2009-01-03 00:42+0100\n"
"Last-Translator: Thomas Schuetz <i18n@internet-villa.de>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@ -822,7 +822,7 @@ msgid ""
" move: move buffer in the list (may be relative, for example -1)\n"
" close: close buffer\n"
" list: list buffers (no parameter implies this list)\n"
" notify: display notify levels for all open buffers\n"
" notify: display notify levels for all opened buffers\n"
"localvar: display local variables for current buffer\n"
" scroll: scroll in history (may be relative, and may end by a letter: "
"s=sec, m=min, h=hour, d=day, M=month, y=year); if there is only letter, then "
@ -1180,7 +1180,7 @@ msgstr ""
#, fuzzy
msgid ""
" list: list open windows (no parameter implies this list)\n"
" list: list opened windows (no parameter implies this list)\n"
" -1: jump to previous window\n"
" +1: jump to next window\n"
" b#: jump to next window displaying buffer number #\n"
@ -2298,7 +2298,7 @@ msgid ""
msgstr ""
#, fuzzy, c-format
msgid "%s: pipe open"
msgid "%s: pipe opened"
msgstr "FIFO ist offen\n"
#, fuzzy, c-format
@ -2344,12 +2344,12 @@ msgstr ""
# ???
#, fuzzy, c-format
msgid "%s%s: error with IRC server from URL (\"%s\"), ignored"
msgid "%s%s: error with server from URL (\"%s\"), ignored"
msgstr "%s ungültige Syntax für IRC-Server ('%s'), ignoriert\n"
#, c-format
msgid ""
"%s%s: WARNING: some network connections may still be open and not visible, "
"%s%s: WARNING: some network connections may still be opened and not visible, "
"you should restart WeeChat now (with /quit)."
msgstr ""
@ -2612,7 +2612,8 @@ msgstr ""
" Channel: Channel für die Sperre\n"
"Nickname: zu sperrender User oder Host"
msgid "connect to server(s)"
#, fuzzy
msgid "connect to IRC server(s)"
msgstr "mit Server verbinden"
#, fuzzy
@ -2697,7 +2698,8 @@ msgstr "Voice wegnehmen"
msgid "shutdown the server"
msgstr "Server herunterfahren"
msgid "disconnect from server(s)"
#, fuzzy
msgid "disconnect from IRC server(s)"
msgstr "Serververbindung(en) trennen"
msgid "[-all | servername [servername ...]]"
@ -3076,7 +3078,8 @@ msgstr ""
"Distribution: Sichtbarkeit des Services\n"
" Typ: für spätere Verwendung reserviert"
msgid "list, add or remove servers"
#, fuzzy
msgid "list, add or remove IRC servers"
msgstr "Auflisten, Hinzufügen oder Entfernen von Servern"
#, fuzzy
@ -3316,7 +3319,7 @@ msgstr ""
" Ziel: zu suchende Hostmaske"
#, fuzzy, c-format
msgid "%sirc: too few arguments for \"%s\" command"
msgid "%s%s: too few arguments for \"%s\" command"
msgstr "%s fehlerhafte Argumente für der \"%s\"-Befehl\n"
#, c-format
@ -3325,6 +3328,23 @@ msgid ""
"memory because it's currently used"
msgstr ""
#, fuzzy
msgid "list of hostname/port or IP/port for server (separated by comma)"
msgstr "eigener Nickname, der auf dem IRC-Server benutzt werden soll"
msgid "proxy used for this server (optional)"
msgstr ""
msgid "use IPv6 protocol for server communication"
msgstr "Server über IPv6 ansprechen"
msgid "use SSL for server communication"
msgstr "Server über SSL ansprechen"
#, fuzzy
msgid "password for server"
msgstr "Passwort für den IRC-Server"
msgid "automatically connect to server when WeeChat is starting"
msgstr "automatisch mit dem Server verbinden, wenn WeeChat gestartet wird"
@ -3336,30 +3356,16 @@ msgstr ""
"Zeit in Sekunden, die gewartet wird, bevor ein Verbindungsneuaufbau versucht "
"wird"
msgid "proxy used for this server (optional)"
msgstr ""
#, fuzzy
msgid "list of IP/port or hostname/port for server (separated by comma)"
msgid "nicknames to use on server (separated by comma)"
msgstr "eigener Nickname, der auf dem IRC-Server benutzt werden soll"
msgid "use IPv6 protocol for server communication"
msgstr "Server über IPv6 ansprechen"
msgid "use SSL for server communication"
msgstr "Server über SSL ansprechen"
msgid "password for IRC server"
msgstr "Passwort für den IRC-Server"
#, fuzzy
msgid "nicknames to use on IRC server (separated by comma)"
msgstr "eigener Nickname, der auf dem IRC-Server benutzt werden soll"
msgid "user name to use on IRC server"
msgid "user name to use on server"
msgstr "Benutzername, der an den Server übermittelt werden soll"
msgid "real name to use on IRC server"
#, fuzzy
msgid "real name to use on server"
msgstr "voller Name, der an den Server übermittelt werden soll"
#, fuzzy
@ -3519,7 +3525,8 @@ msgstr ""
"erlaube Benutzern, spezielle Codes zu versenden (%B=fett, %Cxx,yy=Farbe, %"
"U=unterstrichen, %R=reverse/umgekehrt)"
msgid "send unknown commands to IRC server"
#, fuzzy
msgid "send unknown commands to server"
msgstr "sende unbekannte Befehle an den IRC-Server"
#, fuzzy
@ -3918,7 +3925,7 @@ msgid "(message dropped)"
msgstr "(Nachricht verworfen)"
#, fuzzy, c-format
msgid "%s%s: not enough memory for received IRC message"
msgid "%s%s: not enough memory for received message"
msgstr "%s nicht genügend Speicher zum Empfangen der IRC-Nachricht vorhanden\n"
#, fuzzy, c-format
@ -3968,7 +3975,7 @@ msgstr "%s Verbindungsaufbau verweigert\n"
#, fuzzy, c-format
msgid ""
"%s%s: proxy fails to establish connection to server (check username/password "
"if used and if IRC server address/port is allowed by proxy)"
"if used and if server address/port is allowed by proxy)"
msgstr ""
"%s Der Proxy konnte die Verbindung zum Server nicht aufbauen (bitte "
"Benutzername/Passwort überprüfen)\n"
@ -3989,6 +3996,10 @@ msgstr "%s gnutls-Handshake schlug fehl\n"
msgid "%s%s: not enough memory"
msgstr "Nicht genügend Speicher für neue Zeile\n"
#, c-format
msgid "%s%s: addresses not defined for server \"%s\", cannot connect"
msgstr ""
#, fuzzy, c-format
msgid "%s%s: proxy \"%s\" not found for server \"%s\", cannot connect"
msgstr "%s Nickname \"%s\" für den \"%s\"-Befehl nicht gefunden\n"
@ -3997,17 +4008,14 @@ msgstr "%s Nickname \"%s\" für den \"%s\"-Befehl nicht gefunden\n"
msgid "%s%s: missing proxy settings, check options for proxy \"%s\""
msgstr "%s unbekannte Option für den \"%s\"-Befehl\n"
#, c-format
msgid "%s%s: addresses not defined for server \"%s\", cannot connect"
msgstr ""
#, fuzzy, c-format
msgid "%s%s: nicks not defined for server \"%s\", cannot connect"
msgstr "%s Nickname \"%s\" für den \"%s\"-Befehl nicht gefunden\n"
#, fuzzy, c-format
msgid ""
"%s%s: cannot connect with SSL since WeeChat was not built with GnuTLS support"
"%s%s: cannot connect with SSL because WeeChat was not built with GnuTLS "
"support"
msgstr ""
"%s SSL-Verbindung nicht möglich, da WeeChat nicht mit GNUtls-Support "
"kompiliert wurde\n"
@ -4044,6 +4052,261 @@ msgstr "%s: Neuverbinden zum Server...\n"
msgid "%s%s: disconnected from server"
msgstr "Vom Server getrennt!\n"
#, fuzzy
msgid "list, add or remove Jabber servers"
msgstr "Auflisten, Hinzufügen oder Entfernen von Servern"
#, fuzzy
msgid ""
"[list [servername]] | [listfull [servername]] | [add servername username "
"hostname[/port] password [-auto | -noauto] [-ipv6] [-tls] [-sasl]] | [copy "
"servername newservername] | [rename servername newservername] | [keep "
"servername] | [del servername] | [switch]"
msgstr ""
"[Servername] | [Servername Hostname Port [-auto | -noauto] [-ipv6] [-ssl] [-"
"pwd Passwort] [-nicks Nick1 Nick2 Nick3] [-username Benutzername] [-realname "
"Name] [-command Befehl] [-autojoin Channel[,Channel]] ] | [del Servername]"
#, fuzzy
msgid ""
" list: list servers (no parameter implies this list)\n"
" listfull: list servers with detailed info for each server\n"
" add: create a new server\n"
"servername: server name, for internal and display use\n"
" username: username to use on server\n"
" hostname: name or IP address of server, with optional port (default: "
"5222)\n"
" password: password for username on server\n"
" auto: automatically connect to server when WeeChat starts\n"
" noauto: do not connect to server when WeeChat starts (default)\n"
" ipv6: use IPv6 protocol\n"
" tls: use TLS cryptographic protocol\n"
" sasl: use SASL for authentication\n"
" copy: duplicate a server\n"
" rename: rename a server\n"
" keep: keep server in config file (for temporary servers only)\n"
" del: delete a server\n"
" switch: switch active server (when one buffer is used for all servers, "
"default key: alt-s on server buffer)\n"
"\n"
"Examples:\n"
" /jabber listfull\n"
" /jabber add jabberfr user jabber.fr/5222 password -tls\n"
" /jabber copy jabberfr jabberfr2\n"
" /jabber rename jabberfr jabbfr\n"
" /jabber del jabberfr\n"
" /jabber switch"
msgstr ""
"Servername: anzuzeigender Servername\n"
" Hostname: Name oder IP-Adresse des Servers\n"
" Port: Port des Servers\n"
" ipv6: IPv6 benutzen\n"
" ssl: SSL benutzen\n"
" Passwort: Serverpasswort\n"
" Nick1: erster Nickname\n"
" Nick2: zweiter Nickname\n"
" Nick3: dritter Nicname\n"
" Benutzername: Benutzername\n"
" Realname: voller Name des Benutzers"
msgid "chat with a buddy"
msgstr ""
#, fuzzy
msgid "buddy [text]"
msgstr "Text"
#, fuzzy
msgid ""
"buddy: buddy name for chat\n"
" text: text to send"
msgstr ""
"Service: Name des Service\n"
"Text: zu sendender Text"
#, fuzzy
msgid "connect to Jabber server(s)"
msgstr "mit Server verbinden"
#, fuzzy
msgid ""
"[-all [-nojoin] | servername [servername ...] [-nojoin] | hostname [-port "
"port] [-ipv6] [-tls] [-sasl]]"
msgstr "[-all | Servername [Servername ...]]"
#, fuzzy
msgid ""
" -all: connect to all servers\n"
"servername: internal server name to connect\n"
" -nojoin: do not join any MUC (even if autojoin is enabled on server)\n"
" hostname: hostname to connect\n"
" port: port for server (integer, default is 6667)\n"
" ipv6: use IPv6 protocol\n"
" tls: use TLS cryptographic protocol\n"
" saal: use SASL for authentication"
msgstr ""
" -all: Verbinde mit allen Servern neu\n"
"servername: Servername, mit dem verbunden werden soll"
#, fuzzy
msgid "disconnect from Jabber server(s)"
msgstr "Serververbindung(en) trennen"
#, fuzzy
msgid "hostname/port or IP/port for server"
msgstr "eigener Nickname, der auf dem IRC-Server benutzt werden soll"
#, fuzzy
msgid "use TLS cryptographic protocol for server communication"
msgstr "Server über IPv6 ansprechen"
#, fuzzy
msgid "use SASL for authentication"
msgstr "Server über SSL ansprechen"
msgid "resource (for example: Home or Work)"
msgstr ""
#, fuzzy
msgid "password"
msgstr "Benutzername Passwort"
#, fuzzy
msgid "local alias"
msgstr "Liste der Aliases:\n"
#, fuzzy
msgid ""
"command(s) to run when connected to server (many commands should be "
"separated by ';', use '\\;' for a semicolon, special variables $nick, $muc "
"and $server are replaced by their value)"
msgstr ""
"Befehle, die nach der Verbindung zum Server ausgeführt werden sollen "
"(mehrere Befehle müssen mit einem Semikolon getrennt werden, um ein "
"Semikolon zu schreiben, muss man '\\;' verwenden, die spezielllen Variablen "
"$nick, $channel und $server werden dabei durch den jeweiligen Wert ersetzt)"
#, fuzzy
msgid ""
"comma separated list of MUCs to join when connected to server (example: "
"\"#chan1,#chan2,#chan3 key1,key2\")"
msgstr ""
"durch Kommata getrennte Liste der Channels, die beim Verbinden zum Server "
"betreten werden sollen (Beispiel: \"#chan1,#chan2,#chan3 key1,key2\")"
#, fuzzy
msgid "automatically rejoin MUCs when kicked"
msgstr "Channels nach Kick automatisch wieder betreten, falls möglich"
#, fuzzy
msgid "open new MUCs/privates near server"
msgstr "öffne neue Channels oder private Nachrichten neben dem Server-Puffer"
msgid "display MUC modes in \"buffer_name\" bar item"
msgstr ""
msgid ""
"filter join/part/quit messages for a nick if not speaking for some minutes "
"on MUC (you must create a filter on tag \"jabber_smart_filter\")"
msgstr ""
#, fuzzy
msgid ""
"default part message (leaving MUC) ('%v' will be replaced by WeeChat version "
"in string)"
msgstr ""
"Standardnachricht beim Verlasseb eines Channels ('%v' wird durch die WeeChat-"
"Version ersetzt)"
#, fuzzy
msgid "Jabber debug messages"
msgstr "Debugging-Nachricht ausgeben"
msgid "MUC"
msgid_plural "MUCs"
msgstr[0] ""
msgstr[1] ""
#, fuzzy
msgid "get buffer pointer for a Jabber server/MUC"
msgstr "Channels, die bei Verbindung zum Server zu betreten sind"
#, fuzzy
msgid "list of Jabber servers"
msgstr "Port des IRC-Servers"
#, fuzzy
msgid "list of MUCs for a Jabber server"
msgstr "Channels, die bei Verbindung zum Server zu betreten sind"
#, fuzzy
msgid "list of buddies for a Jabber server or MUC"
msgstr "Channels, die bei Verbindung zum Server zu betreten sind"
#, fuzzy, c-format
msgid "%s: this buffer is not a MUC!"
msgstr "Dieses Fenster ist kein Channel!\n"
#, fuzzy, c-format
msgid "%s%s: cannot allocate new MUC"
msgstr "%s Neuer Channel konnte nicht alloziert werden"
#, fuzzy, c-format
msgid "%s%s: connecting to server %s/%d%s%s%s via %s proxy %s/%d%s..."
msgstr "%s: verbinden zu Server %s:%d%s%s via %s-Proxy %s:%d%s...\n"
#, fuzzy, c-format
msgid "Connecting to server %s/%d%s%s%s via %s proxy %s/%d%s..."
msgstr "verbinden zu Server %s:%d%s%s via %s-Proxy %s:%d%s...\n"
#, fuzzy, c-format
msgid "%s%s: connecting to server %s/%d%s%s%s..."
msgstr "%s: verbinden zu Server %s:%d%s%s...\n"
#, fuzzy, c-format
msgid "%s%s: username or server not defined for server \"%s\", cannot connect"
msgstr "%s Nickname \"%s\" für den \"%s\"-Befehl nicht gefunden\n"
#, fuzzy, c-format
msgid "%s%s: hostname/IP not defined for server \"%s\", cannot connect"
msgstr "%s Nickname \"%s\" für den \"%s\"-Befehl nicht gefunden\n"
#, fuzzy, c-format
msgid ""
"%s%s: cannot connect with TLS because iksemel library was not built with "
"GnuTLS support"
msgstr ""
"%s SSL-Verbindung nicht möglich, da WeeChat nicht mit GNUtls-Support "
"kompiliert wurde\n"
#, fuzzy, c-format
msgid "%s%s: failed to create stream parser"
msgstr "%s kann den Server nicht anlegen\n"
#, fuzzy, c-format
msgid "%s%s: failed to create id"
msgstr "%s DCC: kann keine Pipe erstellen\n"
#, fuzzy, c-format
msgid "%s%s: SASL authentication failed (check SASL option and password)"
msgstr "Kann das Logfile nicht schreiben\n"
#, fuzzy, c-format
msgid "%s%s: server disconnected"
msgstr "Server %s%s%s angelegt\n"
#, fuzzy, c-format
msgid "%s%s: stream error"
msgstr "%sServer: %s%s\n"
#, fuzzy, c-format
msgid "%s%s: login ok"
msgstr "%s DCC: kann nicht forken\n"
#, fuzzy, c-format
msgid "%s%s: authentication failed (check SASL option and password)"
msgstr "Kann das Logfile nicht schreiben\n"
#, c-format
msgid ""
"%s%s: unable to find filename mask for buffer \"%s\", logging is disabled "
@ -4103,7 +4366,7 @@ msgid "[list | set level | disable]"
msgstr ""
msgid ""
" list: show logging status for open buffers\n"
" list: show logging status for opened buffers\n"
" set: set logging level on current buffer\n"
" level: level for messages to be logged (0 = logging disabled, 1 = a few "
"messages (most important) .. 9 = all messages)\n"
@ -5072,6 +5335,78 @@ msgstr "%s DCC: kann die 'nonblock'-Option für den Socket nicht festlegen\n"
msgid "%s%s: timeout for \"%s\" with %s"
msgstr "%s fehlende Argumente für die \"--dir\"-Option\n"
#, fuzzy
#~ msgid ""
#~ "%s%s: cannot connect with TLS because WeeChat was not built with GnuTLS "
#~ "support"
#~ msgstr ""
#~ "%s SSL-Verbindung nicht möglich, da WeeChat nicht mit GNUtls-Support "
#~ "kompiliert wurde\n"
#, fuzzy
#~ msgid ""
#~ "%s%s: cannot connect with SSL since WeeChat was not built with GnuTLS "
#~ "support"
#~ msgstr ""
#~ "%s SSL-Verbindung nicht möglich, da WeeChat nicht mit GNUtls-Support "
#~ "kompiliert wurde\n"
#, fuzzy
#~ msgid "%s%s: authentication failed"
#~ msgstr "Kann das Logfile nicht schreiben\n"
#, fuzzy
#~ msgid "list of Jabber ignore"
#~ msgstr "Port des IRC-Servers"
#, fuzzy
#~ msgid "1 if string is a Jabber channel"
#~ msgstr "Liste von Nicks im Channel"
#, fuzzy
#~ msgid "get nick from Jabber host"
#~ msgstr "Nicknames oder Hosts sperren/verbannen"
#, fuzzy
#~ msgid "list of nicks for a Jabber channel"
#~ msgstr "Liste von Nicks im Channel"
#, fuzzy
#~ msgid "%s%s: error sending data to server (%s)"
#~ msgstr "%s Fehler beim Senden von Daten an den IRC-Server\n"
#, fuzzy
#~ msgid ""
#~ "[list [servername]] | [listfull [servername]] | [add username server[/"
#~ "port] [-auto | -noauto] [-ipv6] [-ssl]] | [copy servername newservername] "
#~ "| [rename servername newservername] | [keep servername] | [del "
#~ "servername] | [deloutq] | [switch]"
#~ msgstr ""
#~ "[Servername] | [Servername Hostname Port [-auto | -noauto] [-ipv6] [-ssl] "
#~ "[-pwd Passwort] [-nicks Nick1 Nick2 Nick3] [-username Benutzername] [-"
#~ "realname Name] [-command Befehl] [-autojoin Channel[,Channel]] ] | [del "
#~ "Servername]"
#, fuzzy
#~ msgid "nicknames to use on Jabber server (separated by comma)"
#~ msgstr "eigener Nickname, der auf dem IRC-Server benutzt werden soll"
#, fuzzy
#~ msgid "user name to use on Jabber server"
#~ msgstr "Benutzername, der an den Server übermittelt werden soll"
#, fuzzy
#~ msgid "real name to use on Jabber server"
#~ msgstr "voller Name, der an den Server übermittelt werden soll"
#, fuzzy
#~ msgid "send unknown commands to Jabber server"
#~ msgstr "sende unbekannte Befehle an den IRC-Server"
#, fuzzy
#~ msgid "password for Jabber server"
#~ msgstr "Passwort für die Proxyverbindung"
#~ msgid " . type: boolean\n"
#~ msgstr " . Typ: Boolean\n"
@ -5259,9 +5594,6 @@ msgstr "%s fehlende Argumente für die \"--dir\"-Option\n"
#~ msgid "%s: debug enabled"
#~ msgstr "FIFO ist offen\n"
#~ msgid "print debug messages"
#~ msgstr "Debugging-Nachricht ausgeben"
#, fuzzy
#~ msgid "dump | buffer | windows | text"
#~ msgstr "dump | windows"

406
po/es.po
View File

@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat 0.2.7-dev\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2009-01-03 13:12+0100\n"
"POT-Creation-Date: 2009-01-15 14:36+0100\n"
"PO-Revision-Date: 2009-01-03 00:42+0100\n"
"Last-Translator: Roberto González Cardenete <robert.glez@gmail.com>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@ -818,7 +818,7 @@ msgid ""
" move: move buffer in the list (may be relative, for example -1)\n"
" close: close buffer\n"
" list: list buffers (no parameter implies this list)\n"
" notify: display notify levels for all open buffers\n"
" notify: display notify levels for all opened buffers\n"
"localvar: display local variables for current buffer\n"
" scroll: scroll in history (may be relative, and may end by a letter: "
"s=sec, m=min, h=hour, d=day, M=month, y=year); if there is only letter, then "
@ -1160,7 +1160,7 @@ msgstr ""
#, fuzzy
msgid ""
" list: list open windows (no parameter implies this list)\n"
" list: list opened windows (no parameter implies this list)\n"
" -1: jump to previous window\n"
" +1: jump to next window\n"
" b#: jump to next window displaying buffer number #\n"
@ -2272,7 +2272,7 @@ msgid ""
msgstr ""
#, fuzzy, c-format
msgid "%s: pipe open"
msgid "%s: pipe opened"
msgstr "La tubería FIFO está abierta\n"
#, fuzzy, c-format
@ -2318,12 +2318,12 @@ msgid "Lag"
msgstr ""
#, fuzzy, c-format
msgid "%s%s: error with IRC server from URL (\"%s\"), ignored"
msgid "%s%s: error with server from URL (\"%s\"), ignored"
msgstr "%s sintaxis inválida para el servidor IRC ('%s'), ignorado\n"
#, c-format
msgid ""
"%s%s: WARNING: some network connections may still be open and not visible, "
"%s%s: WARNING: some network connections may still be opened and not visible, "
"you should restart WeeChat now (with /quit)."
msgstr ""
@ -2587,7 +2587,7 @@ msgstr ""
"usuario: nombre de usuario o máquina a banear"
#, fuzzy
msgid "connect to server(s)"
msgid "connect to IRC server(s)"
msgstr "conectarse a un servidor"
#, fuzzy
@ -2676,7 +2676,7 @@ msgid "shutdown the server"
msgstr "cerrar el servidor"
#, fuzzy
msgid "disconnect from server(s)"
msgid "disconnect from IRC server(s)"
msgstr "desconectarse de un servidor"
#, fuzzy
@ -3061,7 +3061,8 @@ msgstr ""
"distribución: visibilidad del servicio\n"
" tipo: reservado para una futura utilización"
msgid "list, add or remove servers"
#, fuzzy
msgid "list, add or remove IRC servers"
msgstr "lista, añde o elimina servidores"
#, fuzzy
@ -3307,7 +3308,7 @@ msgstr ""
"destinatario: la respuesta debería concordar con esta máscara"
#, fuzzy, c-format
msgid "%sirc: too few arguments for \"%s\" command"
msgid "%s%s: too few arguments for \"%s\" command"
msgstr "%s argumentos incorrectos para el comando \"%s\"\n"
#, c-format
@ -3316,6 +3317,23 @@ msgid ""
"memory because it's currently used"
msgstr ""
#, fuzzy
msgid "list of hostname/port or IP/port for server (separated by comma)"
msgstr "nombre de usuario a utilizar en el servidor IRC"
msgid "proxy used for this server (optional)"
msgstr ""
msgid "use IPv6 protocol for server communication"
msgstr "usar el protocolo IPv6 para la comunicación del servidor"
msgid "use SSL for server communication"
msgstr "usar SSL para la comunicación del servidor"
#, fuzzy
msgid "password for server"
msgstr "contraseña para el servidor IRC"
msgid "automatically connect to server when WeeChat is starting"
msgstr "conexión automática al servidor cuando WeeChat está arrancando"
@ -3326,30 +3344,16 @@ msgid "delay (in seconds) before trying again to reconnect to server"
msgstr ""
"espera (en segundos) antes de intentar de nuevo una reconexión al servidor"
msgid "proxy used for this server (optional)"
msgstr ""
#, fuzzy
msgid "list of IP/port or hostname/port for server (separated by comma)"
msgid "nicknames to use on server (separated by comma)"
msgstr "nombre de usuario a utilizar en el servidor IRC"
msgid "use IPv6 protocol for server communication"
msgstr "usar el protocolo IPv6 para la comunicación del servidor"
msgid "use SSL for server communication"
msgstr "usar SSL para la comunicación del servidor"
msgid "password for IRC server"
msgstr "contraseña para el servidor IRC"
#, fuzzy
msgid "nicknames to use on IRC server (separated by comma)"
msgstr "nombre de usuario a utilizar en el servidor IRC"
msgid "user name to use on IRC server"
msgid "user name to use on server"
msgstr "nombre de usuario para el servidor IRC"
msgid "real name to use on IRC server"
#, fuzzy
msgid "real name to use on server"
msgstr "nombre real para el servidor IRC"
#, fuzzy
@ -3510,7 +3514,7 @@ msgstr ""
"yy=color, %U=subrayado, %R=invertido) "
#, fuzzy
msgid "send unknown commands to IRC server"
msgid "send unknown commands to server"
msgstr "nombre de usuario para el servidor IRC"
#, fuzzy
@ -3913,7 +3917,7 @@ msgid "(message dropped)"
msgstr "mensaje recibido"
#, fuzzy, c-format
msgid "%s%s: not enough memory for received IRC message"
msgid "%s%s: not enough memory for received message"
msgstr "%s memoria insuficiente para un mensaje IRC recibido\n"
#, fuzzy, c-format
@ -3964,7 +3968,7 @@ msgstr "%s conexión rechazada\n"
#, fuzzy, c-format
msgid ""
"%s%s: proxy fails to establish connection to server (check username/password "
"if used and if IRC server address/port is allowed by proxy)"
"if used and if server address/port is allowed by proxy)"
msgstr ""
"%s el proxy ha fallado al establecer la conexión al servidor (comprueba el "
"nombre de usuario o la contraseña si es necesario)\n"
@ -3985,6 +3989,10 @@ msgstr "%s el handshake gnutls ha fallado\n"
msgid "%s%s: not enough memory"
msgstr "No hay suficiente memoria para una nueva línea\n"
#, c-format
msgid "%s%s: addresses not defined for server \"%s\", cannot connect"
msgstr ""
#, fuzzy, c-format
msgid "%s%s: proxy \"%s\" not found for server \"%s\", cannot connect"
msgstr "%s usuario \"%s\" no encontrado para el comando \"%s\"\n"
@ -3993,17 +4001,14 @@ msgstr "%s usuario \"%s\" no encontrado para el comando \"%s\"\n"
msgid "%s%s: missing proxy settings, check options for proxy \"%s\""
msgstr "%s opción desconocida para el comando \"%s\"\n"
#, c-format
msgid "%s%s: addresses not defined for server \"%s\", cannot connect"
msgstr ""
#, fuzzy, c-format
msgid "%s%s: nicks not defined for server \"%s\", cannot connect"
msgstr "%s usuario \"%s\" no encontrado para el comando \"%s\"\n"
#, fuzzy, c-format
msgid ""
"%s%s: cannot connect with SSL since WeeChat was not built with GnuTLS support"
"%s%s: cannot connect with SSL because WeeChat was not built with GnuTLS "
"support"
msgstr ""
"%s No ha sido posible conectar con SSL debido a que Weechat no fue compilado "
"con soporte GNUtls\n"
@ -4040,6 +4045,258 @@ msgstr "%s: Reconectando al servidor...\n"
msgid "%s%s: disconnected from server"
msgstr "¡Desconectado del servidor!\n"
#, fuzzy
msgid "list, add or remove Jabber servers"
msgstr "lista, añde o elimina servidores"
#, fuzzy
msgid ""
"[list [servername]] | [listfull [servername]] | [add servername username "
"hostname[/port] password [-auto | -noauto] [-ipv6] [-tls] [-sasl]] | [copy "
"servername newservername] | [rename servername newservername] | [keep "
"servername] | [del servername] | [switch]"
msgstr ""
"[nombre_de_servidor] | [nombre_de_servidor nombre/IP puerto [-auto | -"
"noauto] [-ipv6] [-ssl] [-pwd contraseña] [-nicks alias1 alias2 alias3] [-"
"username nombre de usuario] [-realname nombre_real] [-command comando] [-"
"autojoin canal[,canal]] ] | [del nombre_de_servidor]"
#, fuzzy
msgid ""
" list: list servers (no parameter implies this list)\n"
" listfull: list servers with detailed info for each server\n"
" add: create a new server\n"
"servername: server name, for internal and display use\n"
" username: username to use on server\n"
" hostname: name or IP address of server, with optional port (default: "
"5222)\n"
" password: password for username on server\n"
" auto: automatically connect to server when WeeChat starts\n"
" noauto: do not connect to server when WeeChat starts (default)\n"
" ipv6: use IPv6 protocol\n"
" tls: use TLS cryptographic protocol\n"
" sasl: use SASL for authentication\n"
" copy: duplicate a server\n"
" rename: rename a server\n"
" keep: keep server in config file (for temporary servers only)\n"
" del: delete a server\n"
" switch: switch active server (when one buffer is used for all servers, "
"default key: alt-s on server buffer)\n"
"\n"
"Examples:\n"
" /jabber listfull\n"
" /jabber add jabberfr user jabber.fr/5222 password -tls\n"
" /jabber copy jabberfr jabberfr2\n"
" /jabber rename jabberfr jabbfr\n"
" /jabber del jabberfr\n"
" /jabber switch"
msgstr ""
" nombre_de_servidor: nombre del servidor, para uso interno y para mostrar\n"
"nombre_de_anfitrión: nombre o dirección IP del servidor\n"
" puerto: puerto para el servidor (número entero)\n"
" ipv6: utilizar protocolo IPv6\n"
" ssl: utilizar protocolo SSL\n"
" contraseña: contraseña para el servidor\n"
" alias1: primer alias para el servidor\n"
" alias2: alias alternativo para el servidor\n"
" alias3: segundo alias alternativo para el servidor\n"
" nombre_de_usuario: nombre de usuario\n"
" nombre_real: nombre real del usuario"
msgid "chat with a buddy"
msgstr ""
#, fuzzy
msgid "buddy [text]"
msgstr "texto"
#, fuzzy
msgid ""
"buddy: buddy name for chat\n"
" text: text to send"
msgstr ""
"servicio: nombre del servicio\n"
"texto: texto a enviar"
#, fuzzy
msgid "connect to Jabber server(s)"
msgstr "conectarse a un servidor"
#, fuzzy
msgid ""
"[-all [-nojoin] | servername [servername ...] [-nojoin] | hostname [-port "
"port] [-ipv6] [-tls] [-sasl]]"
msgstr "nombre_del_servidor: nombre del servidor al que conectarse"
#, fuzzy
msgid ""
" -all: connect to all servers\n"
"servername: internal server name to connect\n"
" -nojoin: do not join any MUC (even if autojoin is enabled on server)\n"
" hostname: hostname to connect\n"
" port: port for server (integer, default is 6667)\n"
" ipv6: use IPv6 protocol\n"
" tls: use TLS cryptographic protocol\n"
" saal: use SASL for authentication"
msgstr "nombre_del_servidor: nombre del servidor al que conectarse"
#, fuzzy
msgid "disconnect from Jabber server(s)"
msgstr "desconectarse de un servidor"
#, fuzzy
msgid "hostname/port or IP/port for server"
msgstr "nombre de usuario a utilizar en el servidor IRC"
#, fuzzy
msgid "use TLS cryptographic protocol for server communication"
msgstr "usar el protocolo IPv6 para la comunicación del servidor"
#, fuzzy
msgid "use SASL for authentication"
msgstr "usar SSL para la comunicación del servidor"
msgid "resource (for example: Home or Work)"
msgstr ""
#, fuzzy
msgid "password"
msgstr "contraseña de usuario"
#, fuzzy
msgid "local alias"
msgstr "Lista de alias:\n"
#, fuzzy
msgid ""
"command(s) to run when connected to server (many commands should be "
"separated by ';', use '\\;' for a semicolon, special variables $nick, $muc "
"and $server are replaced by their value)"
msgstr ""
"comando(s) a ejecutar cuando se conecte al servidor (muchos comandos deberí"
"an ser separados por ';', utilizar '\\;' para un punto y coma)"
#, fuzzy
msgid ""
"comma separated list of MUCs to join when connected to server (example: "
"\"#chan1,#chan2,#chan3 key1,key2\")"
msgstr ""
"lista de canales (separados por comas) a unirse cuando se conecte a un "
"servidor (ejemplo: \"#chan1,#chan2,#chan3 key1,key2\")"
#, fuzzy
msgid "automatically rejoin MUCs when kicked"
msgstr "unirse de nuevo automáticamente a los canales cuando sea expulsado"
#, fuzzy
msgid "open new MUCs/privates near server"
msgstr "abrir nuevos canales/privados cerca del servidor"
msgid "display MUC modes in \"buffer_name\" bar item"
msgstr ""
msgid ""
"filter join/part/quit messages for a nick if not speaking for some minutes "
"on MUC (you must create a filter on tag \"jabber_smart_filter\")"
msgstr ""
#, fuzzy
msgid ""
"default part message (leaving MUC) ('%v' will be replaced by WeeChat version "
"in string)"
msgstr ""
"mensaje de partida por defecto (abandonando el canal) ('%v' será "
"reemplazado por la versión de WeeChat en la cadena)"
#, fuzzy
msgid "Jabber debug messages"
msgstr "imprime mensajes de depuración"
msgid "MUC"
msgid_plural "MUCs"
msgstr[0] ""
msgstr[1] ""
#, fuzzy
msgid "get buffer pointer for a Jabber server/MUC"
msgstr "lista de canales a unirse cuando se conecte a un servidor"
#, fuzzy
msgid "list of Jabber servers"
msgstr "puerto para el servidor IRC"
#, fuzzy
msgid "list of MUCs for a Jabber server"
msgstr "lista de canales a unirse cuando se conecte a un servidor"
#, fuzzy
msgid "list of buddies for a Jabber server or MUC"
msgstr "lista de canales a unirse cuando se conecte a un servidor"
#, fuzzy, c-format
msgid "%s: this buffer is not a MUC!"
msgstr "¡Esta ventana no es un canal!\n"
#, fuzzy, c-format
msgid "%s%s: cannot allocate new MUC"
msgstr "%s no ha sido posible crear un nuevo canal"
#, fuzzy, c-format
msgid "%s%s: connecting to server %s/%d%s%s%s via %s proxy %s/%d%s..."
msgstr "%s: conectando al servidor %s:%d%s%s vía %s proxy %s: %d%s...\n"
#, fuzzy, c-format
msgid "Connecting to server %s/%d%s%s%s via %s proxy %s/%d%s..."
msgstr "Conectando al servidor %s:%d%s%s vía %s proxy %s:%d%s...\n"
#, fuzzy, c-format
msgid "%s%s: connecting to server %s/%d%s%s%s..."
msgstr "%s: conectando al servidor %s:%d%s%s...\n"
#, fuzzy, c-format
msgid "%s%s: username or server not defined for server \"%s\", cannot connect"
msgstr "%s usuario \"%s\" no encontrado para el comando \"%s\"\n"
#, fuzzy, c-format
msgid "%s%s: hostname/IP not defined for server \"%s\", cannot connect"
msgstr "%s usuario \"%s\" no encontrado para el comando \"%s\"\n"
#, fuzzy, c-format
msgid ""
"%s%s: cannot connect with TLS because iksemel library was not built with "
"GnuTLS support"
msgstr ""
"%s No ha sido posible conectar con SSL debido a que Weechat no fue compilado "
"con soporte GNUtls\n"
#, fuzzy, c-format
msgid "%s%s: failed to create stream parser"
msgstr "%s no es posible crear el servidor\n"
#, fuzzy, c-format
msgid "%s%s: failed to create id"
msgstr "%s no es posible crear el servidor\n"
#, fuzzy, c-format
msgid "%s%s: SASL authentication failed (check SASL option and password)"
msgstr "No es posible escribir un fichero de log para un búfer\n"
#, fuzzy, c-format
msgid "%s%s: server disconnected"
msgstr "Servidor %s%s%s creado\n"
#, fuzzy, c-format
msgid "%s%s: stream error"
msgstr "%sServidor: %s%s\n"
#, fuzzy, c-format
msgid "%s%s: login ok"
msgstr "%s no es posible crear el servidor\n"
#, fuzzy, c-format
msgid "%s%s: authentication failed (check SASL option and password)"
msgstr "No es posible escribir un fichero de log para un búfer\n"
#, c-format
msgid ""
"%s%s: unable to find filename mask for buffer \"%s\", logging is disabled "
@ -4099,7 +4356,7 @@ msgid "[list | set level | disable]"
msgstr ""
msgid ""
" list: show logging status for open buffers\n"
" list: show logging status for opened buffers\n"
" set: set logging level on current buffer\n"
" level: level for messages to be logged (0 = logging disabled, 1 = a few "
"messages (most important) .. 9 = all messages)\n"
@ -5074,6 +5331,78 @@ msgstr "%s no es posible crear el servidor\n"
msgid "%s%s: timeout for \"%s\" with %s"
msgstr "%s falta un argumento para la opción --dir\n"
#, fuzzy
#~ msgid ""
#~ "%s%s: cannot connect with TLS because WeeChat was not built with GnuTLS "
#~ "support"
#~ msgstr ""
#~ "%s No ha sido posible conectar con SSL debido a que Weechat no fue "
#~ "compilado con soporte GNUtls\n"
#, fuzzy
#~ msgid ""
#~ "%s%s: cannot connect with SSL since WeeChat was not built with GnuTLS "
#~ "support"
#~ msgstr ""
#~ "%s No ha sido posible conectar con SSL debido a que Weechat no fue "
#~ "compilado con soporte GNUtls\n"
#, fuzzy
#~ msgid "%s%s: authentication failed"
#~ msgstr "No es posible escribir un fichero de log para un búfer\n"
#, fuzzy
#~ msgid "list of Jabber ignore"
#~ msgstr "puerto para el servidor IRC"
#, fuzzy
#~ msgid "1 if string is a Jabber channel"
#~ msgstr "lista de usuarios en el canal"
#, fuzzy
#~ msgid "get nick from Jabber host"
#~ msgstr "banea usuarios o máquinas"
#, fuzzy
#~ msgid "list of nicks for a Jabber channel"
#~ msgstr "lista de usuarios en el canal"
#, fuzzy
#~ msgid "%s%s: error sending data to server (%s)"
#~ msgstr "%s error enviando datos al servidor IRC\n"
#, fuzzy
#~ msgid ""
#~ "[list [servername]] | [listfull [servername]] | [add username server[/"
#~ "port] [-auto | -noauto] [-ipv6] [-ssl]] | [copy servername newservername] "
#~ "| [rename servername newservername] | [keep servername] | [del "
#~ "servername] | [deloutq] | [switch]"
#~ msgstr ""
#~ "[nombre_de_servidor] | [nombre_de_servidor nombre/IP puerto [-auto | -"
#~ "noauto] [-ipv6] [-ssl] [-pwd contraseña] [-nicks alias1 alias2 alias3] [-"
#~ "username nombre de usuario] [-realname nombre_real] [-command comando] [-"
#~ "autojoin canal[,canal]] ] | [del nombre_de_servidor]"
#, fuzzy
#~ msgid "nicknames to use on Jabber server (separated by comma)"
#~ msgstr "nombre de usuario a utilizar en el servidor IRC"
#, fuzzy
#~ msgid "user name to use on Jabber server"
#~ msgstr "nombre de usuario para el servidor IRC"
#, fuzzy
#~ msgid "real name to use on Jabber server"
#~ msgstr "nombre real para el servidor IRC"
#, fuzzy
#~ msgid "send unknown commands to Jabber server"
#~ msgstr "nombre de usuario para el servidor IRC"
#, fuzzy
#~ msgid "password for Jabber server"
#~ msgstr "contraseña para el servidor proxy"
#~ msgid " . type: boolean\n"
#~ msgstr " . tipo: booleano\n"
@ -5260,9 +5589,6 @@ msgstr "%s falta un argumento para la opción --dir\n"
#~ msgid "%s: debug enabled"
#~ msgstr "La tubería FIFO está abierta\n"
#~ msgid "print debug messages"
#~ msgstr "imprime mensajes de depuración"
#, fuzzy
#~ msgid "dump | buffer | windows | text"
#~ msgstr "volcar | ventanas"

424
po/fr.po
View File

@ -6,8 +6,8 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat 0.2.7-dev\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2009-01-03 13:12+0100\n"
"PO-Revision-Date: 2009-01-03 13:12+0100\n"
"POT-Creation-Date: 2009-01-15 14:36+0100\n"
"PO-Revision-Date: 2009-01-15 14:38+0100\n"
"Last-Translator: FlashCode <flashcode@flashtux.org>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
"MIME-Version: 1.0\n"
@ -818,7 +818,7 @@ msgid ""
" move: move buffer in the list (may be relative, for example -1)\n"
" close: close buffer\n"
" list: list buffers (no parameter implies this list)\n"
" notify: display notify levels for all open buffers\n"
" notify: display notify levels for all opened buffers\n"
"localvar: display local variables for current buffer\n"
" scroll: scroll in history (may be relative, and may end by a letter: "
"s=sec, m=min, h=hour, d=day, M=month, y=year); if there is only letter, then "
@ -1269,7 +1269,7 @@ msgstr ""
"scroll_next_highlight]"
msgid ""
" list: list open windows (no parameter implies this list)\n"
" list: list opened windows (no parameter implies this list)\n"
" -1: jump to previous window\n"
" +1: jump to next window\n"
" b#: jump to next window displaying buffer number #\n"
@ -2391,7 +2391,7 @@ msgstr ""
"Sans paramètre, cette commande affiche la liste des infolists disponibles"
#, c-format
msgid "%s: pipe open"
msgid "%s: pipe opened"
msgstr "%s: tube ouvert"
#, c-format
@ -2435,12 +2435,12 @@ msgid "Lag"
msgstr "Lag"
#, c-format
msgid "%s%s: error with IRC server from URL (\"%s\"), ignored"
msgstr "%s%s: erreur avec le serveur IRC de l'URL (\"%s\"), ignoré"
msgid "%s%s: error with server from URL (\"%s\"), ignored"
msgstr "%s%s: erreur avec le serveur de l'URL (\"%s\"), ignoré"
#, c-format
msgid ""
"%s%s: WARNING: some network connections may still be open and not visible, "
"%s%s: WARNING: some network connections may still be opened and not visible, "
"you should restart WeeChat now (with /quit)."
msgstr ""
"%s%s: ATTENTION: des connexions réseau peuvent encore être ouvertes et non "
@ -2704,8 +2704,8 @@ msgstr ""
" canal: nom du canal pour le bannissement\n"
"pseudo: pseudo ou hôte pour le bannissement"
msgid "connect to server(s)"
msgstr "se connecter à un/plusieurs serveur(s)"
msgid "connect to IRC server(s)"
msgstr "se connecter à un/plusieurs serveur(s) IRC"
msgid ""
"[-all [-nojoin] | servername [servername ...] [-nojoin] | hostname [-port "
@ -2790,8 +2790,8 @@ msgstr "retire la voix du/des pseudo(s)"
msgid "shutdown the server"
msgstr "arrêter le serveur"
msgid "disconnect from server(s)"
msgstr "se déconnecter d'un/plusieurs serveur(s)"
msgid "disconnect from IRC server(s)"
msgstr "se déconnecter d'un/plusieurs serveur(s) IRC"
msgid "[-all | servername [servername ...]]"
msgstr "[-all | nom_serveur [nom_serveur...]]"
@ -3190,8 +3190,8 @@ msgstr ""
"distribution: visibilité du service\n"
" type: réservé pour une utilisation future"
msgid "list, add or remove servers"
msgstr "liste, ajoute ou retire des serveurs"
msgid "list, add or remove IRC servers"
msgstr "liste, ajoute ou retire des serveurs IRC"
msgid ""
"[list [servername]] | [listfull [servername]] | [add servername hostname[/"
@ -3450,8 +3450,8 @@ msgstr ""
" cible: la réponse doit correspondre à ce masque"
#, c-format
msgid "%sirc: too few arguments for \"%s\" command"
msgstr "%sirc: pas assez de paramètres pour la commande \"%s\""
msgid "%s%s: too few arguments for \"%s\" command"
msgstr "%s%s: pas assez de paramètres pour la commande \"%s\""
#, c-format
msgid ""
@ -3461,6 +3461,22 @@ msgstr ""
"%s%s: attention: le serveur \"%s\" n'a pas été trouvé dans le fichier de "
"configuration, non supprimé en mémoire car il est en cours d'utilisation"
msgid "list of hostname/port or IP/port for server (separated by comma)"
msgstr ""
"liste de nom/port ou IP/port pour le serveur (séparés par des virgules)"
msgid "proxy used for this server (optional)"
msgstr "proxy utilisé pour ce serveur (optionnel)"
msgid "use IPv6 protocol for server communication"
msgstr "utiliser le protocole IPv6 pour la communication avec le serveur"
msgid "use SSL for server communication"
msgstr "utiliser SSL pour la communication avec le serveur"
msgid "password for server"
msgstr "mot de passe pour le serveur"
msgid "automatically connect to server when WeeChat is starting"
msgstr "connexion automatique au serveur quand WeeChat démarre"
@ -3470,29 +3486,14 @@ msgstr "reconnexion automatique au serveur après une déconnexion"
msgid "delay (in seconds) before trying again to reconnect to server"
msgstr "délai (en secondes) avant de tenter une reconnexion au serveur"
msgid "proxy used for this server (optional)"
msgstr "proxy utilisé pour ce serveur (optionnel)"
msgid "nicknames to use on server (separated by comma)"
msgstr "pseudos à utiliser sur le serveur (séparés par des virgules)"
msgid "list of IP/port or hostname/port for server (separated by comma)"
msgstr "liste d'IP/port ou nom/port pour le serveur (séparés par des virgules)"
msgid "user name to use on server"
msgstr "nom d'utilisateur pour le serveur"
msgid "use IPv6 protocol for server communication"
msgstr "utiliser le protocole IPv6 pour la communication avec le serveur"
msgid "use SSL for server communication"
msgstr "utiliser SSL pour la communication avec le serveur"
msgid "password for IRC server"
msgstr "mot de passe pour le serveur IRC"
msgid "nicknames to use on IRC server (separated by comma)"
msgstr "pseudos à utiliser sur le serveur IRC (séparés par des virgules)"
msgid "user name to use on IRC server"
msgstr "nom d'utilisateur pour le serveur IRC"
msgid "real name to use on IRC server"
msgstr "nom réel pour le serveur IRC"
msgid "real name to use on server"
msgstr "nom réel pour le serveur"
msgid ""
"custom local hostname/IP for server (optional, if empty local hostname is "
@ -3651,8 +3652,8 @@ msgstr ""
"autorise l'utilisateur à envoyer des couleurs avec des codes spéciaux "
"(^Cb=gras, ^Cxx=couleur, ^Ccxx,yy=couleur+fond, ^Cu=souligné, ^Cr=inversé)"
msgid "send unknown commands to IRC server"
msgstr "envoie les commandes inconnues au serveur IRC"
msgid "send unknown commands to server"
msgstr "envoie les commandes inconnues au serveur"
msgid "IRC debug messages"
msgstr "Messages de debug IRC"
@ -4053,8 +4054,8 @@ msgid "(message dropped)"
msgstr "(message supprimé)"
#, c-format
msgid "%s%s: not enough memory for received IRC message"
msgstr "%s%s: mémoire insuffisante pour un message IRC reçu"
msgid "%s%s: not enough memory for received message"
msgstr "%s%s: mémoire insuffisante pour un message reçu"
#, c-format
msgid "%s%s: cannot read data from socket, disconnecting from server..."
@ -4104,11 +4105,11 @@ msgstr "%s%s: connexion refusée"
#, c-format
msgid ""
"%s%s: proxy fails to establish connection to server (check username/password "
"if used and if IRC server address/port is allowed by proxy)"
"if used and if server address/port is allowed by proxy)"
msgstr ""
"%s%s: le proxy n'a pas pu se connecter au serveur (vérifiez l'utilisateur/"
"mot de passe si utilisés et si l'adresse/port du serveur IRC sont autorisés "
"par le proxy)"
"mot de passe si utilisés et si l'adresse/port du serveur sont autorisés par "
"le proxy)"
#, c-format
msgid "%s%s: unable to set local hostname/IP"
@ -4126,6 +4127,11 @@ msgstr "%s%s: la poignée de main de GnuTLS a échoué"
msgid "%s%s: not enough memory"
msgstr "%s%s: pas assez de mémoire"
#, c-format
msgid "%s%s: addresses not defined for server \"%s\", cannot connect"
msgstr ""
"%s%s: adresses non définies pour le serveur \"%s\", connexion impossible"
#, c-format
msgid "%s%s: proxy \"%s\" not found for server \"%s\", cannot connect"
msgstr ""
@ -4136,20 +4142,16 @@ msgid "%s%s: missing proxy settings, check options for proxy \"%s\""
msgstr ""
"%s%s: options de proxy manquantes, vérifiez les options pour le proxy \"%s\""
#, c-format
msgid "%s%s: addresses not defined for server \"%s\", cannot connect"
msgstr ""
"%s%s: adresses non définies pour le serveur \"%s\", connexion impossible"
#, c-format
msgid "%s%s: nicks not defined for server \"%s\", cannot connect"
msgstr "%s%s: pseudos non définis pour le serveur \"%s\", connexion impossible"
#, c-format
msgid ""
"%s%s: cannot connect with SSL since WeeChat was not built with GnuTLS support"
"%s%s: cannot connect with SSL because WeeChat was not built with GnuTLS "
"support"
msgstr ""
"%s%s: impossible de se connecter en SSL car WeeChat n'a pas été construit "
"%s%s: impossible de se connecter avec SSL car WeeChat n'a pas été construit "
"avec le support GnuTLS"
#, c-format
@ -4184,6 +4186,276 @@ msgstr "%s%s: reconnexion au serveur..."
msgid "%s%s: disconnected from server"
msgstr "%s%s: déconnecté du serveur"
msgid "list, add or remove Jabber servers"
msgstr "liste, ajoute ou retire des serveurs Jabber"
msgid ""
"[list [servername]] | [listfull [servername]] | [add servername username "
"hostname[/port] password [-auto | -noauto] [-ipv6] [-tls] [-sasl]] | [copy "
"servername newservername] | [rename servername newservername] | [keep "
"servername] | [del servername] | [switch]"
msgstr ""
"[list [nom_serveur]] | [listfull [nom_serveur]] | [add nom_serveur "
"nom_utilisateur nom[/port] mot_de_passe [-temp] [-auto | -noauto] [-ipv6] [-"
"tls] [-sasl]] | [copy nom_serveur nouveau_nom_serveur] | [rename nom_serveur "
"nouveau_nom_serveur] | [keep nom_serveur] | [del nom_serveur] | [switch]"
msgid ""
" list: list servers (no parameter implies this list)\n"
" listfull: list servers with detailed info for each server\n"
" add: create a new server\n"
"servername: server name, for internal and display use\n"
" username: username to use on server\n"
" hostname: name or IP address of server, with optional port (default: "
"5222)\n"
" password: password for username on server\n"
" auto: automatically connect to server when WeeChat starts\n"
" noauto: do not connect to server when WeeChat starts (default)\n"
" ipv6: use IPv6 protocol\n"
" tls: use TLS cryptographic protocol\n"
" sasl: use SASL for authentication\n"
" copy: duplicate a server\n"
" rename: rename a server\n"
" keep: keep server in config file (for temporary servers only)\n"
" del: delete a server\n"
" switch: switch active server (when one buffer is used for all servers, "
"default key: alt-s on server buffer)\n"
"\n"
"Examples:\n"
" /jabber listfull\n"
" /jabber add jabberfr user jabber.fr/5222 password -tls\n"
" /jabber copy jabberfr jabberfr2\n"
" /jabber rename jabberfr jabbfr\n"
" /jabber del jabberfr\n"
" /jabber switch"
msgstr ""
" list: afficher les serveurs (pas de paramètre implique cette "
"liste)\n"
" listfull: afficher les serveurs avec de l'info détaillée pour chaque\n"
" add: créer un nouveau serveur\n"
" nom_serveur: nom du serveur, pour usage interne et affichage\n"
"nom_utilisateur: nom d'utilisateur pour ce serveur\n"
" nom: nom ou adresse IP du serveur avec port en option (defaut: "
"5222)\n"
" mot_de_passe: mot de passe pour l'utilisateur sur le serveur\n"
" auto: se connecter automatiquement au serveur quand WeeChat "
"démarre\n"
" noauto: ne pas se connecter au serveur quand WeeChat démarre (par "
"défaut)\n"
" ipv6: utiliser le protocole IPv6\n"
" tsl: utiliser le protocole de chiffrement TLS\n"
" sasl: utiliser SASL pour l'authentification\n"
" copy: dupliquer un serveur\n"
" rename: renommer un serveur\n"
" keep: garder le serveur dans le fichier de configuration (pour "
"les serveurs temporaires seulement)\n"
" del: supprimer un serveur\n"
" switch: changer le serveur actif (quand un tampon est utilisé pour "
"tous les serveurs, touche par défaut: alt-s sur le tampon serveur)\n"
"\n"
"Exemples :\n"
" /jabber listfull\n"
" /jabber add jabberfr user jabber.fr/5222 password -tls\n"
" /jabber copy jabberfr jabberfr2\n"
" /jabber rename jabberfr jabbfr\n"
" /jabber del jabberfr\n"
" /jabber switch"
msgid "chat with a buddy"
msgstr "discuter avec un contact"
msgid "buddy [text]"
msgstr "contact [texte]"
msgid ""
"buddy: buddy name for chat\n"
" text: text to send"
msgstr ""
"contact: nom du contact pour la discussion\n"
" texte: texte à envoyer"
msgid "connect to Jabber server(s)"
msgstr "se connecter à un/plusieurs serveur(s) Jabber"
msgid ""
"[-all [-nojoin] | servername [servername ...] [-nojoin] | hostname [-port "
"port] [-ipv6] [-tls] [-sasl]]"
msgstr ""
"[-all [-nojoin] | nom_serveur [nom_serveur ...] [-nojoin] | nom/IP [-port "
"port] [-ipv6] [-tls] [-sasl]]"
msgid ""
" -all: connect to all servers\n"
"servername: internal server name to connect\n"
" -nojoin: do not join any MUC (even if autojoin is enabled on server)\n"
" hostname: hostname to connect\n"
" port: port for server (integer, default is 6667)\n"
" ipv6: use IPv6 protocol\n"
" tls: use TLS cryptographic protocol\n"
" saal: use SASL for authentication"
msgstr ""
" -all: se reconnecter à tous les serveurs\n"
"nom_serveur: nom du serveur pour se connecter\n"
" -nojoin: ne rejoindre aucun MUC (même si l'autojoin est activé pour le "
"serveur)\n"
" nom/IP: nom/IP pour se connecter\n"
" port: port pour le serveur (nombre entier, 6667 par défaut)\n"
" ipv6: utiliser le protocole IPv6\n"
" tls: utiliser le protocole de chiffrement TLS\n"
" sasl: utiliser SASL pour l'authentification"
msgid "disconnect from Jabber server(s)"
msgstr "se déconnecter d'un/plusieurs serveur(s) Jabber"
msgid "hostname/port or IP/port for server"
msgstr "nom/port ou IP/port pour le serveur"
msgid "use TLS cryptographic protocol for server communication"
msgstr ""
"utiliser le protocole de chiffrement TLS pour la communication avec le "
"serveur"
msgid "use SASL for authentication"
msgstr "utiliser SASL pour l'authentification"
msgid "resource (for example: Home or Work)"
msgstr "ressource (pas exemple: Maison ou Travail)"
msgid "password"
msgstr "mot de passe"
msgid "local alias"
msgstr "alias local"
msgid ""
"command(s) to run when connected to server (many commands should be "
"separated by ';', use '\\;' for a semicolon, special variables $nick, $muc "
"and $server are replaced by their value)"
msgstr ""
"commande(s) à exécuter lorsque connecté au serveur (plusieurs commandes "
"doivent être séparées par ';', utilisez '\\;' pour un point-virgule, les "
"variables spéciales $nick, $muc et $server sont remplacées par leur valeur)"
msgid ""
"comma separated list of MUCs to join when connected to server (example: "
"\"#chan1,#chan2,#chan3 key1,key2\")"
msgstr ""
"liste des MUCs (séparés par des virgules) à rejoindre lorsque connecté au "
"serveur (exemple: \"#chan1,#chan2,#chan3 key1,key2\")"
msgid "automatically rejoin MUCs when kicked"
msgstr "rejoindre automatiquement les MUCs quand mis dehors"
msgid "open new MUCs/privates near server"
msgstr "ouvrir les nouveaux MUCs/privés près du serveur"
msgid "display MUC modes in \"buffer_name\" bar item"
msgstr "affiche les modes du MUC dans l'objet de barre \"buffer_name\""
msgid ""
"filter join/part/quit messages for a nick if not speaking for some minutes "
"on MUC (you must create a filter on tag \"jabber_smart_filter\")"
msgstr ""
"filtrer les messages join/part/quit pour un pseudo s'il n'a pas parlé "
"pendant quelques minutes sur le MUC (vous devez créer un filtre sur le tag "
"\"jabber_smart_filter\")"
msgid ""
"default part message (leaving MUC) ('%v' will be replaced by WeeChat version "
"in string)"
msgstr ""
"message par défaut pour le part (en quittant un MUC) ('%v' sera remplacé par "
"la version de WeeChat dans la chaîne)"
msgid "Jabber debug messages"
msgstr "Messages de debug Jabber"
msgid "MUC"
msgid_plural "MUCs"
msgstr[0] "MUC"
msgstr[1] "MUCs"
msgid "get buffer pointer for a Jabber server/MUC"
msgstr "retourne le pointeur vers le tampon pour un serveur/MUC Jabber"
msgid "list of Jabber servers"
msgstr "liste des serveurs Jabber"
msgid "list of MUCs for a Jabber server"
msgstr "liste des MUCs pour un serveur Jabber"
msgid "list of buddies for a Jabber server or MUC"
msgstr "liste des contacts pour un serveur ou MUC Jabber"
#, c-format
msgid "%s: this buffer is not a MUC!"
msgstr "%s: ce tampon n'est pas un MUC !"
#, c-format
msgid "%s%s: cannot allocate new MUC"
msgstr "%s%s: impossible d'allouer un nouveau MUC"
#, c-format
msgid "%s%s: connecting to server %s/%d%s%s%s via %s proxy %s/%d%s..."
msgstr "%s%s: connexion au serveur %s/%d%s%s%s via le proxy %s %s/%d%s..."
#, c-format
msgid "Connecting to server %s/%d%s%s%s via %s proxy %s/%d%s..."
msgstr "Connexion au serveur %s/%d%s%s%s via le proxy %s %s/%d%s..."
#, c-format
msgid "%s%s: connecting to server %s/%d%s%s%s..."
msgstr "%s%s: connexion au serveur %s/%d%s%s%s..."
#, c-format
msgid "%s%s: username or server not defined for server \"%s\", cannot connect"
msgstr ""
"%s%s: nom d'utilisateur ou de serveur non défini pour le serveur \"%s\", "
"connexion impossible"
#, c-format
msgid "%s%s: hostname/IP not defined for server \"%s\", cannot connect"
msgstr "%s%s: nom/IP non défini pour le serveur \"%s\", connexion impossible"
#, c-format
msgid ""
"%s%s: cannot connect with TLS because iksemel library was not built with "
"GnuTLS support"
msgstr ""
"%s%s: impossible de se connecter avec TLS car la bibliothèque iksemel n'a "
"pas été construite avec le support GnuTLS"
#, c-format
msgid "%s%s: failed to create stream parser"
msgstr "%s%s: impossible de créer l'analyseur de flux"
#, c-format
msgid "%s%s: failed to create id"
msgstr "%s%s: impossible de créer l'id"
#, c-format
msgid "%s%s: SASL authentication failed (check SASL option and password)"
msgstr ""
"%s%s: l'authentification SASL a échoué (vérifiez l'option SASL et le mot de "
"passe)"
#, c-format
msgid "%s%s: server disconnected"
msgstr "%s%s: serveur déconnecté"
#, c-format
msgid "%s%s: stream error"
msgstr "%s%s: erreur de flux"
#, c-format
msgid "%s%s: login ok"
msgstr "%s%s: login ok"
#, c-format
msgid "%s%s: authentication failed (check SASL option and password)"
msgstr ""
"%s%s: l'authentification a échoué (vérifiez l'option SASL et le mot de passe)"
#, c-format
msgid ""
"%s%s: unable to find filename mask for buffer \"%s\", logging is disabled "
@ -4246,7 +4518,7 @@ msgid "[list | set level | disable]"
msgstr "[list | set niveau | disable]"
msgid ""
" list: show logging status for open buffers\n"
" list: show logging status for opened buffers\n"
" set: set logging level on current buffer\n"
" level: level for messages to be logged (0 = logging disabled, 1 = a few "
"messages (most important) .. 9 = all messages)\n"
@ -5235,51 +5507,3 @@ msgstr "%s%s: impossible de positionner l'option \"nonblock\" pour la socket"
#, c-format
msgid "%s%s: timeout for \"%s\" with %s"
msgstr "%s%s: délai d'attente dépassé pour \"%s\" avec %s"
#~ msgid " . type: boolean\n"
#~ msgstr " . type: booléen\n"
#~ msgid " . values: \"on\" or \"off\"\n"
#~ msgstr " . valeurs: \"on\" ou \"off\"\n"
#~ msgid " . default value: \"%s\"\n"
#~ msgstr " . valeur par défaut: \"%s\"\n"
#~ msgid " . type: string\n"
#~ msgstr " . type: chaîne\n"
#~ msgid " . values: "
#~ msgstr " . valeurs: "
#~ msgid " . type: integer\n"
#~ msgstr " . type: entier\n"
#~ msgid " . values: between %d and %d\n"
#~ msgstr " . valeurs: entre %d et %d\n"
#~ msgid " . default value: %d\n"
#~ msgstr " . valeur par défaut: %d\n"
#~ msgid " . values: any string\n"
#~ msgstr " . valeurs: toute chaîne\n"
#~ msgid " . type: char\n"
#~ msgstr " . type: caractère\n"
#~ msgid " . values: any char\n"
#~ msgstr " . valeurs: tout caractère\n"
#~ msgid " . values: any string (limit: %d chars)\n"
#~ msgstr " . valeurs: toute chaîne (limite: %d caractères)\n"
#~ msgid " . type: color\n"
#~ msgstr " . type: couleur\n"
#~ msgid " . values: color (depends on GUI used)\n"
#~ msgstr " . valeurs: couleur (dépend de l'interface utilisée)\n"
#~ msgid " . description: %s\n"
#~ msgstr " . description: %s\n"
#~ msgid "%sWarning: %s, line %d: invalid syntax, missing \"=\""
#~ msgstr "%sAttention: %s, ligne %d: syntaxe invalide, il manque \"=\""

443
po/hu.po
View File

@ -12,7 +12,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat 0.2.7-dev\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2009-01-03 13:12+0100\n"
"POT-Creation-Date: 2009-01-15 14:36+0100\n"
"PO-Revision-Date: 2009-01-03 00:42+0100\n"
"Last-Translator: Andras Voroskoi <voroskoi@frugalware.org>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@ -822,7 +822,7 @@ msgid ""
" move: move buffer in the list (may be relative, for example -1)\n"
" close: close buffer\n"
" list: list buffers (no parameter implies this list)\n"
" notify: display notify levels for all open buffers\n"
" notify: display notify levels for all opened buffers\n"
"localvar: display local variables for current buffer\n"
" scroll: scroll in history (may be relative, and may end by a letter: "
"s=sec, m=min, h=hour, d=day, M=month, y=year); if there is only letter, then "
@ -1195,7 +1195,7 @@ msgstr ""
#, fuzzy
msgid ""
" list: list open windows (no parameter implies this list)\n"
" list: list opened windows (no parameter implies this list)\n"
" -1: jump to previous window\n"
" +1: jump to next window\n"
" b#: jump to next window displaying buffer number #\n"
@ -2307,7 +2307,7 @@ msgid ""
msgstr ""
#, fuzzy, c-format
msgid "%s: pipe open"
msgid "%s: pipe opened"
msgstr "FIFO cső nyitva\n"
#, fuzzy, c-format
@ -2352,12 +2352,12 @@ msgid "Lag"
msgstr ""
#, fuzzy, c-format
msgid "%s%s: error with IRC server from URL (\"%s\"), ignored"
msgid "%s%s: error with server from URL (\"%s\"), ignored"
msgstr "%s érvénytelen szintaxis az IRC szervernek ('%s'), mellőzve\n"
#, c-format
msgid ""
"%s%s: WARNING: some network connections may still be open and not visible, "
"%s%s: WARNING: some network connections may still be opened and not visible, "
"you should restart WeeChat now (with /quit)."
msgstr ""
@ -2617,7 +2617,8 @@ msgstr ""
"szoba: letiltandó szoba\n"
" név: letiltandó felhasználó vagy gép"
msgid "connect to server(s)"
#, fuzzy
msgid "connect to IRC server(s)"
msgstr "csatlakozás a szerver(ek)hez"
msgid ""
@ -2710,7 +2711,8 @@ msgstr "elveszi a voice jogot a felhasználó(k)tól"
msgid "shutdown the server"
msgstr "szerver leállítása"
msgid "disconnect from server(s)"
#, fuzzy
msgid "disconnect from IRC server(s)"
msgstr "kilépés a szerver(ek)ről"
msgid "[-all | servername [servername ...]]"
@ -3093,7 +3095,8 @@ msgstr ""
"megosztás: a szolgáltatás elérhetősége\n"
" típus: későbbi használatra fenntartva"
msgid "list, add or remove servers"
#, fuzzy
msgid "list, add or remove IRC servers"
msgstr "szerverek listázása, hozzáadása vagy eltávolítása"
#, fuzzy
@ -3355,7 +3358,7 @@ msgstr ""
" cél: a válasznak illeszkednie kell ehhez a feltételhez"
#, fuzzy, c-format
msgid "%sirc: too few arguments for \"%s\" command"
msgid "%s%s: too few arguments for \"%s\" command"
msgstr "%s rossz argumentum a \"%s\" parancsnak\n"
#, c-format
@ -3364,6 +3367,23 @@ msgid ""
"memory because it's currently used"
msgstr ""
#, fuzzy
msgid "list of hostname/port or IP/port for server (separated by comma)"
msgstr "felhasználónév az IRC szerveren"
msgid "proxy used for this server (optional)"
msgstr ""
msgid "use IPv6 protocol for server communication"
msgstr "IPv6 protokoll használata a kapcsolathoz"
msgid "use SSL for server communication"
msgstr "SSL használata a a kapcsolathoz"
#, fuzzy
msgid "password for server"
msgstr "jelszó az IRC szerveren"
msgid "automatically connect to server when WeeChat is starting"
msgstr "automatikus csatlakozás a szerverhez a WeeChat indulásakor"
@ -3373,30 +3393,16 @@ msgstr "automatikus újracsatlakozás a szerverhez, ha lekapcsolódik"
msgid "delay (in seconds) before trying again to reconnect to server"
msgstr "két újracsatlakozási próba közti szünet (másodpercben)"
msgid "proxy used for this server (optional)"
msgstr ""
#, fuzzy
msgid "list of IP/port or hostname/port for server (separated by comma)"
msgid "nicknames to use on server (separated by comma)"
msgstr "felhasználónév az IRC szerveren"
msgid "use IPv6 protocol for server communication"
msgstr "IPv6 protokoll használata a kapcsolathoz"
msgid "use SSL for server communication"
msgstr "SSL használata a a kapcsolathoz"
msgid "password for IRC server"
msgstr "jelszó az IRC szerveren"
#, fuzzy
msgid "nicknames to use on IRC server (separated by comma)"
msgstr "felhasználónév az IRC szerveren"
msgid "user name to use on IRC server"
msgid "user name to use on server"
msgstr "használni kívánt felhasználónév az IRC szerveren"
msgid "real name to use on IRC server"
#, fuzzy
msgid "real name to use on server"
msgstr "az IRC szerveren használt valódi név"
#, fuzzy
@ -3547,7 +3553,8 @@ msgstr ""
"színküldés engedélyezése speciális karakterekkel (^Cb=félkövér, ^Ccxx=szín, "
"^Cxx,yy=szín+háttérszín ^Cu=aláhúzás, ^Cr=fordított)"
msgid "send unknown commands to IRC server"
#, fuzzy
msgid "send unknown commands to server"
msgstr "ismeretlen parancsok küldése az IRC szervernek"
#, fuzzy
@ -3942,7 +3949,7 @@ msgid "(message dropped)"
msgstr "(üzenet eldobva)"
#, fuzzy, c-format
msgid "%s%s: not enough memory for received IRC message"
msgid "%s%s: not enough memory for received message"
msgstr "%s nincs elegendő memória a fogadott IRC üzenet számára\n"
#, fuzzy, c-format
@ -3993,7 +4000,7 @@ msgstr "%s a csatlakozás elutasítva\n"
#, fuzzy, c-format
msgid ""
"%s%s: proxy fails to establish connection to server (check username/password "
"if used and if IRC server address/port is allowed by proxy)"
"if used and if server address/port is allowed by proxy)"
msgstr ""
"%s a proxy kiszolgálónak nem sikerült a szerverhez csatlakoznia (ellenőrizze "
"a felhasználónevet/jelszót ha be van állítva)\n"
@ -4014,6 +4021,10 @@ msgstr "%s gnutls kézfogás sikertelen\n"
msgid "%s%s: not enough memory"
msgstr "Nincs elég memória az új sorhoz\n"
#, c-format
msgid "%s%s: addresses not defined for server \"%s\", cannot connect"
msgstr ""
#, fuzzy, c-format
msgid "%s%s: proxy \"%s\" not found for server \"%s\", cannot connect"
msgstr "%s név \"%s\" nem található a \"%s\" parancshoz\n"
@ -4022,17 +4033,14 @@ msgstr "%s név \"%s\" nem található a \"%s\" parancshoz\n"
msgid "%s%s: missing proxy settings, check options for proxy \"%s\""
msgstr "%s ismeretlen opció a \"%s\" parancsnak\n"
#, c-format
msgid "%s%s: addresses not defined for server \"%s\", cannot connect"
msgstr ""
#, fuzzy, c-format
msgid "%s%s: nicks not defined for server \"%s\", cannot connect"
msgstr "%s név \"%s\" nem található a \"%s\" parancshoz\n"
#, fuzzy, c-format
msgid ""
"%s%s: cannot connect with SSL since WeeChat was not built with GnuTLS support"
"%s%s: cannot connect with SSL because WeeChat was not built with GnuTLS "
"support"
msgstr ""
"%s nem sikerült SSL használattal kapcsolódni, mert a WeeChat GNUtls "
"támogatás nélkül lett fordítva\n"
@ -4073,6 +4081,291 @@ msgstr "%s: Újracsatlakozás a szerverhez...\n"
msgid "%s%s: disconnected from server"
msgstr "Lekapcsolódott a szerverről!\n"
#, fuzzy
msgid "list, add or remove Jabber servers"
msgstr "szerverek listázása, hozzáadása vagy eltávolítása"
#, fuzzy
msgid ""
"[list [servername]] | [listfull [servername]] | [add servername username "
"hostname[/port] password [-auto | -noauto] [-ipv6] [-tls] [-sasl]] | [copy "
"servername newservername] | [rename servername newservername] | [keep "
"servername] | [del servername] | [switch]"
msgstr ""
"[list [szervernév]] | [listfull [szervernév]] | [add szervernév gépnév [-"
"port port] [-temp] [-auto | -noauto] [-ipv6] [-ssl] [-pwd jelszó] [-nicks "
"név1 név2 név3] [-username felhasználó] [-realname valódinév] [-command "
"parancs] [-autojoin szoba[,szoba]] ] | [copy szervernév újszervernév] | "
"[rename szervernév újszervernév] | [keep szervernév] | [del szervernév]"
#, fuzzy
msgid ""
" list: list servers (no parameter implies this list)\n"
" listfull: list servers with detailed info for each server\n"
" add: create a new server\n"
"servername: server name, for internal and display use\n"
" username: username to use on server\n"
" hostname: name or IP address of server, with optional port (default: "
"5222)\n"
" password: password for username on server\n"
" auto: automatically connect to server when WeeChat starts\n"
" noauto: do not connect to server when WeeChat starts (default)\n"
" ipv6: use IPv6 protocol\n"
" tls: use TLS cryptographic protocol\n"
" sasl: use SASL for authentication\n"
" copy: duplicate a server\n"
" rename: rename a server\n"
" keep: keep server in config file (for temporary servers only)\n"
" del: delete a server\n"
" switch: switch active server (when one buffer is used for all servers, "
"default key: alt-s on server buffer)\n"
"\n"
"Examples:\n"
" /jabber listfull\n"
" /jabber add jabberfr user jabber.fr/5222 password -tls\n"
" /jabber copy jabberfr jabberfr2\n"
" /jabber rename jabberfr jabbfr\n"
" /jabber del jabberfr\n"
" /jabber switch"
msgstr ""
" list: szerverek listázása (paraméter nélkül is ez a parancs "
"hívódik meg)\n"
" listfull: szerverek listázása részletes információkkal együtt\n"
" add: új szerver hozzáadása\n"
" szervernév: szerver neve, saját használatra, megjelenítéshez\n"
" gépnév: a szerver neve vagy IP-címe\n"
" port: a szerver portja (egész szám, alapértelmezetten 6667)\n"
" temp: ideiglenes szerver létrehozása (nem kerül be a "
"beállítófájlba)\n"
" auto: automatikus kapcsolódás a szerverhez a WeeChat indulásakor\n"
" noauto: ne kapcsolódjon a szerverhez a WeeChat indulásakor "
"(alapértelmezett)\n"
" ipv6: IPv6 protokoll használata\n"
" ssl: SSL protokoll használata\n"
" jelszó: jelszó a szerverhez\n"
" név1: elsődleges név a szerveren\n"
" név2: alternatív név a szerveren\n"
" név3: második alternatív név a szerveren\n"
"felhasználónév: felhasználónév a szerveren\n"
" valódi név: a felhasználó valódi neve\n"
" copy: szerver másolása\n"
" rename: szerver átnevezése\n"
" keep: szerver mentése a beállítófájlba (csak ideiglenes "
"szervereknél)\n"
" del: szerver törlése\n"
" deloutq: a kimenő üzenettár törlése minden szerverre (minden üzenet "
"amit a WeeChat küldeni készül)"
msgid "chat with a buddy"
msgstr ""
#, fuzzy
msgid "buddy [text]"
msgstr "szöveg"
#, fuzzy
msgid ""
"buddy: buddy name for chat\n"
" text: text to send"
msgstr ""
"szolgáltatás: szolgáltatás neve\n"
" szöveg: küldendő üzenet"
#, fuzzy
msgid "connect to Jabber server(s)"
msgstr "csatlakozás a szerver(ek)hez"
#, fuzzy
msgid ""
"[-all [-nojoin] | servername [servername ...] [-nojoin] | hostname [-port "
"port] [-ipv6] [-tls] [-sasl]]"
msgstr ""
"[-all [-nojoin] | szervernév [szervernév ...] [-nojoin] | gépnév [-port "
"port] [-ipv6] [-ssl]]"
#, fuzzy
msgid ""
" -all: connect to all servers\n"
"servername: internal server name to connect\n"
" -nojoin: do not join any MUC (even if autojoin is enabled on server)\n"
" hostname: hostname to connect\n"
" port: port for server (integer, default is 6667)\n"
" ipv6: use IPv6 protocol\n"
" tls: use TLS cryptographic protocol\n"
" saal: use SASL for authentication"
msgstr ""
" -all: kapcsolódás minden szerverhez\n"
"szervernév: a belső szervernév amihez kapcsolódik\n"
" -nojoin: ne lépjen be egyik szobába se (még ha az automata belépés be is "
"van kapcsolva a szerveren) gépnév: gépnév amihez csatlakozik, ideiglenes "
"szerver létrehozása\n"
" port: a szerver portja (egész szám, alapértelmezetten 6667)\n"
" ipv6: IPv6 protokoll használata\n"
" ssl: SSL protokoll használata"
#, fuzzy
msgid "disconnect from Jabber server(s)"
msgstr "kilépés a szerver(ek)ről"
#, fuzzy
msgid "hostname/port or IP/port for server"
msgstr "felhasználónév az IRC szerveren"
#, fuzzy
msgid "use TLS cryptographic protocol for server communication"
msgstr "IPv6 protokoll használata a kapcsolathoz"
#, fuzzy
msgid "use SASL for authentication"
msgstr "SSL használata a a kapcsolathoz"
msgid "resource (for example: Home or Work)"
msgstr ""
#, fuzzy
msgid "password"
msgstr "felhasználó jelszó"
#, fuzzy
msgid "local alias"
msgstr "Aliaszok listája:\n"
#, fuzzy
msgid ""
"command(s) to run when connected to server (many commands should be "
"separated by ';', use '\\;' for a semicolon, special variables $nick, $muc "
"and $server are replaced by their value)"
msgstr ""
"szerverre csatlakozáskor futtatandó parancs(ok) (több parancs esetén azokat "
"';'-vel kell elválasztani, használja a '\\;' sorozatot, ha "
"pontosvesszőtszeretne írni, a $nick, $channel és $server szavak helyére azok "
"értéke kerül)"
#, fuzzy
msgid ""
"comma separated list of MUCs to join when connected to server (example: "
"\"#chan1,#chan2,#chan3 key1,key2\")"
msgstr ""
"szobák vesszővel elválasztott listája ahová be akarunk lépni csatlakozás "
"után (például: \"#szoba1,#szoba2,#szoba3 kulcs1,kulcs2\")"
#, fuzzy
msgid "automatically rejoin MUCs when kicked"
msgstr "automatikus visszalépés a szobába kirúgáskor"
#, fuzzy
msgid "open new MUCs/privates near server"
msgstr "az új szobák/privát beszélgetések a szerverhez közel nyíljanak"
msgid "display MUC modes in \"buffer_name\" bar item"
msgstr ""
msgid ""
"filter join/part/quit messages for a nick if not speaking for some minutes "
"on MUC (you must create a filter on tag \"jabber_smart_filter\")"
msgstr ""
#, fuzzy
msgid ""
"default part message (leaving MUC) ('%v' will be replaced by WeeChat version "
"in string)"
msgstr ""
"alapértelmezett távozó üzenet (szoba elhagyásakor) (a '%v' változó a WeeChat "
"verziójára cserélődik)"
#, fuzzy
msgid "Jabber debug messages"
msgstr "hibakereső üzenetek megjelenítése"
msgid "MUC"
msgid_plural "MUCs"
msgstr[0] ""
msgstr[1] ""
#, fuzzy
msgid "get buffer pointer for a Jabber server/MUC"
msgstr "szobák listája ahová be akarunk lépni csatlakozás után"
#, fuzzy
msgid "list of Jabber servers"
msgstr "IRC szerver portja"
#, fuzzy
msgid "list of MUCs for a Jabber server"
msgstr "szobák listája ahová be akarunk lépni csatlakozás után"
#, fuzzy
msgid "list of buddies for a Jabber server or MUC"
msgstr "szobák listája ahová be akarunk lépni csatlakozás után"
#, fuzzy, c-format
msgid "%s: this buffer is not a MUC!"
msgstr "Ez az ablak nem egy szoba!\n"
#, fuzzy, c-format
msgid "%s%s: cannot allocate new MUC"
msgstr "%s nem sikerült új csatornát lefoglalni"
#, fuzzy, c-format
msgid "%s%s: connecting to server %s/%d%s%s%s via %s proxy %s/%d%s..."
msgstr ""
"%s: csatlakozás a(z) %s:%d%s%s szerverhez %s proxy kiszolgálón keresztül: %s:"
"%d%s...\n"
#, fuzzy, c-format
msgid "Connecting to server %s/%d%s%s%s via %s proxy %s/%d%s..."
msgstr ""
"Csatlakozás a(z) %s:%d%s%s szerverhez %s proxy kiszolgálón keresztül: %s:%d%"
"s...\n"
#, fuzzy, c-format
msgid "%s%s: connecting to server %s/%d%s%s%s..."
msgstr "%s: csatlakozás a(z) %s:%d%s%s szerverhez...\n"
#, fuzzy, c-format
msgid "%s%s: username or server not defined for server \"%s\", cannot connect"
msgstr "%s név \"%s\" nem található a \"%s\" parancshoz\n"
#, fuzzy, c-format
msgid "%s%s: hostname/IP not defined for server \"%s\", cannot connect"
msgstr "%s név \"%s\" nem található a \"%s\" parancshoz\n"
#, fuzzy, c-format
msgid ""
"%s%s: cannot connect with TLS because iksemel library was not built with "
"GnuTLS support"
msgstr ""
"%s nem sikerült SSL használattal kapcsolódni, mert a WeeChat GNUtls "
"támogatás nélkül lett fordítva\n"
#, fuzzy, c-format
msgid "%s%s: failed to create stream parser"
msgstr "%s nem sikerült a szervert létrehozni\n"
#, fuzzy, c-format
msgid "%s%s: failed to create id"
msgstr "%s DCC: nem sikerült a csövet létrehozni\n"
#, fuzzy, c-format
msgid "%s%s: SASL authentication failed (check SASL option and password)"
msgstr "Nem sikerült a(z) \"%s\" naplófájlt írni\n"
#, fuzzy, c-format
msgid "%s%s: server disconnected"
msgstr "A %s%s%s szerver létrehozva\n"
#, fuzzy, c-format
msgid "%s%s: stream error"
msgstr "%sSzerver: %s%s\n"
#, fuzzy, c-format
msgid "%s%s: login ok"
msgstr "%s DCC: nem sikerült forkolni\n"
#, fuzzy, c-format
msgid "%s%s: authentication failed (check SASL option and password)"
msgstr "Nem sikerült a(z) \"%s\" naplófájlt írni\n"
#, c-format
msgid ""
"%s%s: unable to find filename mask for buffer \"%s\", logging is disabled "
@ -4132,7 +4425,7 @@ msgid "[list | set level | disable]"
msgstr ""
msgid ""
" list: show logging status for open buffers\n"
" list: show logging status for opened buffers\n"
" set: set logging level on current buffer\n"
" level: level for messages to be logged (0 = logging disabled, 1 = a few "
"messages (most important) .. 9 = all messages)\n"
@ -5096,6 +5389,79 @@ msgstr "%s DCC: nem sikerült 'nonblock' opciót beállítani a csatornán\n"
msgid "%s%s: timeout for \"%s\" with %s"
msgstr "%s hiányzó argumentum a(z) \"%s\" opciónak\n"
#, fuzzy
#~ msgid ""
#~ "%s%s: cannot connect with TLS because WeeChat was not built with GnuTLS "
#~ "support"
#~ msgstr ""
#~ "%s nem sikerült SSL használattal kapcsolódni, mert a WeeChat GNUtls "
#~ "támogatás nélkül lett fordítva\n"
#, fuzzy
#~ msgid ""
#~ "%s%s: cannot connect with SSL since WeeChat was not built with GnuTLS "
#~ "support"
#~ msgstr ""
#~ "%s nem sikerült SSL használattal kapcsolódni, mert a WeeChat GNUtls "
#~ "támogatás nélkül lett fordítva\n"
#, fuzzy
#~ msgid "%s%s: authentication failed"
#~ msgstr "Nem sikerült a(z) \"%s\" naplófájlt írni\n"
#, fuzzy
#~ msgid "list of Jabber ignore"
#~ msgstr "IRC szerver portja"
#, fuzzy
#~ msgid "1 if string is a Jabber channel"
#~ msgstr "felhasználók listája a szobában"
#, fuzzy
#~ msgid "get nick from Jabber host"
#~ msgstr "név vagy gép letiltása"
#, fuzzy
#~ msgid "list of nicks for a Jabber channel"
#~ msgstr "felhasználók listája a szobában"
#, fuzzy
#~ msgid "%s%s: error sending data to server (%s)"
#~ msgstr "%s adatküldési hiba az IRC szerveren\n"
#, fuzzy
#~ msgid ""
#~ "[list [servername]] | [listfull [servername]] | [add username server[/"
#~ "port] [-auto | -noauto] [-ipv6] [-ssl]] | [copy servername newservername] "
#~ "| [rename servername newservername] | [keep servername] | [del "
#~ "servername] | [deloutq] | [switch]"
#~ msgstr ""
#~ "[list [szervernév]] | [listfull [szervernév]] | [add szervernév gépnév [-"
#~ "port port] [-temp] [-auto | -noauto] [-ipv6] [-ssl] [-pwd jelszó] [-nicks "
#~ "név1 név2 név3] [-username felhasználó] [-realname valódinév] [-command "
#~ "parancs] [-autojoin szoba[,szoba]] ] | [copy szervernév újszervernév] | "
#~ "[rename szervernév újszervernév] | [keep szervernév] | [del szervernév]"
#, fuzzy
#~ msgid "nicknames to use on Jabber server (separated by comma)"
#~ msgstr "felhasználónév az IRC szerveren"
#, fuzzy
#~ msgid "user name to use on Jabber server"
#~ msgstr "használni kívánt felhasználónév az IRC szerveren"
#, fuzzy
#~ msgid "real name to use on Jabber server"
#~ msgstr "az IRC szerveren használt valódi név"
#, fuzzy
#~ msgid "send unknown commands to Jabber server"
#~ msgstr "ismeretlen parancsok küldése az IRC szervernek"
#, fuzzy
#~ msgid "password for Jabber server"
#~ msgstr "jelszó a proxy szerverhez"
#~ msgid " . type: boolean\n"
#~ msgstr " . típus: logikai\n"
@ -5280,9 +5646,6 @@ msgstr "%s hiányzó argumentum a(z) \"%s\" opciónak\n"
#~ msgid "%s: debug enabled"
#~ msgstr "FIFO cső nyitva\n"
#~ msgid "print debug messages"
#~ msgstr "hibakereső üzenetek megjelenítése"
#, fuzzy
#~ msgid "dump | buffer | windows | text"
#~ msgstr "dump | buffer | windows"

433
po/ru.po
View File

@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat 0.2.7-dev\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2009-01-03 13:12+0100\n"
"POT-Creation-Date: 2009-01-15 14:36+0100\n"
"PO-Revision-Date: 2009-01-03 00:42+0100\n"
"Last-Translator: Pavel Shevchuk <stlwrt@gmail.com>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@ -816,7 +816,7 @@ msgid ""
" move: move buffer in the list (may be relative, for example -1)\n"
" close: close buffer\n"
" list: list buffers (no parameter implies this list)\n"
" notify: display notify levels for all open buffers\n"
" notify: display notify levels for all opened buffers\n"
"localvar: display local variables for current buffer\n"
" scroll: scroll in history (may be relative, and may end by a letter: "
"s=sec, m=min, h=hour, d=day, M=month, y=year); if there is only letter, then "
@ -1191,7 +1191,7 @@ msgstr ""
#, fuzzy
msgid ""
" list: list open windows (no parameter implies this list)\n"
" list: list opened windows (no parameter implies this list)\n"
" -1: jump to previous window\n"
" +1: jump to next window\n"
" b#: jump to next window displaying buffer number #\n"
@ -2311,7 +2311,7 @@ msgid ""
msgstr ""
#, fuzzy, c-format
msgid "%s: pipe open"
msgid "%s: pipe opened"
msgstr "FIFO pipe открыт\n"
#, fuzzy, c-format
@ -2356,12 +2356,12 @@ msgid "Lag"
msgstr ""
#, fuzzy, c-format
msgid "%s%s: error with IRC server from URL (\"%s\"), ignored"
msgid "%s%s: error with server from URL (\"%s\"), ignored"
msgstr "%s некорректный синтаксис IRC сервра ('%s'), игнорируется\n"
#, c-format
msgid ""
"%s%s: WARNING: some network connections may still be open and not visible, "
"%s%s: WARNING: some network connections may still be opened and not visible, "
"you should restart WeeChat now (with /quit)."
msgstr ""
@ -2621,7 +2621,8 @@ msgstr ""
"канал: канал для бана\n"
" ник: ник для бана"
msgid "connect to server(s)"
#, fuzzy
msgid "connect to IRC server(s)"
msgstr "подключиться к серверу(-ам)"
msgid ""
@ -2713,7 +2714,8 @@ msgstr "снимает право голоса с ника(-ов)"
msgid "shutdown the server"
msgstr "выключить сервер"
msgid "disconnect from server(s)"
#, fuzzy
msgid "disconnect from IRC server(s)"
msgstr "отключиться от сервера(-ов)"
msgid "[-all | servername [servername ...]]"
@ -3093,7 +3095,8 @@ msgstr ""
"раздача: видимость сервиса\n"
" тип: зарезервировано на будущее"
msgid "list, add or remove servers"
#, fuzzy
msgid "list, add or remove IRC servers"
msgstr "перечислить, добавить или удалить серверы"
#, fuzzy
@ -3348,7 +3351,7 @@ msgstr ""
" цель: фильтровать результаты по маске"
#, fuzzy, c-format
msgid "%sirc: too few arguments for \"%s\" command"
msgid "%s%s: too few arguments for \"%s\" command"
msgstr "%s некорректные аргументы команды \"%s\"\n"
#, c-format
@ -3357,6 +3360,23 @@ msgid ""
"memory because it's currently used"
msgstr ""
#, fuzzy
msgid "list of hostname/port or IP/port for server (separated by comma)"
msgstr "ник, используемый на IRC сервере"
msgid "proxy used for this server (optional)"
msgstr ""
msgid "use IPv6 protocol for server communication"
msgstr "использовать IPv6 при связи с сервером"
msgid "use SSL for server communication"
msgstr "использовать SSL при связи с сервером"
#, fuzzy
msgid "password for server"
msgstr "пароль, используемый при подключении к IRC серверу"
msgid "automatically connect to server when WeeChat is starting"
msgstr "подключаться к серверу автоматически при запуске WeeChat"
@ -3366,30 +3386,16 @@ msgstr "автоматически переподключаться к серв
msgid "delay (in seconds) before trying again to reconnect to server"
msgstr "задержка (в секундах) перед повторным соединением с сервером"
msgid "proxy used for this server (optional)"
msgstr ""
#, fuzzy
msgid "list of IP/port or hostname/port for server (separated by comma)"
msgid "nicknames to use on server (separated by comma)"
msgstr "ник, используемый на IRC сервере"
msgid "use IPv6 protocol for server communication"
msgstr "использовать IPv6 при связи с сервером"
msgid "use SSL for server communication"
msgstr "использовать SSL при связи с сервером"
msgid "password for IRC server"
msgstr "пароль, используемый при подключении к IRC серверу"
#, fuzzy
msgid "nicknames to use on IRC server (separated by comma)"
msgstr "ник, используемый на IRC сервере"
msgid "user name to use on IRC server"
msgid "user name to use on server"
msgstr "имя пользователя, используемое на IRC сервере"
msgid "real name to use on IRC server"
#, fuzzy
msgid "real name to use on server"
msgstr "настоящее имя, используемое на IRC сервере"
#, fuzzy
@ -3540,7 +3546,8 @@ msgstr ""
"позволить отправлять цвета специальными кодами (^Cb=жирный, ^Ccxx=цветной, "
"^Ccxx,yy=цветной+фон, ^Cu=подчёркнутый, ^Cr=инвертированный)"
msgid "send unknown commands to IRC server"
#, fuzzy
msgid "send unknown commands to server"
msgstr "отсылать неизвестные команды IRC серверу"
#, fuzzy
@ -3934,7 +3941,7 @@ msgid "(message dropped)"
msgstr "(сообщение отброшено)"
#, fuzzy, c-format
msgid "%s%s: not enough memory for received IRC message"
msgid "%s%s: not enough memory for received message"
msgstr "%s недостаточно памяти для полученного сообщения\n"
#, fuzzy, c-format
@ -3984,7 +3991,7 @@ msgstr "%s в подключении отказано\n"
#, fuzzy, c-format
msgid ""
"%s%s: proxy fails to establish connection to server (check username/password "
"if used and if IRC server address/port is allowed by proxy)"
"if used and if server address/port is allowed by proxy)"
msgstr ""
"%s proxy-сервер не смог установить соединение с сервером (проверьте имя "
"пользователя и пароль если они используются)\n"
@ -4005,6 +4012,10 @@ msgstr "%s инициализация gnutls не удалось\n"
msgid "%s%s: not enough memory"
msgstr "Недостаточно памяти для новой строчки\n"
#, c-format
msgid "%s%s: addresses not defined for server \"%s\", cannot connect"
msgstr ""
#, fuzzy, c-format
msgid "%s%s: proxy \"%s\" not found for server \"%s\", cannot connect"
msgstr "%s ник \"%s\" не найден для команды \"%s\"\n"
@ -4013,17 +4024,14 @@ msgstr "%s ник \"%s\" не найден для команды \"%s\"\n"
msgid "%s%s: missing proxy settings, check options for proxy \"%s\""
msgstr "%s неизвестный параметр для команды \"%s\"\n"
#, c-format
msgid "%s%s: addresses not defined for server \"%s\", cannot connect"
msgstr ""
#, fuzzy, c-format
msgid "%s%s: nicks not defined for server \"%s\", cannot connect"
msgstr "%s ник \"%s\" не найден для команды \"%s\"\n"
#, fuzzy, c-format
msgid ""
"%s%s: cannot connect with SSL since WeeChat was not built with GnuTLS support"
"%s%s: cannot connect with SSL because WeeChat was not built with GnuTLS "
"support"
msgstr ""
"%s невозможно соединиться с использованием SSL, так как WeeChat собран без "
"поддержки GNUtls\n"
@ -4060,6 +4068,281 @@ msgstr "%s: Повторное соединение...\n"
msgid "%s%s: disconnected from server"
msgstr "Отключен от сервера!\n"
#, fuzzy
msgid "list, add or remove Jabber servers"
msgstr "перечислить, добавить или удалить серверы"
#, fuzzy
msgid ""
"[list [servername]] | [listfull [servername]] | [add servername username "
"hostname[/port] password [-auto | -noauto] [-ipv6] [-tls] [-sasl]] | [copy "
"servername newservername] | [rename servername newservername] | [keep "
"servername] | [del servername] | [switch]"
msgstr ""
"[list [сервер]] | [listfull [сервер]] | [add сервер адрес [-port порт] [-"
"temp] [-auto | -noauto] [-ipv6] [-ssl] [-pwd пароль] [-nicks ник1 ник2 ник3] "
"[-username имя_пользователя] [-realname реальное_имя] [-command команда] [-"
"autojoin канал[,канал]] ] | [copy сервер новый_сервер] | [rename сервер "
овое_имя] | [keep сервер] | [del сервер]"
#, fuzzy
msgid ""
" list: list servers (no parameter implies this list)\n"
" listfull: list servers with detailed info for each server\n"
" add: create a new server\n"
"servername: server name, for internal and display use\n"
" username: username to use on server\n"
" hostname: name or IP address of server, with optional port (default: "
"5222)\n"
" password: password for username on server\n"
" auto: automatically connect to server when WeeChat starts\n"
" noauto: do not connect to server when WeeChat starts (default)\n"
" ipv6: use IPv6 protocol\n"
" tls: use TLS cryptographic protocol\n"
" sasl: use SASL for authentication\n"
" copy: duplicate a server\n"
" rename: rename a server\n"
" keep: keep server in config file (for temporary servers only)\n"
" del: delete a server\n"
" switch: switch active server (when one buffer is used for all servers, "
"default key: alt-s on server buffer)\n"
"\n"
"Examples:\n"
" /jabber listfull\n"
" /jabber add jabberfr user jabber.fr/5222 password -tls\n"
" /jabber copy jabberfr jabberfr2\n"
" /jabber rename jabberfr jabbfr\n"
" /jabber del jabberfr\n"
" /jabber switch"
msgstr ""
" list: перечислить серверы (отсутствие параметров подразумевает этот "
"список)\n"
"listfull: перечислить серверы с подробностями\n"
" add: создать новый сервер\n"
" сервер: имя сервера\n"
"hostname: адрес сервера\n"
" port: порт сервера (целочисленное значение)\n"
" temp: создать временный сервер (не сохраняется в конфигурационном "
"файле)\n"
" auto: автоматически подключаться к серверу при запуске WeeChat\n"
" noauto: не подключаться автоматически к серверу при запуске WeeChat\n"
" ipv6: использовать протокол IPv6\n"
" ssl: использовать протокол SSL\n"
"password: пароль от сервера\n"
" nick1: ник на сервере\n"
" nick2: альтернативный ник на сервере\n"
" nick3: запасной альтернативный ник на сервере\n"
"username: имя пользователя\n"
"realname: настоящее имя\n"
" copy: создать копию сервера\n"
" rename: переименовать сервер\n"
" keep: сохранить временный сервер\n"
" del: удалить сервер deloutq: очистить очередь исходящих сообщений для "
"всех серверов (сообщения, отправляемые WeeChatом)"
msgid "chat with a buddy"
msgstr ""
#, fuzzy
msgid "buddy [text]"
msgstr "текст"
#, fuzzy
msgid ""
"buddy: buddy name for chat\n"
" text: text to send"
msgstr ""
"сервис: название сервиса\n"
" текст: отправляемый текст"
#, fuzzy
msgid "connect to Jabber server(s)"
msgstr "подключиться к серверу(-ам)"
#, fuzzy
msgid ""
"[-all [-nojoin] | servername [servername ...] [-nojoin] | hostname [-port "
"port] [-ipv6] [-tls] [-sasl]]"
msgstr ""
"[-all [-nojoin] | сервер [servername ...] [-nojoin] | адрес [-port порт] [-"
"ipv6] [-ssl]]"
#, fuzzy
msgid ""
" -all: connect to all servers\n"
"servername: internal server name to connect\n"
" -nojoin: do not join any MUC (even if autojoin is enabled on server)\n"
" hostname: hostname to connect\n"
" port: port for server (integer, default is 6667)\n"
" ipv6: use IPv6 protocol\n"
" tls: use TLS cryptographic protocol\n"
" saal: use SASL for authentication"
msgstr ""
" -all: переподключиться ко всем серверам\n"
" сервер: название сервера для переподключения\n"
"-nojoin: не заходить на каналы (даже если автозаход включен для сервера)\n"
" адрес: адрес сервера, создавая временный сервер\n"
" порт: порт сервера (число, по-умолчанию - 6667)\n"
" ipv6: использовать протокол IPv6\n"
" ssl: использовать протокол SSL"
#, fuzzy
msgid "disconnect from Jabber server(s)"
msgstr "отключиться от сервера(-ов)"
#, fuzzy
msgid "hostname/port or IP/port for server"
msgstr "ник, используемый на IRC сервере"
#, fuzzy
msgid "use TLS cryptographic protocol for server communication"
msgstr "использовать IPv6 при связи с сервером"
#, fuzzy
msgid "use SASL for authentication"
msgstr "использовать SSL при связи с сервером"
msgid "resource (for example: Home or Work)"
msgstr ""
#, fuzzy
msgid "password"
msgstr "пользователь пароль"
#, fuzzy
msgid "local alias"
msgstr "Список сокращений:\n"
#, fuzzy
msgid ""
"command(s) to run when connected to server (many commands should be "
"separated by ';', use '\\;' for a semicolon, special variables $nick, $muc "
"and $server are replaced by their value)"
msgstr ""
"команды, выполняемые при подключении к серверу (несколько команд должны быть "
"разделены символом ';', используйте '\\;' вместо обычной точки с запятой, "
"специальные переменные $nick, $channel и $server заменяются на "
"соответствующие значения)"
#, fuzzy
msgid ""
"comma separated list of MUCs to join when connected to server (example: "
"\"#chan1,#chan2,#chan3 key1,key2\")"
msgstr ""
"разделённый запятыми список каналов, на которые заходить при подключении к "
"серверу (например, \"#chan1,#chan2,#chan3 key1,key2\")"
#, fuzzy
msgid "automatically rejoin MUCs when kicked"
msgstr "автоматически перезаходить на каналы после кика"
#, fuzzy
msgid "open new MUCs/privates near server"
msgstr "открывать новые каналы/приваты рядом с сервером"
msgid "display MUC modes in \"buffer_name\" bar item"
msgstr ""
msgid ""
"filter join/part/quit messages for a nick if not speaking for some minutes "
"on MUC (you must create a filter on tag \"jabber_smart_filter\")"
msgstr ""
#, fuzzy
msgid ""
"default part message (leaving MUC) ('%v' will be replaced by WeeChat version "
"in string)"
msgstr "сообщение покидания канала ('%v' будет заменён на версию WeeChat)"
#, fuzzy
msgid "Jabber debug messages"
msgstr "выводить отладочные сообщения"
msgid "MUC"
msgid_plural "MUCs"
msgstr[0] ""
msgstr[1] ""
#, fuzzy
msgid "get buffer pointer for a Jabber server/MUC"
msgstr "Список каналов, на которые заходить при соединении с сервером"
#, fuzzy
msgid "list of Jabber servers"
msgstr "порт IRC сервера"
#, fuzzy
msgid "list of MUCs for a Jabber server"
msgstr "Список каналов, на которые заходить при соединении с сервером"
#, fuzzy
msgid "list of buddies for a Jabber server or MUC"
msgstr "Список каналов, на которые заходить при соединении с сервером"
#, fuzzy, c-format
msgid "%s: this buffer is not a MUC!"
msgstr "Это окно не является каналом!\n"
#, fuzzy, c-format
msgid "%s%s: cannot allocate new MUC"
msgstr "%s не могу расположить новый канал"
#, fuzzy, c-format
msgid "%s%s: connecting to server %s/%d%s%s%s via %s proxy %s/%d%s..."
msgstr "%s: подключение к серверу %s:%d%s%s через %s proxy %s:%d%s...\n"
#, fuzzy, c-format
msgid "Connecting to server %s/%d%s%s%s via %s proxy %s/%d%s..."
msgstr "Подключаюсь к серверу %s:%d%s%s через %s proxy %s:%d%s...\n"
#, fuzzy, c-format
msgid "%s%s: connecting to server %s/%d%s%s%s..."
msgstr "%s: поключаюсь к серверу %s:%d%s%s...\n"
#, fuzzy, c-format
msgid "%s%s: username or server not defined for server \"%s\", cannot connect"
msgstr "%s ник \"%s\" не найден для команды \"%s\"\n"
#, fuzzy, c-format
msgid "%s%s: hostname/IP not defined for server \"%s\", cannot connect"
msgstr "%s ник \"%s\" не найден для команды \"%s\"\n"
#, fuzzy, c-format
msgid ""
"%s%s: cannot connect with TLS because iksemel library was not built with "
"GnuTLS support"
msgstr ""
"%s невозможно соединиться с использованием SSL, так как WeeChat собран без "
"поддержки GNUtls\n"
#, fuzzy, c-format
msgid "%s%s: failed to create stream parser"
msgstr "%s не могу создать сервер\n"
#, fuzzy, c-format
msgid "%s%s: failed to create id"
msgstr "%s DCC: не могу создать pipe\n"
#, fuzzy, c-format
msgid "%s%s: SASL authentication failed (check SASL option and password)"
msgstr "Не могу записать лог-файл \"%s\"\n"
#, fuzzy, c-format
msgid "%s%s: server disconnected"
msgstr "Сервер %s%s%s создан\n"
#, fuzzy, c-format
msgid "%s%s: stream error"
msgstr "%sСервер: %s%s\n"
#, fuzzy, c-format
msgid "%s%s: login ok"
msgstr "%s DCC: не могу forkнуться\n"
#, fuzzy, c-format
msgid "%s%s: authentication failed (check SASL option and password)"
msgstr "Не могу записать лог-файл \"%s\"\n"
#, c-format
msgid ""
"%s%s: unable to find filename mask for buffer \"%s\", logging is disabled "
@ -4119,7 +4402,7 @@ msgid "[list | set level | disable]"
msgstr ""
msgid ""
" list: show logging status for open buffers\n"
" list: show logging status for opened buffers\n"
" set: set logging level on current buffer\n"
" level: level for messages to be logged (0 = logging disabled, 1 = a few "
"messages (most important) .. 9 = all messages)\n"
@ -5077,6 +5360,79 @@ msgstr "%s DCC: не могу установить неблокирующий р
msgid "%s%s: timeout for \"%s\" with %s"
msgstr "%s нет аргумента для параметра \"%s\"\n"
#, fuzzy
#~ msgid ""
#~ "%s%s: cannot connect with TLS because WeeChat was not built with GnuTLS "
#~ "support"
#~ msgstr ""
#~ "%s невозможно соединиться с использованием SSL, так как WeeChat собран "
#~ "без поддержки GNUtls\n"
#, fuzzy
#~ msgid ""
#~ "%s%s: cannot connect with SSL since WeeChat was not built with GnuTLS "
#~ "support"
#~ msgstr ""
#~ "%s невозможно соединиться с использованием SSL, так как WeeChat собран "
#~ "без поддержки GNUtls\n"
#, fuzzy
#~ msgid "%s%s: authentication failed"
#~ msgstr "Не могу записать лог-файл \"%s\"\n"
#, fuzzy
#~ msgid "list of Jabber ignore"
#~ msgstr "порт IRC сервера"
#, fuzzy
#~ msgid "1 if string is a Jabber channel"
#~ msgstr "список ников на канале"
#, fuzzy
#~ msgid "get nick from Jabber host"
#~ msgstr "банит ник или хост"
#, fuzzy
#~ msgid "list of nicks for a Jabber channel"
#~ msgstr "список ников на канале"
#, fuzzy
#~ msgid "%s%s: error sending data to server (%s)"
#~ msgstr "%s ошибка при отправке данных IRC серверу\n"
#, fuzzy
#~ msgid ""
#~ "[list [servername]] | [listfull [servername]] | [add username server[/"
#~ "port] [-auto | -noauto] [-ipv6] [-ssl]] | [copy servername newservername] "
#~ "| [rename servername newservername] | [keep servername] | [del "
#~ "servername] | [deloutq] | [switch]"
#~ msgstr ""
#~ "[list [сервер]] | [listfull [сервер]] | [add сервер адрес [-port порт] [-"
#~ "temp] [-auto | -noauto] [-ipv6] [-ssl] [-pwd пароль] [-nicks ник1 ник2 "
#~ "ник3] [-username имя_пользователя] [-realname реальное_имя] [-command "
#~ "команда] [-autojoin канал[,канал]] ] | [copy сервер новый_сервер] | "
#~ "[rename сервер новое_имя] | [keep сервер] | [del сервер]"
#, fuzzy
#~ msgid "nicknames to use on Jabber server (separated by comma)"
#~ msgstr "ник, используемый на IRC сервере"
#, fuzzy
#~ msgid "user name to use on Jabber server"
#~ msgstr "имя пользователя, используемое на IRC сервере"
#, fuzzy
#~ msgid "real name to use on Jabber server"
#~ msgstr "настоящее имя, используемое на IRC сервере"
#, fuzzy
#~ msgid "send unknown commands to Jabber server"
#~ msgstr "отсылать неизвестные команды IRC серверу"
#, fuzzy
#~ msgid "password for Jabber server"
#~ msgstr "пароль к proxy серверу"
#~ msgid " . type: boolean\n"
#~ msgstr " . тип: булевый\n"
@ -5262,9 +5618,6 @@ msgstr "%s нет аргумента для параметра \"%s\"\n"
#~ msgid "%s: debug enabled"
#~ msgstr "FIFO pipe открыт\n"
#~ msgid "print debug messages"
#~ msgstr "выводить отладочные сообщения"
#, fuzzy
#~ msgid "dump | buffer | windows | text"
#~ msgstr "dump | buffer | windows"

View File

@ -134,6 +134,36 @@ SET(WEECHAT_SOURCES
./src/plugins/irc/irc-protocol.h
./src/plugins/irc/irc-server.c
./src/plugins/irc/irc-server.h
./src/plugins/jabber/jabber-bar-item.c
./src/plugins/jabber/jabber-bar-item.h
./src/plugins/jabber/jabber-buddy.c
./src/plugins/jabber/jabber-buddy.h
./src/plugins/jabber/jabber-buffer.c
./src/plugins/jabber/jabber-buffer.h
./src/plugins/jabber/jabber.c
./src/plugins/jabber/jabber-command.c
./src/plugins/jabber/jabber-command.h
./src/plugins/jabber/jabber-completion.c
./src/plugins/jabber/jabber-completion.h
./src/plugins/jabber/jabber-config.c
./src/plugins/jabber/jabber-config.h
./src/plugins/jabber/jabber-debug.c
./src/plugins/jabber/jabber-debug.h
./src/plugins/jabber/jabber-display.c
./src/plugins/jabber/jabber-display.h
./src/plugins/jabber/jabber.h
./src/plugins/jabber/jabber-info.c
./src/plugins/jabber/jabber-info.h
./src/plugins/jabber/jabber-input.c
./src/plugins/jabber/jabber-input.h
./src/plugins/jabber/jabber-muc.c
./src/plugins/jabber/jabber-muc.h
./src/plugins/jabber/jabber-server.c
./src/plugins/jabber/jabber-server.h
./src/plugins/jabber/jabber-upgrade.c
./src/plugins/jabber/jabber-upgrade.h
./src/plugins/jabber/jabber-xmpp.c
./src/plugins/jabber/jabber-xmpp.h
./src/plugins/logger/logger.c
./src/plugins/logger/logger.h
./src/plugins/logger/logger-buffer.c

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2009-01-03 13:12+0100\n"
"POT-Creation-Date: 2009-01-15 14:36+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -731,7 +731,7 @@ msgid ""
" move: move buffer in the list (may be relative, for example -1)\n"
" close: close buffer\n"
" list: list buffers (no parameter implies this list)\n"
" notify: display notify levels for all open buffers\n"
" notify: display notify levels for all opened buffers\n"
"localvar: display local variables for current buffer\n"
" scroll: scroll in history (may be relative, and may end by a letter: "
"s=sec, m=min, h=hour, d=day, M=month, y=year); if there is only letter, then "
@ -1024,7 +1024,7 @@ msgid ""
msgstr ""
msgid ""
" list: list open windows (no parameter implies this list)\n"
" list: list opened windows (no parameter implies this list)\n"
" -1: jump to previous window\n"
" +1: jump to next window\n"
" b#: jump to next window displaying buffer number #\n"
@ -1977,7 +1977,7 @@ msgid ""
msgstr ""
#, c-format
msgid "%s: pipe open"
msgid "%s: pipe opened"
msgstr ""
#, c-format
@ -2021,12 +2021,12 @@ msgid "Lag"
msgstr ""
#, c-format
msgid "%s%s: error with IRC server from URL (\"%s\"), ignored"
msgid "%s%s: error with server from URL (\"%s\"), ignored"
msgstr ""
#, c-format
msgid ""
"%s%s: WARNING: some network connections may still be open and not visible, "
"%s%s: WARNING: some network connections may still be opened and not visible, "
"you should restart WeeChat now (with /quit)."
msgstr ""
@ -2274,7 +2274,7 @@ msgid ""
"nickname: user or host to ban"
msgstr ""
msgid "connect to server(s)"
msgid "connect to IRC server(s)"
msgstr ""
msgid ""
@ -2342,7 +2342,7 @@ msgstr ""
msgid "shutdown the server"
msgstr ""
msgid "disconnect from server(s)"
msgid "disconnect from IRC server(s)"
msgstr ""
msgid "[-all | servername [servername ...]]"
@ -2657,7 +2657,7 @@ msgid ""
" type: reserved for future usage"
msgstr ""
msgid "list, add or remove servers"
msgid "list, add or remove IRC servers"
msgstr ""
msgid ""
@ -2851,7 +2851,7 @@ msgid ""
msgstr ""
#, c-format
msgid "%sirc: too few arguments for \"%s\" command"
msgid "%s%s: too few arguments for \"%s\" command"
msgstr ""
#, c-format
@ -2860,6 +2860,21 @@ msgid ""
"memory because it's currently used"
msgstr ""
msgid "list of hostname/port or IP/port for server (separated by comma)"
msgstr ""
msgid "proxy used for this server (optional)"
msgstr ""
msgid "use IPv6 protocol for server communication"
msgstr ""
msgid "use SSL for server communication"
msgstr ""
msgid "password for server"
msgstr ""
msgid "automatically connect to server when WeeChat is starting"
msgstr ""
@ -2869,28 +2884,13 @@ msgstr ""
msgid "delay (in seconds) before trying again to reconnect to server"
msgstr ""
msgid "proxy used for this server (optional)"
msgid "nicknames to use on server (separated by comma)"
msgstr ""
msgid "list of IP/port or hostname/port for server (separated by comma)"
msgid "user name to use on server"
msgstr ""
msgid "use IPv6 protocol for server communication"
msgstr ""
msgid "use SSL for server communication"
msgstr ""
msgid "password for IRC server"
msgstr ""
msgid "nicknames to use on IRC server (separated by comma)"
msgstr ""
msgid "user name to use on IRC server"
msgstr ""
msgid "real name to use on IRC server"
msgid "real name to use on server"
msgstr ""
msgid ""
@ -3017,7 +3017,7 @@ msgid ""
"yy=color+background, ^Cu=underline, ^Cr=reverse)"
msgstr ""
msgid "send unknown commands to IRC server"
msgid "send unknown commands to server"
msgstr ""
msgid "IRC debug messages"
@ -3399,7 +3399,7 @@ msgid "(message dropped)"
msgstr ""
#, c-format
msgid "%s%s: not enough memory for received IRC message"
msgid "%s%s: not enough memory for received message"
msgstr ""
#, c-format
@ -3449,7 +3449,7 @@ msgstr ""
#, c-format
msgid ""
"%s%s: proxy fails to establish connection to server (check username/password "
"if used and if IRC server address/port is allowed by proxy)"
"if used and if server address/port is allowed by proxy)"
msgstr ""
#, c-format
@ -3468,6 +3468,10 @@ msgstr ""
msgid "%s%s: not enough memory"
msgstr ""
#, c-format
msgid "%s%s: addresses not defined for server \"%s\", cannot connect"
msgstr ""
#, c-format
msgid "%s%s: proxy \"%s\" not found for server \"%s\", cannot connect"
msgstr ""
@ -3476,17 +3480,14 @@ msgstr ""
msgid "%s%s: missing proxy settings, check options for proxy \"%s\""
msgstr ""
#, c-format
msgid "%s%s: addresses not defined for server \"%s\", cannot connect"
msgstr ""
#, c-format
msgid "%s%s: nicks not defined for server \"%s\", cannot connect"
msgstr ""
#, c-format
msgid ""
"%s%s: cannot connect with SSL since WeeChat was not built with GnuTLS support"
"%s%s: cannot connect with SSL because WeeChat was not built with GnuTLS "
"support"
msgstr ""
#, c-format
@ -3521,6 +3522,209 @@ msgstr ""
msgid "%s%s: disconnected from server"
msgstr ""
msgid "list, add or remove Jabber servers"
msgstr ""
msgid ""
"[list [servername]] | [listfull [servername]] | [add servername username "
"hostname[/port] password [-auto | -noauto] [-ipv6] [-tls] [-sasl]] | [copy "
"servername newservername] | [rename servername newservername] | [keep "
"servername] | [del servername] | [switch]"
msgstr ""
msgid ""
" list: list servers (no parameter implies this list)\n"
" listfull: list servers with detailed info for each server\n"
" add: create a new server\n"
"servername: server name, for internal and display use\n"
" username: username to use on server\n"
" hostname: name or IP address of server, with optional port (default: "
"5222)\n"
" password: password for username on server\n"
" auto: automatically connect to server when WeeChat starts\n"
" noauto: do not connect to server when WeeChat starts (default)\n"
" ipv6: use IPv6 protocol\n"
" tls: use TLS cryptographic protocol\n"
" sasl: use SASL for authentication\n"
" copy: duplicate a server\n"
" rename: rename a server\n"
" keep: keep server in config file (for temporary servers only)\n"
" del: delete a server\n"
" switch: switch active server (when one buffer is used for all servers, "
"default key: alt-s on server buffer)\n"
"\n"
"Examples:\n"
" /jabber listfull\n"
" /jabber add jabberfr user jabber.fr/5222 password -tls\n"
" /jabber copy jabberfr jabberfr2\n"
" /jabber rename jabberfr jabbfr\n"
" /jabber del jabberfr\n"
" /jabber switch"
msgstr ""
msgid "chat with a buddy"
msgstr ""
msgid "buddy [text]"
msgstr ""
msgid ""
"buddy: buddy name for chat\n"
" text: text to send"
msgstr ""
msgid "connect to Jabber server(s)"
msgstr ""
msgid ""
"[-all [-nojoin] | servername [servername ...] [-nojoin] | hostname [-port "
"port] [-ipv6] [-tls] [-sasl]]"
msgstr ""
msgid ""
" -all: connect to all servers\n"
"servername: internal server name to connect\n"
" -nojoin: do not join any MUC (even if autojoin is enabled on server)\n"
" hostname: hostname to connect\n"
" port: port for server (integer, default is 6667)\n"
" ipv6: use IPv6 protocol\n"
" tls: use TLS cryptographic protocol\n"
" saal: use SASL for authentication"
msgstr ""
msgid "disconnect from Jabber server(s)"
msgstr ""
msgid "hostname/port or IP/port for server"
msgstr ""
msgid "use TLS cryptographic protocol for server communication"
msgstr ""
msgid "use SASL for authentication"
msgstr ""
msgid "resource (for example: Home or Work)"
msgstr ""
msgid "password"
msgstr ""
msgid "local alias"
msgstr ""
msgid ""
"command(s) to run when connected to server (many commands should be "
"separated by ';', use '\\;' for a semicolon, special variables $nick, $muc "
"and $server are replaced by their value)"
msgstr ""
msgid ""
"comma separated list of MUCs to join when connected to server (example: "
"\"#chan1,#chan2,#chan3 key1,key2\")"
msgstr ""
msgid "automatically rejoin MUCs when kicked"
msgstr ""
msgid "open new MUCs/privates near server"
msgstr ""
msgid "display MUC modes in \"buffer_name\" bar item"
msgstr ""
msgid ""
"filter join/part/quit messages for a nick if not speaking for some minutes "
"on MUC (you must create a filter on tag \"jabber_smart_filter\")"
msgstr ""
msgid ""
"default part message (leaving MUC) ('%v' will be replaced by WeeChat version "
"in string)"
msgstr ""
msgid "Jabber debug messages"
msgstr ""
msgid "MUC"
msgid_plural "MUCs"
msgstr[0] ""
msgstr[1] ""
msgid "get buffer pointer for a Jabber server/MUC"
msgstr ""
msgid "list of Jabber servers"
msgstr ""
msgid "list of MUCs for a Jabber server"
msgstr ""
msgid "list of buddies for a Jabber server or MUC"
msgstr ""
#, c-format
msgid "%s: this buffer is not a MUC!"
msgstr ""
#, c-format
msgid "%s%s: cannot allocate new MUC"
msgstr ""
#, c-format
msgid "%s%s: connecting to server %s/%d%s%s%s via %s proxy %s/%d%s..."
msgstr ""
#, c-format
msgid "Connecting to server %s/%d%s%s%s via %s proxy %s/%d%s..."
msgstr ""
#, c-format
msgid "%s%s: connecting to server %s/%d%s%s%s..."
msgstr ""
#, c-format
msgid "%s%s: username or server not defined for server \"%s\", cannot connect"
msgstr ""
#, c-format
msgid "%s%s: hostname/IP not defined for server \"%s\", cannot connect"
msgstr ""
#, c-format
msgid ""
"%s%s: cannot connect with TLS because iksemel library was not built with "
"GnuTLS support"
msgstr ""
#, c-format
msgid "%s%s: failed to create stream parser"
msgstr ""
#, c-format
msgid "%s%s: failed to create id"
msgstr ""
#, c-format
msgid "%s%s: SASL authentication failed (check SASL option and password)"
msgstr ""
#, c-format
msgid "%s%s: server disconnected"
msgstr ""
#, c-format
msgid "%s%s: stream error"
msgstr ""
#, c-format
msgid "%s%s: login ok"
msgstr ""
#, c-format
msgid "%s%s: authentication failed (check SASL option and password)"
msgstr ""
#, c-format
msgid ""
"%s%s: unable to find filename mask for buffer \"%s\", logging is disabled "
@ -3578,7 +3782,7 @@ msgid "[list | set level | disable]"
msgstr ""
msgid ""
" list: show logging status for open buffers\n"
" list: show logging status for opened buffers\n"
" set: set logging level on current buffer\n"
" level: level for messages to be logged (0 = logging disabled, 1 = a few "
"messages (most important) .. 9 = all messages)\n"

View File

@ -3547,7 +3547,7 @@ command_init ()
"example -1)\n"
" close: close buffer\n"
" list: list buffers (no parameter implies this list)\n"
" notify: display notify levels for all open buffers\n"
" notify: display notify levels for all opened buffers\n"
"localvar: display local variables for current buffer\n"
" scroll: scroll in history (may be relative, and may "
"end by a letter: s=sec, m=min, h=hour, d=day, M=month, "
@ -3803,7 +3803,7 @@ command_init ()
"merge [all] | page_up | page_down | scroll | scroll_up | "
"scroll_down | scroll_top | scroll_bottom | "
"scroll_previous_highlight | scroll_next_highlight ]"),
N_(" list: list open windows (no parameter implies this "
N_(" list: list opened windows (no parameter implies this "
"list)\n"
" -1: jump to previous window\n"
" +1: jump to next window\n"

View File

@ -165,7 +165,7 @@ upgrade_file_write_buffer (struct t_upgrade_file *upgrade_file, void *pointer,
/*
* upgrade_file_create: create an upgrade file
* if write == 1 then it's open in write mode, otherwise
* if write == 1 then it's opened in write mode, otherwise
* read mode
*/

View File

@ -26,7 +26,8 @@ weechat_curses_LDADD = ./../../core/lib_weechat_core.a \
../../core/lib_weechat_core.a \
$(PLUGINS_LFLAGS) \
$(NCURSES_LFLAGS) \
$(GNUTLS_LFLAGS)
$(GNUTLS_LFLAGS) \
$(IKSEMEL_LFLAGS)
weechat_curses_SOURCES = gui-curses-bar-window.c \
gui-curses-chat.c \

View File

@ -26,7 +26,8 @@ weechat_gtk_LDADD = ./../../core/lib_weechat_core.a \
../../core/lib_weechat_core.a \
$(PLUGINS_LFLAGS) \
$(GTK_LFLAGS) \
$(GNUTLS_LFLAGS)
$(GNUTLS_LFLAGS) \
$(IKSEMEL_LFLAGS)
weechat_gtk_SOURCES = gui-gtk-bar-window.c \
gui-gtk-chat.c \

View File

@ -1303,7 +1303,7 @@ gui_bar_item_init ()
gui_bar_item_new (NULL,
gui_bar_item_names[GUI_BAR_ITEM_BUFFER_COUNT],
&gui_bar_item_default_buffer_count, NULL);
gui_bar_item_hook_signal ("buffer_open",
gui_bar_item_hook_signal ("buffer_opened",
gui_bar_item_names[GUI_BAR_ITEM_BUFFER_COUNT]);
gui_bar_item_hook_signal ("buffer_closed",
gui_bar_item_names[GUI_BAR_ITEM_BUFFER_COUNT]);

View File

@ -375,7 +375,7 @@ gui_buffer_new (struct t_weechat_plugin *plugin,
if (!first_buffer_creation)
{
hook_signal_send ("buffer_open",
hook_signal_send ("buffer_opened",
WEECHAT_HOOK_SIGNAL_POINTER, new_buffer);
}
}

View File

@ -427,12 +427,12 @@ gui_completion_list_add_filename (struct t_gui_completion *completion)
sprintf (buffer, "%s%s%s", real_prefix, DIR_SEPARATOR, path_d);
d_name = strdup (buffer);
dp = opendir(d_name);
dp = opendir (d_name);
if (dp != NULL)
{
while((entry = readdir(dp)) != NULL)
while ((entry = readdir (dp)) != NULL)
{
if (strncmp (entry->d_name, path_b, strlen(path_b)) == 0) {
if (strncmp (entry->d_name, path_b, strlen (path_b)) == 0) {
if (strcmp (entry->d_name, ".") == 0 || strcmp (entry->d_name, "..") == 0)
continue;

View File

@ -58,6 +58,14 @@ IF(NOT DISABLE_IRC)
ADD_SUBDIRECTORY( irc )
ENDIF(NOT DISABLE_IRC)
IF(NOT DISABLE_JABBER)
# Check for iksemel library
FIND_PACKAGE(Iksemel)
IF(IKSEMEL_FOUND)
ADD_SUBDIRECTORY( jabber )
ENDIF(IKSEMEL_FOUND)
ENDIF(NOT DISABLE_JABBER)
IF(NOT DISABLE_LOGGER)
ADD_SUBDIRECTORY( logger )
ENDIF(NOT DISABLE_LOGGER)

View File

@ -50,6 +50,10 @@ if PLUGIN_IRC
irc_dir = irc
endif
if PLUGIN_JABBER
jabber_dir = jabber
endif
if PLUGIN_LOGGER
logger_dir = logger
endif
@ -91,5 +95,5 @@ xfer_dir = xfer
endif
SUBDIRS = . $(alias_dir) $(aspell_dir) $(charset_dir) $(demo_dir) $(fifo_dir) \
$(irc_dir) $(logger_dir) $(notify_dir) $(relay_dir) $(script_dir) \
$(trigger_dir) $(xfer_dir)
$(irc_dir) $(jabber_dir) $(logger_dir) $(notify_dir) $(relay_dir) \
$(script_dir) $(trigger_dir) $(xfer_dir)

View File

@ -96,7 +96,7 @@ fifo_create ()
O_RDONLY | O_NONBLOCK)) != -1)
{
weechat_printf (NULL,
_("%s: pipe open"),
_("%s: pipe opened"),
FIFO_PLUGIN_NAME),
rc = 1;
}

View File

@ -16,7 +16,7 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
/* irc-buffer.c: manages buffers for IRC plugin */
/* irc-buffer.c: buffer functions for IRC plugin */
#include <stdlib.h>

View File

@ -61,7 +61,7 @@ irc_channel_valid (struct t_irc_server *server, struct t_irc_channel *channel)
}
/*
* irc_channel_new: allocate a new channel for a server and add it to servers
* irc_channel_new: allocate a new channel for a server and add it to channels
* list
*/
@ -142,19 +142,19 @@ irc_channel_new (struct t_irc_server *server, int channel_type,
new_channel->modes = NULL;
new_channel->limit = 0;
new_channel->key = NULL;
new_channel->nicks_count = 0;
new_channel->checking_away = 0;
new_channel->away_message = NULL;
new_channel->cycle = 0;
new_channel->display_creation_date = 0;
new_channel->nick_completion_reset = 0;
new_channel->nicks_count = 0;
new_channel->nicks = NULL;
new_channel->last_nick = NULL;
new_channel->buffer = new_buffer;
new_channel->nicks_speaking[0] = NULL;
new_channel->nicks_speaking[1] = NULL;
new_channel->nicks_speaking_time = NULL;
new_channel->last_nick_speaking_time = NULL;
new_channel->buffer = new_buffer;
new_channel->buffer_as_string = NULL;
/* add new channel to channels list */
@ -270,14 +270,14 @@ irc_channel_check_away (struct t_irc_server *server,
*/
void
irc_channel_set_away (struct t_irc_channel *channel, const char *nick,
irc_channel_set_away (struct t_irc_channel *channel, const char *nick_name,
int is_away)
{
struct t_irc_nick *ptr_nick;
if (channel->type == IRC_CHANNEL_TYPE_CHANNEL)
{
ptr_nick = irc_nick_search (channel, nick);
ptr_nick = irc_nick_search (channel, nick_name);
if (ptr_nick)
irc_nick_set_away (channel, ptr_nick, is_away);
}
@ -288,8 +288,8 @@ irc_channel_set_away (struct t_irc_channel *channel, const char *nick,
*/
void
irc_channel_nick_speaking_add (struct t_irc_channel *channel, const char *nick,
int highlight)
irc_channel_nick_speaking_add (struct t_irc_channel *channel,
const char *nick_name, int highlight)
{
int size, to_remove, i;
@ -301,7 +301,7 @@ irc_channel_nick_speaking_add (struct t_irc_channel *channel, const char *nick,
if (!channel->nicks_speaking[highlight])
channel->nicks_speaking[highlight] = weechat_list_new ();
weechat_list_add (channel->nicks_speaking[highlight], nick,
weechat_list_add (channel->nicks_speaking[highlight], nick_name,
WEECHAT_LIST_POS_END);
size = weechat_list_size (channel->nicks_speaking[highlight]);
@ -346,7 +346,7 @@ irc_channel_nick_speaking_rename (struct t_irc_channel *channel,
struct t_irc_channel_speaking *
irc_channel_nick_speaking_time_search (struct t_irc_channel *channel,
const char *nick,
const char *nick_name,
int check_time)
{
struct t_irc_channel_speaking *ptr_nick;
@ -358,7 +358,7 @@ irc_channel_nick_speaking_time_search (struct t_irc_channel *channel,
for (ptr_nick = channel->nicks_speaking_time; ptr_nick;
ptr_nick = ptr_nick->next_nick)
{
if (strcmp (ptr_nick->nick, nick) == 0)
if (strcmp (ptr_nick->nick, nick_name) == 0)
{
if (check_time && (ptr_nick->time_last_message < time_limit))
return NULL;
@ -376,23 +376,23 @@ irc_channel_nick_speaking_time_search (struct t_irc_channel *channel,
void
irc_channel_nick_speaking_time_free (struct t_irc_channel *channel,
struct t_irc_channel_speaking *nick)
struct t_irc_channel_speaking *nick_speaking)
{
/* free data */
if (nick->nick)
free (nick->nick);
if (nick_speaking->nick)
free (nick_speaking->nick);
/* remove nick from list */
if (nick->prev_nick)
(nick->prev_nick)->next_nick = nick->next_nick;
if (nick->next_nick)
(nick->next_nick)->prev_nick = nick->prev_nick;
if (channel->nicks_speaking_time == nick)
channel->nicks_speaking_time = nick->next_nick;
if (channel->last_nick_speaking_time == nick)
channel->last_nick_speaking_time = nick->prev_nick;
if (nick_speaking->prev_nick)
(nick_speaking->prev_nick)->next_nick = nick_speaking->next_nick;
if (nick_speaking->next_nick)
(nick_speaking->next_nick)->prev_nick = nick_speaking->prev_nick;
if (channel->nicks_speaking_time == nick_speaking)
channel->nicks_speaking_time = nick_speaking->next_nick;
if (channel->last_nick_speaking_time == nick_speaking)
channel->last_nick_speaking_time = nick_speaking->prev_nick;
free (nick);
free (nick_speaking);
}
/*
@ -437,19 +437,19 @@ irc_channel_nick_speaking_time_remove_old (struct t_irc_channel *channel)
void
irc_channel_nick_speaking_time_add (struct t_irc_channel *channel,
const char *nick,
const char *nick_name,
time_t time_last_message)
{
struct t_irc_channel_speaking *ptr_nick, *new_nick;
ptr_nick = irc_channel_nick_speaking_time_search (channel, nick, 0);
ptr_nick = irc_channel_nick_speaking_time_search (channel, nick_name, 0);
if (ptr_nick)
irc_channel_nick_speaking_time_free (channel, ptr_nick);
new_nick = malloc (sizeof (*new_nick));
if (new_nick)
{
new_nick->nick = strdup (nick);
new_nick->nick = strdup (nick_name);
new_nick->time_last_message = time_last_message;
/* insert nick at beginning of list */
@ -538,15 +538,16 @@ irc_channel_free (struct t_irc_server *server, struct t_irc_channel *channel)
}
/*
* irc_channel_free_all: free all allocated channels
* irc_channel_free_all: free all allocated channels for a server
*/
void
irc_channel_free_all (struct t_irc_server *server)
{
/* remove all channels for the server */
while (server->channels)
{
irc_channel_free (server, server->channels);
}
}
/*
@ -669,12 +670,16 @@ irc_channel_print_log (struct t_irc_channel *channel)
weechat_log_printf (" away_message . . . . . . : '%s'", channel->away_message);
weechat_log_printf (" cycle. . . . . . . . . . : %d", channel->cycle);
weechat_log_printf (" display_creation_date. . : %d", channel->display_creation_date);
weechat_log_printf (" nick_completion_reset. . : %d", channel->nick_completion_reset);
weechat_log_printf (" nicks_count. . . . . . . : %d", channel->nicks_count);
weechat_log_printf (" nicks. . . . . . . . . . : 0x%lx", channel->nicks);
weechat_log_printf (" last_nick. . . . . . . . : 0x%lx", channel->last_nick);
weechat_log_printf (" buffer . . . . . . . . . : 0x%lx", channel->buffer);
weechat_log_printf (" nicks_speaking . . . . . : 0x%lx", channel->nicks_speaking);
weechat_log_printf (" nicks_speaking[0]. . . . : 0x%lx", channel->nicks_speaking[0]);
weechat_log_printf (" nicks_speaking[1]. . . . : 0x%lx", channel->nicks_speaking[1]);
weechat_log_printf (" nicks_speaking_time. . . : 0x%lx", channel->nicks_speaking_time);
weechat_log_printf (" last_nick_speaking_time. : 0x%lx", channel->last_nick_speaking_time);
weechat_log_printf (" buffer . . . . . . . . . : 0x%lx", channel->buffer);
weechat_log_printf (" buffer_as_string . . . . : '%s'", channel->buffer_as_string);
weechat_log_printf (" prev_channel . . . . . . : 0x%lx", channel->prev_channel);
weechat_log_printf (" next_channel . . . . . . : 0x%lx", channel->next_channel);
for (i = 0; i < 2; i++)

View File

@ -47,13 +47,13 @@ struct t_irc_channel
char *modes; /* channel modes */
int limit; /* user limit (0 is limit not set) */
char *key; /* channel key (NULL if no key set) */
int nicks_count; /* # nicks on channel (0 if pv) */
int checking_away; /* = 1 if checking away with WHO cmd */
char *away_message; /* to display away only once in pv */
int cycle; /* currently cycling (/part + /join) */
int display_creation_date; /* 1 for displaying creation date */
int nick_completion_reset; /* 1 for resetting nick completion */
/* there was some join/part on chan */
int nicks_count; /* # nicks on channel (0 if pv) */
struct t_irc_nick *nicks; /* nicks on the channel */
struct t_irc_nick *last_nick; /* last nick on the channel */
struct t_weelist *nicks_speaking[2]; /* for smart completion: first */
@ -85,20 +85,21 @@ extern int irc_channel_is_channel (const char *string);
extern void irc_channel_remove_away (struct t_irc_channel *channel);
extern void irc_channel_check_away (struct t_irc_server *server,
struct t_irc_channel *channel, int force);
extern void irc_channel_set_away (struct t_irc_channel *channel, const char *nick,
extern void irc_channel_set_away (struct t_irc_channel *channel,
const char *nick_name,
int is_away);
extern void irc_channel_nick_speaking_add (struct t_irc_channel *channel,
const char *nick,
const char *nick_name,
int highlight);
extern void irc_channel_nick_speaking_rename (struct t_irc_channel *channel,
const char *old_nick,
const char *new_nick);
extern struct t_irc_channel_speaking *irc_channel_nick_speaking_time_search (struct t_irc_channel *channel,
const char *nick,
const char *nick_name,
int check_time);
extern void irc_channel_nick_speaking_time_remove_old (struct t_irc_channel *channel);
extern void irc_channel_nick_speaking_time_add (struct t_irc_channel *channel,
const char *nick,
const char *nick_name,
time_t time_last_message);
extern void irc_channel_nick_speaking_time_rename (struct t_irc_channel *channel,
const char *old_nick,

View File

@ -268,12 +268,12 @@ irc_color_encode (const char *string, int keep_colors)
{
switch (ptr_string[0])
{
case 0x02: // ^B
case 0x02: /* ^B */
if (keep_colors)
out[out_pos++] = IRC_COLOR_BOLD_CHAR;
ptr_string++;
break;
case 0x03: // ^C
case 0x03: /* ^C */
if (keep_colors)
out[out_pos++] = IRC_COLOR_COLOR_CHAR;
ptr_string++;
@ -308,17 +308,17 @@ irc_color_encode (const char *string, int keep_colors)
}
}
break;
case 0x0F: // ^O
case 0x0F: /* ^O */
if (keep_colors)
out[out_pos++] = IRC_COLOR_RESET_CHAR;
ptr_string++;
break;
case 0x12: // ^R
case 0x12: /* ^R */
if (keep_colors)
out[out_pos++] = IRC_COLOR_REVERSE_CHAR;
ptr_string++;
break;
case 0x15: // ^U
case 0x15: /* ^U */
if (keep_colors)
out[out_pos++] = IRC_COLOR_UNDERLINE_CHAR;
ptr_string++;

View File

@ -16,7 +16,7 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
/* irc-command.c: IRC commands managment */
/* irc-command.c: IRC commands */
#include <stdlib.h>
@ -35,6 +35,7 @@
#include "irc-buffer.h"
#include "irc-color.h"
#include "irc-config.h"
#include "irc-input.h"
#include "irc-server.h"
#include "irc-channel.h"
#include "irc-nick.h"
@ -515,7 +516,8 @@ irc_command_connect_one_server (struct t_irc_server *server, int no_join)
server->name);
return 0;
}
if (irc_server_connect (server, no_join))
server->disable_autojoin = no_join;
if (irc_server_connect (server))
{
server->reconnect_start = 0;
server->reconnect_join = (server->channels) ? 1 : 0;
@ -1132,7 +1134,7 @@ irc_command_quit_server (struct t_irc_server *server, const char *arguments)
/*
* irc_command_disconnect_one_server: disconnect from a server
* return 0 if error, 1 if ok
* return 0 if error, 1 if ok
*/
int
@ -2526,12 +2528,8 @@ irc_command_query (void *data, struct t_gui_buffer *buffer, int argc,
{
string = irc_color_decode (argv_eol[2],
weechat_config_boolean (irc_config_network_colors_receive));
weechat_printf (ptr_channel->buffer,
"%s%s",
irc_nick_as_prefix (NULL,
ptr_server->nick,
IRC_COLOR_CHAT_NICK_SELF),
(string) ? string : argv_eol[2]);
irc_input_user_message_display (ptr_channel->buffer,
(string) ? string : argv_eol[2]);
if (string)
free (string);
irc_server_sendf (ptr_server, "PRIVMSG %s :%s",
@ -2593,7 +2591,8 @@ irc_command_reconnect_one_server (struct t_irc_server *server, int no_join)
}
irc_command_quit_server (server, NULL);
irc_server_disconnect (server, 0);
if (irc_server_connect (server, no_join))
server->disable_autojoin = no_join;
if (irc_server_connect (server))
{
server->reconnect_start = 0;
server->reconnect_join = (server->channels) ? 1 : 0;
@ -2870,7 +2869,7 @@ irc_command_server (void *data, struct t_gui_buffer *buffer, int argc,
IRC_COLOR_CHAT);
if (IRC_SERVER_OPTION_BOOLEAN(new_server, IRC_SERVER_OPTION_AUTOCONNECT))
irc_server_connect (new_server, 0);
irc_server_connect (new_server);
return WEECHAT_RC_OK;
}
@ -3733,7 +3732,7 @@ irc_command_init ()
"nickname: user or host to ban"),
"%(irc_channel_nicks_hosts)", &irc_command_ban, NULL);
weechat_hook_command ("connect",
N_("connect to server(s)"),
N_("connect to IRC server(s)"),
N_("[-all [-nojoin] | servername [servername ...] "
"[-nojoin] | hostname [-port port] [-ipv6] "
"[-ssl]]"),
@ -3794,7 +3793,7 @@ irc_command_init ()
"",
NULL, &irc_command_die, NULL);
weechat_hook_command ("disconnect",
N_("disconnect from server(s)"),
N_("disconnect from IRC server(s)"),
N_("[-all | servername [servername ...]]"),
N_(" -all: disconnect from all servers\n"
"servername: server name to disconnect"),
@ -4028,7 +4027,7 @@ irc_command_init ()
" type: reserved for future usage"),
NULL, &irc_command_service, NULL);
weechat_hook_command ("server",
N_("list, add or remove servers"),
N_("list, add or remove IRC servers"),
N_("[list [servername]] | [listfull [servername]] | "
"[add servername hostname[/port] "
"[-auto | -noauto] [-ipv6] [-ssl]] | "

View File

@ -24,8 +24,9 @@ struct t_irc_server;
#define IRC_COMMAND_TOO_FEW_ARGUMENTS(__buffer, __command) \
weechat_printf (__buffer, \
_("%sirc: too few arguments for \"%s\" command"), \
_("%s%s: too few arguments for \"%s\" command"), \
irc_buffer_get_server_prefix (ptr_server, "error"), \
IRC_PLUGIN_NAME, \
__command); \
return WEECHAT_RC_ERROR;

View File

@ -35,7 +35,7 @@
/*
* irc_completion_server_cb: callback for completion with current IRC server
* irc_completion_server_cb: callback for completion with current server
*/
int
@ -60,7 +60,7 @@ irc_completion_server_cb (void *data, const char *completion_item,
/*
* irc_completion_server_nick_cb: callback for completion with self nick
* of current IRC server
* of current server
*/
int
@ -85,7 +85,7 @@ irc_completion_server_nick_cb (void *data, const char *completion_item,
/*
* irc_completion_server_nicks_cb: callback for completion with nicks
* of current IRC server
* of current server
*/
int
@ -127,7 +127,7 @@ irc_completion_server_nicks_cb (void *data, const char *completion_item,
}
/*
* irc_completion_servers_cb: callback for completion with IRC servers
* irc_completion_servers_cb: callback for completion with servers
*/
int
@ -153,7 +153,7 @@ irc_completion_servers_cb (void *data, const char *completion_item,
}
/*
* irc_completion_channel_cb: callback for completion with current IRC channel
* irc_completion_channel_cb: callback for completion with current channel
*/
int
@ -178,7 +178,7 @@ irc_completion_channel_cb (void *data, const char *completion_item,
/*
* irc_completion_channel_nicks_cb: callback for completion with nicks
* of current IRC channel
* of current channel
*/
int
@ -198,47 +198,53 @@ irc_completion_channel_nicks_cb (void *data, const char *completion_item,
if (ptr_channel)
{
if (ptr_channel->type == IRC_CHANNEL_TYPE_CHANNEL)
switch (ptr_channel->type)
{
for (ptr_nick = ptr_channel->nicks; ptr_nick;
ptr_nick = ptr_nick->next_nick)
{
weechat_hook_completion_list_add (completion, ptr_nick->name,
1, WEECHAT_LIST_POS_SORT);
}
/* add nicks speaking recently on this channel */
if (weechat_config_boolean (irc_config_look_nick_completion_smart))
{
/* 0 => nick speaking ; 1 => nick speaking to me (with highlight) */
for (i = 0; i < 2; i++)
case IRC_CHANNEL_TYPE_CHANNEL:
for (ptr_nick = ptr_channel->nicks; ptr_nick;
ptr_nick = ptr_nick->next_nick)
{
if (ptr_channel->nicks_speaking[i])
weechat_hook_completion_list_add (completion,
ptr_nick->name,
1,
WEECHAT_LIST_POS_SORT);
}
/* add nicks speaking recently on this channel */
if (weechat_config_boolean (irc_config_look_nick_completion_smart))
{
/* 0 => nick speaking ; 1 => nick speaking to me (with highlight) */
for (i = 0; i < 2; i++)
{
list_size = weechat_list_size (ptr_channel->nicks_speaking[i]);
for (j = 0; j < list_size; j++)
if (ptr_channel->nicks_speaking[i])
{
nick = weechat_list_string (weechat_list_get (ptr_channel->nicks_speaking[i], j));
if (nick && irc_nick_search (ptr_channel, nick))
list_size = weechat_list_size (ptr_channel->nicks_speaking[i]);
for (j = 0; j < list_size; j++)
{
weechat_hook_completion_list_add (completion, nick,
1, WEECHAT_LIST_POS_BEGINNING);
nick = weechat_list_string (weechat_list_get (ptr_channel->nicks_speaking[i], j));
if (nick && irc_nick_search (ptr_channel, nick))
{
weechat_hook_completion_list_add (completion,
nick,
1,
WEECHAT_LIST_POS_BEGINNING);
}
}
}
}
}
}
/* add self nick at the end */
weechat_hook_completion_list_add (completion, ptr_server->nick,
1, WEECHAT_LIST_POS_END);
/* add self nick at the end */
weechat_hook_completion_list_add (completion,
ptr_server->nick,
1,
WEECHAT_LIST_POS_END);
break;
case IRC_CHANNEL_TYPE_PRIVATE:
weechat_hook_completion_list_add (completion,
ptr_channel->name,
0,
WEECHAT_LIST_POS_SORT);
break;
}
if (ptr_channel->type == IRC_CHANNEL_TYPE_PRIVATE)
{
weechat_hook_completion_list_add (completion, ptr_channel->name,
0, WEECHAT_LIST_POS_SORT);
}
ptr_channel->nick_completion_reset = 0;
}
@ -247,7 +253,7 @@ irc_completion_channel_nicks_cb (void *data, const char *completion_item,
/*
* irc_completion_channel_nicks_hosts_cb: callback for completion with nicks
* and hosts of current IRC channel
* and hosts of current channel
*/
int
@ -267,33 +273,40 @@ irc_completion_channel_nicks_hosts_cb (void *data, const char *completion_item,
if (ptr_channel)
{
if (ptr_channel->type == IRC_CHANNEL_TYPE_CHANNEL)
switch (ptr_channel->type)
{
for (ptr_nick = ptr_channel->nicks; ptr_nick;
ptr_nick = ptr_nick->next_nick)
{
weechat_hook_completion_list_add (completion, ptr_nick->name,
1, WEECHAT_LIST_POS_SORT);
if (ptr_nick->host)
case IRC_CHANNEL_TYPE_CHANNEL:
for (ptr_nick = ptr_channel->nicks; ptr_nick;
ptr_nick = ptr_nick->next_nick)
{
length = strlen (ptr_nick->name) + 1 +
strlen (ptr_nick->host) + 1;
buf = malloc (length);
if (buf)
weechat_hook_completion_list_add (completion,
ptr_nick->name,
1,
WEECHAT_LIST_POS_SORT);
if (ptr_nick->host)
{
snprintf (buf, length, "%s!%s",
ptr_nick->name, ptr_nick->host);
weechat_hook_completion_list_add (completion, buf,
0, WEECHAT_LIST_POS_SORT);
free (buf);
length = strlen (ptr_nick->name) + 1 +
strlen (ptr_nick->host) + 1;
buf = malloc (length);
if (buf)
{
snprintf (buf, length, "%s!%s",
ptr_nick->name, ptr_nick->host);
weechat_hook_completion_list_add (completion,
buf,
0,
WEECHAT_LIST_POS_SORT);
free (buf);
}
}
}
}
}
if (ptr_channel->type == IRC_CHANNEL_TYPE_PRIVATE)
{
weechat_hook_completion_list_add (completion, ptr_channel->name,
0, WEECHAT_LIST_POS_SORT);
break;
case IRC_CHANNEL_TYPE_PRIVATE:
weechat_hook_completion_list_add (completion,
ptr_channel->name,
0,
WEECHAT_LIST_POS_SORT);
break;
}
}
@ -302,7 +315,7 @@ irc_completion_channel_nicks_hosts_cb (void *data, const char *completion_item,
/*
* irc_completion_channel_topic_cb: callback for completion with topic of
* current IRC channel
* current channel
*/
int
@ -332,7 +345,7 @@ irc_completion_channel_topic_cb (void *data, const char *completion_item,
}
/*
* irc_completion_channels_cb: callback for completion with IRC channels
* irc_completion_channels_cb: callback for completion with channels
*/
int
@ -394,19 +407,24 @@ irc_completion_msg_part_cb (void *data, const char *completion_item,
void
irc_completion_init ()
{
weechat_hook_completion ("irc_server", &irc_completion_server_cb, NULL);
weechat_hook_completion ("irc_server",
&irc_completion_server_cb, NULL);
weechat_hook_completion ("irc_server_nick",
&irc_completion_server_nick_cb, NULL);
weechat_hook_completion ("irc_server_nicks",
&irc_completion_server_nicks_cb, NULL);
weechat_hook_completion ("irc_servers", &irc_completion_servers_cb, NULL);
weechat_hook_completion ("irc_channel", &irc_completion_channel_cb, NULL);
weechat_hook_completion ("irc_servers",
&irc_completion_servers_cb, NULL);
weechat_hook_completion ("irc_channel",
&irc_completion_channel_cb, NULL);
weechat_hook_completion ("nick",
&irc_completion_channel_nicks_cb, NULL);
weechat_hook_completion ("irc_channel_nicks_hosts",
&irc_completion_channel_nicks_hosts_cb, NULL);
weechat_hook_completion ("irc_channel_topic",
&irc_completion_channel_topic_cb, NULL);
weechat_hook_completion ("irc_channels", &irc_completion_channels_cb, NULL);
weechat_hook_completion ("irc_msg_part", &irc_completion_msg_part_cb, NULL);
weechat_hook_completion ("irc_channels",
&irc_completion_channels_cb, NULL);
weechat_hook_completion ("irc_msg_part",
&irc_completion_msg_part_cb, NULL);
}

View File

@ -569,6 +569,66 @@ irc_config_server_new_option (struct t_config_file *config_file,
switch (index_option)
{
case IRC_SERVER_OPTION_ADDRESSES:
new_option = weechat_config_new_option (
config_file, section,
option_name, "string",
N_("list of hostname/port or IP/port for server (separated by comma)"),
NULL, 0, 0,
default_value, value,
null_value_allowed,
NULL, NULL,
callback_change, callback_change_data,
NULL, NULL);
break;
case IRC_SERVER_OPTION_PROXY:
new_option = weechat_config_new_option (
config_file, section,
option_name, "string",
N_("proxy used for this server (optional)"),
NULL, 0, 0,
default_value, value,
null_value_allowed,
NULL, NULL,
callback_change, callback_change_data,
NULL, NULL);
break;
case IRC_SERVER_OPTION_IPV6:
new_option = weechat_config_new_option (
config_file, section,
option_name, "boolean",
N_("use IPv6 protocol for server communication"),
NULL, 0, 0,
default_value, value,
null_value_allowed,
NULL, NULL,
callback_change, callback_change_data,
NULL, NULL);
break;
case IRC_SERVER_OPTION_SSL:
new_option = weechat_config_new_option (
config_file, section,
option_name, "boolean",
N_("use SSL for server communication"),
NULL, 0, 0,
default_value, value,
null_value_allowed,
NULL, NULL,
callback_change, callback_change_data,
NULL, NULL);
break;
case IRC_SERVER_OPTION_PASSWORD:
new_option = weechat_config_new_option (
config_file, section,
option_name, "string",
N_("password for server"),
NULL, 0, 0,
default_value, value,
null_value_allowed,
NULL, NULL,
callback_change, callback_change_data,
NULL, NULL);
break;
case IRC_SERVER_OPTION_AUTOCONNECT:
new_option = weechat_config_new_option (
config_file, section,
@ -605,71 +665,11 @@ irc_config_server_new_option (struct t_config_file *config_file,
callback_change, callback_change_data,
NULL, NULL);
break;
case IRC_SERVER_OPTION_PROXY:
new_option = weechat_config_new_option (
config_file, section,
option_name, "string",
N_("proxy used for this server (optional)"),
NULL, 0, 0,
default_value, value,
null_value_allowed,
NULL, NULL,
callback_change, callback_change_data,
NULL, NULL);
break;
case IRC_SERVER_OPTION_ADDRESSES:
new_option = weechat_config_new_option (
config_file, section,
option_name, "string",
N_("list of IP/port or hostname/port for server (separated by comma)"),
NULL, 0, 0,
default_value, value,
null_value_allowed,
NULL, NULL,
callback_change, callback_change_data,
NULL, NULL);
break;
case IRC_SERVER_OPTION_IPV6:
new_option = weechat_config_new_option (
config_file, section,
option_name, "boolean",
N_("use IPv6 protocol for server communication"),
NULL, 0, 0,
default_value, value,
null_value_allowed,
NULL, NULL,
callback_change, callback_change_data,
NULL, NULL);
break;
case IRC_SERVER_OPTION_SSL:
new_option = weechat_config_new_option (
config_file, section,
option_name, "boolean",
N_("use SSL for server communication"),
NULL, 0, 0,
default_value, value,
null_value_allowed,
NULL, NULL,
callback_change, callback_change_data,
NULL, NULL);
break;
case IRC_SERVER_OPTION_PASSWORD:
new_option = weechat_config_new_option (
config_file, section,
option_name, "string",
N_("password for IRC server"),
NULL, 0, 0,
default_value, value,
null_value_allowed,
NULL, NULL,
callback_change, callback_change_data,
NULL, NULL);
break;
case IRC_SERVER_OPTION_NICKS:
new_option = weechat_config_new_option (
config_file, section,
option_name, "string",
N_("nicknames to use on IRC server (separated by comma)"),
N_("nicknames to use on server (separated by comma)"),
NULL, 0, 0,
default_value, value,
null_value_allowed,
@ -681,7 +681,7 @@ irc_config_server_new_option (struct t_config_file *config_file,
new_option = weechat_config_new_option (
config_file, section,
option_name, "string",
N_("user name to use on IRC server"),
N_("user name to use on server"),
NULL, 0, 0,
default_value, value,
null_value_allowed,
@ -693,7 +693,7 @@ irc_config_server_new_option (struct t_config_file *config_file,
new_option = weechat_config_new_option (
config_file, section,
option_name, "string",
N_("real name to use on IRC server"),
N_("real name to use on server"),
NULL, 0, 0,
default_value, value,
null_value_allowed,
@ -1181,7 +1181,7 @@ irc_config_init ()
irc_config_network_send_unknown_commands = weechat_config_new_option (
irc_config_file, ptr_section,
"send_unknown_commands", "boolean",
N_("send unknown commands to IRC server"),
N_("send unknown commands to server"),
NULL, 0, 0, "off", NULL, 0, NULL, NULL,
&irc_config_change_network_send_unknown_commands, NULL, NULL, NULL);

View File

@ -26,14 +26,6 @@
#define IRC_CONFIG_DISPLAY_AWAY_LOCAL 1
#define IRC_CONFIG_DISPLAY_AWAY_CHANNEL 2
#define IRC_CONFIG_SERVER_DEFAULT_AUTOCONNECT 0
#define IRC_CONFIG_SERVER_DEFAULT_AUTORECONNECT 1
#define IRC_CONFIG_SERVER_DEFAULT_AUTORECONNECT_DELAY 30
#define IRC_CONFIG_SERVER_DEFAULT_IPV6 0
#define IRC_CONFIG_SERVER_DEFAULT_SSL 0
#define IRC_CONFIG_SERVER_DEFAULT_COMMAND_DELAY 1
#define IRC_CONFIG_SERVER_DEFAULT_AUTOREJOIN 0
extern struct t_config_file *irc_config_file;
extern struct t_config_section *irc_config_section_server_default;

View File

@ -113,7 +113,7 @@ irc_display_away (struct t_irc_server *server, const char *string1, const char *
}
/*
* irc_display_server: display server description
* irc_display_server: display server infos
*/
void

View File

@ -183,7 +183,7 @@ irc_ignore_new (const char *mask, const char *server, const char *channel)
int
irc_ignore_check (struct t_irc_server *server, struct t_irc_channel *channel,
char *nick, char *host)
const char *nick, const char *host)
{
struct t_irc_ignore *ptr_ignore;
int server_match, channel_match, regex_match;

View File

@ -48,7 +48,7 @@ extern struct t_irc_ignore *irc_ignore_new (const char *mask,
const char *channel);
extern int irc_ignore_check (struct t_irc_server *server,
struct t_irc_channel *channel,
char *nick, char *host);
const char *nick, const char *host);
extern void irc_ignore_free (struct t_irc_ignore *ignore);
extern void irc_ignore_free_all ();
extern int irc_ignore_add_to_infolist (struct t_infolist *infolist,

View File

@ -63,7 +63,8 @@ const char *
irc_info_get_info_cb (void *data, const char *info_name,
const char *arguments)
{
char *pos_comma, *pos_comma2, *server, *channel, *host, *nick;
char *pos_comma, *pos_comma2, *server, *channel, *host;
const char *nick;
static char str_true[2] = "1";
struct t_irc_server *ptr_server;
struct t_irc_channel *ptr_channel;
@ -361,7 +362,7 @@ irc_info_get_infolist_cb (void *data, const char *infolist_name,
void
irc_info_init ()
{
/* irc info hooks */
/* info hooks */
weechat_hook_info ("irc_is_channel", N_("1 if string is an IRC channel"),
&irc_info_get_info_cb, NULL);
weechat_hook_info ("irc_nick_from_host", N_("get nick from IRC host"),
@ -369,7 +370,7 @@ irc_info_init ()
weechat_hook_info ("irc_buffer", N_("get buffer pointer for an IRC server/channel"),
&irc_info_get_info_cb, NULL);
/* irc infolist hooks */
/* infolist hooks */
weechat_hook_infolist ("irc_server", N_("list of IRC servers"),
&irc_info_get_infolist_cb, NULL);
weechat_hook_infolist ("irc_channel", N_("list of channels for an IRC server"),

View File

@ -20,6 +20,10 @@
#ifndef __WEECHAT_IRC_INPUT_H
#define __WEECHAT_IRC_INPUT_H 1
struct t_gui_buffer;
extern void irc_input_user_message_display (struct t_gui_buffer *buffer,
const char *text);
extern int irc_input_data_cb (void *data, struct t_gui_buffer *buffer,
const char *input_data);

View File

@ -34,8 +34,8 @@
/*
* irc_nick_valid: check if a nick pointer exists for a channel
* return 1 if nick exists
* 0 if nick is not found
* return 1 if nick exists
* 0 if nick is not found
*/
int
@ -419,7 +419,9 @@ irc_nick_free_all (struct t_irc_channel *channel)
/* remove all nicks for the channel */
while (channel->nicks)
{
irc_nick_free (channel, channel->nicks);
}
/* sould be zero, but prevent any bug :D */
channel->nicks_count = 0;
@ -443,6 +445,8 @@ irc_nick_search (struct t_irc_channel *channel, const char *nickname)
if (weechat_strcasecmp (ptr_nick->name, nickname) == 0)
return ptr_nick;
}
/* nick not found */
return NULL;
}

View File

@ -61,10 +61,14 @@ extern int irc_nick_valid (struct t_irc_channel *channel,
extern const char *irc_nick_find_color (struct t_irc_nick *nick);
extern struct t_irc_nick *irc_nick_new (struct t_irc_server *server,
struct t_irc_channel *channel,
const char *nick_name, int is_chanowner,
int is_chanadmin, int is_chanadmin2,
int is_op, int is_halfop,
int has_voice, int is_chanuser,
const char *nick_name,
int is_chanowner,
int is_chanadmin,
int is_chanadmin2,
int is_op,
int is_halfop,
int has_voice,
int is_chanuser,
int is_away);
extern void irc_nick_change (struct t_irc_server *server,
struct t_irc_channel *channel,

View File

@ -49,7 +49,7 @@
* irc_protocol_get_nick_from_host: get nick from host in an IRC message
*/
char *
const char *
irc_protocol_get_nick_from_host (const char *host)
{
static char nick[128];
@ -79,7 +79,7 @@ irc_protocol_get_nick_from_host (const char *host)
* irc_protocol_get_address_from_host: get address from host in an IRC message
*/
char *
const char *
irc_protocol_get_address_from_host (const char *host)
{
static char address[256];
@ -128,7 +128,7 @@ irc_protocol_log_level_for_command (const char *command)
* irc_protocol_tags: build tags list with IRC command and/or tags
*/
char *
const char *
irc_protocol_tags (const char *command, const char *tags)
{
static char string[512];

View File

@ -21,7 +21,7 @@
#define __WEECHAT_IRC_PROTOCOL_H 1
#define IRC_PROTOCOL_GET_HOST \
char *nick, *address, *host; \
const char *nick, *address, *host; \
if (argv[0][0] == ':') \
{ \
nick = irc_protocol_get_nick_from_host (argv[0]); \
@ -69,8 +69,8 @@ struct t_irc_protocol_msg
t_irc_recv_func *recv_function; /* function called when msg is received */
};
extern char *irc_protocol_get_nick_from_host (const char *host);
extern char *irc_protocol_tags (const char *command, const char *tags);
extern const char *irc_protocol_get_nick_from_host (const char *host);
extern const char *irc_protocol_tags (const char *command, const char *tags);
extern void irc_protocol_recv_command (struct t_irc_server *server,
const char *entire_line,
const char *host, const char *command,

View File

@ -16,7 +16,7 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
/* irc-server.c: connection and communication with IRC server */
/* irc-server.c: connection and I/O communication with IRC server */
#include <stdlib.h>
@ -26,8 +26,16 @@
#include <stdarg.h>
#include <string.h>
#include <time.h>
#ifdef _WIN32
#include <winsock.h>
#else
#include <sys/socket.h>
#include <sys/time.h>
#endif
#ifdef HAVE_GNUTLS
#include <gnutls/gnutls.h>
#endif
#include "../weechat-plugin.h"
#include "irc.h"
@ -682,11 +690,8 @@ irc_server_free (struct t_irc_server *server)
if (!server)
return;
/* close any opened channel/private */
while (server->channels)
{
irc_channel_free (server, server->channels);
}
/* close all channels/privates */
irc_channel_free_all (server);
/* remove server from queue */
if (last_irc_server == server)
@ -1287,8 +1292,7 @@ irc_server_msgq_add_msg (struct t_irc_server *server, const char *msg)
if (!message)
{
weechat_printf (server->buffer,
_("%s%s: not enough memory for received IRC "
"message"),
_("%s%s: not enough memory for received message"),
irc_buffer_get_server_prefix (server, "error"),
IRC_PLUGIN_NAME);
return;
@ -1301,8 +1305,7 @@ irc_server_msgq_add_msg (struct t_irc_server *server, const char *msg)
if (!message->data)
{
weechat_printf (server->buffer,
_("%s%s: not enough memory for received IRC "
"message"),
_("%s%s: not enough memory for received message"),
irc_buffer_get_server_prefix (server, "error"),
IRC_PLUGIN_NAME);
}
@ -1349,8 +1352,7 @@ irc_server_msgq_add_unterminated (struct t_irc_server *server, const char *strin
if (!server->unterminated_message)
{
weechat_printf (server->buffer,
_("%s%s: not enough memory for received IRC "
"message"),
_("%s%s: not enough memory for received message"),
irc_buffer_get_server_prefix (server, "error"),
IRC_PLUGIN_NAME);
}
@ -1363,8 +1365,7 @@ irc_server_msgq_add_unterminated (struct t_irc_server *server, const char *strin
if (!server->unterminated_message)
{
weechat_printf (server->buffer,
_("%s%s: not enough memory for received IRC "
"message"),
_("%s%s: not enough memory for received message"),
irc_buffer_get_server_prefix (server, "error"),
IRC_PLUGIN_NAME);
}
@ -1714,7 +1715,11 @@ irc_server_close_connection (struct t_irc_server *server)
}
if (server->sock != -1)
{
#ifdef _WIN32
closesocket (server->sock);
#else
close (server->sock);
#endif
server->sock = -1;
}
@ -1813,7 +1818,7 @@ irc_server_switch_address (struct t_irc_server *server)
IRC_PLUGIN_NAME,
server->addresses_array[server->index_current_address],
server->ports_array[server->index_current_address]);
irc_server_connect (server, 0);
irc_server_connect (server);
}
else
irc_server_reconnect_schedule (server);
@ -1848,11 +1853,11 @@ irc_server_connect_cb (void *arg_server, int status, const char *ip_address)
IRC_PLUGIN_NAME,
server->addresses_array[server->index_current_address],
(server->current_ip) ? server->current_ip : "?");
irc_server_login (server);
server->hook_fd = weechat_hook_fd (server->sock,
1, 0, 0,
&irc_server_recv_cb,
server);
irc_server_login (server);
break;
case WEECHAT_HOOK_CONNECT_ADDRESS_NOT_FOUND:
weechat_printf (server->buffer,
@ -1890,8 +1895,8 @@ irc_server_connect_cb (void *arg_server, int status, const char *ip_address)
_("%s%s: proxy fails to establish "
"connection to server "
"(check username/password if used "
"and if IRC server address/port is "
"allowed by proxy)"),
"and if server address/port is allowed by "
"proxy)"),
irc_buffer_get_server_prefix (server, "error"),
IRC_PLUGIN_NAME);
irc_server_close_connection (server);
@ -2054,20 +2059,13 @@ irc_server_set_current_server (struct t_irc_server *server)
*/
int
irc_server_connect (struct t_irc_server *server, int disable_autojoin)
irc_server_connect (struct t_irc_server *server)
{
int set, length;
char *option_name, charset_modifier[256];
struct t_config_option *proxy_type, *proxy_ipv6, *proxy_address, *proxy_port;
const char *proxy, *str_proxy_type, *str_proxy_address;
proxy_type = NULL;
proxy_ipv6 = NULL;
proxy_address = NULL;
proxy_port = NULL;
str_proxy_type = NULL;
str_proxy_address = NULL;
if (!server->buffer)
{
if (weechat_config_boolean (irc_config_look_one_server_buffer)
@ -2104,6 +2102,23 @@ irc_server_connect (struct t_irc_server *server, int disable_autojoin)
"/command irc /server switch");
}
if (!server->addresses_array)
{
weechat_printf (server->buffer,
_("%s%s: addresses not defined for server \"%s\", "
"cannot connect"),
irc_buffer_get_server_prefix (server, "error"),
IRC_PLUGIN_NAME, server->name);
return 0;
}
proxy_type = NULL;
proxy_ipv6 = NULL;
proxy_address = NULL;
proxy_port = NULL;
str_proxy_type = NULL;
str_proxy_address = NULL;
proxy = IRC_SERVER_OPTION_STRING(server, IRC_SERVER_OPTION_PROXY);
if (proxy && proxy[0])
{
@ -2149,16 +2164,6 @@ irc_server_connect (struct t_irc_server *server, int disable_autojoin)
}
}
if (!server->addresses_array)
{
weechat_printf (server->buffer,
_("%s%s: addresses not defined for server \"%s\", "
"cannot connect"),
irc_buffer_get_server_prefix (server, "error"),
IRC_PLUGIN_NAME, server->name);
return 0;
}
if (!server->nicks_array)
{
weechat_printf (server->buffer,
@ -2173,7 +2178,7 @@ irc_server_connect (struct t_irc_server *server, int disable_autojoin)
if (weechat_config_boolean (IRC_SERVER_OPTION_BOOLEAN(server, IRC_SERVER_OPTION_SSL)))
{
weechat_printf (server->buffer,
_("%s%s: cannot connect with SSL since WeeChat "
_("%s%s: cannot connect with SSL because WeeChat "
"was not built with GnuTLS support"),
irc_buffer_get_server_prefix (server, "error"),
IRC_PLUGIN_NAME);
@ -2233,7 +2238,7 @@ irc_server_connect (struct t_irc_server *server, int disable_autojoin)
" (SSL)" : "");
}
/* close connection if open */
/* close connection if opened */
irc_server_close_connection (server);
/* create socket and set options */
@ -2289,8 +2294,6 @@ irc_server_connect (struct t_irc_server *server, int disable_autojoin)
server->ssl_connected = 1;
#endif
server->disable_autojoin = disable_autojoin;
server->hook_connect = weechat_hook_connect (proxy,
server->addresses_array[server->index_current_address],
server->ports_array[server->index_current_address],
@ -2302,7 +2305,7 @@ irc_server_connect (struct t_irc_server *server, int disable_autojoin)
NULL,
#endif
IRC_SERVER_OPTION_STRING(server, IRC_SERVER_OPTION_LOCAL_HOSTNAME),
irc_server_connect_cb,
&irc_server_connect_cb,
server);
/* send signal "irc_server_connecting" with server name */
@ -2326,7 +2329,7 @@ irc_server_reconnect (struct t_irc_server *server)
server->reconnect_start = 0;
server->index_current_address = 0;
if (irc_server_connect (server, 0))
if (irc_server_connect (server))
server->reconnect_join = 1;
else
irc_server_reconnect_schedule (server);
@ -2337,17 +2340,16 @@ irc_server_reconnect (struct t_irc_server *server)
*/
void
irc_server_auto_connect (int auto_connect)
irc_server_auto_connect ()
{
struct t_irc_server *ptr_server;
for (ptr_server = irc_servers; ptr_server;
ptr_server = ptr_server->next_server)
{
if (auto_connect
&& IRC_SERVER_OPTION_BOOLEAN(ptr_server, IRC_SERVER_OPTION_AUTOCONNECT))
if (IRC_SERVER_OPTION_BOOLEAN(ptr_server, IRC_SERVER_OPTION_AUTOCONNECT))
{
if (!irc_server_connect (ptr_server, 0))
if (!irc_server_connect (ptr_server))
irc_server_reconnect_schedule (ptr_server);
}
}
@ -2364,7 +2366,8 @@ irc_server_disconnect (struct t_irc_server *server, int reconnect)
if (server->is_connected)
{
/* write disconnection message on each channel/private buffer */
/* remove all nicks and write disconnection message on each
channel/private buffer */
for (ptr_channel = server->channels; ptr_channel;
ptr_channel = ptr_channel->next_channel)
{
@ -2379,10 +2382,12 @@ irc_server_disconnect (struct t_irc_server *server, int reconnect)
irc_server_close_connection (server);
if (server->buffer)
{
weechat_printf (server->buffer,
_("%s%s: disconnected from server"),
irc_buffer_get_server_prefix (server, NULL),
IRC_PLUGIN_NAME);
}
server->index_current_address = 0;
if (server->nick_modes)
@ -2577,7 +2582,7 @@ irc_server_get_pv_count (struct t_irc_server *server)
for (ptr_channel = server->channels; ptr_channel;
ptr_channel = ptr_channel->next_channel)
{
if (ptr_channel->type != IRC_CHANNEL_TYPE_CHANNEL)
if (ptr_channel->type == IRC_CHANNEL_TYPE_PRIVATE)
count++;
}
return count;
@ -2888,21 +2893,12 @@ irc_server_add_to_infolist (struct t_infolist *infolist,
&& (irc_current_server != server)) ?
0 : 1))
return 0;
if (!weechat_infolist_new_var_integer (ptr_item, "autoconnect",
IRC_SERVER_OPTION_BOOLEAN(server, IRC_SERVER_OPTION_AUTOCONNECT)))
return 0;
if (!weechat_infolist_new_var_integer (ptr_item, "autoreconnect",
IRC_SERVER_OPTION_BOOLEAN(server, IRC_SERVER_OPTION_AUTORECONNECT)))
return 0;
if (!weechat_infolist_new_var_integer (ptr_item, "autoreconnect_delay",
IRC_SERVER_OPTION_INTEGER(server, IRC_SERVER_OPTION_AUTORECONNECT_DELAY)))
if (!weechat_infolist_new_var_string (ptr_item, "addresses",
IRC_SERVER_OPTION_STRING(server, IRC_SERVER_OPTION_ADDRESSES)))
return 0;
if (!weechat_infolist_new_var_string (ptr_item, "proxy",
IRC_SERVER_OPTION_STRING(server, IRC_SERVER_OPTION_PROXY)))
return 0;
if (!weechat_infolist_new_var_string (ptr_item, "addresses",
IRC_SERVER_OPTION_STRING(server, IRC_SERVER_OPTION_ADDRESSES)))
return 0;
if (!weechat_infolist_new_var_integer (ptr_item, "ipv6",
IRC_SERVER_OPTION_BOOLEAN(server, IRC_SERVER_OPTION_IPV6)))
return 0;
@ -2912,6 +2908,15 @@ irc_server_add_to_infolist (struct t_infolist *infolist,
if (!weechat_infolist_new_var_string (ptr_item, "password",
IRC_SERVER_OPTION_STRING(server, IRC_SERVER_OPTION_PASSWORD)))
return 0;
if (!weechat_infolist_new_var_integer (ptr_item, "autoconnect",
IRC_SERVER_OPTION_BOOLEAN(server, IRC_SERVER_OPTION_AUTOCONNECT)))
return 0;
if (!weechat_infolist_new_var_integer (ptr_item, "autoreconnect",
IRC_SERVER_OPTION_BOOLEAN(server, IRC_SERVER_OPTION_AUTORECONNECT)))
return 0;
if (!weechat_infolist_new_var_integer (ptr_item, "autoreconnect_delay",
IRC_SERVER_OPTION_INTEGER(server, IRC_SERVER_OPTION_AUTORECONNECT_DELAY)))
return 0;
if (!weechat_infolist_new_var_string (ptr_item, "nicks",
IRC_SERVER_OPTION_STRING(server, IRC_SERVER_OPTION_NICKS)))
return 0;
@ -2940,6 +2945,8 @@ irc_server_add_to_infolist (struct t_infolist *infolist,
return 0;
if (!weechat_infolist_new_var_integer (ptr_item, "index_current_address", server->index_current_address))
return 0;
if (!weechat_infolist_new_var_string (ptr_item, "current_ip", server->current_ip))
return 0;
if (!weechat_infolist_new_var_integer (ptr_item, "sock", server->sock))
return 0;
if (!weechat_infolist_new_var_integer (ptr_item, "is_connected", server->is_connected))
@ -2999,13 +3006,13 @@ irc_server_print_log ()
weechat_log_printf ("[server %s (addr:0x%lx)]", ptr_server->name, ptr_server);
if (weechat_config_option_is_null (ptr_server->options[IRC_SERVER_OPTION_ADDRESSES]))
weechat_log_printf (" addresses. . . . . . : null (%s)",
weechat_log_printf (" addresses. . . . . . : null ('%s')",
IRC_SERVER_OPTION_STRING(ptr_server, IRC_SERVER_OPTION_ADDRESSES));
else
weechat_log_printf (" addresses. . . . . . : '%s'",
weechat_config_string (ptr_server->options[IRC_SERVER_OPTION_ADDRESSES]));
if (weechat_config_option_is_null (ptr_server->options[IRC_SERVER_OPTION_PROXY]))
weechat_log_printf (" proxy. . . . . . . . : null (%s)",
weechat_log_printf (" proxy. . . . . . . . : null ('%s')",
IRC_SERVER_OPTION_STRING(ptr_server, IRC_SERVER_OPTION_PROXY));
else
weechat_log_printf (" proxy. . . . . . . . : '%s'",
@ -3053,25 +3060,25 @@ irc_server_print_log ()
weechat_log_printf (" autoreconnect_delay. : %d",
weechat_config_integer (ptr_server->options[IRC_SERVER_OPTION_AUTORECONNECT_DELAY]));
if (weechat_config_option_is_null (ptr_server->options[IRC_SERVER_OPTION_NICKS]))
weechat_log_printf (" nicks. . . . . . . . : null (%s)",
weechat_log_printf (" nicks. . . . . . . . : null ('%s')",
IRC_SERVER_OPTION_STRING(ptr_server, IRC_SERVER_OPTION_NICKS));
else
weechat_log_printf (" nicks. . . . . . . . : '%s'",
weechat_config_string (ptr_server->options[IRC_SERVER_OPTION_NICKS]));
if (weechat_config_option_is_null (ptr_server->options[IRC_SERVER_OPTION_USERNAME]))
weechat_log_printf (" username . . . . . . : null (%s)",
weechat_log_printf (" username . . . . . . : null ('%s')",
IRC_SERVER_OPTION_STRING(ptr_server, IRC_SERVER_OPTION_USERNAME));
else
weechat_log_printf (" username . . . . . . : '%s'",
weechat_config_string (ptr_server->options[IRC_SERVER_OPTION_USERNAME]));
if (weechat_config_option_is_null (ptr_server->options[IRC_SERVER_OPTION_REALNAME]))
weechat_log_printf (" realname . . . . . . : null (%s)",
weechat_log_printf (" realname . . . . . . : null ('%s')",
IRC_SERVER_OPTION_STRING(ptr_server, IRC_SERVER_OPTION_REALNAME));
else
weechat_log_printf (" realname . . . . . . : '%s'",
weechat_config_string (ptr_server->options[IRC_SERVER_OPTION_REALNAME]));
if (weechat_config_option_is_null (ptr_server->options[IRC_SERVER_OPTION_LOCAL_HOSTNAME]))
weechat_log_printf (" local_hostname . . . : null (%s)",
weechat_log_printf (" local_hostname . . . : null ('%s')",
IRC_SERVER_OPTION_STRING(ptr_server, IRC_SERVER_OPTION_LOCAL_HOSTNAME));
else
weechat_log_printf (" local_hostname . . . : '%s'",
@ -3087,7 +3094,7 @@ irc_server_print_log ()
weechat_log_printf (" command_delay. . . . : %d",
weechat_config_integer (ptr_server->options[IRC_SERVER_OPTION_COMMAND_DELAY]));
if (weechat_config_option_is_null (ptr_server->options[IRC_SERVER_OPTION_AUTOJOIN]))
weechat_log_printf (" autojoin . . . . . . : null (%s)",
weechat_log_printf (" autojoin . . . . . . : null ('%s')",
IRC_SERVER_OPTION_STRING(ptr_server, IRC_SERVER_OPTION_AUTOJOIN));
else
weechat_log_printf (" autojoin . . . . . . : '%s'",
@ -3106,11 +3113,16 @@ irc_server_print_log ()
weechat_log_printf (" addresses_count. . . : %d", ptr_server->addresses_count);
weechat_log_printf (" addresses_array. . . : 0x%lx", ptr_server->addresses_array);
weechat_log_printf (" ports_array. . . . . : 0x%lx", ptr_server->ports_array);
weechat_log_printf (" index_current_address: %d", ptr_server->index_current_address);
weechat_log_printf (" current_ip . . . . . : '%s'", ptr_server->current_ip);
weechat_log_printf (" sock . . . . . . . . : %d", ptr_server->sock);
weechat_log_printf (" hook_connect . . . . : 0x%lx", ptr_server->hook_connect);
weechat_log_printf (" hook_fd. . . . . . . : 0x%lx", ptr_server->hook_fd);
weechat_log_printf (" is_connected . . . . : %d", ptr_server->is_connected);
weechat_log_printf (" ssl_connected. . . . : %d", ptr_server->ssl_connected);
#ifdef HAVE_GNUTLS
weechat_log_printf (" gnutls_sess. . . . . : 0x%lx", ptr_server->gnutls_sess);
#endif
weechat_log_printf (" unterminated_message : '%s'", ptr_server->unterminated_message);
weechat_log_printf (" nicks_count. . . . . : %d", ptr_server->nicks_count);
weechat_log_printf (" nicks_array. . . . . : 0x%lx", ptr_server->nicks_array);
@ -3129,15 +3141,18 @@ irc_server_print_log ()
ptr_server->lag_check_time.tv_sec,
ptr_server->lag_check_time.tv_usec);
weechat_log_printf (" lag_next_check . . . : %ld", ptr_server->lag_next_check);
weechat_log_printf (" cmd_list_regexp. . . : 0x%lx", ptr_server->cmd_list_regexp);
weechat_log_printf (" queue_msg. . . . . . : %d", ptr_server->queue_msg);
weechat_log_printf (" last_user_message. . : %ld", ptr_server->last_user_message);
weechat_log_printf (" outqueue . . . . . . : 0x%lx", ptr_server->outqueue);
weechat_log_printf (" last_outqueue. . . . : 0x%lx", ptr_server->last_outqueue);
weechat_log_printf (" buffer . . . . . . . : 0x%lx", ptr_server->buffer);
weechat_log_printf (" buffer_as_string . . : 0x%lx", ptr_server->buffer_as_string);
weechat_log_printf (" channels . . . . . . : 0x%lx", ptr_server->channels);
weechat_log_printf (" last_channel . . . . : 0x%lx", ptr_server->last_channel);
weechat_log_printf (" prev_server. . . . . : 0x%lx", ptr_server->prev_server);
weechat_log_printf (" next_server. . . . . : 0x%lx", ptr_server->next_server);
for (ptr_channel = ptr_server->channels; ptr_channel;
ptr_channel = ptr_channel->next_channel)
{

View File

@ -54,23 +54,23 @@ enum t_irc_server_option
};
#define IRC_SERVER_OPTION_BOOLEAN(__server, __index) \
((!weechat_config_option_is_null (__server->options[__index])) ? \
((!weechat_config_option_is_null(__server->options[__index])) ? \
weechat_config_boolean(__server->options[__index]) : \
((!weechat_config_option_is_null (irc_config_server_default[__index])) ? \
((!weechat_config_option_is_null(irc_config_server_default[__index])) ? \
weechat_config_boolean(irc_config_server_default[__index]) \
: weechat_config_boolean_default(irc_config_server_default[__index])))
#define IRC_SERVER_OPTION_INTEGER(__server, __index) \
((!weechat_config_option_is_null (__server->options[__index])) ? \
((!weechat_config_option_is_null(__server->options[__index])) ? \
weechat_config_integer(__server->options[__index]) : \
((!weechat_config_option_is_null (irc_config_server_default[__index])) ? \
((!weechat_config_option_is_null(irc_config_server_default[__index])) ? \
weechat_config_integer(irc_config_server_default[__index]) \
: weechat_config_integer_default(irc_config_server_default[__index])))
#define IRC_SERVER_OPTION_STRING(__server, __index) \
((!weechat_config_option_is_null (__server->options[__index])) ? \
((!weechat_config_option_is_null(__server->options[__index])) ? \
weechat_config_string(__server->options[__index]) : \
((!weechat_config_option_is_null (irc_config_server_default[__index])) ? \
((!weechat_config_option_is_null(irc_config_server_default[__index])) ? \
weechat_config_string(irc_config_server_default[__index]) \
: weechat_config_string_default(irc_config_server_default[__index])))
@ -147,7 +147,7 @@ struct t_irc_server
struct t_gui_buffer *buffer; /* GUI buffer allocated for server */
char *buffer_as_string; /* used to return buffer info */
struct t_irc_channel *channels; /* opened channels on server */
struct t_irc_channel *last_channel; /* last opened channal on server */
struct t_irc_channel *last_channel; /* last opened channel on server */
struct t_irc_server *prev_server; /* link to previous server */
struct t_irc_server *next_server; /* link to next server */
};
@ -194,9 +194,8 @@ extern void irc_server_set_buffer_title (struct t_irc_server *server);
extern struct t_gui_buffer *irc_server_create_buffer (struct t_irc_server *server,
int all_servers);
extern void irc_server_set_current_server (struct t_irc_server *server);
extern int irc_server_connect (struct t_irc_server *server,
int disable_autojoin);
extern void irc_server_auto_connect (int auto_connect);
extern int irc_server_connect (struct t_irc_server *server);
extern void irc_server_auto_connect ();
extern void irc_server_autojoin_channels ();
extern int irc_server_recv_cb (void *arg_server);
extern int irc_server_timer_cb (void *data);

View File

@ -162,7 +162,7 @@ irc_upgrade_set_buffer_callbacks ()
}
/*
* irc_upgrade_read_cb: read callback for
* irc_upgrade_read_cb: read callback for upgrade
*/
int

View File

@ -146,7 +146,7 @@ weechat_plugin_init (struct t_weechat_plugin *plugin, int argc, char *argv[])
if (!irc_server_alloc_with_url (argv[i]))
{
weechat_printf (NULL,
_("%s%s: error with IRC server from URL "
_("%s%s: error with server from URL "
"(\"%s\"), ignored"),
weechat_prefix ("error"), IRC_PLUGIN_NAME,
argv[i]);
@ -164,13 +164,16 @@ weechat_plugin_init (struct t_weechat_plugin *plugin, int argc, char *argv[])
{
weechat_printf (NULL,
_("%s%s: WARNING: some network connections may "
"still be open and not visible, you should "
"still be opened and not visible, you should "
"restart WeeChat now (with /quit)."),
weechat_prefix ("error"), IRC_PLUGIN_NAME);
}
}
else
irc_server_auto_connect (auto_connect);
{
if (auto_connect)
irc_server_auto_connect ();
}
irc_hook_timer = weechat_hook_timer (1 * 1000, 0, 0,
&irc_server_timer_cb, NULL);

View File

@ -20,10 +20,6 @@
#ifndef __WEECHAT_IRC_H
#define __WEECHAT_IRC_H 1
#ifdef HAVE_GNUTLS
#include <gnutls/gnutls.h>
#endif
#define weechat_plugin weechat_irc_plugin
#define IRC_PLUGIN_NAME "irc"

View File

@ -0,0 +1,45 @@
# Copyright (c) 2009 FlashCode <flashcode@flashtux.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
ADD_LIBRARY(jabber MODULE
jabber.c jabber.h
jabber-bar-item.c jabber-bar-item.h
jabber-buddy.c jabber-buddy.h
jabber-buffer.c jabber-buffer.h
jabber-command.c jabber-command.h
jabber-completion.c jabber-completion.h
jabber-config.c jabber-config.h
jabber-debug.c jabber-debug.h
jabber-display.c jabber-display.h
jabber-info.c jabber-info.h
jabber-input.c jabber-input.h
jabber-muc.c jabber-muc.h
jabber-server.c jabber-server.h
jabber-upgrade.c jabber-upgrade.h
jabber-xmpp.c jabber-xmpp.h)
SET_TARGET_PROPERTIES(jabber PROPERTIES PREFIX "")
CHECK_INCLUDE_FILES("regex.h" HAVE_REGEX_H)
CHECK_FUNCTION_EXISTS(regexec HAVE_REGEXEC)
IF(GNUTLS_FOUND)
INCLUDE_DIRECTORIES(${GNUTLS_INCLUDE_PATH} ${IKSEMEL_INCLUDE_PATH})
TARGET_LINK_LIBRARIES(jabber ${GNUTLS_LIBRARY} ${IKSEMEL_LIBRARY})
ELSE(GNUTLS_FOUND)
TARGET_LINK_LIBRARIES(jabber ${IKSEMEL_LIBRARY})
ENDIF(GNUTLS_FOUND)
INSTALL(TARGETS jabber LIBRARY DESTINATION lib/${PROJECT_NAME}/plugins)

View File

@ -0,0 +1,55 @@
# Copyright (c) 2009 FlashCode <flashcode@flashtux.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
INCLUDES = -DLOCALEDIR=\"$(datadir)/locale\" $(GNUTLS_CFLAGS) $(IKSEMEL_CFLAGS)
libdir = ${weechat_libdir}/plugins
lib_LTLIBRARIES = jabber.la
jabber_la_SOURCES = jabber.c \
jabber.h \
jabber-bar-item.c \
jabber-bar-item.h \
jabber-buddy.c \
jabber-buddy.h \
jabber-buffer.c \
jabber-buffer.h \
jabber-command.c \
jabber-command.h \
jabber-completion.c \
jabber-completion.h \
jabber-config.c \
jabber-config.h \
jabber-debug.c \
jabber-debug.h \
jabber-display.c \
jabber-display.h \
jabber-info.c \
jabber-info.h \
jabber-input.c \
jabber-input.h \
jabber-muc.c \
jabber-muc.h \
jabber-server.c \
jabber-server.h \
jabber-upgrade.c \
jabber-upgrade.h \
jabber-xmpp.c \
jabber-xmpp.h
jabber_la_LDFLAGS = -module
jabber_la_LIBADD = $(JABBER_LFLAGS) $(GNUTLS_LFLAGS) $(IKSEMEL_LFLAGS)

View File

@ -0,0 +1,190 @@
/*
* Copyright (c) 2009 by FlashCode <flashcode@flashtux.org>
* See README for License detail, AUTHORS for developers list.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
/* jabber-bar-item.c: bar items for Jabber plugin */
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include "../weechat-plugin.h"
#include "jabber.h"
#include "jabber-buffer.h"
#include "jabber-config.h"
#include "jabber-server.h"
#include "jabber-muc.h"
/*
* jabber_bar_item_buffer_name: bar item with buffer name
*/
char *
jabber_bar_item_buffer_name (void *data, struct t_gui_bar_item *item,
struct t_gui_window *window)
{
char buf[512], buf_name[256], modes[128], away[128];
const char *name;
int part_from_muc;
struct t_gui_buffer *buffer;
struct t_jabber_server *server;
struct t_jabber_muc *muc;
/* make C compiler happy */
(void) data;
(void) item;
if (!window)
window = weechat_current_window ();
buf_name[0] = '\0';
modes[0] = '\0';
away[0] = '\0';
buffer = weechat_window_get_pointer (window, "buffer");
if (buffer)
{
jabber_buffer_get_server_muc (buffer, &server, &muc);
if (server || muc)
{
if (server && !muc)
{
if (weechat_config_boolean (jabber_config_look_one_server_buffer))
{
snprintf (buf_name, sizeof (buf_name), "%s%s[<%s%s%s>]",
_("servers"),
JABBER_COLOR_BAR_DELIM,
JABBER_COLOR_STATUS_NAME,
(jabber_current_server) ? jabber_current_server->name : "-",
JABBER_COLOR_BAR_DELIM);
}
else
{
snprintf (buf_name, sizeof (buf_name), "%s%s[%s%s%s]",
_("server"),
JABBER_COLOR_BAR_DELIM,
JABBER_COLOR_STATUS_NAME,
server->name,
JABBER_COLOR_BAR_DELIM);
}
}
else
{
if (muc)
{
part_from_muc = ((muc->type == JABBER_MUC_TYPE_MUC)
&& !muc->buddies);
snprintf (buf_name, sizeof (buf_name),
"%s%s%s%s%s/%s%s%s%s",
(part_from_muc) ? JABBER_COLOR_BAR_DELIM : "",
(part_from_muc) ? "(" : "",
JABBER_COLOR_STATUS_NAME,
server->name,
JABBER_COLOR_BAR_DELIM,
JABBER_COLOR_STATUS_NAME,
muc->name,
(part_from_muc) ? JABBER_COLOR_BAR_DELIM : "",
(part_from_muc) ? ")" : "");
if (!part_from_muc
&& weechat_config_boolean (jabber_config_look_display_muc_modes)
&& muc->modes && muc->modes[0]
&& (strcmp (muc->modes, "+") != 0))
{
snprintf (modes, sizeof (modes),
"%s(%s%s%s)",
JABBER_COLOR_BAR_DELIM,
JABBER_COLOR_STATUS_NAME,
muc->modes,
JABBER_COLOR_BAR_DELIM);
}
}
}
if (server && server->is_away)
{
snprintf (away, sizeof (away), " %s(%s%s%s)",
JABBER_COLOR_BAR_DELIM,
JABBER_COLOR_BAR_FG,
_("away"),
JABBER_COLOR_BAR_DELIM);
}
}
else
{
name = weechat_buffer_get_string (buffer, "name");
if (name)
snprintf (buf_name, sizeof (buf_name), "%s", name);
}
snprintf (buf, sizeof (buf), "%s%s%s%s",
JABBER_COLOR_STATUS_NAME,
buf_name,
modes,
away);
return strdup (buf);
}
return NULL;
}
/*
* jabber_bar_item_input_prompt: bar item with input prompt
*/
char *
jabber_bar_item_input_prompt (void *data, struct t_gui_bar_item *item,
struct t_gui_window *window)
{
struct t_gui_buffer *buffer;
struct t_jabber_server *server;
const char *local_name;
/* make C compiler happy */
(void) data;
(void) item;
if (!window)
window = weechat_current_window ();
buffer = weechat_window_get_pointer (window, "buffer");
if (buffer)
{
jabber_buffer_get_server_muc (buffer, &server, NULL);
if (!server)
return NULL;
local_name = jabber_server_get_local_name (server);
return (local_name) ? strdup (local_name) : NULL;
}
return NULL;
}
/*
* jabber_bar_item_init: initialize Jabber bar items
*/
void
jabber_bar_item_init ()
{
weechat_bar_item_new ("buffer_name", &jabber_bar_item_buffer_name, NULL);
weechat_bar_item_new ("input_prompt", &jabber_bar_item_input_prompt, NULL);
}

View File

@ -0,0 +1,25 @@
/*
* Copyright (c) 2009 by FlashCode <flashcode@flashtux.org>
* See README for License detail, AUTHORS for developers list.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef __WEECHAT_JABBER_BAR_ITEM_H
#define __WEECHAT_JABBER_BAR_ITEM_H 1
extern void jabber_bar_item_init ();
#endif /* jabber-bar-item.h */

View File

@ -0,0 +1,719 @@
/*
* Copyright (c) 2009 by FlashCode <flashcode@flashtux.org>
* See README for License detail, AUTHORS for developers list.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
/* jabber-buddy.c: manages buddies list for servers and MUCs */
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <limits.h>
#include "../weechat-plugin.h"
#include "jabber.h"
#include "jabber-buddy.h"
#include "jabber-config.h"
#include "jabber-server.h"
#include "jabber-muc.h"
/*
* jabber_buddy_valid: check if a buddy pointer exists for a server or a muc
* return 1 if buddy exists
* 0 if buddy is not found
*/
int
jabber_buddy_valid (struct t_jabber_server *server, struct t_jabber_muc *muc,
struct t_jabber_buddy *buddy)
{
struct t_jabber_buddy *ptr_buddy;
if (server)
{
for (ptr_buddy = server->buddies; ptr_buddy;
ptr_buddy = ptr_buddy->next_buddy)
{
if (ptr_buddy == buddy)
return 1;
}
}
if (muc)
{
for (ptr_buddy = muc->buddies; ptr_buddy;
ptr_buddy = ptr_buddy->next_buddy)
{
if (ptr_buddy == buddy)
return 1;
}
}
/* buddy not found */
return 0;
}
/*
* jabber_buddy_find_color: find a color for a buddy (according to buddy letters)
*/
const char *
jabber_buddy_find_color (struct t_jabber_buddy *buddy)
{
int i, color;
char color_name[64];
color = 0;
for (i = strlen (buddy->name) - 1; i >= 0; i--)
{
color += (int)(buddy->name[i]);
}
color = (color %
weechat_config_integer (weechat_config_get ("weechat.look.color_nicks_number")));
snprintf (color_name, sizeof (color_name),
"chat_buddy_color%02d", color + 1);
return weechat_color (color_name);
}
/*
* jabber_buddy_get_gui_infos: get GUI infos for a buddy (sort_index, prefix,
* prefix color)
*/
void
jabber_buddy_get_gui_infos (struct t_jabber_buddy *buddy,
char *prefix, int *prefix_color,
struct t_gui_buffer *buffer,
struct t_gui_nick_group **group)
{
if (buddy->flags & JABBER_BUDDY_CHANOWNER)
{
if (prefix)
*prefix = '~';
if (prefix_color)
*prefix_color = 1;
if (buffer && group)
*group = weechat_nicklist_search_group (buffer, NULL,
JABBER_BUDDY_GROUP_OP);
}
else if (buddy->flags & JABBER_BUDDY_CHANADMIN)
{
if (prefix)
*prefix = '&';
if (prefix_color)
*prefix_color = 1;
if (buffer && group)
*group = weechat_nicklist_search_group (buffer, NULL,
JABBER_BUDDY_GROUP_OP);
}
else if (buddy->flags & JABBER_BUDDY_CHANADMIN2)
{
if (prefix)
*prefix = '!';
if (prefix_color)
*prefix_color = 1;
if (buffer && group)
*group = weechat_nicklist_search_group (buffer, NULL,
JABBER_BUDDY_GROUP_OP);
}
else if (buddy->flags & JABBER_BUDDY_OP)
{
if (prefix)
*prefix = '@';
if (prefix_color)
*prefix_color = 1;
if (buffer && group)
*group = weechat_nicklist_search_group (buffer, NULL,
JABBER_BUDDY_GROUP_OP);
}
else if (buddy->flags & JABBER_BUDDY_HALFOP)
{
if (prefix)
*prefix = '%';
if (prefix_color)
*prefix_color = 2;
if (buffer && group)
*group = weechat_nicklist_search_group (buffer, NULL,
JABBER_BUDDY_GROUP_HALFOP);
}
else if (buddy->flags & JABBER_BUDDY_VOICE)
{
if (prefix)
*prefix = '+';
if (prefix_color)
*prefix_color = 3;
if (buffer && group)
*group = weechat_nicklist_search_group (buffer, NULL,
JABBER_BUDDY_GROUP_VOICE);
}
else if (buddy->flags & JABBER_BUDDY_CHANUSER)
{
if (prefix)
*prefix = '-';
if (prefix_color)
*prefix_color = 4;
if (buffer && group)
*group = weechat_nicklist_search_group (buffer, NULL,
JABBER_BUDDY_GROUP_CHANUSER);
}
else
{
if (prefix)
*prefix = ' ';
if (prefix_color)
*prefix_color = 0;
if (buffer && group)
*group = weechat_nicklist_search_group (buffer, NULL,
JABBER_BUDDY_GROUP_NORMAL);
}
}
/*
* jabber_buddy_new: allocate a new buddy for a muc and add it to the buddy list
*/
struct t_jabber_buddy *
jabber_buddy_new (struct t_jabber_server *server, struct t_jabber_muc *muc,
const char *buddy_name, int is_chanowner, int is_chanadmin,
int is_chanadmin2, int is_op, int is_halfop, int has_voice,
int is_chanuser, int is_away)
{
struct t_jabber_buddy *new_buddy, *ptr_buddy;
char prefix, str_prefix_color[64];
const char *local_name;
int prefix_color;
struct t_gui_buffer *ptr_buffer;
struct t_gui_nick_group *ptr_group;
ptr_buffer = (muc) ? muc->buffer : server->buffer;
/* buddy already exists on this muc? */
if (muc)
ptr_buddy = jabber_buddy_search (NULL, muc, buddy_name);
else
ptr_buddy = jabber_buddy_search (server, NULL, buddy_name);
if (ptr_buddy)
{
/* remove old buddy from buddylist */
jabber_buddy_get_gui_infos (ptr_buddy, &prefix,
&prefix_color, ptr_buffer, &ptr_group);
weechat_nicklist_remove_nick (ptr_buffer,
weechat_nicklist_search_nick (ptr_buffer,
ptr_group,
ptr_buddy->name));
/* update buddy */
JABBER_BUDDY_SET_FLAG(ptr_buddy, is_chanowner, JABBER_BUDDY_CHANOWNER);
JABBER_BUDDY_SET_FLAG(ptr_buddy, is_chanadmin, JABBER_BUDDY_CHANADMIN);
JABBER_BUDDY_SET_FLAG(ptr_buddy, is_chanadmin2, JABBER_BUDDY_CHANADMIN2);
JABBER_BUDDY_SET_FLAG(ptr_buddy, is_op, JABBER_BUDDY_OP);
JABBER_BUDDY_SET_FLAG(ptr_buddy, is_halfop, JABBER_BUDDY_HALFOP);
JABBER_BUDDY_SET_FLAG(ptr_buddy, has_voice, JABBER_BUDDY_VOICE);
JABBER_BUDDY_SET_FLAG(ptr_buddy, is_chanuser, JABBER_BUDDY_CHANUSER);
JABBER_BUDDY_SET_FLAG(ptr_buddy, is_away, JABBER_BUDDY_AWAY);
/* add new buddy in buddylist */
jabber_buddy_get_gui_infos (ptr_buddy, &prefix,
&prefix_color, ptr_buffer, &ptr_group);
snprintf (str_prefix_color, sizeof (str_prefix_color),
"weechat.color.nicklist_prefix%d",
prefix_color);
weechat_nicklist_add_nick (ptr_buffer, ptr_group,
ptr_buddy->name,
(is_away) ?
"weechat.color.nicklist_away" : "bar_fg",
prefix, str_prefix_color, 1);
return ptr_buddy;
}
/* alloc memory for new buddy */
if ((new_buddy = malloc (sizeof (*new_buddy))) == NULL)
return NULL;
/* initialize new buddy */
new_buddy->name = strdup (buddy_name);
new_buddy->host = NULL;
new_buddy->flags = 0;
JABBER_BUDDY_SET_FLAG(new_buddy, is_chanowner, JABBER_BUDDY_CHANOWNER);
JABBER_BUDDY_SET_FLAG(new_buddy, is_chanadmin, JABBER_BUDDY_CHANADMIN);
JABBER_BUDDY_SET_FLAG(new_buddy, is_chanadmin2, JABBER_BUDDY_CHANADMIN2);
JABBER_BUDDY_SET_FLAG(new_buddy, is_op, JABBER_BUDDY_OP);
JABBER_BUDDY_SET_FLAG(new_buddy, is_halfop, JABBER_BUDDY_HALFOP);
JABBER_BUDDY_SET_FLAG(new_buddy, has_voice, JABBER_BUDDY_VOICE);
JABBER_BUDDY_SET_FLAG(new_buddy, is_chanuser, JABBER_BUDDY_CHANUSER);
JABBER_BUDDY_SET_FLAG(new_buddy, is_away, JABBER_BUDDY_AWAY);
local_name = jabber_server_get_local_name (server);
if (weechat_strcasecmp (new_buddy->name, local_name) == 0)
new_buddy->color = JABBER_COLOR_CHAT_NICK_SELF;
else
new_buddy->color = jabber_buddy_find_color (new_buddy);
/* add buddy to end of list */
if (muc)
{
new_buddy->prev_buddy = muc->last_buddy;
if (muc->buddies)
muc->last_buddy->next_buddy = new_buddy;
else
muc->buddies = new_buddy;
muc->last_buddy = new_buddy;
new_buddy->next_buddy = NULL;
muc->buddies_count++;
muc->nick_completion_reset = 1;
}
else
{
new_buddy->prev_buddy = server->last_buddy;
if (server->buddies)
server->last_buddy->next_buddy = new_buddy;
else
server->buddies = new_buddy;
server->last_buddy = new_buddy;
new_buddy->next_buddy = NULL;
server->buddies_count++;
}
/* add buddy to buffer buddylist */
jabber_buddy_get_gui_infos (new_buddy, &prefix, &prefix_color,
ptr_buffer, &ptr_group);
snprintf (str_prefix_color, sizeof (str_prefix_color),
"weechat.color.nicklist_prefix%d",
prefix_color);
weechat_nicklist_add_nick (ptr_buffer, ptr_group,
new_buddy->name,
(is_away) ?
"weechat.color.nicklist_away" : "bar_fg",
prefix, str_prefix_color, 1);
/* all is ok, return address of new buddy */
return new_buddy;
}
/*
* jabber_buddy_change: change buddyname
*/
void
jabber_buddy_change (struct t_jabber_server *server, struct t_jabber_muc *muc,
struct t_jabber_buddy *buddy, const char *new_buddy)
{
int buddy_is_me, prefix_color;
struct t_gui_buffer *ptr_buffer;
struct t_gui_nick_group *ptr_group;
char prefix, str_prefix_color[64];
const char *local_name;
ptr_buffer = (muc) ? muc->buffer : server->buffer;
/* remove buddy from buddylist */
jabber_buddy_get_gui_infos (buddy, &prefix, &prefix_color,
ptr_buffer, &ptr_group);
weechat_nicklist_remove_nick (ptr_buffer,
weechat_nicklist_search_nick (ptr_buffer,
ptr_group,
buddy->name));
/* update buddies speaking */
local_name = jabber_server_get_local_name (server);
buddy_is_me = (strcmp (buddy->name, local_name) == 0) ? 1 : 0;
if (muc && !buddy_is_me)
jabber_muc_buddy_speaking_rename (muc, buddy->name, new_buddy);
/* change buddyname */
if (buddy->name)
free (buddy->name);
buddy->name = strdup (new_buddy);
if (buddy_is_me)
buddy->color = JABBER_COLOR_CHAT_NICK_SELF;
else
buddy->color = jabber_buddy_find_color (buddy);
/* add buddy in buddylist */
jabber_buddy_get_gui_infos (buddy, &prefix, &prefix_color,
ptr_buffer, &ptr_group);
snprintf (str_prefix_color, sizeof (str_prefix_color),
"weechat.color.nicklist_prefix%d",
prefix_color);
weechat_nicklist_add_nick (ptr_buffer, ptr_group,
buddy->name, "bar_fg",
prefix, str_prefix_color, 1);
}
/*
* jabber_buddy_set: set a flag for a buddy
*/
void
jabber_buddy_set (struct t_jabber_server *server, struct t_jabber_muc *muc,
struct t_jabber_buddy *buddy, int set, int flag)
{
struct t_gui_buffer *ptr_buffer;
struct t_gui_nick_group *ptr_group;
char prefix, str_prefix_color[64];
int prefix_color;
if (server || muc)
{
ptr_buffer = (muc) ? muc->buffer : server->buffer;
/* remove buddy from buddylist */
jabber_buddy_get_gui_infos (buddy, &prefix, &prefix_color,
ptr_buffer, &ptr_group);
weechat_nicklist_remove_nick (ptr_buffer,
weechat_nicklist_search_nick (ptr_buffer,
ptr_group,
buddy->name));
/* set flag */
JABBER_BUDDY_SET_FLAG(buddy, set, flag);
/* add buddy in buddylist */
jabber_buddy_get_gui_infos (buddy, &prefix, &prefix_color,
ptr_buffer, &ptr_group);
snprintf (str_prefix_color, sizeof (str_prefix_color),
"weechat.color.nicklist_prefix%d",
prefix_color);
weechat_nicklist_add_nick (ptr_buffer, ptr_group,
buddy->name,
(buddy->flags & JABBER_BUDDY_AWAY) ?
"weechat.color.nicklist_away" : "bar_fg",
prefix, str_prefix_color, 1);
}
}
/*
* jabber_buddy_free: free a buddy and remove it from buddies list
*/
void
jabber_buddy_free (struct t_jabber_server *server, struct t_jabber_muc *muc,
struct t_jabber_buddy *buddy)
{
struct t_gui_buffer *ptr_buffer;
struct t_gui_nick_group *ptr_group;
struct t_jabber_buddy *new_buddies;
char prefix;
int prefix_color;
if ((!server && !muc) || !buddy)
return;
ptr_buffer = (muc) ? muc->buffer : server->buffer;
/* remove buddy from buddylist */
jabber_buddy_get_gui_infos (buddy, &prefix, &prefix_color,
ptr_buffer, &ptr_group);
weechat_nicklist_remove_nick (ptr_buffer,
weechat_nicklist_search_nick (ptr_buffer,
ptr_group,
buddy->name));
/* remove buddy */
if (muc)
{
if (muc->last_buddy == buddy)
muc->last_buddy = buddy->prev_buddy;
if (buddy->prev_buddy)
{
(buddy->prev_buddy)->next_buddy = buddy->next_buddy;
new_buddies = muc->buddies;
}
else
new_buddies = buddy->next_buddy;
if (buddy->next_buddy)
(buddy->next_buddy)->prev_buddy = buddy->prev_buddy;
muc->buddies_count--;
}
else
{
if (server->last_buddy == buddy)
server->last_buddy = buddy->prev_buddy;
if (buddy->prev_buddy)
{
(buddy->prev_buddy)->next_buddy = buddy->next_buddy;
new_buddies = server->buddies;
}
else
new_buddies = buddy->next_buddy;
if (buddy->next_buddy)
(buddy->next_buddy)->prev_buddy = buddy->prev_buddy;
server->buddies_count--;
}
/* free data */
if (buddy->name)
free (buddy->name);
if (buddy->host)
free (buddy->host);
free (buddy);
if (muc)
{
muc->buddies = new_buddies;
muc->nick_completion_reset = 1;
}
else
{
server->buddies = new_buddies;
}
}
/*
* jabber_buddy_free_all: free all allocated buddies for a muc
*/
void
jabber_buddy_free_all (struct t_jabber_server *server,
struct t_jabber_muc *muc)
{
if (server)
{
while (server->buddies)
{
jabber_buddy_free (server, NULL, server->buddies);
}
/* sould be zero, but prevent any bug :D */
server->buddies_count = 0;
}
if (muc)
{
while (muc->buddies)
{
jabber_buddy_free (NULL, muc, muc->buddies);
}
/* sould be zero, but prevent any bug :D */
muc->buddies_count = 0;
}
}
/*
* jabber_buddy_search: returns pointer on a buddy
*/
struct t_jabber_buddy *
jabber_buddy_search (struct t_jabber_server *server, struct t_jabber_muc *muc,
const char *buddyname)
{
struct t_jabber_buddy *ptr_buddy;
if (!buddyname)
return NULL;
if (server)
{
for (ptr_buddy = server->buddies; ptr_buddy;
ptr_buddy = ptr_buddy->next_buddy)
{
if (weechat_strcasecmp (ptr_buddy->name, buddyname) == 0)
return ptr_buddy;
}
}
if (muc)
{
for (ptr_buddy = muc->buddies; ptr_buddy;
ptr_buddy = ptr_buddy->next_buddy)
{
if (weechat_strcasecmp (ptr_buddy->name, buddyname) == 0)
return ptr_buddy;
}
}
/* buddy not found */
return NULL;
}
/*
* jabber_buddy_count: returns number of buddies (total, op, halfop, voice) on
* a server or MUC
*/
void
jabber_buddy_count (struct t_jabber_server *server, struct t_jabber_muc *muc,
int *total, int *count_op, int *count_halfop,
int *count_voice, int *count_normal)
{
struct t_jabber_buddy *ptr_buddy;
(*total) = 0;
(*count_op) = 0;
(*count_halfop) = 0;
(*count_voice) = 0;
(*count_normal) = 0;
if (server || muc)
{
for (ptr_buddy = (muc) ? muc->buddies : server->buddies; ptr_buddy;
ptr_buddy = ptr_buddy->next_buddy)
{
(*total)++;
if ((ptr_buddy->flags & JABBER_BUDDY_CHANOWNER) ||
(ptr_buddy->flags & JABBER_BUDDY_CHANADMIN) ||
(ptr_buddy->flags & JABBER_BUDDY_CHANADMIN2) ||
(ptr_buddy->flags & JABBER_BUDDY_OP))
(*count_op)++;
else
{
if (ptr_buddy->flags & JABBER_BUDDY_HALFOP)
(*count_halfop)++;
else
{
if (ptr_buddy->flags & JABBER_BUDDY_VOICE)
(*count_voice)++;
else
(*count_normal)++;
}
}
}
}
}
/*
* jabber_buddy_set_away: set/unset away status for a muc
*/
void
jabber_buddy_set_away (struct t_jabber_server *server,
struct t_jabber_muc *muc,
struct t_jabber_buddy *buddy, int is_away)
{
if (((is_away) && (!(buddy->flags & JABBER_BUDDY_AWAY))) ||
((!is_away) && (buddy->flags & JABBER_BUDDY_AWAY)))
{
if (muc)
jabber_buddy_set (NULL, muc, buddy, is_away, JABBER_BUDDY_AWAY);
else
jabber_buddy_set (server, NULL, buddy, is_away, JABBER_BUDDY_AWAY);
}
}
/*
* jabber_buddy_as_prefix: return string with buddy to display as prefix on
* buffer (string will end by a tab)
*/
char *
jabber_buddy_as_prefix (struct t_jabber_buddy *buddy, const char *buddyname,
const char *force_color)
{
static char result[256];
char prefix[2], str_prefix_color[64];
int prefix_color;
prefix[0] = '\0';
prefix[1] = '\0';
if (weechat_config_boolean (weechat_config_get ("weechat.look.nickmode")))
{
if (buddy)
{
jabber_buddy_get_gui_infos (buddy, &prefix[0], &prefix_color, NULL, NULL);
if ((prefix[0] == ' ')
&& !weechat_config_boolean (weechat_config_get ("weechat.look.nickmode_empty")))
prefix[0] = '\0';
snprintf (str_prefix_color, sizeof (str_prefix_color),
"weechat.color.nicklist_prefix%d",
prefix_color);
}
else
{
prefix[0] = (weechat_config_boolean (weechat_config_get ("weechat.look.nickmode_empty"))) ?
' ' : '\0';
snprintf (str_prefix_color, sizeof (str_prefix_color),
"weechat.color.chat");
}
}
else
{
prefix[0] = '\0';
snprintf (str_prefix_color, sizeof (str_prefix_color), "chat");
}
snprintf (result, sizeof (result), "%s%s%s%s%s%s%s%s\t",
(weechat_config_string (jabber_config_look_nick_prefix)
&& weechat_config_string (jabber_config_look_nick_prefix)[0]) ?
JABBER_COLOR_CHAT_DELIMITERS : "",
(weechat_config_string (jabber_config_look_nick_prefix)
&& weechat_config_string (jabber_config_look_nick_prefix)[0]) ?
weechat_config_string (jabber_config_look_nick_prefix) : "",
weechat_color(weechat_config_string(weechat_config_get(str_prefix_color))),
prefix,
(force_color) ? force_color : ((buddy) ? buddy->color : JABBER_COLOR_CHAT_NICK),
(buddy) ? buddy->name : buddyname,
(weechat_config_string (jabber_config_look_nick_suffix)
&& weechat_config_string (jabber_config_look_nick_suffix)[0]) ?
JABBER_COLOR_CHAT_DELIMITERS : "",
(weechat_config_string (jabber_config_look_nick_suffix)
&& weechat_config_string (jabber_config_look_nick_suffix)[0]) ?
weechat_config_string (jabber_config_look_nick_suffix) : "");
return result;
}
/*
* jabber_buddy_add_to_infolist: add a buddy in an infolist
* return 1 if ok, 0 if error
*/
int
jabber_buddy_add_to_infolist (struct t_infolist *infolist,
struct t_jabber_buddy *buddy)
{
struct t_infolist_item *ptr_item;
if (!infolist || !buddy)
return 0;
ptr_item = weechat_infolist_new_item (infolist);
if (!ptr_item)
return 0;
if (!weechat_infolist_new_var_string (ptr_item, "name", buddy->name))
return 0;
if (!weechat_infolist_new_var_string (ptr_item, "host", buddy->host))
return 0;
if (!weechat_infolist_new_var_integer (ptr_item, "flags", buddy->flags))
return 0;
if (!weechat_infolist_new_var_string (ptr_item, "color", buddy->color))
return 0;
return 1;
}
/*
* jabber_buddy_print_log: print buddy infos in log (usually for crash dump)
*/
void
jabber_buddy_print_log (struct t_jabber_buddy *buddy)
{
weechat_log_printf ("");
weechat_log_printf (" => buddy %s (addr:0x%lx):", buddy->name, buddy);
weechat_log_printf (" host . . . . . : %s", buddy->host);
weechat_log_printf (" flags. . . . . : %d", buddy->flags);
weechat_log_printf (" color. . . . . : '%s'", buddy->color);
weechat_log_printf (" prev_buddy . . : 0x%lx", buddy->prev_buddy);
weechat_log_printf (" next_buddy . . : 0x%lx", buddy->next_buddy);
}

View File

@ -0,0 +1,101 @@
/*
* Copyright (c) 2009 by FlashCode <flashcode@flashtux.org>
* See README for License detail, AUTHORS for developers list.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef __WEECHAT_JABBER_BUDDY_H
#define __WEECHAT_JABBER_BUDDY_H 1
#define JABBER_BUDDY_CHANOWNER 1
#define JABBER_BUDDY_CHANADMIN 2
#define JABBER_BUDDY_CHANADMIN2 4
#define JABBER_BUDDY_OP 8
#define JABBER_BUDDY_HALFOP 16
#define JABBER_BUDDY_VOICE 32
#define JABBER_BUDDY_AWAY 64
#define JABBER_BUDDY_CHANUSER 128
#define JABBER_BUDDY_SET_FLAG(buddy, set, flag) \
if (set) \
buddy->flags |= flag; \
else \
buddy->flags &= 0xFFFF - flag;
#define JABBER_BUDDY_GROUP_OP "1|op"
#define JABBER_BUDDY_GROUP_HALFOP "2|halfop"
#define JABBER_BUDDY_GROUP_VOICE "3|voice"
#define JABBER_BUDDY_GROUP_CHANUSER "4|chanuser"
#define JABBER_BUDDY_GROUP_NORMAL "5|normal"
struct t_jabber_server;
struct t_jabber_muc;
struct t_jabber_buddy
{
char *name; /* buddyname */
char *host; /* full hostname */
int flags; /* chanowner/chanadmin, op, halfop, */
/* voice, away */
const char *color; /* color for buddyname in chat window */
struct t_jabber_buddy *prev_buddy; /* link to previous buddy in MUC */
struct t_jabber_buddy *next_buddy; /* link to next buddy in MUC */
};
extern int jabber_buddy_valid (struct t_jabber_server *server,
struct t_jabber_muc *muc,
struct t_jabber_buddy *buddy);
extern const char *jabber_buddy_find_color (struct t_jabber_buddy *buddy);
extern struct t_jabber_buddy *jabber_buddy_new (struct t_jabber_server *server,
struct t_jabber_muc *muc,
const char *buddy_name,
int is_chanowner,
int is_chanadmin,
int is_chanadmin2,
int is_op,
int is_halfop,
int has_voice,
int is_chanuser,
int is_away);
extern void jabber_buddy_change (struct t_jabber_server *server,
struct t_jabber_muc *muc,
struct t_jabber_buddy *buddy,
const char *new_buddy);
extern void jabber_buddy_set (struct t_jabber_server *server,
struct t_jabber_muc *muc,
struct t_jabber_buddy *buddy, int set, int flag);
extern void jabber_buddy_free (struct t_jabber_server *server,
struct t_jabber_muc *muc,
struct t_jabber_buddy *buddy);
extern void jabber_buddy_free_all (struct t_jabber_server *server,
struct t_jabber_muc *muc);
extern struct t_jabber_buddy *jabber_buddy_search (struct t_jabber_server *server,
struct t_jabber_muc *muc,
const char *buddyname);
extern void jabber_buddy_count (struct t_jabber_server *server,
struct t_jabber_muc *muc, int *total,
int *count_op, int *count_halfop,
int *count_voice, int *count_normal);
extern void jabber_buddy_set_away (struct t_jabber_server *server,
struct t_jabber_muc *muc,
struct t_jabber_buddy *buddy, int is_away);
extern char *jabber_buddy_as_prefix (struct t_jabber_buddy *buddy,
const char *buddyname,
const char *force_color);
extern int jabber_buddy_add_to_infolist (struct t_infolist *infolist,
struct t_jabber_buddy *buddy);
extern void jabber_buddy_print_log (struct t_jabber_buddy *buddy);
#endif /* jabber-buddy.h */

View File

@ -0,0 +1,320 @@
/*
* Copyright (c) 2009 by FlashCode <flashcode@flashtux.org>
* See README for License detail, AUTHORS for developers list.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
/* jabber-buffer.c: buffer functions for Jabber plugin */
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include "../weechat-plugin.h"
#include "jabber.h"
#include "jabber-buffer.h"
#include "jabber-command.h"
#include "jabber-config.h"
#include "jabber-muc.h"
#include "jabber-server.h"
/* buffer for all servers (if using one buffer for all servers) */
struct t_gui_buffer *jabber_buffer_servers = NULL;
/*
* jabber_buffer_get_server_muc: get Jabber server and MUC pointers
* with a buffer pointer
* (buffer may be a server or a MUC)
*/
void
jabber_buffer_get_server_muc (struct t_gui_buffer *buffer,
struct t_jabber_server **server,
struct t_jabber_muc **muc)
{
struct t_jabber_server *ptr_server;
struct t_jabber_muc *ptr_muc;
if (server)
*server = NULL;
if (muc)
*muc = NULL;
if (!buffer)
return;
/* look for a server or MUC using this buffer */
for (ptr_server = jabber_servers; ptr_server;
ptr_server = ptr_server->next_server)
{
if (ptr_server->buffer == buffer)
{
if (server)
{
if (weechat_config_boolean (jabber_config_look_one_server_buffer))
*server = jabber_current_server;
else
*server = ptr_server;
}
return;
}
for (ptr_muc = ptr_server->mucs; ptr_muc;
ptr_muc = ptr_muc->next_muc)
{
if (ptr_muc->buffer == buffer)
{
if (server)
*server = ptr_server;
if (muc)
*muc = ptr_muc;
return;
}
}
}
/* no server or MUC found */
}
/*
* jabber_buffer_build_name: build buffer name with a server and a MUC
*/
char *
jabber_buffer_build_name (const char *server, const char *muc)
{
static char buffer[128];
buffer[0] = '\0';
if (!server && !muc)
return buffer;
if (server && muc)
snprintf (buffer, sizeof (buffer), "%s.%s", server, muc);
else
snprintf (buffer, sizeof (buffer), "%s",
(server) ? server : muc);
return buffer;
}
/*
* jabber_buffer_get_server_prefix: return prefix, with server name if server
* buffers are displayed in only one buffer
*/
char *
jabber_buffer_get_server_prefix (struct t_jabber_server *server,
char *prefix_code)
{
static char buf[256];
const char *prefix;
prefix = (prefix_code && prefix_code[0]) ?
weechat_prefix (prefix_code) : NULL;
if (weechat_config_boolean (jabber_config_look_one_server_buffer) && server)
{
snprintf (buf, sizeof (buf), "%s%s[%s%s%s]%s ",
(prefix) ? prefix : "",
JABBER_COLOR_CHAT_DELIMITERS,
JABBER_COLOR_CHAT_SERVER,
server->name,
JABBER_COLOR_CHAT_DELIMITERS,
JABBER_COLOR_CHAT);
}
else
{
snprintf (buf, sizeof (buf), "%s",
(prefix) ? prefix : "");
}
return buf;
}
/*
* jabber_buffer_merge_servers: merge server buffers in one buffer
*/
void
jabber_buffer_merge_servers ()
{
struct t_jabber_server *ptr_server;
struct t_gui_buffer *ptr_buffer;
int number, number_selected;
char charset_modifier[256];
jabber_buffer_servers = NULL;
jabber_current_server = NULL;
/* choose server buffer with lower number (should be first created) */
number_selected = -1;
for (ptr_server = jabber_servers; ptr_server;
ptr_server = ptr_server->next_server)
{
if (ptr_server->buffer)
{
number = weechat_buffer_get_integer (ptr_server->buffer, "number");
if ((number_selected == -1) || (number < number_selected))
{
jabber_buffer_servers = ptr_server->buffer;
jabber_current_server = ptr_server;
number_selected = number;
}
}
}
if (jabber_buffer_servers)
{
weechat_buffer_set (jabber_buffer_servers,
"name", JABBER_BUFFER_ALL_SERVERS_NAME);
weechat_buffer_set (jabber_buffer_servers,
"short_name", JABBER_BUFFER_ALL_SERVERS_NAME);
weechat_buffer_set (jabber_buffer_servers, "key_bind_meta-s",
"/command jabber /jabber switch");
weechat_buffer_set (jabber_buffer_servers,
"localvar_set_server", JABBER_BUFFER_ALL_SERVERS_NAME);
weechat_buffer_set (jabber_buffer_servers,
"localvar_set_muc", JABBER_BUFFER_ALL_SERVERS_NAME);
snprintf (charset_modifier, sizeof (charset_modifier),
"jabber.%s", jabber_current_server->name);
weechat_buffer_set (jabber_buffer_servers,
"localvar_set_charset_modifier",
charset_modifier);
weechat_hook_signal_send ("logger_stop",
WEECHAT_HOOK_SIGNAL_POINTER,
jabber_buffer_servers);
weechat_hook_signal_send ("logger_start",
WEECHAT_HOOK_SIGNAL_POINTER,
jabber_buffer_servers);
for (ptr_server = jabber_servers; ptr_server;
ptr_server = ptr_server->next_server)
{
if (ptr_server->buffer
&& (ptr_server->buffer != jabber_buffer_servers))
{
ptr_buffer = ptr_server->buffer;
ptr_server->buffer = jabber_buffer_servers;
weechat_buffer_close (ptr_buffer);
}
}
jabber_server_set_buffer_title (jabber_current_server);
jabber_server_buffer_set_highlight_words (jabber_buffer_servers);
}
}
/*
* jabber_buffer_split_server: split the server buffer into many buffers (one by server)
*/
void
jabber_buffer_split_server ()
{
struct t_jabber_server *ptr_server;
char buffer_name[256], charset_modifier[256];
if (jabber_buffer_servers)
{
weechat_buffer_set (jabber_buffer_servers, "key_unbind_meta-s", "");
}
for (ptr_server = jabber_servers; ptr_server;
ptr_server = ptr_server->next_server)
{
if (ptr_server->buffer && (ptr_server != jabber_current_server))
{
jabber_server_create_buffer (ptr_server, 0);
}
}
if (jabber_current_server)
{
snprintf (buffer_name, sizeof (buffer_name),
"server.%s", jabber_current_server->name);
weechat_buffer_set (jabber_current_server->buffer, "name", buffer_name);
weechat_buffer_set (jabber_current_server->buffer,
"short_name", jabber_current_server->name);
weechat_buffer_set (jabber_current_server->buffer,
"localvar_set_server", jabber_current_server->name);
weechat_buffer_set (jabber_current_server->buffer,
"localvar_set_muc", jabber_current_server->name);
snprintf (charset_modifier, sizeof (charset_modifier),
"jabber.%s", jabber_current_server->name);
weechat_buffer_set (jabber_current_server->buffer,
"localvar_set_charset_modifier",
charset_modifier);
weechat_hook_signal_send ("logger_stop",
WEECHAT_HOOK_SIGNAL_POINTER,
jabber_current_server->buffer);
weechat_hook_signal_send ("logger_start",
WEECHAT_HOOK_SIGNAL_POINTER,
jabber_current_server->buffer);
}
jabber_buffer_servers = NULL;
jabber_current_server = NULL;
}
/*
* jabber_buffer_close_cb: callback called when a buffer is closed
*/
int
jabber_buffer_close_cb (void *data, struct t_gui_buffer *buffer)
{
JABBER_GET_SERVER_MUC(buffer);
/* make C compiler happy */
(void) data;
if (ptr_muc)
{
/* send PART for channel if its buffer is closed */
//if ((ptr_channel->type == JABBER_CHANNEL_TYPE_CHANNEL)
// && (ptr_channel->nicks))
//{
// jabber_command_part_channel (ptr_server, ptr_channel->name, NULL);
//}
jabber_muc_free (ptr_server, ptr_muc);
}
else
{
if (ptr_server)
{
/* send PART on all channels for server, then disconnect from server */
//ptr_channel = ptr_server->channels;
//while (ptr_channel)
//{
// next_channel = ptr_channel->next_channel;
// weechat_buffer_close (ptr_channel->buffer);
// ptr_channel = next_channel;
//}
jabber_server_disconnect (ptr_server, 0);
ptr_server->buffer = NULL;
}
}
if (jabber_buffer_servers == buffer)
jabber_buffer_servers = NULL;
if (ptr_server && (jabber_current_server == ptr_server))
jabber_current_server = NULL;
return WEECHAT_RC_OK;
}

View File

@ -0,0 +1,41 @@
/*
* Copyright (c) 2009 by FlashCode <flashcode@flashtux.org>
* See README for License detail, AUTHORS for developers list.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef __WEECHAT_JABBER_BUFFER_H
#define __WEECHAT_JABBER_BUFFER_H 1
#define JABBER_BUFFER_ALL_SERVERS_NAME "servers"
struct t_gui_buffer;
struct t_jabber_server;
struct t_jabber_muc;
extern struct t_gui_buffer *jabber_buffer_servers;
extern void jabber_buffer_get_server_muc (struct t_gui_buffer *buffer,
struct t_jabber_server **server,
struct t_jabber_muc **muc);
extern char *jabber_buffer_build_name (const char *server, const char *muc);
extern char *jabber_buffer_get_server_prefix (struct t_jabber_server *server,
char *prefix_code);
extern void jabber_buffer_merge_servers ();
extern void jabber_buffer_split_server ();
extern int jabber_buffer_close_cb (void *data, struct t_gui_buffer *buffer);
#endif /* jabber-buffer.h */

View File

@ -0,0 +1,847 @@
/*
* Copyright (c) 2009 by FlashCode <flashcode@flashtux.org>
* See README for License detail, AUTHORS for developers list.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
/* jabber-command.c: Jabber commands */
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <ctype.h>
#include <sys/time.h>
#include <time.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include "../weechat-plugin.h"
#include "jabber.h"
#include "jabber-command.h"
#include "jabber-buddy.h"
#include "jabber-buffer.h"
#include "jabber-config.h"
#include "jabber-input.h"
#include "jabber-muc.h"
#include "jabber-server.h"
#include "jabber-display.h"
#include "jabber-xmpp.h"
/*
* jabber_command_quit_server: send QUIT to a server
*/
void
jabber_command_quit_server (struct t_jabber_server *server,
const char *arguments)
{
if (!server)
return;
(void) arguments;
}
/*
* jabber_command_jabber: test
*/
int
jabber_command_jabber (void *data, struct t_gui_buffer *buffer, int argc,
char **argv, char **argv_eol)
{
int i, detailed_list, one_server_found;
struct t_jabber_server *ptr_server2, *server_found, *new_server;
char *server_name;
JABBER_GET_SERVER_MUC(buffer);
/* make C compiler happy */
(void) data;
(void) buffer;
(void) argv_eol;
if ((argc == 1)
|| (weechat_strcasecmp (argv[1], "list") == 0)
|| (weechat_strcasecmp (argv[1], "listfull") == 0))
{
/* list servers */
server_name = NULL;
detailed_list = 0;
for (i = 1; i < argc; i++)
{
if (weechat_strcasecmp (argv[i], "list") == 0)
continue;
if (weechat_strcasecmp (argv[i], "listfull") == 0)
{
detailed_list = 1;
continue;
}
if (!server_name)
server_name = argv[i];
}
if (!server_name)
{
if (jabber_servers)
{
weechat_printf (NULL, "");
weechat_printf (NULL, _("All servers:"));
for (ptr_server2 = jabber_servers; ptr_server2;
ptr_server2 = ptr_server2->next_server)
{
jabber_display_server (ptr_server2, detailed_list);
}
}
else
weechat_printf (NULL, _("No server"));
}
else
{
one_server_found = 0;
for (ptr_server2 = jabber_servers; ptr_server2;
ptr_server2 = ptr_server2->next_server)
{
if (weechat_strcasestr (ptr_server2->name, server_name))
{
if (!one_server_found)
{
weechat_printf (NULL, "");
weechat_printf (NULL,
_("Servers with \"%s\":"),
server_name);
}
one_server_found = 1;
jabber_display_server (ptr_server2, detailed_list);
}
}
if (!one_server_found)
weechat_printf (NULL,
_("No server found with \"%s\""),
server_name);
}
return WEECHAT_RC_OK;
}
if (weechat_strcasecmp (argv[1], "add") == 0)
{
if (argc < 6)
{
JABBER_COMMAND_TOO_FEW_ARGUMENTS(NULL, "server add");
}
if (jabber_server_search (argv[2]))
{
weechat_printf (NULL,
_("%s%s: server \"%s\" already exists, "
"can't create it!"),
weechat_prefix ("error"), JABBER_PLUGIN_NAME,
argv[2]);
return WEECHAT_RC_ERROR;
}
new_server = jabber_server_alloc (argv[2]);
if (!new_server)
{
weechat_printf (NULL,
_("%s%s: unable to create server"),
weechat_prefix ("error"), JABBER_PLUGIN_NAME);
return WEECHAT_RC_ERROR;
}
weechat_config_option_set (new_server->options[JABBER_SERVER_OPTION_USERNAME],
argv[3], 1);
weechat_config_option_set (new_server->options[JABBER_SERVER_OPTION_SERVER],
argv[4], 1);
weechat_config_option_set (new_server->options[JABBER_SERVER_OPTION_PASSWORD],
argv[5], 1);
/* parse arguments */
for (i = 6; i < argc; i++)
{
if (argv[i][0] == '-')
{
if (weechat_strcasecmp (argv[i], "-auto") == 0)
{
weechat_config_option_set (new_server->options[JABBER_SERVER_OPTION_AUTOCONNECT],
"on", 1);
}
if (weechat_strcasecmp (argv[i], "-noauto") == 0)
{
weechat_config_option_set (new_server->options[JABBER_SERVER_OPTION_AUTOCONNECT],
"off", 1);
}
if (weechat_strcasecmp (argv[i], "-ipv6") == 0)
{
weechat_config_option_set (new_server->options[JABBER_SERVER_OPTION_IPV6],
"on", 1);
}
if (weechat_strcasecmp (argv[i], "-tls") == 0)
{
weechat_config_option_set (new_server->options[JABBER_SERVER_OPTION_TLS],
"on", 1);
}
if (weechat_strcasecmp (argv[i], "-sasl") == 0)
{
weechat_config_option_set (new_server->options[JABBER_SERVER_OPTION_SASL],
"on", 1);
}
}
}
weechat_printf (NULL,
_("%s: server %s%s%s created"),
JABBER_PLUGIN_NAME,
JABBER_COLOR_CHAT_SERVER,
new_server->name,
JABBER_COLOR_CHAT);
if (JABBER_SERVER_OPTION_BOOLEAN(new_server, JABBER_SERVER_OPTION_AUTOCONNECT))
jabber_server_connect (new_server);
return WEECHAT_RC_OK;
}
if (weechat_strcasecmp (argv[1], "copy") == 0)
{
if (argc < 4)
{
JABBER_COMMAND_TOO_FEW_ARGUMENTS(NULL, "server copy");
}
/* look for server by name */
server_found = jabber_server_search (argv[2]);
if (!server_found)
{
weechat_printf (NULL,
_("%s%s: server \"%s\" not found for "
"\"%s\" command"),
weechat_prefix ("error"), JABBER_PLUGIN_NAME,
argv[2], "server copy");
return WEECHAT_RC_ERROR;
}
/* check if target name already exists */
if (jabber_server_search (argv[3]))
{
weechat_printf (NULL,
_("%s%s: server \"%s\" already exists for "
"\"%s\" command"),
weechat_prefix ("error"), JABBER_PLUGIN_NAME,
argv[3], "server copy");
return WEECHAT_RC_ERROR;
}
/* copy server */
new_server = jabber_server_copy (server_found, argv[3]);
if (new_server)
{
weechat_printf (NULL,
_("%s: server %s%s%s has been copied to "
"%s%s"),
JABBER_PLUGIN_NAME,
JABBER_COLOR_CHAT_SERVER,
argv[2],
JABBER_COLOR_CHAT,
JABBER_COLOR_CHAT_SERVER,
argv[3]);
return WEECHAT_RC_OK;
}
return WEECHAT_RC_ERROR;
}
if (weechat_strcasecmp (argv[1], "rename") == 0)
{
if (argc < 4)
{
JABBER_COMMAND_TOO_FEW_ARGUMENTS(NULL, "server rename");
}
/* look for server by name */
server_found = jabber_server_search (argv[2]);
if (!server_found)
{
weechat_printf (NULL,
_("%s%s: server \"%s\" not found for "
"\"%s\" command"),
weechat_prefix ("error"), JABBER_PLUGIN_NAME,
argv[2], "server rename");
return WEECHAT_RC_ERROR;
}
/* check if target name already exists */
if (jabber_server_search (argv[3]))
{
weechat_printf (NULL,
_("%s%s: server \"%s\" already exists for "
"\"%s\" command"),
weechat_prefix ("error"), JABBER_PLUGIN_NAME,
argv[3], "server rename");
return WEECHAT_RC_ERROR;
}
/* rename server */
if (jabber_server_rename (server_found, argv[3]))
{
weechat_printf (NULL,
_("%s: server %s%s%s has been renamed to "
"%s%s"),
JABBER_PLUGIN_NAME,
JABBER_COLOR_CHAT_SERVER,
argv[2],
JABBER_COLOR_CHAT,
JABBER_COLOR_CHAT_SERVER,
argv[3]);
return WEECHAT_RC_OK;
}
return WEECHAT_RC_ERROR;
}
if (weechat_strcasecmp (argv[1], "keep") == 0)
{
if (argc < 3)
{
JABBER_COMMAND_TOO_FEW_ARGUMENTS(NULL, "server keep");
}
/* look for server by name */
server_found = jabber_server_search (argv[2]);
if (!server_found)
{
weechat_printf (NULL,
_("%s%s: server \"%s\" not found for "
"\"%s\" command"),
weechat_prefix ("error"), JABBER_PLUGIN_NAME,
argv[2], "server keep");
return WEECHAT_RC_ERROR;
}
/* check that is it temporary server */
if (!server_found->temp_server)
{
weechat_printf (NULL,
_("%s%s: server \"%s\" is not a temporary server"),
weechat_prefix ("error"), JABBER_PLUGIN_NAME,
argv[2], "server keep");
return WEECHAT_RC_ERROR;
}
/* remove temporary flag on server */
server_found->temp_server = 0;
weechat_printf (NULL,
_("%s: server %s%s%s is not temporary any more"),
JABBER_PLUGIN_NAME,
JABBER_COLOR_CHAT_SERVER,
argv[2],
JABBER_COLOR_CHAT);
return WEECHAT_RC_OK;
}
if (weechat_strcasecmp (argv[1], "del") == 0)
{
if (argc < 3)
{
JABBER_COMMAND_TOO_FEW_ARGUMENTS(NULL, "server del");
}
/* look for server by name */
server_found = jabber_server_search (argv[2]);
if (!server_found)
{
weechat_printf (NULL,
_("%s%s: server \"%s\" not found for "
"\"%s\" command"),
weechat_prefix ("error"), JABBER_PLUGIN_NAME,
argv[2], "server del");
return WEECHAT_RC_ERROR;
}
if (server_found->is_connected)
{
weechat_printf (NULL,
_("%s%s: you can not delete server \"%s\" "
"because you are connected to. "
"Try \"/disconnect %s\" before."),
weechat_prefix ("error"), JABBER_PLUGIN_NAME,
argv[2], argv[2]);
return WEECHAT_RC_ERROR;
}
server_name = strdup (server_found->name);
jabber_server_free (server_found);
weechat_printf (NULL,
_("%s: Server %s%s%s has been deleted"),
JABBER_PLUGIN_NAME,
JABBER_COLOR_CHAT_SERVER,
(server_name) ? server_name : "???",
JABBER_COLOR_CHAT);
if (server_name)
free (server_name);
return WEECHAT_RC_OK;
}
if (weechat_strcasecmp (argv[1], "switch") == 0)
{
if (weechat_config_boolean (jabber_config_look_one_server_buffer))
{
if (jabber_current_server)
{
ptr_server2 = jabber_current_server->next_server;
if (!ptr_server2)
ptr_server2 = jabber_servers;
while (ptr_server2 != jabber_current_server)
{
if (ptr_server2->buffer)
{
jabber_current_server = ptr_server2;
break;
}
ptr_server2 = ptr_server2->next_server;
if (!ptr_server2)
ptr_server2 = jabber_servers;
}
}
else
{
for (ptr_server2 = jabber_servers; ptr_server2;
ptr_server2 = ptr_server2->next_server)
{
if (ptr_server2->buffer)
{
jabber_current_server = ptr_server2;
break;
}
}
}
jabber_server_set_current_server (jabber_current_server);
}
return WEECHAT_RC_OK;
}
weechat_printf (NULL,
_("%s%s: unknown option for \"%s\" command"),
weechat_prefix ("error"), JABBER_PLUGIN_NAME, "server");
return WEECHAT_RC_ERROR;
}
/*
* jabber_command_jchat: chat with a buddy
*/
int
jabber_command_jchat (void *data, struct t_gui_buffer *buffer, int argc,
char **argv, char **argv_eol)
{
JABBER_GET_SERVER_MUC(buffer);
if (!ptr_server || !ptr_server->is_connected || !ptr_server->iks_authorized)
return WEECHAT_RC_ERROR;
/* make C compiler happy */
(void) data;
(void) argv;
if (argc > 1)
{
/* create private window if not already opened */
ptr_muc = jabber_muc_search (ptr_server, argv[1]);
if (!ptr_muc)
{
ptr_muc = jabber_muc_new (ptr_server,
JABBER_MUC_TYPE_PRIVATE,
argv[1], 1);
if (!ptr_muc)
{
weechat_printf (ptr_server->buffer,
_("%s%s: cannot create new private "
"buffer \"%s\""),
jabber_buffer_get_server_prefix (ptr_server, "error"),
JABBER_PLUGIN_NAME, argv[1]);
return WEECHAT_RC_ERROR;
}
}
weechat_buffer_set (ptr_muc->buffer, "display", "1");
/* display text if given */
if (argv_eol[2])
{
jabber_xmpp_send_chat_message (ptr_server, ptr_muc, argv_eol[2]);
jabber_input_user_message_display (ptr_muc->buffer, argv_eol[2]);
}
}
else
{
JABBER_COMMAND_TOO_FEW_ARGUMENTS(ptr_server->buffer, "chat");
}
return WEECHAT_RC_OK;
}
/*
* jabber_command_jconnect_one_server: connect to one server
* return 0 if error, 1 if ok
*/
int
jabber_command_jconnect_one_server (struct t_jabber_server *server, int no_join)
{
if (!server)
return 0;
if (server->is_connected)
{
weechat_printf (NULL,
_("%s%s: already connected to server "
"\"%s\"!"),
weechat_prefix ("error"), JABBER_PLUGIN_NAME,
server->name);
return 0;
}
if (server->hook_connect)
{
weechat_printf (NULL,
_("%s%s: currently connecting to server "
"\"%s\"!"),
weechat_prefix ("error"), JABBER_PLUGIN_NAME,
server->name);
return 0;
}
server->disable_autojoin = no_join;
if (jabber_server_connect (server))
{
server->reconnect_start = 0;
server->reconnect_join = (server->mucs) ? 1 : 0;
}
/* connect ok */
return 1;
}
/*
* jabber_command_jconnect: connect to server(s)
*/
int
jabber_command_jconnect (void *data, struct t_gui_buffer *buffer, int argc,
char **argv, char **argv_eol)
{
int i, nb_connect, connect_ok, all_servers, no_join, port, ipv6, tls, sasl;
char *name, *error;
long number;
JABBER_GET_SERVER(buffer);
/* make C compiler happy */
(void) data;
(void) argv_eol;
nb_connect = 0;
connect_ok = 1;
port = JABBER_SERVER_DEFAULT_PORT;
ipv6 = 0;
tls = 0;
sasl = 0;
all_servers = 0;
no_join = 0;
for (i = 1; i < argc; i++)
{
if (weechat_strcasecmp (argv[i], "-all") == 0)
all_servers = 1;
if (weechat_strcasecmp (argv[i], "-nojoin") == 0)
no_join = 1;
if (weechat_strcasecmp (argv[i], "-ipv6") == 0)
ipv6 = 1;
if (weechat_strcasecmp (argv[i], "-tls") == 0)
tls = 1;
if (weechat_strcasecmp (argv[i], "-sasl") == 0)
sasl = 1;
if (weechat_strcasecmp (argv[i], "-port") == 0)
{
if (i == (argc - 1))
{
weechat_printf (NULL,
_("%s%s: missing argument for \"%s\" "
"option"),
weechat_prefix ("error"), JABBER_PLUGIN_NAME,
"-port");
return WEECHAT_RC_ERROR;
}
error = NULL;
number = strtol (argv[++i], &error, 10);
if (error && !error[0])
port = number;
}
}
if (all_servers)
{
for (ptr_server = jabber_servers; ptr_server;
ptr_server = ptr_server->next_server)
{
nb_connect++;
if (!ptr_server->is_connected && (!ptr_server->hook_connect))
{
if (!jabber_command_jconnect_one_server (ptr_server, no_join))
connect_ok = 0;
}
}
}
else
{
for (i = 1; i < argc; i++)
{
if (argv[i][0] != '-')
{
nb_connect++;
ptr_server = jabber_server_search (argv[i]);
if (ptr_server)
{
if (!jabber_command_jconnect_one_server (ptr_server, no_join))
connect_ok = 0;
}
else
{
name = jabber_server_get_name_without_port (argv[i]);
ptr_server = jabber_server_alloc ((name) ? name : argv[i]);
if (name)
free (name);
if (ptr_server)
{
ptr_server->temp_server = 1;
weechat_config_option_set (ptr_server->options[JABBER_SERVER_OPTION_SERVER],
argv[i], 1);
weechat_printf (NULL,
_("%s: server %s%s%s created (temporary server, NOT SAVED!)"),
JABBER_PLUGIN_NAME,
JABBER_COLOR_CHAT_SERVER,
ptr_server->name,
JABBER_COLOR_CHAT);
if (!jabber_command_jconnect_one_server (ptr_server, 0))
connect_ok = 0;
}
else
{
weechat_printf (NULL,
_("%s%s: unable to create server "
"\"%s\""),
weechat_prefix ("error"),
JABBER_PLUGIN_NAME, argv[i]);
}
}
}
else
{
if (weechat_strcasecmp (argv[i], "-port") == 0)
i++;
}
}
}
if (nb_connect == 0)
connect_ok = jabber_command_jconnect_one_server (ptr_server, no_join);
if (!connect_ok)
return WEECHAT_RC_ERROR;
return WEECHAT_RC_OK;
}
/*
* jabber_command_jdisconnect_one_server: disconnect from a server
* return 0 if error, 1 if ok
*/
int
jabber_command_jdisconnect_one_server (struct t_jabber_server *server)
{
if (!server)
return 0;
if ((!server->is_connected) && (!server->hook_connect)
&& (server->reconnect_start == 0))
{
weechat_printf (server->buffer,
_("%s%s: not connected to server \"%s\"!"),
jabber_buffer_get_server_prefix (server, "error"),
JABBER_PLUGIN_NAME, server->name);
return 0;
}
if (server->reconnect_start > 0)
{
weechat_printf (server->buffer,
_("%s%s: auto-reconnection is cancelled"),
jabber_buffer_get_server_prefix (server, NULL),
JABBER_PLUGIN_NAME);
}
jabber_command_quit_server (server, NULL);
jabber_server_disconnect (server, 0);
/* disconnect ok */
return 1;
}
/*
* jabber_command_jdisconnect: disconnect from server(s)
*/
int
jabber_command_jdisconnect (void *data, struct t_gui_buffer *buffer, int argc,
char **argv, char **argv_eol)
{
int i, disconnect_ok;
JABBER_GET_SERVER(buffer);
/* make C compiler happy */
(void) data;
(void) argv_eol;
if (argc < 2)
disconnect_ok = jabber_command_jdisconnect_one_server (ptr_server);
else
{
disconnect_ok = 1;
if (weechat_strcasecmp (argv[1], "-all") == 0)
{
for (ptr_server = jabber_servers; ptr_server;
ptr_server = ptr_server->next_server)
{
if ((ptr_server->is_connected) || (ptr_server->hook_connect)
|| (ptr_server->reconnect_start != 0))
{
if (!jabber_command_jdisconnect_one_server (ptr_server))
disconnect_ok = 0;
}
}
}
else
{
for (i = 1; i < argc; i++)
{
ptr_server = jabber_server_search (argv[i]);
if (ptr_server)
{
if (!jabber_command_jdisconnect_one_server (ptr_server))
disconnect_ok = 0;
}
else
{
weechat_printf (NULL,
_("%s%s: server \"%s\" not found"),
weechat_prefix ("error"),
JABBER_PLUGIN_NAME, argv[i]);
disconnect_ok = 0;
}
}
}
}
if (!disconnect_ok)
return WEECHAT_RC_ERROR;
return WEECHAT_RC_OK;
}
/*
* jabber_command_init: init Jabber commands (create hooks)
*/
void
jabber_command_init ()
{
weechat_hook_command ("jabber",
N_("list, add or remove Jabber servers"),
N_("[list [servername]] | [listfull [servername]] | "
"[add servername username hostname[/port] password "
"[-auto | -noauto] [-ipv6] [-tls] [-sasl]] | "
"[copy servername newservername] | "
"[rename servername newservername] | "
"[keep servername] | [del servername] | "
"[switch]"),
N_(" list: list servers (no parameter implies "
"this list)\n"
" listfull: list servers with detailed info for "
"each server\n"
" add: create a new server\n"
"servername: server name, for internal and "
"display use\n"
" username: username to use on server\n"
" hostname: name or IP address of server, with "
"optional port (default: 5222)\n"
" password: password for username on server\n"
" auto: automatically connect to server "
"when WeeChat starts\n"
" noauto: do not connect to server when "
"WeeChat starts (default)\n"
" ipv6: use IPv6 protocol\n"
" tls: use TLS cryptographic protocol\n"
" sasl: use SASL for authentication\n"
" copy: duplicate a server\n"
" rename: rename a server\n"
" keep: keep server in config file (for "
"temporary servers only)\n"
" del: delete a server\n"
" switch: switch active server (when one "
"buffer is used for all servers, default key: "
"alt-s on server buffer)\n\n"
"Examples:\n"
" /jabber listfull\n"
" /jabber add jabberfr user jabber.fr/5222 "
"password -tls\n"
" /jabber copy jabberfr jabberfr2\n"
" /jabber rename jabberfr jabbfr\n"
" /jabber del jabberfr\n"
" /jabber switch"),
"add|copy|rename|keep|del|list|listfull|switch "
"%(jabber_servers) %(jabber_servers)",
&jabber_command_jabber, NULL);
weechat_hook_command ("jchat",
N_("chat with a buddy"),
N_("buddy [text]"),
N_("buddy: buddy name for chat\n"
" text: text to send"),
"%n %-", &jabber_command_jchat, NULL);
weechat_hook_command ("jconnect",
N_("connect to Jabber server(s)"),
N_("[-all [-nojoin] | servername [servername ...] "
"[-nojoin] | hostname [-port port] [-ipv6] "
"[-tls] [-sasl]]"),
N_(" -all: connect to all servers\n"
"servername: internal server name to connect\n"
" -nojoin: do not join any MUC (even if "
"autojoin is enabled on server)\n"
" hostname: hostname to connect\n"
" port: port for server (integer, default "
"is 6667)\n"
" ipv6: use IPv6 protocol\n"
" tls: use TLS cryptographic protocol\n"
" saal: use SASL for authentication"),
"%(jabber_servers)|-all|-nojoin|%*",
&jabber_command_jconnect, NULL);
weechat_hook_command ("jdisconnect",
N_("disconnect from Jabber server(s)"),
N_("[-all | servername [servername ...]]"),
N_(" -all: disconnect from all servers\n"
"servername: server name to disconnect"),
"%(jabber_servers)|-all",
&jabber_command_jdisconnect, NULL);
}

View File

@ -0,0 +1,37 @@
/*
* Copyright (c) 2009 by FlashCode <flashcode@flashtux.org>
* See README for License detail, AUTHORS for developers list.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef __WEECHAT_JABBER_COMMAND_H
#define __WEECHAT_JABBER_COMMAND_H 1
struct t_jabber_server;
#define JABBER_COMMAND_TOO_FEW_ARGUMENTS(__buffer, __command) \
weechat_printf (__buffer, \
_("%s%s: too few arguments for \"%s\" command"), \
jabber_buffer_get_server_prefix (ptr_server, "error"), \
JABBER_PLUGIN_NAME, \
__command); \
return WEECHAT_RC_ERROR;
extern void jabber_command_quit_server (struct t_jabber_server *server,
const char *arguments);
extern void jabber_command_init ();
#endif /* jabber-command.h */

View File

@ -0,0 +1,448 @@
/*
* Copyright (c) 2009 by FlashCode <flashcode@flashtux.org>
* See README for License detail, AUTHORS for developers list.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
/* jabber-completion.c: completion for Jabber commands */
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include "../weechat-plugin.h"
#include "jabber.h"
#include "jabber-buddy.h"
#include "jabber-buffer.h"
#include "jabber-completion.h"
#include "jabber-config.h"
#include "jabber-muc.h"
#include "jabber-server.h"
/*
* jabber_completion_server_cb: callback for completion with current server
*/
int
jabber_completion_server_cb (void *data, const char *completion_item,
struct t_gui_buffer *buffer,
struct t_gui_completion *completion)
{
JABBER_GET_SERVER(buffer);
/* make C compiler happy */
(void) data;
(void) completion_item;
if (ptr_server)
{
weechat_hook_completion_list_add (completion, ptr_server->name,
0, WEECHAT_LIST_POS_SORT);
}
return WEECHAT_RC_OK;
}
/*
* jabber_completion_server_local_name_cb: callback for completion with local
* name on server
*/
int
jabber_completion_server_local_name_cb (void *data,
const char *completion_item,
struct t_gui_buffer *buffer,
struct t_gui_completion *completion)
{
const char *local_name;
JABBER_GET_SERVER(buffer);
/* make C compiler happy */
(void) data;
(void) completion_item;
if (ptr_server)
{
local_name = jabber_server_get_local_name (ptr_server);
if (local_name && local_name[0])
{
weechat_hook_completion_list_add (completion, local_name,
1, WEECHAT_LIST_POS_SORT);
}
}
return WEECHAT_RC_OK;
}
/*
* jabber_completion_server_buddies_cb: callback for completion with buddies
* of current server
*/
int
jabber_completion_server_buddies_cb (void *data, const char *completion_item,
struct t_gui_buffer *buffer,
struct t_gui_completion *completion)
{
struct t_jabber_muc *ptr_muc2;
struct t_jabber_buddy *ptr_buddy;
const char *local_name;
JABBER_GET_SERVER_MUC(buffer);
/* make C compiler happy */
(void) data;
(void) completion_item;
if (ptr_server)
{
for (ptr_muc2 = ptr_server->mucs; ptr_muc2;
ptr_muc2 = ptr_muc2->next_muc)
{
if (ptr_muc2->type == JABBER_MUC_TYPE_MUC)
{
for (ptr_buddy = ptr_muc2->buddies; ptr_buddy;
ptr_buddy = ptr_buddy->next_buddy)
{
weechat_hook_completion_list_add (completion,
ptr_buddy->name,
1, WEECHAT_LIST_POS_SORT);
}
}
}
local_name = jabber_server_get_local_name (ptr_server);
if (local_name && local_name[0])
{
/* add local name at the end */
weechat_hook_completion_list_add (completion, local_name,
1, WEECHAT_LIST_POS_END);
}
}
return WEECHAT_RC_OK;
}
/*
* jabber_completion_servers_cb: callback for completion with servers
*/
int
jabber_completion_servers_cb (void *data, const char *completion_item,
struct t_gui_buffer *buffer,
struct t_gui_completion *completion)
{
struct t_jabber_server *ptr_server;
/* make C compiler happy */
(void) data;
(void) completion_item;
(void) buffer;
for (ptr_server = jabber_servers; ptr_server;
ptr_server = ptr_server->next_server)
{
weechat_hook_completion_list_add (completion, ptr_server->name,
0, WEECHAT_LIST_POS_SORT);
}
return WEECHAT_RC_OK;
}
/*
* jabber_completion_muc_cb: callback for completion with current MUC
*/
int
jabber_completion_muc_cb (void *data, const char *completion_item,
struct t_gui_buffer *buffer,
struct t_gui_completion *completion)
{
JABBER_GET_SERVER_MUC(buffer);
/* make C compiler happy */
(void) data;
(void) completion_item;
if (ptr_muc)
{
weechat_hook_completion_list_add (completion, ptr_muc->name,
0, WEECHAT_LIST_POS_SORT);
}
return WEECHAT_RC_OK;
}
/*
* jabber_completion_muc_buddies_cb: callback for completion with buddies
* of current MUC
*/
int
jabber_completion_muc_buddies_cb (void *data, const char *completion_item,
struct t_gui_buffer *buffer,
struct t_gui_completion *completion)
{
struct t_jabber_buddy *ptr_buddy;
const char *buddy, *local_name;
int list_size, i, j;
JABBER_GET_SERVER_MUC(buffer);
/* make C compiler happy */
(void) data;
(void) completion_item;
if (ptr_muc)
{
switch (ptr_muc->type)
{
case JABBER_MUC_TYPE_MUC:
for (ptr_buddy = ptr_muc->buddies; ptr_buddy;
ptr_buddy = ptr_buddy->next_buddy)
{
weechat_hook_completion_list_add (completion,
ptr_buddy->name,
1,
WEECHAT_LIST_POS_SORT);
}
/* add buddies speaking recently on this MUC */
if (weechat_config_boolean (jabber_config_look_nick_completion_smart))
{
/* 0 => buddy speaking ; 1 => buddy speaking to me
(with highlight) */
for (i = 0; i < 2; i++)
{
if (ptr_muc->buddies_speaking[i])
{
list_size = weechat_list_size (ptr_muc->buddies_speaking[i]);
for (j = 0; j < list_size; j++)
{
buddy = weechat_list_string (weechat_list_get (ptr_muc->buddies_speaking[i], j));
if (buddy && jabber_buddy_search (NULL, ptr_muc, buddy))
{
weechat_hook_completion_list_add (completion,
buddy,
1,
WEECHAT_LIST_POS_BEGINNING);
}
}
}
}
}
/* add local name at the end */
local_name = jabber_server_get_local_name (ptr_server);
if (local_name && local_name[0])
{
weechat_hook_completion_list_add (completion,
local_name,
1,
WEECHAT_LIST_POS_END);
}
break;
case JABBER_MUC_TYPE_PRIVATE:
weechat_hook_completion_list_add (completion,
ptr_muc->name,
0,
WEECHAT_LIST_POS_SORT);
break;
}
ptr_muc->nick_completion_reset = 0;
}
return WEECHAT_RC_OK;
}
/*
* jabber_completion_muc_buddies_hosts_cb: callback for completion with buddies
* and hosts of current MUC
*/
int
jabber_completion_muc_buddies_hosts_cb (void *data,
const char *completion_item,
struct t_gui_buffer *buffer,
struct t_gui_completion *completion)
{
struct t_jabber_buddy *ptr_buddy;
char *buf;
int length;
JABBER_GET_SERVER_MUC(buffer);
/* make C compiler happy */
(void) data;
(void) completion_item;
if (ptr_muc)
{
switch (ptr_muc->type)
{
case JABBER_MUC_TYPE_MUC:
for (ptr_buddy = ptr_muc->buddies; ptr_buddy;
ptr_buddy = ptr_buddy->next_buddy)
{
weechat_hook_completion_list_add (completion,
ptr_buddy->name,
1,
WEECHAT_LIST_POS_SORT);
if (ptr_buddy->host)
{
length = strlen (ptr_buddy->name) + 1 +
strlen (ptr_buddy->host) + 1;
buf = malloc (length);
if (buf)
{
snprintf (buf, length, "%s!%s",
ptr_buddy->name, ptr_buddy->host);
weechat_hook_completion_list_add (completion,
buf,
0,
WEECHAT_LIST_POS_SORT);
free (buf);
}
}
}
break;
case JABBER_MUC_TYPE_PRIVATE:
weechat_hook_completion_list_add (completion,
ptr_muc->name,
0,
WEECHAT_LIST_POS_SORT);
}
}
return WEECHAT_RC_OK;
}
/*
* jabber_completion_muc_topic_cb: callback for completion with topic of
* current MUC
*/
int
jabber_completion_muc_topic_cb (void *data, const char *completion_item,
struct t_gui_buffer *buffer,
struct t_gui_completion *completion)
{
JABBER_GET_SERVER_MUC(buffer);
/* make C compiler happy */
(void) data;
(void) completion_item;
if (ptr_muc && ptr_muc->topic && ptr_muc->topic[0])
{
weechat_hook_completion_list_add (completion,
ptr_muc->topic,
0,
WEECHAT_LIST_POS_SORT);
}
return WEECHAT_RC_OK;
}
/*
* jabber_completion_mucs_cb: callback for completion with MUCs
*/
int
jabber_completion_mucs_cb (void *data, const char *completion_item,
struct t_gui_buffer *buffer,
struct t_gui_completion *completion)
{
(void) completion;
struct t_jabber_server *ptr_server;
struct t_jabber_muc *ptr_muc;
/* make C compiler happy */
(void) data;
(void) completion_item;
(void) buffer;
for (ptr_server = jabber_servers; ptr_server;
ptr_server = ptr_server->next_server)
{
for (ptr_muc = ptr_server->mucs; ptr_muc; ptr_muc = ptr_muc->next_muc)
{
weechat_hook_completion_list_add (completion,
ptr_muc->name,
0,
WEECHAT_LIST_POS_SORT);
}
}
return WEECHAT_RC_OK;
}
/*
* jabber_completion_msg_part_cb: callback for completion with default part
* message
*/
int
jabber_completion_msg_part_cb (void *data, const char *completion_item,
struct t_gui_buffer *buffer,
struct t_gui_completion *completion)
{
/* make C compiler happy */
(void) data;
(void) completion_item;
(void) buffer;
if (weechat_config_string (jabber_config_network_default_msg_part)
&& weechat_config_string (jabber_config_network_default_msg_part)[0])
{
weechat_hook_completion_list_add (completion,
weechat_config_string (jabber_config_network_default_msg_part),
0, WEECHAT_LIST_POS_SORT);
}
return WEECHAT_RC_OK;
}
/*
* jabber_completion_init: init completion for Jabber plugin
*/
void
jabber_completion_init ()
{
weechat_hook_completion ("jabber_server",
&jabber_completion_server_cb, NULL);
weechat_hook_completion ("jabber_server_local_name",
&jabber_completion_server_local_name_cb, NULL);
weechat_hook_completion ("jabber_server_buddies",
&jabber_completion_server_buddies_cb, NULL);
weechat_hook_completion ("jabber_servers",
&jabber_completion_servers_cb, NULL);
weechat_hook_completion ("jabber_muc",
&jabber_completion_muc_cb, NULL);
weechat_hook_completion ("buddy",
&jabber_completion_muc_buddies_cb, NULL);
weechat_hook_completion ("jabber_muc_buddies_hosts",
&jabber_completion_muc_buddies_hosts_cb, NULL);
weechat_hook_completion ("jabber_muc_topic",
&jabber_completion_muc_topic_cb, NULL);
weechat_hook_completion ("jabber_mucs",
&jabber_completion_mucs_cb, NULL);
weechat_hook_completion ("jabber_msg_part",
&jabber_completion_msg_part_cb, NULL);
}

View File

@ -0,0 +1,25 @@
/*
* Copyright (c) 2009 by FlashCode <flashcode@flashtux.org>
* See README for License detail, AUTHORS for developers list.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef __WEECHAT_JABBER_COMPLETION_H
#define __WEECHAT_JABBER_COMPLETION_H 1
extern void jabber_completion_init ();
#endif /* jabber-completion.h */

View File

@ -0,0 +1,990 @@
/*
* Copyright (c) 2009 by FlashCode <flashcode@flashtux.org>
* See README for License detail, AUTHORS for developers list.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
/* jabber-config.c: Jabber configuration options */
#include <stdlib.h>
#include <unistd.h>
#include <stdio.h>
#include <string.h>
#include <limits.h>
#include <pwd.h>
#include "../weechat-plugin.h"
#include "jabber.h"
#include "jabber-config.h"
#include "jabber-buffer.h"
#include "jabber-buddy.h"
#include "jabber-server.h"
#include "jabber-muc.h"
struct t_config_file *jabber_config_file = NULL;
struct t_config_section *jabber_config_section_server_default = NULL;
struct t_config_section *jabber_config_section_server = NULL;
/* Jabber config, look section */
struct t_config_option *jabber_config_look_color_nicks_in_server_messages;
struct t_config_option *jabber_config_look_one_server_buffer;
struct t_config_option *jabber_config_look_open_near_server;
struct t_config_option *jabber_config_look_nick_prefix;
struct t_config_option *jabber_config_look_nick_suffix;
struct t_config_option *jabber_config_look_nick_completion_smart;
struct t_config_option *jabber_config_look_display_away;
struct t_config_option *jabber_config_look_display_muc_modes;
struct t_config_option *jabber_config_look_hide_nickserv_pwd;
struct t_config_option *jabber_config_look_highlight_tags;
struct t_config_option *jabber_config_look_show_away_once;
struct t_config_option *jabber_config_look_smart_filter;
struct t_config_option *jabber_config_look_smart_filter_delay;
struct t_config_option *jabber_config_look_notice_as_pv;
/* Jabber config, color section */
struct t_config_option *jabber_config_color_message_join;
struct t_config_option *jabber_config_color_message_quit;
struct t_config_option *jabber_config_color_input_nick;
/* Jabber config, network section */
struct t_config_option *jabber_config_network_default_msg_part;
struct t_config_option *jabber_config_network_default_msg_quit;
struct t_config_option *jabber_config_network_lag_check;
struct t_config_option *jabber_config_network_lag_min_show;
struct t_config_option *jabber_config_network_lag_disconnect;
struct t_config_option *jabber_config_network_anti_flood;
struct t_config_option *jabber_config_network_colors_receive;
struct t_config_option *jabber_config_network_colors_send;
/* Jabber config, server section */
struct t_config_option *jabber_config_server_default[JABBER_SERVER_NUM_OPTIONS];
struct t_hook *hook_config_color_nicks_number = NULL;
int jabber_config_write_temp_servers = 0;
struct t_jabber_server *
jabber_config_get_server_from_option_name (const char *name)
{
struct t_jabber_server *ptr_server;
char *pos_option, *server_name;
ptr_server = NULL;
if (name)
{
pos_option = strrchr (name, '.');
if (pos_option)
{
server_name = weechat_strndup (name, pos_option - name);
if (server_name)
{
ptr_server = jabber_server_search (server_name);
free (server_name);
}
}
}
return ptr_server;
}
/*
* jabber_config_change_look_color_nicks_number: called when the
* "weechat.look.color_nicks_number"
* option is changed
*/
int
jabber_config_change_look_color_nicks_number (void *data, const char *option,
const char *value)
{
struct t_jabber_server *ptr_server;
struct t_jabber_muc *ptr_muc;
struct t_jabber_buddy *ptr_buddy;
/* make C compiler happy */
(void) data;
(void) option;
(void) value;
for (ptr_server = jabber_servers; ptr_server;
ptr_server = ptr_server->next_server)
{
/* buddies in roster */
for (ptr_buddy = ptr_server->buddies; ptr_buddy;
ptr_buddy = ptr_buddy->next_buddy)
{
ptr_buddy->color = jabber_buddy_find_color (ptr_buddy);
}
/* buddies in MUCs */
for (ptr_muc = ptr_server->mucs; ptr_muc; ptr_muc = ptr_muc->next_muc)
{
for (ptr_buddy = ptr_muc->buddies; ptr_buddy;
ptr_buddy = ptr_buddy->next_buddy)
{
ptr_buddy->color = jabber_buddy_find_color (ptr_buddy);
}
}
}
return WEECHAT_RC_OK;
}
/*
* jabber_config_change_look_one_server_buffer: called when the "one server buffer"
* option is changed
*/
void
jabber_config_change_look_one_server_buffer (void *data,
struct t_config_option *option)
{
/* make C compiler happy */
(void) data;
(void) option;
if (weechat_config_boolean (jabber_config_look_one_server_buffer))
jabber_buffer_merge_servers ();
else
jabber_buffer_split_server ();
}
/*
* jabber_config_change_look_display_muc_modes: called when the "display
* MUC modes" option is changed
*/
void
jabber_config_change_look_display_muc_modes (void *data,
struct t_config_option *option)
{
/* make C compiler happy */
(void) data;
(void) option;
weechat_bar_item_update ("buffer_name");
}
/*
* jabber_config_change_look_highlight_tags: called when the "highlight tags"
* option is changed
*/
void
jabber_config_change_look_highlight_tags (void *data,
struct t_config_option *option)
{
struct t_jabber_server *ptr_server;
struct t_jabber_muc *ptr_muc;
/* make C compiler happy */
(void) data;
(void) option;
for (ptr_server = jabber_servers; ptr_server;
ptr_server = ptr_server->next_server)
{
if (ptr_server->buffer)
{
weechat_buffer_set (ptr_server->buffer, "highlight_tags",
weechat_config_string (jabber_config_look_highlight_tags));
}
for (ptr_muc = ptr_server->mucs; ptr_muc; ptr_muc = ptr_muc->next_muc)
{
if (ptr_muc->buffer)
{
weechat_buffer_set (ptr_muc->buffer, "highlight_tags",
weechat_config_string (jabber_config_look_highlight_tags));
}
}
}
}
/*
* jabber_config_change_color_input_nick: called when the color of input nick
* ischanged
*/
void
jabber_config_change_color_input_nick (void *data,
struct t_config_option *option)
{
/* make C compiler happy */
(void) data;
(void) option;
weechat_bar_item_update ("input_prompt");
}
/*
* jabber_config_server_default_change_cb: callback called when a default server
* option is modified
*/
void
jabber_config_server_default_change_cb (void *data,
struct t_config_option *option)
{
int index_option;
struct t_jabber_server *ptr_server;
index_option = jabber_server_search_option (data);
if (index_option >= 0)
{
for (ptr_server = jabber_servers; ptr_server;
ptr_server = ptr_server->next_server)
{
if (weechat_config_option_is_null (ptr_server->options[index_option]))
{
switch (index_option)
{
case JABBER_SERVER_OPTION_SERVER:
jabber_server_set_server (ptr_server,
weechat_config_string (option));
break;
}
}
}
}
}
/*
* jabber_config_server_change_cb: callback called when a server option is
* modified
*/
void
jabber_config_server_change_cb (void *data, struct t_config_option *option)
{
int index_option;
char *name;
struct t_jabber_server *ptr_server;
index_option = jabber_server_search_option (data);
if (index_option >= 0)
{
name = weechat_config_option_get_pointer (option, "name");
ptr_server = jabber_config_get_server_from_option_name (name);
if (ptr_server)
{
switch (index_option)
{
case JABBER_SERVER_OPTION_SERVER:
jabber_server_set_server (ptr_server,
JABBER_SERVER_OPTION_STRING(ptr_server,
JABBER_SERVER_OPTION_SERVER));
break;
}
}
}
}
/*
* jabber_config_reload: reload Jabber configuration file
*/
int
jabber_config_reload (void *data, struct t_config_file *config_file)
{
int rc;
struct t_jabber_server *ptr_server, *next_server;
/* make C compiler happy */
(void) data;
for (ptr_server = jabber_servers; ptr_server;
ptr_server = ptr_server->next_server)
{
ptr_server->reloading_from_config = 1;
ptr_server->reloaded_from_config = 0;
}
rc = weechat_config_reload (config_file);
ptr_server = jabber_servers;
while (ptr_server)
{
next_server = ptr_server->next_server;
if (!ptr_server->reloaded_from_config)
{
if (ptr_server->is_connected)
{
weechat_printf (NULL,
_("%s%s: warning: server \"%s\" not found "
"in configuration file, not deleted in "
"memory because it's currently used"),
weechat_prefix ("error"), JABBER_PLUGIN_NAME,
ptr_server->name);
}
else
jabber_server_free (ptr_server);
}
ptr_server = next_server;
}
return rc;
}
/*
* jabber_config_server_new_option: create a new option for a server
*/
struct t_config_option *
jabber_config_server_new_option (struct t_config_file *config_file,
struct t_config_section *section,
int index_option,
const char *option_name,
const char *default_value,
const char *value,
int null_value_allowed,
void *callback_change,
void *callback_change_data)
{
struct t_config_option *new_option;
new_option = NULL;
switch (index_option)
{
case JABBER_SERVER_OPTION_USERNAME:
new_option = weechat_config_new_option (
config_file, section,
option_name, "string",
N_("user name to use on server"),
NULL, 0, 0,
default_value, value,
null_value_allowed,
NULL, NULL,
callback_change, callback_change_data,
NULL, NULL);
break;
case JABBER_SERVER_OPTION_SERVER:
new_option = weechat_config_new_option (
config_file, section,
option_name, "string",
N_("hostname/port or IP/port for server"),
NULL, 0, 0,
default_value, value,
null_value_allowed,
NULL, NULL,
callback_change, callback_change_data,
NULL, NULL);
break;
case JABBER_SERVER_OPTION_PROXY:
new_option = weechat_config_new_option (
config_file, section,
option_name, "string",
N_("proxy used for this server (optional)"),
NULL, 0, 0,
default_value, value,
null_value_allowed,
NULL, NULL,
callback_change, callback_change_data,
NULL, NULL);
break;
case JABBER_SERVER_OPTION_IPV6:
new_option = weechat_config_new_option (
config_file, section,
option_name, "boolean",
N_("use IPv6 protocol for server communication"),
NULL, 0, 0,
default_value, value,
null_value_allowed,
NULL, NULL,
callback_change, callback_change_data,
NULL, NULL);
break;
case JABBER_SERVER_OPTION_TLS:
new_option = weechat_config_new_option (
config_file, section,
option_name, "boolean",
N_("use TLS cryptographic protocol for server communication"),
NULL, 0, 0,
default_value, value,
null_value_allowed,
NULL, NULL,
callback_change, callback_change_data,
NULL, NULL);
break;
case JABBER_SERVER_OPTION_SASL:
new_option = weechat_config_new_option (
config_file, section,
option_name, "boolean",
N_("use SASL for authentication"),
NULL, 0, 0,
default_value, value,
null_value_allowed,
NULL, NULL,
callback_change, callback_change_data,
NULL, NULL);
break;
case JABBER_SERVER_OPTION_RESOURCE:
new_option = weechat_config_new_option (
config_file, section,
option_name, "string",
N_("resource (for example: Home or Work)"),
NULL, 0, 0,
default_value, value,
null_value_allowed,
NULL, NULL,
callback_change, callback_change_data,
NULL, NULL);
break;
case JABBER_SERVER_OPTION_PASSWORD:
new_option = weechat_config_new_option (
config_file, section,
option_name, "string",
N_("password"),
NULL, 0, 0,
default_value, value,
null_value_allowed,
NULL, NULL,
callback_change, callback_change_data,
NULL, NULL);
break;
case JABBER_SERVER_OPTION_LOCAL_ALIAS:
new_option = weechat_config_new_option (
config_file, section,
option_name, "string",
N_("local alias"),
NULL, 0, 0,
default_value, value,
null_value_allowed,
NULL, NULL,
callback_change, callback_change_data,
NULL, NULL);
break;
case JABBER_SERVER_OPTION_AUTOCONNECT:
new_option = weechat_config_new_option (
config_file, section,
option_name, "boolean",
N_("automatically connect to server when WeeChat is starting"),
NULL, 0, 0,
default_value, value,
null_value_allowed,
NULL, NULL,
callback_change, callback_change_data,
NULL, NULL);
break;
case JABBER_SERVER_OPTION_AUTORECONNECT:
new_option = weechat_config_new_option (
config_file, section,
option_name, "boolean",
N_("automatically reconnect to server when disconnected"),
NULL, 0, 0,
default_value, value,
null_value_allowed,
NULL, NULL,
callback_change, callback_change_data,
NULL, NULL);
break;
case JABBER_SERVER_OPTION_AUTORECONNECT_DELAY:
new_option = weechat_config_new_option (
config_file, section,
option_name, "integer",
N_("delay (in seconds) before trying again to reconnect to "
"server"),
NULL, 0, 65535,
default_value, value,
null_value_allowed,
NULL, NULL,
callback_change, callback_change_data,
NULL, NULL);
break;
case JABBER_SERVER_OPTION_LOCAL_HOSTNAME:
new_option = weechat_config_new_option (
config_file, section,
option_name, "string",
N_("custom local hostname/IP for server (optional, if empty "
"local hostname is used)"),
NULL, 0, 0,
default_value, value,
null_value_allowed,
NULL, NULL,
callback_change, callback_change_data,
NULL, NULL);
break;
case JABBER_SERVER_OPTION_COMMAND:
new_option = weechat_config_new_option (
config_file, section,
option_name, "string",
N_("command(s) to run when connected to server (many commands "
"should be separated by ';', use '\\;' for a semicolon, "
"special variables $nick, $muc and $server are "
"replaced by their value)"),
NULL, 0, 0,
default_value, value,
null_value_allowed,
NULL, NULL,
callback_change, callback_change_data,
NULL, NULL);
break;
case JABBER_SERVER_OPTION_COMMAND_DELAY:
new_option = weechat_config_new_option (
config_file, section,
option_name, "integer",
N_("delay (in seconds) after command was executed (example: "
"give some time for authentication)"),
NULL, 0, 3600,
default_value, value,
null_value_allowed,
NULL, NULL,
callback_change, callback_change_data,
NULL, NULL);
break;
case JABBER_SERVER_OPTION_AUTOJOIN:
new_option = weechat_config_new_option (
config_file, section,
option_name, "string",
N_("comma separated list of MUCs to join when connected "
"to server (example: \"#chan1,#chan2,#chan3 key1,key2\")"),
NULL, 0, 0,
default_value, value,
null_value_allowed,
NULL, NULL,
callback_change, callback_change_data,
NULL, NULL);
break;
case JABBER_SERVER_OPTION_AUTOREJOIN:
new_option = weechat_config_new_option (
config_file, section,
option_name, "boolean",
N_("automatically rejoin MUCs when kicked"),
NULL, 0, 0,
default_value, value,
null_value_allowed,
NULL, NULL,
callback_change, callback_change_data,
NULL, NULL);
break;
case JABBER_SERVER_NUM_OPTIONS:
break;
}
return new_option;
}
/*
* jabber_config_server_read_cb: read server option in configuration file
*/
int
jabber_config_server_read_cb (void *data, struct t_config_file *config_file,
struct t_config_section *section,
const char *option_name, const char *value)
{
struct t_jabber_server *ptr_server;
int index_option, rc, i;
char *pos_option, *server_name;
/* make C compiler happy */
(void) data;
(void) config_file;
(void) section;
rc = WEECHAT_CONFIG_OPTION_SET_ERROR;
if (option_name)
{
pos_option = strrchr (option_name, '.');
if (pos_option)
{
server_name = weechat_strndup (option_name,
pos_option - option_name);
pos_option++;
if (server_name)
{
index_option = jabber_server_search_option (pos_option);
if (index_option >= 0)
{
ptr_server = jabber_server_search (server_name);
if (!ptr_server)
ptr_server = jabber_server_alloc (server_name);
if (ptr_server)
{
if (ptr_server->reloading_from_config
&& !ptr_server->reloaded_from_config)
{
for (i = 0; i < JABBER_SERVER_NUM_OPTIONS; i++)
{
weechat_config_option_set (ptr_server->options[i],
NULL, 1);
}
ptr_server->reloaded_from_config = 1;
}
rc = weechat_config_option_set (ptr_server->options[index_option],
value, 1);
}
else
{
weechat_printf (NULL,
_("%s%s: error creating server "
"\"%s\""),
weechat_prefix ("error"), JABBER_PLUGIN_NAME,
server_name);
}
}
free (server_name);
}
}
}
if (rc == WEECHAT_CONFIG_OPTION_SET_ERROR)
{
weechat_printf (NULL,
_("%s%s: error creating server option \"%s\""),
weechat_prefix ("error"), JABBER_PLUGIN_NAME,
option_name);
}
return rc;
}
/*
* jabber_config_server_write_cb: write server section in configuration file
*/
void
jabber_config_server_write_cb (void *data, struct t_config_file *config_file,
const char *section_name)
{
struct t_jabber_server *ptr_server;
int i;
/* make C compiler happy */
(void) data;
weechat_config_write_line (config_file, section_name, NULL);
for (ptr_server = jabber_servers; ptr_server;
ptr_server = ptr_server->next_server)
{
if (!ptr_server->temp_server || jabber_config_write_temp_servers)
{
for (i = 0; i < JABBER_SERVER_NUM_OPTIONS; i++)
{
weechat_config_write_option (config_file,
ptr_server->options[i]);
}
}
}
}
/*
* jabber_config_server_create_default_options: create default options for
* servers
*/
void
jabber_config_server_create_default_options (struct t_config_section *section)
{
int i;
for (i = 0; i < JABBER_SERVER_NUM_OPTIONS; i++)
{
jabber_config_server_default[i] = jabber_config_server_new_option (
jabber_config_file,
section,
i,
jabber_server_option_string[i],
jabber_server_option_default[i],
jabber_server_option_default[i],
0,
&jabber_config_server_default_change_cb,
jabber_server_option_string[i]);
}
}
/*
* jabber_config_init: init Jabber configuration file
* return: 1 if ok, 0 if error
*/
int
jabber_config_init ()
{
struct t_config_section *ptr_section;
jabber_config_file = weechat_config_new (JABBER_CONFIG_NAME,
&jabber_config_reload, NULL);
if (!jabber_config_file)
return 0;
/* look */
ptr_section = weechat_config_new_section (jabber_config_file, "look",
0, 0,
NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL,
NULL, NULL);
if (!ptr_section)
{
weechat_config_free (jabber_config_file);
return 0;
}
jabber_config_look_color_nicks_in_server_messages = weechat_config_new_option (
jabber_config_file, ptr_section,
"color_nicks_in_server_messages", "boolean",
N_("use nick color in messages from server"),
NULL, 0, 0, "on", NULL, 0, NULL, NULL,
NULL, NULL, NULL, NULL);
jabber_config_look_one_server_buffer = weechat_config_new_option (
jabber_config_file, ptr_section,
"one_server_buffer", "boolean",
N_("use same buffer for all servers"),
NULL, 0, 0, "off", NULL, 0, NULL, NULL,
&jabber_config_change_look_one_server_buffer, NULL, NULL, NULL);
jabber_config_look_open_near_server = weechat_config_new_option (
jabber_config_file, ptr_section,
"open_near_server", "boolean",
N_("open new MUCs/privates near server"),
NULL, 0, 0, "off", NULL, 0, NULL, NULL, NULL, NULL, NULL, NULL);
jabber_config_look_nick_prefix = weechat_config_new_option (
jabber_config_file, ptr_section,
"nick_prefix", "string",
N_("text to display before nick in chat window"),
NULL, 0, 0, "", NULL, 0, NULL, NULL, NULL, NULL, NULL, NULL);
jabber_config_look_nick_suffix = weechat_config_new_option (
jabber_config_file, ptr_section,
"nick_suffix", "string",
N_("text to display after nick in chat window"),
NULL, 0, 0, "", NULL, 0, NULL, NULL, NULL, NULL, NULL, NULL);
jabber_config_look_nick_completion_smart = weechat_config_new_option (
jabber_config_file, ptr_section,
"nick_completion_smart", "boolean",
N_("smart completion for nicks (completes with last speakers first)"),
NULL, 0, 0, "on", NULL, 0, NULL, NULL, NULL, NULL, NULL, NULL);
jabber_config_look_display_away = weechat_config_new_option (
jabber_config_file, ptr_section,
"display_away", "integer",
N_("display message when (un)marking as away"),
"off|local|muc", 0, 0, "local", NULL, 0, NULL, NULL, NULL, NULL, NULL, NULL);
jabber_config_look_display_muc_modes = weechat_config_new_option (
jabber_config_file, ptr_section,
"display_muc_modes", "boolean",
N_("display MUC modes in \"buffer_name\" bar item"),
NULL, 0, 0, "on", NULL, 0, NULL, NULL,
&jabber_config_change_look_display_muc_modes, NULL, NULL, NULL);
jabber_config_look_hide_nickserv_pwd = weechat_config_new_option (
jabber_config_file, ptr_section,
"hide_nickserv_pwd", "boolean",
N_("hide password displayed by nickserv"),
NULL, 0, 0, "on", NULL, 0, NULL, NULL, NULL, NULL, NULL, NULL);
jabber_config_look_highlight_tags = weechat_config_new_option (
jabber_config_file, ptr_section,
"highlight_tags", "string",
N_("comma separated list of tags for messages that may produce "
"highlight (usually any message from another user, not server "
"messages,..)"),
NULL, 0, 0, "jabber_chat_msg,jabber_notice", NULL, 0, NULL, NULL,
&jabber_config_change_look_highlight_tags, NULL, NULL, NULL);
jabber_config_look_show_away_once = weechat_config_new_option (
jabber_config_file, ptr_section,
"show_away_once", "boolean",
N_("show remote away message only once in private"),
NULL, 0, 0, "on", NULL, 0, NULL, NULL, NULL, NULL, NULL, NULL);
jabber_config_look_smart_filter = weechat_config_new_option (
jabber_config_file, ptr_section,
"smart_filter", "boolean",
N_("filter join/part/quit messages for a nick if not speaking for "
"some minutes on MUC (you must create a filter on tag "
"\"jabber_smart_filter\")"),
NULL, 0, 0, "off", NULL, 0, NULL, NULL, NULL, NULL, NULL, NULL);
jabber_config_look_smart_filter_delay = weechat_config_new_option (
jabber_config_file, ptr_section,
"smart_filter_delay", "integer",
N_("delay for filtering join/part/quit messages (in minutes)"),
NULL, 1, 60*24*7, "5", NULL, 0, NULL, NULL, NULL, NULL, NULL, NULL);
jabber_config_look_notice_as_pv = weechat_config_new_option (
jabber_config_file, ptr_section,
"notice_as_pv", "boolean",
N_("display notices as private messages"),
NULL, 0, 0, "off", NULL, 0, NULL, NULL, NULL, NULL, NULL, NULL);
/* color */
ptr_section = weechat_config_new_section (jabber_config_file, "color",
0, 0,
NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL,
NULL, NULL);
if (!ptr_section)
{
weechat_config_free (jabber_config_file);
return 0;
}
jabber_config_color_message_join = weechat_config_new_option (
jabber_config_file, ptr_section,
"message_join", "color",
N_("color for text in join messages"),
NULL, -1, 0, "green", NULL, 0, NULL, NULL,
NULL, NULL, NULL, NULL);
jabber_config_color_message_quit = weechat_config_new_option (
jabber_config_file, ptr_section,
"message_quit", "color",
N_("color for text in part/quit messages"),
NULL, -1, 0, "red", NULL, 0, NULL, NULL,
NULL, NULL, NULL, NULL);
jabber_config_color_input_nick = weechat_config_new_option (
jabber_config_file, ptr_section,
"input_nick", "color",
N_("color for nick in input bar"),
NULL, -1, 0, "lightcyan", NULL, 0, NULL, NULL,
&jabber_config_change_color_input_nick, NULL, NULL, NULL);
/* network */
ptr_section = weechat_config_new_section (jabber_config_file, "network",
0, 0,
NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL,
NULL, NULL);
if (!ptr_section)
{
weechat_config_free (jabber_config_file);
return 0;
}
jabber_config_network_default_msg_part = weechat_config_new_option (
jabber_config_file, ptr_section,
"default_msg_part", "string",
N_("default part message (leaving MUC) ('%v' will be replaced by "
"WeeChat version in string)"),
NULL, 0, 0, "WeeChat %v", NULL, 0, NULL, NULL, NULL, NULL, NULL, NULL);
jabber_config_network_default_msg_quit = weechat_config_new_option (
jabber_config_file, ptr_section,
"default_msg_quit", "string",
N_("default quit message (disconnecting from server) ('%v' will be "
"replaced by WeeChat version in string)"),
NULL, 0, 0, "WeeChat %v", NULL, 0, NULL, NULL, NULL, NULL, NULL, NULL);
jabber_config_network_lag_check = weechat_config_new_option (
jabber_config_file, ptr_section,
"lag_check", "integer",
N_("interval between two checks for lag (in seconds, 0 = never "
"check)"),
NULL, 0, INT_MAX, "60", NULL, 0, NULL, NULL, NULL, NULL, NULL, NULL);
jabber_config_network_lag_min_show = weechat_config_new_option (
jabber_config_file, ptr_section,
"lag_min_show", "integer",
N_("minimum lag to show (in seconds)"),
NULL, 0, INT_MAX, "1", NULL, 0, NULL, NULL, NULL, NULL, NULL, NULL);
jabber_config_network_lag_disconnect = weechat_config_new_option (
jabber_config_file, ptr_section,
"lag_disconnect", "integer",
N_("disconnect after important lag (in minutes, 0 = never "
"disconnect)"),
NULL, 0, INT_MAX, "5", NULL, 0, NULL, NULL, NULL, NULL, NULL, NULL);
jabber_config_network_anti_flood = weechat_config_new_option (
jabber_config_file, ptr_section,
"anti_flood", "integer",
N_("anti-flood: # seconds between two user messages (0 = no "
"anti-flood)"),
NULL, 0, 5, "2", NULL, 0, NULL, NULL, NULL, NULL, NULL, NULL);
jabber_config_network_colors_receive = weechat_config_new_option (
jabber_config_file, ptr_section,
"colors_receive", "boolean",
N_("when off, colors codes are ignored in incoming messages"),
NULL, 0, 0, "on", NULL, 0, NULL, NULL, NULL, NULL, NULL, NULL);
jabber_config_network_colors_send = weechat_config_new_option (
jabber_config_file, ptr_section,
"colors_send", "boolean",
N_("allow user to send colors with special codes (^Cb=bold, "
"^Ccxx=color, ^Ccxx,yy=color+background, ^Cu=underline, "
"^Cr=reverse)"),
NULL, 0, 0, "on", NULL, 0, NULL, NULL, NULL, NULL, NULL, NULL);
/* server_default */
ptr_section = weechat_config_new_section (jabber_config_file, "server_default",
0, 0,
NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL,
NULL, NULL);
if (!ptr_section)
{
weechat_config_free (jabber_config_file);
return 0;
}
jabber_config_section_server_default = ptr_section;
jabber_config_server_create_default_options (ptr_section);
/* server */
ptr_section = weechat_config_new_section (jabber_config_file, "server",
0, 0,
&jabber_config_server_read_cb, NULL,
&jabber_config_server_write_cb, NULL,
NULL, NULL,
NULL, NULL,
NULL, NULL);
if (!ptr_section)
{
weechat_config_free (jabber_config_file);
return 0;
}
jabber_config_section_server = ptr_section;
hook_config_color_nicks_number = weechat_hook_config ("weechat.look.color_nicks_number",
&jabber_config_change_look_color_nicks_number, NULL);
return 1;
}
/*
* jabber_config_read: read Jabber configuration file
*/
int
jabber_config_read ()
{
return weechat_config_read (jabber_config_file);
}
/*
* jabber_config_write: write Jabber configuration file
*/
int
jabber_config_write (int write_temp_servers)
{
jabber_config_write_temp_servers = write_temp_servers;
return weechat_config_write (jabber_config_file);
}
/*
* jabber_config_free: free Jabber configuration
*/
void
jabber_config_free ()
{
weechat_config_free (jabber_config_file);
if (hook_config_color_nicks_number)
{
weechat_unhook (hook_config_color_nicks_number);
hook_config_color_nicks_number = NULL;
}
}

View File

@ -0,0 +1,80 @@
/*
* Copyright (c) 2009 by FlashCode <flashcode@flashtux.org>
* See README for License detail, AUTHORS for developers list.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef __WEECHAT_JABBER_CONFIG_H
#define __WEECHAT_JABBER_CONFIG_H 1
#define JABBER_CONFIG_NAME "jabber"
#define JABBER_CONFIG_DISPLAY_AWAY_OFF 0
#define JABBER_CONFIG_DISPLAY_AWAY_LOCAL 1
#define JABBER_CONFIG_DISPLAY_AWAY_MUC 2
extern struct t_config_file *jabber_config_file;
extern struct t_config_section *jabber_config_section_server_default;
extern struct t_config_section *jabber_config_section_server;
extern struct t_config_option *jabber_config_look_color_nicks_in_server_messages;
extern struct t_config_option *jabber_config_look_one_server_buffer;
extern struct t_config_option *jabber_config_look_open_near_server;
extern struct t_config_option *jabber_config_look_nick_prefix;
extern struct t_config_option *jabber_config_look_nick_suffix;
extern struct t_config_option *jabber_config_look_nick_completion_smart;
extern struct t_config_option *jabber_config_look_display_away;
extern struct t_config_option *jabber_config_look_display_muc_modes;
extern struct t_config_option *jabber_config_look_hide_nickserv_pwd;
extern struct t_config_option *jabber_config_look_highlight_tags;
extern struct t_config_option *jabber_config_look_show_away_once;
extern struct t_config_option *jabber_config_look_smart_filter;
extern struct t_config_option *jabber_config_look_smart_filter_delay;
extern struct t_config_option *jabber_config_look_notice_as_pv;
extern struct t_config_option *jabber_config_color_message_join;
extern struct t_config_option *jabber_config_color_message_quit;
extern struct t_config_option *jabber_config_color_input_nick;
extern struct t_config_option *jabber_config_network_default_msg_part;
extern struct t_config_option *jabber_config_network_default_msg_quit;
extern struct t_config_option *jabber_config_network_lag_check;
extern struct t_config_option *jabber_config_network_lag_min_show;
extern struct t_config_option *jabber_config_network_lag_disconnect;
extern struct t_config_option *jabber_config_network_anti_flood;
extern struct t_config_option *jabber_config_network_colors_receive;
extern struct t_config_option *jabber_config_network_colors_send;
extern struct t_config_option *jabber_config_server_default[];
extern void jabber_config_server_change_cb (void *data,
struct t_config_option *option);
struct t_config_option *jabber_config_server_new_option (struct t_config_file *config_file,
struct t_config_section *section,
int index_option,
const char *option_name,
const char *default_value,
const char *value,
int null_value_allowed,
void *callback_change,
void *callback_change_data);
extern int jabber_config_init ();
extern int jabber_config_read ();
extern int jabber_config_write (int write_temp_servers);
extern void jabber_config_free ();
#endif /* jabber-config.h */

View File

@ -0,0 +1,145 @@
/*
* Copyright (c) 2009 by FlashCode <flashcode@flashtux.org>
* See README for License detail, AUTHORS for developers list.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
/* jabber-debug.c: debug functions for Jabber plugin */
#include <stdlib.h>
#include <string.h>
#include "../weechat-plugin.h"
#include "jabber.h"
#include "jabber-debug.h"
#include "jabber-server.h"
struct t_gui_buffer *jabber_debug_buffer = NULL;
/*
* jabber_debug_buffer_close_cb: callback called when Jabber debug buffer is
* closed
*/
int
jabber_debug_buffer_close_cb (void *data, struct t_gui_buffer *buffer)
{
/* make C compiler happy */
(void) data;
(void) buffer;
jabber_debug_buffer = NULL;
return WEECHAT_RC_OK;
}
/*
* jabber_debug_printf: print a message on Jabber debug buffer
*/
void
jabber_debug_printf (struct t_jabber_server *server, int send, int modified,
const char *message)
{
char *buf;
if (!weechat_jabber_plugin->debug || !message)
return;
if (!jabber_debug_buffer)
{
jabber_debug_buffer = weechat_buffer_search ("jabber",
JABBER_DEBUG_BUFFER_NAME);
if (!jabber_debug_buffer)
{
jabber_debug_buffer = weechat_buffer_new (JABBER_DEBUG_BUFFER_NAME,
NULL, NULL,
&jabber_debug_buffer_close_cb, NULL);
/* failed to create buffer ? then return */
if (!jabber_debug_buffer)
return;
weechat_buffer_set (jabber_debug_buffer,
"title", _("Jabber debug messages"));
weechat_buffer_set (jabber_debug_buffer, "short_name", JABBER_DEBUG_BUFFER_NAME);
weechat_buffer_set (jabber_debug_buffer, "localvar_set_server", JABBER_DEBUG_BUFFER_NAME);
weechat_buffer_set (jabber_debug_buffer, "localvar_set_muc", JABBER_DEBUG_BUFFER_NAME);
weechat_buffer_set (jabber_debug_buffer, "localvar_set_no_log", "1");
/* disabled all highlights on this debug buffer */
weechat_buffer_set (jabber_debug_buffer, "highlight_words", "-");
}
}
buf = weechat_iconv_to_internal (NULL, message);
weechat_printf (jabber_debug_buffer,
"%s%s%s%s%s%s\t%s",
(server) ? weechat_color ("chat_server") : "",
(server) ? server->name : "",
(server) ? " " : "",
(send) ?
weechat_color ("chat_prefix_quit") :
weechat_color ("chat_prefix_join"),
(iks_is_secure (server->iks_parser)) ? "* " : "",
(send) ?
((modified) ? JABBER_DEBUG_PREFIX_SEND_MOD : JABBER_DEBUG_PREFIX_SEND) :
((modified) ? JABBER_DEBUG_PREFIX_RECV_MOD : JABBER_DEBUG_PREFIX_RECV),
(buf) ? buf : message);
if (buf)
free (buf);
}
/*
* jabber_debug_signal_debug_dump_cb: dump Jabber data in WeeChat log file
*/
int
jabber_debug_signal_debug_dump_cb (void *data, const char *signal,
const char *type_data, void *signal_data)
{
/* make C compiler happy */
(void) data;
(void) signal;
(void) type_data;
(void) signal_data;
weechat_log_printf ("");
weechat_log_printf ("***** \"%s\" plugin dump *****",
weechat_plugin->name);
jabber_server_print_log ();
weechat_log_printf ("");
weechat_log_printf ("***** End of \"%s\" plugin dump *****",
weechat_plugin->name);
return WEECHAT_RC_OK;
}
/*
* jabber_debug_init: initialize debug for Jabber plugin
*/
void
jabber_debug_init ()
{
weechat_hook_signal ("debug_dump", &jabber_debug_signal_debug_dump_cb, NULL);
}

View File

@ -0,0 +1,36 @@
/*
* Copyright (c) 2009 by FlashCode <flashcode@flashtux.org>
* See README for License detail, AUTHORS for developers list.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef __WEECHAT_JABBER_DEBUG_H
#define __WEECHAT_JABBER_DEBUG_H 1
#define JABBER_DEBUG_BUFFER_NAME "jabber_debug"
#define JABBER_DEBUG_PREFIX_RECV "-->"
#define JABBER_DEBUG_PREFIX_RECV_MOD "==>"
#define JABBER_DEBUG_PREFIX_SEND "<--"
#define JABBER_DEBUG_PREFIX_SEND_MOD "<=="
struct t_jabber_server;
extern void jabber_debug_printf (struct t_jabber_server *server, int send,
int modified, const char *message);
extern void jabber_debug_init ();
#endif /* jabber-debug.h */

Some files were not shown because too many files have changed in this diff Show More