summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog3
-rw-r--r--doc/en/autogen/user/irc_options.txt15
-rw-r--r--doc/fr/autogen/user/irc_options.txt15
-rw-r--r--doc/it/autogen/user/irc_options.txt15
-rw-r--r--po/cs.po16
-rw-r--r--po/de.po18
-rw-r--r--po/es.po65
-rw-r--r--po/fr.po19
-rw-r--r--po/hu.po16
-rw-r--r--po/it.po22
-rw-r--r--po/pl.po16
-rw-r--r--po/ru.po16
-rw-r--r--po/weechat.pot15
-rw-r--r--src/plugins/irc/irc-channel.c46
-rw-r--r--src/plugins/irc/irc-channel.h5
-rw-r--r--src/plugins/irc/irc-config.c19
-rw-r--r--src/plugins/irc/irc-config.h3
-rw-r--r--src/plugins/irc/irc-protocol.c26
-rw-r--r--src/plugins/irc/irc-upgrade.c1
19 files changed, 271 insertions, 80 deletions
diff --git a/ChangeLog b/ChangeLog
index 1188bd9aa..d303db919 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,7 +1,7 @@
WeeChat ChangeLog
=================
FlashCode <flashcode@flashtux.org>
-v0.3.3-dev, 2010-05-02
+v0.3.3-dev, 2010-05-21
Version 0.3.3 (under dev!)
@@ -13,6 +13,7 @@ Version 0.3.3 (under dev!)
process)
* api: add function "string_expand_home", fix bug with replacement of home in
paths
+* irc: add message in private buffer when nick is back on server after a /quit
* irc: add new options irc.network.autoreconnect_delay_growing and
irc.network.autoreconnect_delay_max (task #10338)
* irc: add new option weechat.color.status_name_ssl (task #10339)
diff --git a/doc/en/autogen/user/irc_options.txt b/doc/en/autogen/user/irc_options.txt
index 0d350af70..9b9d2e088 100644
--- a/doc/en/autogen/user/irc_options.txt
+++ b/doc/en/autogen/user/irc_options.txt
@@ -63,6 +63,16 @@
** type: boolean
** values: on, off (default value: on)
+* *irc.look.display_pv_away_once*
+** description: display remote away message only once in private
+** type: boolean
+** values: on, off (default value: on)
+
+* *irc.look.display_pv_back*
+** description: display a message in private when user is back (after quit on server)
+** type: boolean
+** values: on, off (default value: on)
+
* *irc.look.hide_nickserv_pwd*
** description: hide password displayed by nickserv
** type: boolean
@@ -148,11 +158,6 @@
** type: integer
** values: merge_with_core, merge_without_core, independent (default value: merge_with_core)
-* *irc.look.show_away_once*
-** description: show remote away message only once in private
-** type: boolean
-** values: on, off (default value: on)
-
* *irc.look.smart_filter*
** description: filter join/part/quit messages for a nick if not speaking for some minutes on channel (you must create a filter on tag "irc_smart_filter")
** type: boolean
diff --git a/doc/fr/autogen/user/irc_options.txt b/doc/fr/autogen/user/irc_options.txt
index 35d4bc3fc..d6338bb98 100644
--- a/doc/fr/autogen/user/irc_options.txt
+++ b/doc/fr/autogen/user/irc_options.txt
@@ -63,6 +63,16 @@
** type: booléen
** valeurs: on, off (valeur par défaut: on)
+* *irc.look.display_pv_away_once*
+** description: afficher le message d'absence distant une seule fois en privé
+** type: booléen
+** valeurs: on, off (valeur par défaut: on)
+
+* *irc.look.display_pv_back*
+** description: afficher un message en privé lorsque l'utilisateur est de retour (après avoir quitté le serveur)
+** type: booléen
+** valeurs: on, off (valeur par défaut: on)
+
* *irc.look.hide_nickserv_pwd*
** description: masquer le mot de passe affiché par nickserv
** type: booléen
@@ -148,11 +158,6 @@
** type: entier
** valeurs: merge_with_core, merge_without_core, independent (valeur par défaut: merge_with_core)
-* *irc.look.show_away_once*
-** description: voir le message d'absence distant une seule fois en privé
-** type: booléen
-** valeurs: on, off (valeur par défaut: on)
-
* *irc.look.smart_filter*
** description: filtrer les messages join/part/quit pour un pseudo s'il n'a pas parlé pendant quelques minutes sur le canal (vous devez créer un filtre sur le tag "irc_smart_filter")
** type: booléen
diff --git a/doc/it/autogen/user/irc_options.txt b/doc/it/autogen/user/irc_options.txt
index 7806758af..0265642cc 100644
--- a/doc/it/autogen/user/irc_options.txt
+++ b/doc/it/autogen/user/irc_options.txt
@@ -63,6 +63,16 @@
** tipo: bool
** valori: on, off (valore predefinito: on)
+* *irc.look.display_pv_away_once*
+** descrizione: display remote away message only once in private
+** tipo: bool
+** valori: on, off (valore predefinito: on)
+
+* *irc.look.display_pv_back*
+** descrizione: display a message in private when user is back (after quit on server)
+** tipo: bool
+** valori: on, off (valore predefinito: on)
+
* *irc.look.hide_nickserv_pwd*
** descrizione: nascondi password visualizzata da nickserv
** tipo: bool
@@ -148,11 +158,6 @@
** tipo: intero
** valori: merge_with_core, merge_without_core, independent (valore predefinito: merge_with_core)
-* *irc.look.show_away_once*
-** descrizione: mostra il messaggio di assenza remoto solo una volta in privato
-** tipo: bool
-** valori: on, off (valore predefinito: on)
-
* *irc.look.smart_filter*
** descrizione: filtra i messaggi di entrata/uscita/abbandono per un nick se inattivo per alcuni minuti sul canale (è necessario creare un filtro sul tag "irc_smart_filter")
** tipo: bool
diff --git a/po/cs.po b/po/cs.po
index 5de3f48ba..b892ca1fb 100644
--- a/po/cs.po
+++ b/po/cs.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat 0.3.3-dev\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
-"POT-Creation-Date: 2010-05-20 11:47+0200\n"
+"POT-Creation-Date: 2010-05-21 18:07+0200\n"
"PO-Revision-Date: 2010-05-20 12:20+0200\n"
"Last-Translator: Jiri Golembiovsky <golemj@gmail.com>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -3000,6 +3000,10 @@ msgstr ""
msgid "%s%s: cannot allocate new channel"
msgstr "%s%s: nemohu přidělit nový kanál"
+#, fuzzy, c-format
+msgid "%s%s%s %s(%s%s%s)%s is back on server"
+msgstr "%s%s%s %s(%s%s%s)%s se připojil %s%s%s"
+
#, c-format
msgid "%s: future away: %s"
msgstr "%s: Budoucí zpráva o nepřítomnosit: %s"
@@ -4409,6 +4413,13 @@ msgstr "zobrazit CTCP zprávu i když je to neznámé CTCP"
msgid "display old topic when channel topic is changed"
msgstr "zobrazit staré téma rozhovoru, když se téma změní"
+#, fuzzy
+msgid "display remote away message only once in private"
+msgstr "zobrazit vzdálený zprávu o nepřítomnosti pouze jednou v soukromém okně"
+
+msgid "display a message in private when user is back (after quit on server)"
+msgstr ""
+
msgid "display channel modes in \"buffer_name\" bar item"
msgstr "zobrazit módy kanálu v položce pole \"buffer_name\""
@@ -4453,9 +4464,6 @@ msgstr ""
"počet čistých IRC zpráv uložených v paměti při zavření bufferu s čistými "
"daty (zprávy budou zobrazeny při otevření bufferu s čistými daty)"
-msgid "show remote away message only once in private"
-msgstr "zobrazit vzdálený zprávu o nepřítomnosti pouze jednou v soukromém okně"
-
msgid ""
"filter join/part/quit messages for a nick if not speaking for some minutes "
"on channel (you must create a filter on tag \"irc_smart_filter\")"
diff --git a/po/de.po b/po/de.po
index 4fc80bf57..c1cb1fe51 100644
--- a/po/de.po
+++ b/po/de.po
@@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat 0.3.3-dev\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
-"POT-Creation-Date: 2010-05-20 11:47+0200\n"
+"POT-Creation-Date: 2010-05-21 18:07+0200\n"
"PO-Revision-Date: 2010-05-20 12:20+0200\n"
"Last-Translator: Nils G <weechatter@arcor.de>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -3122,6 +3122,10 @@ msgstr ""
msgid "%s%s: cannot allocate new channel"
msgstr "%s%s: Neuer Channel konnte nicht alloziert werden"
+#, fuzzy, c-format
+msgid "%s%s%s %s(%s%s%s)%s is back on server"
+msgstr "%s%s%s %s(%s%s%s)%s ist in den Channel %s%s%s gekommen"
+
#, c-format
msgid "%s: future away: %s"
msgstr "%s: Künftige Abwesenheit: %s"
@@ -4572,6 +4576,14 @@ msgstr "unbekannte CTCP Nachrichten werden angezeigt."
msgid "display old topic when channel topic is changed"
msgstr "Zeige den alten Topic, falls der Channel-Topic geändert wurde"
+#, fuzzy
+msgid "display remote away message only once in private"
+msgstr ""
+"In privaten Unterhaltungen nur einmalig eine Abwesenheitsnachricht anzeigen"
+
+msgid "display a message in private when user is back (after quit on server)"
+msgstr ""
+
msgid "display channel modes in \"buffer_name\" bar item"
msgstr "Zeige die Channel-Modi mittels \"buffer_name\" in der Bar-Item an"
@@ -4619,10 +4631,6 @@ msgstr ""
"der RAW-Daten-Buffer geschlossen ist (die Nachrichten werden umgehend "
"angezeigt, wenn ein RAW-Daten-Buffer geöffnet wird)"
-msgid "show remote away message only once in private"
-msgstr ""
-"In privaten Unterhaltungen nur einmalig eine Abwesenheitsnachricht anzeigen"
-
msgid ""
"filter join/part/quit messages for a nick if not speaking for some minutes "
"on channel (you must create a filter on tag \"irc_smart_filter\")"
diff --git a/po/es.po b/po/es.po
index a51ab29ed..743baaac4 100644
--- a/po/es.po
+++ b/po/es.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat 0.3.3-dev\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
-"POT-Creation-Date: 2010-05-20 11:47+0200\n"
+"POT-Creation-Date: 2010-05-21 18:07+0200\n"
"PO-Revision-Date: 2010-05-20 12:31+0200\n"
"Last-Translator: Elián Hanisch <lambdae2@gmail.com>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -924,14 +924,18 @@ msgid ""
" jump to next buffer:\n"
" /buffer +1"
msgstr ""
-" clear: limpia el contenido del buffer (número para un buffer, -merged para buffers unidos, -all para todos los buffers, o nada para el buffer actual)\n"
+" clear: limpia el contenido del buffer (número para un buffer, -merged "
+"para buffers unidos, -all para todos los buffers, o nada para el buffer "
+"actual)\n"
" move: mueve un buffer en la lista (puede ser relativo, por ejemplo -1)\n"
-" merge: une el buffer actual con otro (el área de chat sería una mezcla entre ambos buffers)\n"
+" merge: une el buffer actual con otro (el área de chat sería una mezcla "
+"entre ambos buffers)\n"
" (por defecto con ctrl-x se cambia entre buffer unidos)\n"
" unmerge: despega el buffer de otros buffers unidos\n"
" close: cierra el buffer (número/rango es opcional)\n"
" list: lista de buffers (si no hay parámetros se muestra esta lista)\n"
-" notify: configura el nivel de notificación del buffer actual: este nivel determina si el buffer es agregado a la lista de actividad o no:\n"
+" notify: configura el nivel de notificación del buffer actual: este nivel "
+"determina si el buffer es agregado a la lista de actividad o no:\n"
" none: nunca\n"
" highlight: solamente realces\n"
" message: para mensajes de usuarios + realces\n"
@@ -943,7 +947,8 @@ msgstr ""
" número: salta a un buffer por número, prefijos posibles:\n"
" '+': salto relativo, suma el número al actual\n"
" '-': salto relativo, resta el número al actual\n"
-" '*': salto por número usando la opción \"weechat.look.jump_current_to_previous_buffer\"\n"
+" '*': salto por número usando la opción \"weechat.look."
+"jump_current_to_previous_buffer\"\n"
" nombre: salta al buffer por nombre (parcial)\n"
"\n"
"Ejemplos:\n"
@@ -1521,9 +1526,13 @@ msgstr ""
" s: segundos (por defecto)\n"
" m: minutos\n"
" h: horas\n"
-"comando: comando a ejecutar (o texto a enviar al buffer si el comando no empieza con '/')\n"
+"comando: comando a ejecutar (o texto a enviar al buffer si el comando no "
+"empieza con '/')\n"
"\n"
-"Nota: comando es ejecutado en el buffer donde /wait fue ejecutado (si el buffer no es encontrado (por ejemplo si fue cerrado antes de la ejecución del comando), entonces el comando es ejecutado en el buffer núcleo de WeeChat).\n"
+"Nota: comando es ejecutado en el buffer donde /wait fue ejecutado (si el "
+"buffer no es encontrado (por ejemplo si fue cerrado antes de la ejecución "
+"del comando), entonces el comando es ejecutado en el buffer núcleo de "
+"WeeChat).\n"
"\n"
"Ejemplos:\n"
" unirse a un canal en 10 seg:\n"
@@ -1589,7 +1598,8 @@ msgid ""
" scroll to beginning of current day:\n"
" /window scroll -d"
msgstr ""
-" list: lista las ventanas abiertas (si no hay argumentos se muestra esta lista)\n"
+" list: lista las ventanas abiertas (si no hay argumentos se muestra esta "
+"lista)\n"
" -1: salta a la ventana previa\n"
" +1: salta a la ventana siguiente\n"
" b#: salta a la ventana siguiente mostrando el buffer número #\n"
@@ -1599,12 +1609,15 @@ msgstr ""
" right: cambiar a la ventana de la derecha\n"
" splith: divide la ventana actual horizontalmente\n"
" splitv: divide la ventana actual verticalmente\n"
-" resize: redimensiona el tamaño de la ventana, el nuevo tamaño es <pct> por ciento de la ventana padre\n"
-" merge: fusionar la ventana con otra (all = mantener sólo una ventana)\n"
+" resize: redimensiona el tamaño de la ventana, el nuevo tamaño es "
+"<pct> por ciento de la ventana padre\n"
+" merge: fusionar la ventana con otra (all = mantener sólo una "
+"ventana)\n"
" page_up: desplazar una página hacia arriba\n"
" page_down: desplazar una página hacia abajo\n"
" refresh: refrescar la pantalla\n"
-" scroll: desplazar un número de líneas (+/-N) o con tiempo: s=segundos, m=minutos, h=horas, d=días, M=meses, y=años\n"
+" scroll: desplazar un número de líneas (+/-N) o con tiempo: "
+"s=segundos, m=minutos, h=horas, d=días, M=meses, y=años\n"
" scroll_up: desplazar algunas líneas arriba\n"
" scroll_down: desplazar algunas líneas abajo\n"
" scroll_top: desplazar al principio del buffer\n"
@@ -1613,7 +1626,9 @@ msgstr ""
"scroll_next_highlight: desplazar hasta el siguiente realce\n"
" zoom: aumenta la ventana\n"
"\n"
-"Para splith y splitv, <pct> es un porcentaje que representa el tamaño de la nueva ventana, tomando como referencia el tamaño de la ventana actual. Por ejemplo 25 significa crear una nueva ventana de tamaño = tamaño_actual / 4\n"
+"Para splith y splitv, <pct> es un porcentaje que representa el tamaño de la "
+"nueva ventana, tomando como referencia el tamaño de la ventana actual. Por "
+"ejemplo 25 significa crear una nueva ventana de tamaño = tamaño_actual / 4\n"
"\n"
"Ejemplos:\n"
" saltar a la ventana mostrando el buffer #1:\n"
@@ -2657,9 +2672,12 @@ msgid ""
"sajoin:\n"
" /alias -completion %%sajoin forcejoin /quote forcejoin"
msgstr ""
-"completador: completador para el alias (opcional, por defecto el completadores el mismo del comando objetivo)\n"
-"nombre_alias: nombre del sinónimo (puede empezar o terminar con \"*\" para un listado)\n"
-" comando: nombre del comando (varios comandos pueden ser separados por punto y comas)\n"
+"completador: completador para el alias (opcional, por defecto el "
+"completadores el mismo del comando objetivo)\n"
+"nombre_alias: nombre del sinónimo (puede empezar o terminar con \"*\" para "
+"un listado)\n"
+" comando: nombre del comando (varios comandos pueden ser separados por "
+"punto y comas)\n"
" argumentos: parámetros para el comando\n"
"\n"
"Sin ningún argumento, este comando lista todos los sinónimos definidos.\n"
@@ -2682,7 +2700,8 @@ msgstr ""
" /alias split /window splith\n"
" alias /hola para decir \"hola\" en todos los canales pero no en #weechat:\n"
" /alias hola /allchan -exclude=#weechat msg * hola\n"
-" alias /forcejoin para enviar el comando IRC \"forcejoin\" con el completador de /sajoin:\n"
+" alias /forcejoin para enviar el comando IRC \"forcejoin\" con el "
+"completador de /sajoin:\n"
" /alias -completion %%sajoin forcejoin /quote forcejoin"
msgid "remove aliases"
@@ -3029,6 +3048,10 @@ msgstr ""
msgid "%s%s: cannot allocate new channel"
msgstr "%s%s: no se pudo crear un nuevo canal"
+#, fuzzy, c-format
+msgid "%s%s%s %s(%s%s%s)%s is back on server"
+msgstr "%s%s%s %s(%s%s%s)%s se ha unido a %s%s%s"
+
#, c-format
msgid "%s: future away: %s"
msgstr "%s: ausencia futura: %s"
@@ -4452,6 +4475,13 @@ msgstr "mostrar mensaje CTCP incluso si es un CTCP desconocido"
msgid "display old topic when channel topic is changed"
msgstr "mostrar el tema anterior cuando se cambia el tema del canal"
+#, fuzzy
+msgid "display remote away message only once in private"
+msgstr "mostrar mensaje de ausencia remota únicamente una vez en privado"
+
+msgid "display a message in private when user is back (after quit on server)"
+msgstr ""
+
msgid "display channel modes in \"buffer_name\" bar item"
msgstr "mostrar los modos del canal en el elemento de barra \"buffer_name\""
@@ -4499,9 +4529,6 @@ msgstr ""
"número de mensajes IRC brutos a guardar en memoria (los mensajes serán "
"mostrados cuando sea abra el buffer de datos brutos)"
-msgid "show remote away message only once in private"
-msgstr "mostrar mensaje de ausencia remota únicamente una vez en privado"
-
msgid ""
"filter join/part/quit messages for a nick if not speaking for some minutes "
"on channel (you must create a filter on tag \"irc_smart_filter\")"
diff --git a/po/fr.po b/po/fr.po
index 8684a759e..7485066a1 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -6,8 +6,8 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat 0.3.3-dev\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
-"POT-Creation-Date: 2010-05-20 11:47+0200\n"
-"PO-Revision-Date: 2010-05-20 12:20+0200\n"
+"POT-Creation-Date: 2010-05-21 18:07+0200\n"
+"PO-Revision-Date: 2010-05-21 18:08+0200\n"
"Last-Translator: FlashCode <flashcode@flashtux.org>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
"Language: French\n"
@@ -3076,6 +3076,10 @@ msgid "%s%s: cannot allocate new channel"
msgstr "%s%s: impossible d'allouer un nouveau canal"
#, c-format
+msgid "%s%s%s %s(%s%s%s)%s is back on server"
+msgstr "%s%s%s %s(%s%s%s)%s est de retour sur le serveur"
+
+#, c-format
msgid "%s: future away: %s"
msgstr "%s: future absence: %s"
@@ -4513,6 +4517,14 @@ msgstr "afficher le message CTCP même si le CTCP est inconnu"
msgid "display old topic when channel topic is changed"
msgstr "afficher l'ancien titre lorsque le titre du canal est changé"
+msgid "display remote away message only once in private"
+msgstr "afficher le message d'absence distant une seule fois en privé"
+
+msgid "display a message in private when user is back (after quit on server)"
+msgstr ""
+"afficher un message en privé lorsque l'utilisateur est de retour (après "
+"avoir quitté le serveur)"
+
msgid "display channel modes in \"buffer_name\" bar item"
msgstr "affiche les modes du canal dans l'objet de barre \"buffer_name\""
@@ -4561,9 +4573,6 @@ msgstr ""
"données brutes est fermé (ces messages seront affichés lors de l'ouverture "
"du tampon des données brutes)"
-msgid "show remote away message only once in private"
-msgstr "voir le message d'absence distant une seule fois en privé"
-
msgid ""
"filter join/part/quit messages for a nick if not speaking for some minutes "
"on channel (you must create a filter on tag \"irc_smart_filter\")"
diff --git a/po/hu.po b/po/hu.po
index 06d4dd1e9..4a5ccdc2c 100644
--- a/po/hu.po
+++ b/po/hu.po
@@ -12,7 +12,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat 0.3.3-dev\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
-"POT-Creation-Date: 2010-05-20 11:47+0200\n"
+"POT-Creation-Date: 2010-05-21 18:07+0200\n"
"PO-Revision-Date: 2010-05-20 12:20+0200\n"
"Last-Translator: Andras Voroskoi <voroskoi@frugalware.org>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -2846,6 +2846,10 @@ msgid "%s%s: cannot allocate new channel"
msgstr "%s nem sikerült új csatornát lefoglalni"
#, fuzzy, c-format
+msgid "%s%s%s %s(%s%s%s)%s is back on server"
+msgstr "%s%s %s(%s%s%s)%s belépett a(z) %s%s szobába\n"
+
+#, fuzzy, c-format
msgid "%s: future away: %s"
msgstr "CTCP %sVERSION%s válasz %s%s%s felhasználótól: %s\n"
@@ -4234,6 +4238,13 @@ msgstr ""
msgid "display old topic when channel topic is changed"
msgstr ""
+#, fuzzy
+msgid "display remote away message only once in private"
+msgstr "privát beszélgetésben a másik fél távollétét csak egyszer jelezze"
+
+msgid "display a message in private when user is back (after quit on server)"
+msgstr ""
+
msgid "display channel modes in \"buffer_name\" bar item"
msgstr ""
@@ -4269,9 +4280,6 @@ msgid ""
"(messages will be displayed when opening raw data buffer)"
msgstr ""
-msgid "show remote away message only once in private"
-msgstr "privát beszélgetésben a másik fél távollétét csak egyszer jelezze"
-
msgid ""
"filter join/part/quit messages for a nick if not speaking for some minutes "
"on channel (you must create a filter on tag \"irc_smart_filter\")"
diff --git a/po/it.po b/po/it.po
index daab68648..660282b21 100644
--- a/po/it.po
+++ b/po/it.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Weechat 0.3.3-dev\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
-"POT-Creation-Date: 2010-05-20 11:47+0200\n"
+"POT-Creation-Date: 2010-05-21 18:07+0200\n"
"PO-Revision-Date: 2010-05-20 12:26+0200\n"
"Last-Translator: Marco Paolone <marcopaolone@gmail.com>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -48,7 +48,8 @@ msgid ""
" about possible options)\n"
msgstr ""
" -a, --no-connect disabilta la connessione automatica all'avvio\n"
-" -d, --dir <percorso> imposta la cartella principale di WeeChat (predefinita: ~/.weechat)\n"
+" -d, --dir <percorso> imposta la cartella principale di WeeChat "
+"(predefinita: ~/.weechat)\n"
" -h, --help mostra questo aiuto\n"
" -k, --keys visualizza i tasti principali di WeeChat\n"
" -l, --license visualizza la licenza di WeeChat\n"
@@ -58,7 +59,8 @@ msgstr ""
" plugin:opzione opzione per il plugin\n"
" per esempio, il plugin irc può connettersi\n"
" al server con un url del tipo:\n"
-" [irc][6][s]://[nick[:password]@]irc.esempio.org[/porta][//#canale1][,#canale2[...]]\n"
+" [irc][6][s]://[nick[:password]@]irc.esempio.org[/"
+"porta][//#canale1][,#canale2[...]]\n"
" (consultare la documentazione per maggiori\n"
" informazioni sulle opzioni disponibili)\n"
@@ -3050,6 +3052,10 @@ msgstr ""
msgid "%s%s: cannot allocate new channel"
msgstr "%s%s: impossibile allocare un nuovo canale"
+#, fuzzy, c-format
+msgid "%s%s%s %s(%s%s%s)%s is back on server"
+msgstr "%s%s%s %s(%s%s%s)%s è entrato in %s%s%s"
+
#, c-format
msgid "%s: future away: %s"
msgstr "%s: prossima assenza: %s"
@@ -4473,6 +4479,13 @@ msgstr "visualizza messaggio CTCP anche se è CTCP sconosciuto"
msgid "display old topic when channel topic is changed"
msgstr "visualizza l'argomento del canale precedente quando viene cambiato"
+#, fuzzy
+msgid "display remote away message only once in private"
+msgstr "mostra il messaggio di assenza remoto solo una volta in privato"
+
+msgid "display a message in private when user is back (after quit on server)"
+msgstr ""
+
msgid "display channel modes in \"buffer_name\" bar item"
msgstr "visualizza le modalità canale nell'elemento barra \"buffer_name\""
@@ -4521,9 +4534,6 @@ msgstr ""
"chiuso (i messaggi verranno visualizzati all'apertura del buffer dei dati "
"grezzi)"
-msgid "show remote away message only once in private"
-msgstr "mostra il messaggio di assenza remoto solo una volta in privato"
-
msgid ""
"filter join/part/quit messages for a nick if not speaking for some minutes "
"on channel (you must create a filter on tag \"irc_smart_filter\")"
diff --git a/po/pl.po b/po/pl.po
index 21957b140..236f89a53 100644
--- a/po/pl.po
+++ b/po/pl.po
@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat 0.3.3-dev\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
-"POT-Creation-Date: 2010-05-20 11:47+0200\n"
+"POT-Creation-Date: 2010-05-21 18:07+0200\n"
"PO-Revision-Date: 2010-05-20 12:22+0200\n"
"Last-Translator: Krzysztof Koroscik <soltys@szluug.org>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -3039,6 +3039,10 @@ msgstr ""
msgid "%s%s: cannot allocate new channel"
msgstr "%s%s: nie można przydzielic nowego kanału"
+#, fuzzy, c-format
+msgid "%s%s%s %s(%s%s%s)%s is back on server"
+msgstr "%s%s%s %s(%s%s%s)%s wszedł na %s%s%s"
+
#, c-format
msgid "%s: future away: %s"
msgstr "%s: przyszła nieobecność: %s"
@@ -4452,6 +4456,13 @@ msgstr "wyświetl wiadomość CTCP nawet jeśli jest to nieznana CTCP"
msgid "display old topic when channel topic is changed"
msgstr "wyświetl stary temat, kiedy zmieniany jest temat kanału"
+#, fuzzy
+msgid "display remote away message only once in private"
+msgstr "pokazuj wiadomości o nieobecności rozmówcy tylko raz "
+
+msgid "display a message in private when user is back (after quit on server)"
+msgstr ""
+
msgid "display channel modes in \"buffer_name\" bar item"
msgstr "wyświetl atrybuty kanału w elemencie paska \"buffer_name\""
@@ -4498,9 +4509,6 @@ msgstr ""
"zamknięty jest bufor takich danych (wiadomości zostaną wyświetlone, po "
"otworzeniu dla nich bufora)"
-msgid "show remote away message only once in private"
-msgstr "pokazuj wiadomości o nieobecności rozmówcy tylko raz "
-
msgid ""
"filter join/part/quit messages for a nick if not speaking for some minutes "
"on channel (you must create a filter on tag \"irc_smart_filter\")"
diff --git a/po/ru.po b/po/ru.po
index 17e878836..c066cd5e6 100644
--- a/po/ru.po
+++ b/po/ru.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat 0.3.3-dev\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
-"POT-Creation-Date: 2010-05-20 11:47+0200\n"
+"POT-Creation-Date: 2010-05-21 18:07+0200\n"
"PO-Revision-Date: 2010-05-20 12:22+0200\n"
"Last-Translator: Pavel Shevchuk <stlwrt@gmail.com>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -2856,6 +2856,10 @@ msgid "%s%s: cannot allocate new channel"
msgstr "%s не могу расположить новый канал"
#, fuzzy, c-format
+msgid "%s%s%s %s(%s%s%s)%s is back on server"
+msgstr "%s%s %s(%s%s%s)%s зашёл на канал %s%s\n"
+
+#, fuzzy, c-format
msgid "%s: future away: %s"
msgstr "Планирование статуса на %s%s%s: %s\n"
@@ -4234,6 +4238,13 @@ msgstr ""
msgid "display old topic when channel topic is changed"
msgstr ""
+#, fuzzy
+msgid "display remote away message only once in private"
+msgstr "отображать уведомление об отсутствии единожды в привате"
+
+msgid "display a message in private when user is back (after quit on server)"
+msgstr ""
+
msgid "display channel modes in \"buffer_name\" bar item"
msgstr ""
@@ -4269,9 +4280,6 @@ msgid ""
"(messages will be displayed when opening raw data buffer)"
msgstr ""
-msgid "show remote away message only once in private"
-msgstr "отображать уведомление об отсутствии единожды в привате"
-
msgid ""
"filter join/part/quit messages for a nick if not speaking for some minutes "
"on channel (you must create a filter on tag \"irc_smart_filter\")"
diff --git a/po/weechat.pot b/po/weechat.pot
index 5fbac8380..5d8495d73 100644
--- a/po/weechat.pot
+++ b/po/weechat.pot
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
-"POT-Creation-Date: 2010-05-20 11:47+0200\n"
+"POT-Creation-Date: 2010-05-21 18:07+0200\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"
@@ -2472,6 +2472,10 @@ msgid "%s%s: cannot allocate new channel"
msgstr ""
#, c-format
+msgid "%s%s%s %s(%s%s%s)%s is back on server"
+msgstr ""
+
+#, c-format
msgid "%s: future away: %s"
msgstr ""
@@ -3619,6 +3623,12 @@ msgstr ""
msgid "display old topic when channel topic is changed"
msgstr ""
+msgid "display remote away message only once in private"
+msgstr ""
+
+msgid "display a message in private when user is back (after quit on server)"
+msgstr ""
+
msgid "display channel modes in \"buffer_name\" bar item"
msgstr ""
@@ -3654,9 +3664,6 @@ msgid ""
"(messages will be displayed when opening raw data buffer)"
msgstr ""
-msgid "show remote away message only once in private"
-msgstr ""
-
msgid ""
"filter join/part/quit messages for a nick if not speaking for some minutes "
"on channel (you must create a filter on tag \"irc_smart_filter\")"
diff --git a/src/plugins/irc/irc-channel.c b/src/plugins/irc/irc-channel.c
index dfb6e0674..74ba350c2 100644
--- a/src/plugins/irc/irc-channel.c
+++ b/src/plugins/irc/irc-channel.c
@@ -31,6 +31,7 @@
#include "irc.h"
#include "irc-channel.h"
#include "irc-buffer.h"
+#include "irc-color.h"
#include "irc-command.h"
#include "irc-config.h"
#include "irc-nick.h"
@@ -246,6 +247,7 @@ irc_channel_new (struct t_irc_server *server, int channel_type,
new_channel->key = NULL;
new_channel->checking_away = 0;
new_channel->away_message = NULL;
+ new_channel->has_quit_server = 0;
new_channel->cycle = 0;
new_channel->display_creation_date = 0;
new_channel->nick_completion_reset = 0;
@@ -682,6 +684,47 @@ irc_channel_autorejoin_cb (void *data, int remaining_calls)
}
/*
+ * irc_channel_display_nick_back_in_pv: display a message in pv buffer if nick
+ * is back and if private has flag
+ * "has_quit_server"
+ */
+
+void
+irc_channel_display_nick_back_in_pv (struct t_irc_server *server,
+ struct t_irc_nick *nick,
+ const char *nickname)
+{
+ struct t_irc_channel *ptr_channel;
+
+ if (!server || (!nick && !nickname))
+ return;
+
+ for (ptr_channel = server->channels; ptr_channel;
+ ptr_channel = ptr_channel->next_channel)
+ {
+ if ((ptr_channel->type == IRC_CHANNEL_TYPE_PRIVATE)
+ && ptr_channel->has_quit_server
+ && (strcmp (ptr_channel->name, (nick) ? nick->name : nickname) == 0))
+ {
+ if (weechat_config_boolean (irc_config_look_display_pv_back))
+ {
+ weechat_printf (ptr_channel->buffer,
+ _("%s%s%s %s(%s%s%s)%s is back on server"),
+ weechat_prefix ("join"),
+ IRC_COLOR_NICK_IN_SERVER_MESSAGE(nick),
+ (nick) ? nick->name : nickname,
+ IRC_COLOR_CHAT_DELIMITERS,
+ IRC_COLOR_CHAT_HOST,
+ (nick) ? nick->host : "",
+ IRC_COLOR_CHAT_DELIMITERS,
+ IRC_COLOR_MESSAGE_JOIN);
+ }
+ ptr_channel->has_quit_server = 0;
+ }
+ }
+}
+
+/*
* irc_channel_free: free a channel and remove it from channels list
*/
@@ -801,6 +844,8 @@ irc_channel_add_to_infolist (struct t_infolist *infolist,
return 0;
if (!weechat_infolist_new_var_string (ptr_item, "away_message", channel->away_message))
return 0;
+ if (!weechat_infolist_new_var_integer (ptr_item, "has_quit_server", channel->has_quit_server))
+ return 0;
if (!weechat_infolist_new_var_integer (ptr_item, "cycle", channel->cycle))
return 0;
if (!weechat_infolist_new_var_integer (ptr_item, "display_creation_date", channel->display_creation_date))
@@ -869,6 +914,7 @@ irc_channel_print_log (struct t_irc_channel *channel)
weechat_log_printf (" key. . . . . . . . . . . : '%s'", channel->key);
weechat_log_printf (" checking_away. . . . . . : %d", channel->checking_away);
weechat_log_printf (" away_message . . . . . . : '%s'", channel->away_message);
+ weechat_log_printf (" has_quit_server. . . . . : %d", channel->has_quit_server);
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);
diff --git a/src/plugins/irc/irc-channel.h b/src/plugins/irc/irc-channel.h
index 38d5bb933..00d4191ec 100644
--- a/src/plugins/irc/irc-channel.h
+++ b/src/plugins/irc/irc-channel.h
@@ -49,6 +49,8 @@ struct t_irc_channel
char *key; /* channel key (NULL if no key set) */
int checking_away; /* = 1 if checking away with WHO cmd */
char *away_message; /* to display away only once in pv */
+ int has_quit_server; /* =1 if nick has quit (pv only), to */
+ /* display message when he's back */
int cycle; /* currently cycling (/part + /join) */
int display_creation_date; /* 1 for displaying creation date */
int nick_completion_reset; /* 1 for resetting nick completion */
@@ -112,6 +114,9 @@ extern void irc_channel_nick_speaking_time_rename (struct t_irc_channel *channel
extern void irc_channel_rejoin (struct t_irc_server *server,
struct t_irc_channel *channel);
extern int irc_channel_autorejoin_cb (void *data, int remaining_calls);
+extern void irc_channel_display_nick_back_in_pv (struct t_irc_server *server,
+ struct t_irc_nick *nick,
+ const char *nickname);
extern int irc_channel_add_to_infolist (struct t_infolist *infolist,
struct t_irc_channel *channel);
extern void irc_channel_print_log (struct t_irc_channel *channel);
diff --git a/src/plugins/irc/irc-config.c b/src/plugins/irc/irc-config.c
index 18037a3a9..1501c3f3b 100644
--- a/src/plugins/irc/irc-config.c
+++ b/src/plugins/irc/irc-config.c
@@ -61,6 +61,8 @@ struct t_config_option *irc_config_look_display_ctcp_blocked;
struct t_config_option *irc_config_look_display_ctcp_reply;
struct t_config_option *irc_config_look_display_ctcp_unknown;
struct t_config_option *irc_config_look_display_old_topic;
+struct t_config_option *irc_config_look_display_pv_away_once;
+struct t_config_option *irc_config_look_display_pv_back;
struct t_config_option *irc_config_look_item_channel_modes;
struct t_config_option *irc_config_look_item_channel_modes_hide_key;
struct t_config_option *irc_config_look_item_nick_modes;
@@ -72,7 +74,6 @@ struct t_config_option *irc_config_look_msgbuffer_fallback;
struct t_config_option *irc_config_look_notice_as_pv;
struct t_config_option *irc_config_look_part_closes_buffer;
struct t_config_option *irc_config_look_raw_messages;
-struct t_config_option *irc_config_look_show_away_once;
struct t_config_option *irc_config_look_smart_filter;
struct t_config_option *irc_config_look_smart_filter_delay;
struct t_config_option *irc_config_look_smart_filter_join;
@@ -1486,6 +1487,17 @@ irc_config_init ()
N_("display old topic when channel topic is changed"),
NULL, 0, 0, "on", NULL, 0, NULL, NULL,
NULL, NULL, NULL, NULL);
+ irc_config_look_display_pv_away_once = weechat_config_new_option (
+ irc_config_file, ptr_section,
+ "display_pv_away_once", "boolean",
+ N_("display remote away message only once in private"),
+ NULL, 0, 0, "on", NULL, 0, NULL, NULL, NULL, NULL, NULL, NULL);
+ irc_config_look_display_pv_back = weechat_config_new_option (
+ irc_config_file, ptr_section,
+ "display_pv_back", "boolean",
+ N_("display a message in private when user is back (after quit on "
+ "server)"),
+ NULL, 0, 0, "on", NULL, 0, NULL, NULL, NULL, NULL, NULL, NULL);
irc_config_look_item_channel_modes = weechat_config_new_option (
irc_config_file, ptr_section,
"item_channel_modes", "boolean",
@@ -1544,11 +1556,6 @@ irc_config_init ()
N_("number of IRC raw messages to save in memory when raw data buffer "
"is closed (messages will be displayed when opening raw data buffer)"),
NULL, 0, 65535, "256", NULL, 0, NULL, NULL, NULL, NULL, NULL, NULL);
- irc_config_look_show_away_once = weechat_config_new_option (
- irc_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);
irc_config_look_smart_filter = weechat_config_new_option (
irc_config_file, ptr_section,
"smart_filter", "boolean",
diff --git a/src/plugins/irc/irc-config.h b/src/plugins/irc/irc-config.h
index b73e79417..aa1cd619b 100644
--- a/src/plugins/irc/irc-config.h
+++ b/src/plugins/irc/irc-config.h
@@ -81,6 +81,8 @@ extern struct t_config_option *irc_config_look_display_ctcp_blocked;
extern struct t_config_option *irc_config_look_display_ctcp_reply;
extern struct t_config_option *irc_config_look_display_ctcp_unknown;
extern struct t_config_option *irc_config_look_display_old_topic;
+extern struct t_config_option *irc_config_look_display_pv_away_once;
+extern struct t_config_option *irc_config_look_display_pv_back;
extern struct t_config_option *irc_config_look_item_channel_modes;
extern struct t_config_option *irc_config_look_item_channel_modes_hide_key;
extern struct t_config_option *irc_config_look_item_nick_modes;
@@ -92,7 +94,6 @@ extern struct t_config_option *irc_config_look_msgbuffer_fallback;
extern struct t_config_option *irc_config_look_notice_as_pv;
extern struct t_config_option *irc_config_look_part_closes_buffer;
extern struct t_config_option *irc_config_look_raw_messages;
-extern struct t_config_option *irc_config_look_show_away_once;
extern struct t_config_option *irc_config_look_smart_filter;
extern struct t_config_option *irc_config_look_smart_filter_delay;
extern struct t_config_option *irc_config_look_smart_filter_join;
diff --git a/src/plugins/irc/irc-protocol.c b/src/plugins/irc/irc-protocol.c
index 9de40246b..b562ffe70 100644
--- a/src/plugins/irc/irc-protocol.c
+++ b/src/plugins/irc/irc-protocol.c
@@ -603,6 +603,10 @@ IRC_PROTOCOL_CALLBACK(join)
IRC_COLOR_CHAT_CHANNEL,
pos_channel,
IRC_COLOR_MESSAGE_JOIN);
+
+ /* display message in private if private has flag "has_quit_server" */
+ if (!local_join)
+ irc_channel_display_nick_back_in_pv (server, ptr_nick, nick);
}
return WEECHAT_RC_OK;
@@ -873,7 +877,7 @@ IRC_PROTOCOL_CALLBACK(mode)
IRC_PROTOCOL_CALLBACK(nick)
{
struct t_irc_channel *ptr_channel;
- struct t_irc_nick *ptr_nick;
+ struct t_irc_nick *ptr_nick, *ptr_nick_found;
char *new_nick, *old_color, *buffer_name;
int local_nick;
@@ -889,6 +893,8 @@ IRC_PROTOCOL_CALLBACK(nick)
local_nick = (strcmp (nick, server->nick) == 0) ? 1 : 0;
+ ptr_nick_found = NULL;
+
for (ptr_channel = server->channels; ptr_channel;
ptr_channel = ptr_channel->next_channel)
{
@@ -918,6 +924,8 @@ IRC_PROTOCOL_CALLBACK(nick)
ptr_nick = irc_nick_search (ptr_channel, nick);
if (ptr_nick)
{
+ ptr_nick_found = ptr_nick;
+
/* temporary disable hotlist */
weechat_buffer_set (NULL, "hotlist", "-");
@@ -971,6 +979,8 @@ IRC_PROTOCOL_CALLBACK(nick)
if (local_nick)
irc_server_set_nick (server, new_nick);
+ else
+ irc_channel_display_nick_back_in_pv (server, ptr_nick_found, new_nick);
return WEECHAT_RC_OK;
}
@@ -1079,6 +1089,11 @@ IRC_PROTOCOL_CALLBACK(notice)
irc_nick_as_prefix (NULL, nick,
irc_nick_color_for_pv (ptr_channel, nick)),
pos_args);
+ if ((ptr_channel->type == IRC_CHANNEL_TYPE_PRIVATE)
+ && ptr_channel->has_quit_server)
+ {
+ ptr_channel->has_quit_server = 0;
+ }
}
else
{
@@ -1451,6 +1466,9 @@ IRC_PROTOCOL_CALLBACK(privmsg)
IRC_COLOR_CHAT_NICK_SELF : irc_nick_color_for_pv (ptr_channel, nick)),
pos_args);
+ if (ptr_channel->has_quit_server)
+ ptr_channel->has_quit_server = 0;
+
weechat_hook_signal_send ("irc_pv",
WEECHAT_HOOK_SIGNAL_STRING,
argv_eol[0]);
@@ -1503,6 +1521,10 @@ IRC_PROTOCOL_CALLBACK(quit)
&& (weechat_config_boolean (irc_config_look_smart_filter_quit))) ?
irc_channel_nick_speaking_time_search (ptr_channel, nick, 1) : NULL;
}
+ if (ptr_channel->type == IRC_CHANNEL_TYPE_PRIVATE)
+ {
+ ptr_channel->has_quit_server = 1;
+ }
if (pos_comment && pos_comment[0])
{
weechat_printf_tags (ptr_channel->buffer,
@@ -1933,7 +1955,7 @@ IRC_PROTOCOL_CALLBACK(301)
/* look for private buffer to display message */
ptr_channel = irc_channel_search (server, argv[3]);
- if (!weechat_config_boolean (irc_config_look_show_away_once)
+ if (!weechat_config_boolean (irc_config_look_display_pv_away_once)
|| !ptr_channel
|| !(ptr_channel->away_message)
|| (strcmp (ptr_channel->away_message, pos_away_msg) != 0))
diff --git a/src/plugins/irc/irc-upgrade.c b/src/plugins/irc/irc-upgrade.c
index e61f7e1ca..35ac6c2fb 100644
--- a/src/plugins/irc/irc-upgrade.c
+++ b/src/plugins/irc/irc-upgrade.c
@@ -297,6 +297,7 @@ irc_upgrade_read_cb (void *data,
str = weechat_infolist_string (infolist, "away_message");
if (str)
irc_upgrade_current_channel->away_message = strdup (str);
+ irc_upgrade_current_channel->has_quit_server = weechat_infolist_integer (infolist, "has_quit_server");
irc_upgrade_current_channel->cycle = weechat_infolist_integer (infolist, "cycle");
irc_upgrade_current_channel->display_creation_date = weechat_infolist_integer (infolist, "display_creation_date");
irc_upgrade_current_channel->nick_completion_reset = weechat_infolist_integer (infolist, "nick_completion_reset");