diff --git a/po/cs.po b/po/cs.po index 443022aa1..579b52704 100644 --- a/po/cs.po +++ b/po/cs.po @@ -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: 2008-09-23 15:34+0200\n" +"POT-Creation-Date: 2008-09-24 14:15+0200\n" "PO-Revision-Date: 2008-09-17 16:19+0200\n" "Last-Translator: Jiri Golembiovsky \n" "Language-Team: weechat-dev \n" @@ -2207,6 +2207,10 @@ msgstr "%s chyba při čtení FIFO roury, zavírám ji\n" msgid "name of FIFO pipe" msgstr "" +#, fuzzy +msgid "servers" +msgstr "server" + msgid "away" msgstr "" @@ -2232,11 +2236,11 @@ msgid "%s%s: cannot find nick for sending message" msgstr "%s nemohu najít přezdívku pro poslání zprávy\n" #, fuzzy, c-format -msgid "%s: future away on %s%s%s: %s" +msgid "%s%s: future away: %s" msgstr "Budoucí zpráva o nepřítomnosit na %s%s%s: %s\n" #, fuzzy, c-format -msgid "%s: future away on %s%s%s removed" +msgid "%s%s: future away removed" msgstr "Budoucí zpráva o nepřítomnosti na %s%s%s odebrána.\n" #, fuzzy, c-format @@ -2276,7 +2280,7 @@ msgid "%s%s: not connected to server \"%s\"!" msgstr "%s nepřipojen k serveru \"%s\"!\n" #, fuzzy, c-format -msgid "%s: auto-reconnection is cancelled" +msgid "%s%s: auto-reconnection is cancelled" msgstr "Automatické znovupřipojené je zrušeno\n" #, fuzzy, c-format @@ -2946,7 +2950,7 @@ msgstr "vypíše, přídá nebo odebere servery" msgid "" "[list [servername]] | [listfull [servername]] | [add servername hostname[/" "port] [-auto | -noauto] [-ipv6] [-ssl]] | [copy servername newservername] | " -"[rename servername newservername] | [del servername]" +"[rename servername newservername] | [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 " @@ -2973,6 +2977,8 @@ msgid "" " del: delete a server\n" " deloutq: delete messages out queue for all servers (all messages WeeChat " "is currently sending)\n" +" switch: switch active server (when one buffer is used for all servers, " +"default key: alt-s on server buffer)\n" "\n" "Examples:\n" " /server listfull\n" @@ -2982,7 +2988,8 @@ msgid "" " /server copy oftc oftcbis\n" " /server rename oftc newoftc\n" " /server del freenode\n" -" /server deloutq" +" /server deloutq\n" +" /server switch" msgstr "" " list: vypsat servery (pokud nejsou uvedeny žádné parametry bude " "vypsán tento seznam)\n" @@ -3722,7 +3729,7 @@ msgstr "" "serverem!\n" #, fuzzy, c-format -msgid "%s: nickname \"%s\" is already in use, trying nickname #%d (\"%s\")" +msgid "%s%s: nickname \"%s\" is already in use, trying nickname #%d (\"%s\")" msgstr "" "%s: přezdívka \"%s\" je již používaná, zkouším druhou přezdívku \"%s\"\n" @@ -3786,19 +3793,19 @@ msgid "%s%s: cannot read data from socket, disconnecting from server..." msgstr "%s nemůžu přečíst data ze soketu, odpojuji se od serveru...\n" #, fuzzy, c-format -msgid "%s: lag is high, disconnecting from server..." +msgid "%s%s: lag is high, disconnecting from server..." msgstr "%s zpoždění je veliké, odpojuji se od serveru...\n" #, fuzzy, c-format -msgid "%s: reconnecting to server in %d %s" +msgid "%s%s: reconnecting to server in %d %s" msgstr "%s: Navazuji nové spojení se serverem za %d sekund\n" #, fuzzy, c-format -msgid "%s: switching address to %s/%d" +msgid "%s%s: switching address to %s/%d" msgstr "%s IP adresa nenalezena\n" #, fuzzy, c-format -msgid "%s: connected to %s (%s)" +msgid "%s%s: connected to %s (%s)" msgstr "%s nepřipojen k serveru \"%s\"!\n" #, fuzzy, c-format @@ -3865,7 +3872,7 @@ msgstr "" "GNUtls\n" #, fuzzy, c-format -msgid "%s: connecting to server %s/%d%s%s via %s proxy %s/%d%s..." +msgid "%s%s: connecting to server %s/%d%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 @@ -3873,7 +3880,7 @@ msgid "Connecting to server %s/%d%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: connecting to server %s/%d%s%s..." +msgid "%s%s: connecting to server %s/%d%s%s..." msgstr "%s: připojuji se k serveru %s:%d%s%s...\n" #, fuzzy, c-format @@ -3889,11 +3896,11 @@ msgid "%s%s: cannot set socket option \"SO_KEEPALIVE\"" msgstr "%s nemohu nastavit nastavení soketu \"SO_KEEPALIVE\"\n" #, fuzzy, c-format -msgid "%s: reconnecting to server..." +msgid "%s%s: reconnecting to server..." msgstr "%s: Připojuji se znovu k serveru...\n" #, fuzzy, c-format -msgid "%s: disconnected from server" +msgid "%s%s: disconnected from server" msgstr "Odpojen od serveru!\n" #, fuzzy, c-format @@ -4685,3 +4692,11 @@ msgstr "%s DCC: nemohu nastavit 'neblokovaci' volbu na soket\n" #, fuzzy, c-format msgid "%s%s: timeout for \"%s\" with %s" msgstr "%s chybí argument pro volbu \"%s\"\n" + +#, fuzzy +#~ msgid "%s: disconnected from server" +#~ msgstr "Odpojen od serveru!\n" + +#, fuzzy +#~ msgid "%s: connecting to server %s/%d%s%s..." +#~ msgstr "%s: připojuji se k serveru %s:%d%s%s...\n" diff --git a/po/de.po b/po/de.po index b65bac67f..d1344a5af 100644 --- a/po/de.po +++ b/po/de.po @@ -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: 2008-09-23 15:34+0200\n" +"POT-Creation-Date: 2008-09-24 14:15+0200\n" "PO-Revision-Date: 2007-09-06 12:44+0200\n" "Last-Translator: Thomas Schuetz \n" "Language-Team: weechat-dev \n" @@ -2148,6 +2148,10 @@ msgstr "%s Fehler beim Lesen vom FIFO, FIFO wird geschlossen\n" msgid "name of FIFO pipe" msgstr "" +#, fuzzy +msgid "servers" +msgstr "Server" + msgid "away" msgstr "" @@ -2175,11 +2179,11 @@ msgstr "" "%s kann keinen Nickname finden, an den die Nachricht gesendet werden soll\n" #, fuzzy, c-format -msgid "%s: future away on %s%s%s: %s" +msgid "%s%s: future away: %s" msgstr "/ignore-Regel entfernt.\n" #, fuzzy, c-format -msgid "%s: future away on %s%s%s removed" +msgid "%s%s: future away removed" msgstr "/ignore-Regel entfernt.\n" #, fuzzy, c-format @@ -2219,7 +2223,7 @@ msgid "%s%s: not connected to server \"%s\"!" msgstr "%s keine Verbindung zum Server \"%s\"!\n" #, fuzzy, c-format -msgid "%s: auto-reconnection is cancelled" +msgid "%s%s: auto-reconnection is cancelled" msgstr "Automatisches Neuverbinden abgebrochen\n" #, fuzzy, c-format @@ -2882,7 +2886,7 @@ msgstr "Auflisten, Hinzufügen oder Entfernen von Servern" msgid "" "[list [servername]] | [listfull [servername]] | [add servername hostname[/" "port] [-auto | -noauto] [-ipv6] [-ssl]] | [copy servername newservername] | " -"[rename servername newservername] | [del servername]" +"[rename servername newservername] | [del servername] | [deloutq] | [switch]" msgstr "" "[Servername] | [Servername Hostname Port [-auto | -noauto] [-ipv6] [-ssl] [-" "pwd Passwort] [-nicks Nick1 Nick2 Nick3] [-username Benutzername] [-realname " @@ -2905,6 +2909,8 @@ msgid "" " del: delete a server\n" " deloutq: delete messages out queue for all servers (all messages WeeChat " "is currently sending)\n" +" switch: switch active server (when one buffer is used for all servers, " +"default key: alt-s on server buffer)\n" "\n" "Examples:\n" " /server listfull\n" @@ -2914,7 +2920,8 @@ msgid "" " /server copy oftc oftcbis\n" " /server rename oftc newoftc\n" " /server del freenode\n" -" /server deloutq" +" /server deloutq\n" +" /server switch" msgstr "" "Servername: anzuzeigender Servername\n" " Hostname: Name oder IP-Adresse des Servers\n" @@ -3638,7 +3645,7 @@ msgstr "" "getrennt!\n" #, fuzzy, c-format -msgid "%s: nickname \"%s\" is already in use, trying nickname #%d (\"%s\")" +msgid "%s%s: nickname \"%s\" is already in use, trying nickname #%d (\"%s\")" msgstr "" "%s: Nickname \"%s\" wird bereits verwendet, versuche 2. Nickname \"%s\"\n" @@ -3696,19 +3703,19 @@ msgid "%s%s: cannot read data from socket, disconnecting from server..." msgstr "%s Socket-Lesefehler, die Serververbindung wird getrennt...\n" #, fuzzy, c-format -msgid "%s: lag is high, disconnecting from server..." +msgid "%s%s: lag is high, disconnecting from server..." msgstr "%s der Lag ist hoch, die Verbindung wird getrennt...\n" #, fuzzy, c-format -msgid "%s: reconnecting to server in %d %s" +msgid "%s%s: reconnecting to server in %d %s" msgstr "%s: Neuverbinden in %d Sekunden\n" #, fuzzy, c-format -msgid "%s: switching address to %s/%d" +msgid "%s%s: switching address to %s/%d" msgstr "%s IP-Adresse nicht gefunden\n" #, fuzzy, c-format -msgid "%s: connected to %s (%s)" +msgid "%s%s: connected to %s (%s)" msgstr "%s keine Verbindung zum Server \"%s\"!\n" #, fuzzy, c-format @@ -3775,7 +3782,7 @@ msgstr "" "kompiliert wurde\n" #, fuzzy, c-format -msgid "%s: connecting to server %s/%d%s%s via %s proxy %s/%d%s..." +msgid "%s%s: connecting to server %s/%d%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 @@ -3783,7 +3790,7 @@ msgid "Connecting to server %s/%d%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: connecting to server %s/%d%s%s..." +msgid "%s%s: connecting to server %s/%d%s%s..." msgstr "%s: verbinden zu Server %s:%d%s%s...\n" #, fuzzy, c-format @@ -3799,11 +3806,11 @@ msgid "%s%s: cannot set socket option \"SO_KEEPALIVE\"" msgstr "%s Fehler beim Setzen der Socketoption \"SO_KEEPALIVE\"\n" #, fuzzy, c-format -msgid "%s: reconnecting to server..." +msgid "%s%s: reconnecting to server..." msgstr "%s: Neuverbinden zum Server...\n" #, fuzzy, c-format -msgid "%s: disconnected from server" +msgid "%s%s: disconnected from server" msgstr "Vom Server getrennt!\n" #, fuzzy, c-format @@ -4585,3 +4592,11 @@ msgstr "%s DCC: kann die 'nonblock'-Option für den Socket nicht festlegen\n" #, fuzzy, c-format msgid "%s%s: timeout for \"%s\" with %s" msgstr "%s fehlende Argumente für die \"--dir\"-Option\n" + +#, fuzzy +#~ msgid "%s: disconnected from server" +#~ msgstr "Vom Server getrennt!\n" + +#, fuzzy +#~ msgid "%s: connecting to server %s/%d%s%s..." +#~ msgstr "%s: verbinden zu Server %s:%d%s%s...\n" diff --git a/po/es.po b/po/es.po index e3fb98ab4..b7fd06daf 100644 --- a/po/es.po +++ b/po/es.po @@ -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: 2008-09-23 15:34+0200\n" +"POT-Creation-Date: 2008-09-24 14:15+0200\n" "PO-Revision-Date: 2007-09-19 12:09+0200\n" "Last-Translator: Roberto González Cardenete \n" "Language-Team: weechat-dev \n" @@ -2126,6 +2126,10 @@ msgstr "%s error al leer la tubería FIFO, cerrándola\n" msgid "name of FIFO pipe" msgstr "" +#, fuzzy +msgid "servers" +msgstr "servidor" + msgid "away" msgstr "" @@ -2151,11 +2155,11 @@ msgid "%s%s: cannot find nick for sending message" msgstr "%s no ha sido posible encontrar el usuario al que enviar el mensaje\n" #, fuzzy, c-format -msgid "%s: future away on %s%s%s: %s" +msgid "%s%s: future away: %s" msgstr "el ignore fue eliminado.\n" #, fuzzy, c-format -msgid "%s: future away on %s%s%s removed" +msgid "%s%s: future away removed" msgstr "el ignore fue eliminado.\n" #, fuzzy, c-format @@ -2196,7 +2200,7 @@ msgid "%s%s: not connected to server \"%s\"!" msgstr "%s ¡no conectado al servidor \"%s\"!\n" #, fuzzy, c-format -msgid "%s: auto-reconnection is cancelled" +msgid "%s%s: auto-reconnection is cancelled" msgstr "La reconexión automática está anulada\n" #, fuzzy, c-format @@ -2870,7 +2874,7 @@ msgstr "lista, añde o elimina servidores" msgid "" "[list [servername]] | [listfull [servername]] | [add servername hostname[/" "port] [-auto | -noauto] [-ipv6] [-ssl]] | [copy servername newservername] | " -"[rename servername newservername] | [del servername]" +"[rename servername newservername] | [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] [-" @@ -2894,6 +2898,8 @@ msgid "" " del: delete a server\n" " deloutq: delete messages out queue for all servers (all messages WeeChat " "is currently sending)\n" +" switch: switch active server (when one buffer is used for all servers, " +"default key: alt-s on server buffer)\n" "\n" "Examples:\n" " /server listfull\n" @@ -2903,7 +2909,8 @@ msgid "" " /server copy oftc oftcbis\n" " /server rename oftc newoftc\n" " /server del freenode\n" -" /server deloutq" +" /server deloutq\n" +" /server 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" @@ -3633,7 +3640,7 @@ msgstr "" "conexión con el servidor!\n" #, fuzzy, c-format -msgid "%s: nickname \"%s\" is already in use, trying nickname #%d (\"%s\")" +msgid "%s%s: nickname \"%s\" is already in use, trying nickname #%d (\"%s\")" msgstr "" "%s: el nombre de usuario \"%s\" ya está en uso, probando con el 2 nombre de " "usuario \"%s\"\n" @@ -3695,19 +3702,19 @@ msgstr "" "%s no ha sido posible leer datos del socket, desconectando del servidor...\n" #, fuzzy, c-format -msgid "%s: lag is high, disconnecting from server..." +msgid "%s%s: lag is high, disconnecting from server..." msgstr "%s el lag (retraso) es alto, desconectando del servidor...\n" #, fuzzy, c-format -msgid "%s: reconnecting to server in %d %s" +msgid "%s%s: reconnecting to server in %d %s" msgstr "%s: Reconexión al servidor en %d segundos\n" #, fuzzy, c-format -msgid "%s: switching address to %s/%d" +msgid "%s%s: switching address to %s/%d" msgstr "%s Dirección IP no encontrada\n" #, fuzzy, c-format -msgid "%s: connected to %s (%s)" +msgid "%s%s: connected to %s (%s)" msgstr "%s ¡no conectado al servidor \"%s\"!\n" #, fuzzy, c-format @@ -3774,7 +3781,7 @@ msgstr "" "con soporte GNUtls\n" #, fuzzy, c-format -msgid "%s: connecting to server %s/%d%s%s via %s proxy %s/%d%s..." +msgid "%s%s: connecting to server %s/%d%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 @@ -3782,7 +3789,7 @@ msgid "Connecting to server %s/%d%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: connecting to server %s/%d%s%s..." +msgid "%s%s: connecting to server %s/%d%s%s..." msgstr "%s: conectando al servidor %s:%d%s%s...\n" #, fuzzy, c-format @@ -3798,11 +3805,11 @@ msgid "%s%s: cannot set socket option \"SO_KEEPALIVE\"" msgstr "%s no ha sido posible configurar la opción socket \"SO_KEEPALIVE\"\n" #, fuzzy, c-format -msgid "%s: reconnecting to server..." +msgid "%s%s: reconnecting to server..." msgstr "%s: Reconectando al servidor...\n" #, fuzzy, c-format -msgid "%s: disconnected from server" +msgid "%s%s: disconnected from server" msgstr "¡Desconectado del servidor!\n" #, fuzzy, c-format @@ -4590,3 +4597,11 @@ msgstr "%s no es posible crear el servidor\n" #, fuzzy, c-format msgid "%s%s: timeout for \"%s\" with %s" msgstr "%s falta un argumento para la opción --dir\n" + +#, fuzzy +#~ msgid "%s: disconnected from server" +#~ msgstr "¡Desconectado del servidor!\n" + +#, fuzzy +#~ msgid "%s: connecting to server %s/%d%s%s..." +#~ msgstr "%s: conectando al servidor %s:%d%s%s...\n" diff --git a/po/fr.po b/po/fr.po index 770d30584..4a8526e97 100644 --- a/po/fr.po +++ b/po/fr.po @@ -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: 2008-09-23 15:34+0200\n" -"PO-Revision-Date: 2008-09-23 15:41+0200\n" +"POT-Creation-Date: 2008-09-24 14:15+0200\n" +"PO-Revision-Date: 2008-09-24 14:16+0200\n" "Last-Translator: FlashCode \n" "Language-Team: weechat-dev \n" "MIME-Version: 1.0\n" @@ -2136,6 +2136,9 @@ msgstr "%s%s: erreur d'ouverture du fichier, fermeture" msgid "name of FIFO pipe" msgstr "nom du tube FIFO" +msgid "servers" +msgstr "serveurs" + msgid "away" msgstr "absent" @@ -2163,12 +2166,12 @@ msgid "%s%s: cannot find nick for sending message" msgstr "%s%s: impossible de trouver le pseudo pour envoyer le message" #, c-format -msgid "%s: future away on %s%s%s: %s" -msgstr "%s: future absence sur %s%s%s: %s" +msgid "%s%s: future away: %s" +msgstr "%s%s: future absence: %s" #, c-format -msgid "%s: future away on %s%s%s removed" -msgstr "%s: future absence sur %s%s%s supprimée" +msgid "%s%s: future away removed" +msgstr "%s%s: future absence supprimée" #, c-format msgid "%s%s: \"%s\" command can only be executed in a channel buffer" @@ -2209,8 +2212,8 @@ msgid "%s%s: not connected to server \"%s\"!" msgstr "%s%s: non connecté au serveur \"%s\" !" #, c-format -msgid "%s: auto-reconnection is cancelled" -msgstr "%s: la reconnexion automatique est annulée" +msgid "%s%s: auto-reconnection is cancelled" +msgstr "%s%s: la reconnexion automatique est annulée" #, c-format msgid "%s%s: server \"%s\" not found" @@ -2890,12 +2893,12 @@ msgstr "liste, ajoute ou retire des serveurs" msgid "" "[list [servername]] | [listfull [servername]] | [add servername hostname[/" "port] [-auto | -noauto] [-ipv6] [-ssl]] | [copy servername newservername] | " -"[rename servername newservername] | [del servername]" +"[rename servername newservername] | [del servername] | [deloutq] | [switch]" msgstr "" "[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] | [del " -"nom_serveur]" +"nom_serveur] | [deloutq] | [switch]" msgid "" " list: list servers (no parameter implies this list)\n" @@ -2913,6 +2916,8 @@ msgid "" " del: delete a server\n" " deloutq: delete messages out queue for all servers (all messages WeeChat " "is currently sending)\n" +" switch: switch active server (when one buffer is used for all servers, " +"default key: alt-s on server buffer)\n" "\n" "Examples:\n" " /server listfull\n" @@ -2922,7 +2927,8 @@ msgid "" " /server copy oftc oftcbis\n" " /server rename oftc newoftc\n" " /server del freenode\n" -" /server deloutq" +" /server deloutq\n" +" /server 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" @@ -2941,6 +2947,8 @@ msgstr "" " deloutq: supprimer la file d'attente des messages sortants pour tous les " "serveurs (tous les messages que WeeChat est actuellement en train " "d'envoyer)\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" " /server listfull\n" @@ -2950,7 +2958,8 @@ msgstr "" " /server copy oftc oftcbis\n" " /server rename oftc newoftc\n" " /server del freenode\n" -" /server deloutq" +" /server deloutq\n" +" /server switch" msgid "list services currently connected to the network" msgstr "lister les services actuellement connectés au réseau" @@ -3657,10 +3666,10 @@ msgstr "" "de la connexion avec le serveur" #, c-format -msgid "%s: nickname \"%s\" is already in use, trying nickname #%d (\"%s\")" +msgid "%s%s: nickname \"%s\" is already in use, trying nickname #%d (\"%s\")" msgstr "" -"%s: le pseudo \"%s\" est déjà en cours d'utilisation, essai avec le pseudo n°" -"%d (\"%s\")" +"%s%s: le pseudo \"%s\" est déjà en cours d'utilisation, essai avec le pseudo " +"n°%d (\"%s\")" #, c-format msgid "%s%s: command \"%s\" not found:" @@ -3725,20 +3734,20 @@ msgstr "" "%s%s: impossible de lire des données sur la socket, déconnexion du serveur..." #, c-format -msgid "%s: lag is high, disconnecting from server..." -msgstr "%s: le lag est élevé, déconnexion du serveur..." +msgid "%s%s: lag is high, disconnecting from server..." +msgstr "%s%s: le lag est élevé, déconnexion du serveur..." #, c-format -msgid "%s: reconnecting to server in %d %s" -msgstr "%s: reconnexion au serveur dans %d %s" +msgid "%s%s: reconnecting to server in %d %s" +msgstr "%s%s: reconnexion au serveur dans %d %s" #, c-format -msgid "%s: switching address to %s/%d" -msgstr "%s: bascule vers l'adresse %s/%d" +msgid "%s%s: switching address to %s/%d" +msgstr "%s%s: bascule vers l'adresse %s/%d" #, c-format -msgid "%s: connected to %s (%s)" -msgstr "%s: connecté à %s (%s)" +msgid "%s%s: connected to %s (%s)" +msgstr "%s%s: connecté à %s (%s)" #, c-format msgid "%s%s: proxy address \"%s\" not found" @@ -3806,16 +3815,16 @@ msgstr "" "avec le support GnuTLS" #, c-format -msgid "%s: connecting to server %s/%d%s%s via %s proxy %s/%d%s..." -msgstr "%s: connexion au serveur %s/%d%s%s via le proxy %s %s/%d%s..." +msgid "%s%s: connecting to server %s/%d%s%s via %s proxy %s/%d%s..." +msgstr "%s%s: connexion au serveur %s/%d%s%s via le proxy %s %s/%d%s..." #, c-format msgid "Connecting to server %s/%d%s%s via %s proxy %s/%d%s..." msgstr "Connexion au serveur %s/%d%s%s via le proxy %s %s/%d%s..." #, c-format -msgid "%s: connecting to server %s/%d%s%s..." -msgstr "%s: connexion au serveur %s/%d%s%s..." +msgid "%s%s: connecting to server %s/%d%s%s..." +msgstr "%s%s: connexion au serveur %s/%d%s%s..." #, c-format msgid "%s%s: cannot create socket" @@ -3830,12 +3839,12 @@ msgid "%s%s: cannot set socket option \"SO_KEEPALIVE\"" msgstr "%s%s: impossible d'activer l'option socket \"SO_KEEPALIVE\"" #, c-format -msgid "%s: reconnecting to server..." -msgstr "%s: reconnexion au serveur..." +msgid "%s%s: reconnecting to server..." +msgstr "%s%s: reconnexion au serveur..." #, c-format -msgid "%s: disconnected from server" -msgstr "%s: déconnecté du serveur" +msgid "%s%s: disconnected from server" +msgstr "%s%s: déconnecté du serveur" #, c-format msgid "%s%s: unable to write log file \"%s\"" diff --git a/po/hu.po b/po/hu.po index 3ad1f371f..3f1815a84 100644 --- a/po/hu.po +++ b/po/hu.po @@ -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: 2008-09-23 15:34+0200\n" +"POT-Creation-Date: 2008-09-24 14:15+0200\n" "PO-Revision-Date: 2007-10-10 18:07+0200\n" "Last-Translator: Andras Voroskoi \n" "Language-Team: weechat-dev \n" @@ -2155,6 +2155,10 @@ msgstr "%s hiba a FIFO cső olvasása közben, bezárás\n" msgid "name of FIFO pipe" msgstr "" +#, fuzzy +msgid "servers" +msgstr "szerver" + msgid "away" msgstr "" @@ -2180,11 +2184,11 @@ msgid "%s%s: cannot find nick for sending message" msgstr "%s nem található név az üzenet küldéséhez\n" #, fuzzy, c-format -msgid "%s: future away on %s%s%s: %s" +msgid "%s%s: future away: %s" msgstr "CTCP %sVERSION%s válasz %s%s%s felhasználótól: %s\n" #, fuzzy, c-format -msgid "%s: future away on %s%s%s removed" +msgid "%s%s: future away removed" msgstr "%s%d%s mellőzés eltávolítva.\n" #, fuzzy, c-format @@ -2224,7 +2228,7 @@ msgid "%s%s: not connected to server \"%s\"!" msgstr "%s nincs csatlakozva a \"%s\" szerverhez!\n" #, fuzzy, c-format -msgid "%s: auto-reconnection is cancelled" +msgid "%s%s: auto-reconnection is cancelled" msgstr "automata újracsatlakozás megszakítva\n" #, fuzzy, c-format @@ -2897,7 +2901,7 @@ msgstr "szerverek listázása, hozzáadása vagy eltávolítása" msgid "" "[list [servername]] | [listfull [servername]] | [add servername hostname[/" "port] [-auto | -noauto] [-ipv6] [-ssl]] | [copy servername newservername] | " -"[rename servername newservername] | [del servername]" +"[rename servername newservername] | [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 " @@ -2922,6 +2926,8 @@ msgid "" " del: delete a server\n" " deloutq: delete messages out queue for all servers (all messages WeeChat " "is currently sending)\n" +" switch: switch active server (when one buffer is used for all servers, " +"default key: alt-s on server buffer)\n" "\n" "Examples:\n" " /server listfull\n" @@ -2931,7 +2937,8 @@ msgid "" " /server copy oftc oftcbis\n" " /server rename oftc newoftc\n" " /server del freenode\n" -" /server deloutq" +" /server deloutq\n" +" /server switch" msgstr "" " list: szerverek listázása (paraméter nélkül is ez a parancs " "hívódik meg)\n" @@ -3661,7 +3668,7 @@ msgid "" msgstr "%s: minden megadott név foglalt, kapcsolat bontása a szerverrel!\n" #, fuzzy, c-format -msgid "%s: nickname \"%s\" is already in use, trying nickname #%d (\"%s\")" +msgid "%s%s: nickname \"%s\" is already in use, trying nickname #%d (\"%s\")" msgstr "%s: a(z) \"%s\" név már foglalt, próbálom a második nevet: \"%s\"\n" #, fuzzy, c-format @@ -3719,19 +3726,19 @@ msgstr "" "%s nem sikerült adatot olvasni a csatornából, kilépés a szerverről...\n" #, fuzzy, c-format -msgid "%s: lag is high, disconnecting from server..." +msgid "%s%s: lag is high, disconnecting from server..." msgstr "%s túl nagy a késés(lag), lecsatlakozás a szerverről...\n" #, fuzzy, c-format -msgid "%s: reconnecting to server in %d %s" +msgid "%s%s: reconnecting to server in %d %s" msgstr "%s: Újracsatlakozás a szerverhez %d másodperc múlva\n" #, fuzzy, c-format -msgid "%s: switching address to %s/%d" +msgid "%s%s: switching address to %s/%d" msgstr "%s IP-cím nem található\n" #, fuzzy, c-format -msgid "%s: connected to %s (%s)" +msgid "%s%s: connected to %s (%s)" msgstr "%s nincs csatlakozva a \"%s\" szerverhez!\n" #, fuzzy, c-format @@ -3798,7 +3805,7 @@ msgstr "" "támogatás nélkül lett fordítva\n" #, fuzzy, c-format -msgid "%s: connecting to server %s/%d%s%s via %s proxy %s/%d%s..." +msgid "%s%s: connecting to server %s/%d%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" @@ -3810,7 +3817,7 @@ msgstr "" "s...\n" #, fuzzy, c-format -msgid "%s: connecting to server %s/%d%s%s..." +msgid "%s%s: connecting to server %s/%d%s%s..." msgstr "%s: csatlakozás a(z) %s:%d%s%s szerverhez...\n" #, fuzzy, c-format @@ -3826,11 +3833,11 @@ msgid "%s%s: cannot set socket option \"SO_KEEPALIVE\"" msgstr "%s nem sikerült a \"SO_KEEPALIVE\" csatornaopciót beállítani\n" #, fuzzy, c-format -msgid "%s: reconnecting to server..." +msgid "%s%s: reconnecting to server..." msgstr "%s: Újracsatlakozás a szerverhez...\n" #, fuzzy, c-format -msgid "%s: disconnected from server" +msgid "%s%s: disconnected from server" msgstr "Lekapcsolódott a szerverről!\n" #, fuzzy, c-format @@ -4607,3 +4614,11 @@ msgstr "%s DCC: nem sikerült 'nonblock' opciót beállítani a csatornán\n" #, fuzzy, c-format msgid "%s%s: timeout for \"%s\" with %s" msgstr "%s hiányzó argumentum a(z) \"%s\" opciónak\n" + +#, fuzzy +#~ msgid "%s: disconnected from server" +#~ msgstr "Lekapcsolódott a szerverről!\n" + +#, fuzzy +#~ msgid "%s: connecting to server %s/%d%s%s..." +#~ msgstr "%s: csatlakozás a(z) %s:%d%s%s szerverhez...\n" diff --git a/po/ru.po b/po/ru.po index 334d28e40..3e4e90586 100644 --- a/po/ru.po +++ b/po/ru.po @@ -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: 2008-09-23 15:34+0200\n" +"POT-Creation-Date: 2008-09-24 14:15+0200\n" "PO-Revision-Date: 2007-09-06 12:44+0200\n" "Last-Translator: Pavel Shevchuk \n" "Language-Team: weechat-dev \n" @@ -2160,6 +2160,10 @@ msgstr "%s ошибка чтения FIFO pipe, закрываю его\n" msgid "name of FIFO pipe" msgstr "" +#, fuzzy +msgid "servers" +msgstr "сервер" + msgid "away" msgstr "" @@ -2185,11 +2189,11 @@ msgid "%s%s: cannot find nick for sending message" msgstr "%s не могу найти адресата сообщения\n" #, fuzzy, c-format -msgid "%s: future away on %s%s%s: %s" +msgid "%s%s: future away: %s" msgstr "Планирование статуса на %s%s%s: %s\n" #, fuzzy, c-format -msgid "%s: future away on %s%s%s removed" +msgid "%s%s: future away removed" msgstr "Планирование статуса на %s%s%s удалено.\n" #, fuzzy, c-format @@ -2229,7 +2233,7 @@ msgid "%s%s: not connected to server \"%s\"!" msgstr "%s не подключен к серверу \"%s\"!\n" #, fuzzy, c-format -msgid "%s: auto-reconnection is cancelled" +msgid "%s%s: auto-reconnection is cancelled" msgstr "Авто-переподключение отменено\n" #, fuzzy, c-format @@ -2898,7 +2902,7 @@ msgstr "перечислить, добавить или удалить серв msgid "" "[list [servername]] | [listfull [servername]] | [add servername hostname[/" "port] [-auto | -noauto] [-ipv6] [-ssl]] | [copy servername newservername] | " -"[rename servername newservername] | [del servername]" +"[rename servername newservername] | [del servername] | [deloutq] | [switch]" msgstr "" "[list [сервер]] | [listfull [сервер]] | [add сервер адрес [-port порт] [-" "temp] [-auto | -noauto] [-ipv6] [-ssl] [-pwd пароль] [-nicks ник1 ник2 ник3] " @@ -2923,6 +2927,8 @@ msgid "" " del: delete a server\n" " deloutq: delete messages out queue for all servers (all messages WeeChat " "is currently sending)\n" +" switch: switch active server (when one buffer is used for all servers, " +"default key: alt-s on server buffer)\n" "\n" "Examples:\n" " /server listfull\n" @@ -2932,7 +2938,8 @@ msgid "" " /server copy oftc oftcbis\n" " /server rename oftc newoftc\n" " /server del freenode\n" -" /server deloutq" +" /server deloutq\n" +" /server switch" msgstr "" " list: перечислить серверы (отсутствие параметров подразумевает этот " "список)\n" @@ -3654,7 +3661,7 @@ msgid "" msgstr "%s: все предложенные ники заняты, отключаюсь от сервера!\n" #, fuzzy, c-format -msgid "%s: nickname \"%s\" is already in use, trying nickname #%d (\"%s\")" +msgid "%s%s: nickname \"%s\" is already in use, trying nickname #%d (\"%s\")" msgstr "%s: ник \"%s\" уже используется, пробую второй ник \"%s\"\n" #, fuzzy, c-format @@ -3711,19 +3718,19 @@ msgid "%s%s: cannot read data from socket, disconnecting from server..." msgstr "%s невозможно прочитать данные из сокета, отключаюсь от сервера...\n" #, fuzzy, c-format -msgid "%s: lag is high, disconnecting from server..." +msgid "%s%s: lag is high, disconnecting from server..." msgstr "%s задержка слишком высокая, отключаюсь от сервера...\n" #, fuzzy, c-format -msgid "%s: reconnecting to server in %d %s" +msgid "%s%s: reconnecting to server in %d %s" msgstr "%s: Повторное подключение к серверу через %d секунд\n" #, fuzzy, c-format -msgid "%s: switching address to %s/%d" +msgid "%s%s: switching address to %s/%d" msgstr "%s IP адрес не найден\n" #, fuzzy, c-format -msgid "%s: connected to %s (%s)" +msgid "%s%s: connected to %s (%s)" msgstr "%s не подключен к серверу \"%s\"!\n" #, fuzzy, c-format @@ -3790,7 +3797,7 @@ msgstr "" "поддержки GNUtls\n" #, fuzzy, c-format -msgid "%s: connecting to server %s/%d%s%s via %s proxy %s/%d%s..." +msgid "%s%s: connecting to server %s/%d%s%s via %s proxy %s/%d%s..." msgstr "%s: подключение к серверу %s:%d%s%s через %s proxy %s:%d%s...\n" #, fuzzy, c-format @@ -3798,7 +3805,7 @@ msgid "Connecting to server %s/%d%s%s via %s proxy %s/%d%s..." msgstr "Подключаюсь к серверу %s:%d%s%s через %s proxy %s:%d%s...\n" #, fuzzy, c-format -msgid "%s: connecting to server %s/%d%s%s..." +msgid "%s%s: connecting to server %s/%d%s%s..." msgstr "%s: поключаюсь к серверу %s:%d%s%s...\n" #, fuzzy, c-format @@ -3814,11 +3821,11 @@ msgid "%s%s: cannot set socket option \"SO_KEEPALIVE\"" msgstr "%s не могу установить настройку сокета \"SO_KEEPALIVE\"\n" #, fuzzy, c-format -msgid "%s: reconnecting to server..." +msgid "%s%s: reconnecting to server..." msgstr "%s: Повторное соединение...\n" #, fuzzy, c-format -msgid "%s: disconnected from server" +msgid "%s%s: disconnected from server" msgstr "Отключен от сервера!\n" #, fuzzy, c-format @@ -4590,3 +4597,11 @@ msgstr "%s DCC: не могу установить неблокирующий р #, fuzzy, c-format msgid "%s%s: timeout for \"%s\" with %s" msgstr "%s нет аргумента для параметра \"%s\"\n" + +#, fuzzy +#~ msgid "%s: disconnected from server" +#~ msgstr "Отключен от сервера!\n" + +#, fuzzy +#~ msgid "%s: connecting to server %s/%d%s%s..." +#~ msgstr "%s: поключаюсь к серверу %s:%d%s%s...\n" diff --git a/po/weechat.pot b/po/weechat.pot index 5e1cc0640..467d5a31b 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: 2008-09-23 15:34+0200\n" +"POT-Creation-Date: 2008-09-24 14:15+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -1816,6 +1816,9 @@ msgstr "" msgid "name of FIFO pipe" msgstr "" +msgid "servers" +msgstr "" + msgid "away" msgstr "" @@ -1841,11 +1844,11 @@ msgid "%s%s: cannot find nick for sending message" msgstr "" #, c-format -msgid "%s: future away on %s%s%s: %s" +msgid "%s%s: future away: %s" msgstr "" #, c-format -msgid "%s: future away on %s%s%s removed" +msgid "%s%s: future away removed" msgstr "" #, c-format @@ -1885,7 +1888,7 @@ msgid "%s%s: not connected to server \"%s\"!" msgstr "" #, c-format -msgid "%s: auto-reconnection is cancelled" +msgid "%s%s: auto-reconnection is cancelled" msgstr "" #, c-format @@ -2452,7 +2455,7 @@ msgstr "" msgid "" "[list [servername]] | [listfull [servername]] | [add servername hostname[/" "port] [-auto | -noauto] [-ipv6] [-ssl]] | [copy servername newservername] | " -"[rename servername newservername] | [del servername]" +"[rename servername newservername] | [del servername] | [deloutq] | [switch]" msgstr "" msgid "" @@ -2471,6 +2474,8 @@ msgid "" " del: delete a server\n" " deloutq: delete messages out queue for all servers (all messages WeeChat " "is currently sending)\n" +" switch: switch active server (when one buffer is used for all servers, " +"default key: alt-s on server buffer)\n" "\n" "Examples:\n" " /server listfull\n" @@ -2480,7 +2485,8 @@ msgid "" " /server copy oftc oftcbis\n" " /server rename oftc newoftc\n" " /server del freenode\n" -" /server deloutq" +" /server deloutq\n" +" /server switch" msgstr "" msgid "list services currently connected to the network" @@ -3114,7 +3120,7 @@ msgid "" msgstr "" #, c-format -msgid "%s: nickname \"%s\" is already in use, trying nickname #%d (\"%s\")" +msgid "%s%s: nickname \"%s\" is already in use, trying nickname #%d (\"%s\")" msgstr "" #, c-format @@ -3171,19 +3177,19 @@ msgid "%s%s: cannot read data from socket, disconnecting from server..." msgstr "" #, c-format -msgid "%s: lag is high, disconnecting from server..." +msgid "%s%s: lag is high, disconnecting from server..." msgstr "" #, c-format -msgid "%s: reconnecting to server in %d %s" +msgid "%s%s: reconnecting to server in %d %s" msgstr "" #, c-format -msgid "%s: switching address to %s/%d" +msgid "%s%s: switching address to %s/%d" msgstr "" #, c-format -msgid "%s: connected to %s (%s)" +msgid "%s%s: connected to %s (%s)" msgstr "" #, c-format @@ -3246,7 +3252,7 @@ msgid "" msgstr "" #, c-format -msgid "%s: connecting to server %s/%d%s%s via %s proxy %s/%d%s..." +msgid "%s%s: connecting to server %s/%d%s%s via %s proxy %s/%d%s..." msgstr "" #, c-format @@ -3254,7 +3260,7 @@ msgid "Connecting to server %s/%d%s%s via %s proxy %s/%d%s..." msgstr "" #, c-format -msgid "%s: connecting to server %s/%d%s%s..." +msgid "%s%s: connecting to server %s/%d%s%s..." msgstr "" #, c-format @@ -3270,11 +3276,11 @@ msgid "%s%s: cannot set socket option \"SO_KEEPALIVE\"" msgstr "" #, c-format -msgid "%s: reconnecting to server..." +msgid "%s%s: reconnecting to server..." msgstr "" #, c-format -msgid "%s: disconnected from server" +msgid "%s%s: disconnected from server" msgstr "" #, c-format diff --git a/src/plugins/irc/irc-bar-item.c b/src/plugins/irc/irc-bar-item.c index 897f01b10..f128b247b 100644 --- a/src/plugins/irc/irc-bar-item.c +++ b/src/plugins/irc/irc-bar-item.c @@ -69,12 +69,24 @@ irc_bar_item_buffer_name (void *data, struct t_gui_bar_item *item, { if (server && !channel) { - snprintf (buf_name, sizeof (buf_name), "%s%s[%s%s%s]", - _("server"), - IRC_COLOR_BAR_DELIM, - IRC_COLOR_STATUS_NAME, - server->name, - IRC_COLOR_BAR_DELIM); + if (weechat_config_boolean (irc_config_look_one_server_buffer)) + { + snprintf (buf_name, sizeof (buf_name), "%s%s[<%s%s%s>]", + _("servers"), + IRC_COLOR_BAR_DELIM, + IRC_COLOR_STATUS_NAME, + (irc_current_server) ? irc_current_server->name : "-", + IRC_COLOR_BAR_DELIM); + } + else + { + snprintf (buf_name, sizeof (buf_name), "%s%s[%s%s%s]", + _("server"), + IRC_COLOR_BAR_DELIM, + IRC_COLOR_STATUS_NAME, + server->name, + IRC_COLOR_BAR_DELIM); + } } else { diff --git a/src/plugins/irc/irc-buffer.c b/src/plugins/irc/irc-buffer.c index ab3862035..2e744dd8b 100644 --- a/src/plugins/irc/irc-buffer.c +++ b/src/plugins/irc/irc-buffer.c @@ -28,9 +28,14 @@ #include "irc-buffer.h" #include "irc-channel.h" #include "irc-command.h" +#include "irc-config.h" #include "irc-server.h" +/* buffer for all servers (if using one buffer for all servers) */ +struct t_gui_buffer *irc_buffer_servers = NULL; + + /* * irc_buffer_get_server_channel: get IRC server and channel pointers with a * buffer pointer @@ -44,7 +49,7 @@ irc_buffer_get_server_channel (struct t_gui_buffer *buffer, { struct t_irc_server *ptr_server; struct t_irc_channel *ptr_channel; - + if (server) *server = NULL; if (channel) @@ -60,7 +65,12 @@ irc_buffer_get_server_channel (struct t_gui_buffer *buffer, if (ptr_server->buffer == buffer) { if (server) - *server = ptr_server; + { + if (weechat_config_boolean (irc_config_look_one_server_buffer)) + *server = irc_current_server; + else + *server = ptr_server; + } return; } @@ -104,132 +114,123 @@ irc_buffer_build_name (const char *server, const char *channel) return buffer; } +/* + * irc_buffer_get_server_prefix: return prefix, with server name if server + * buffers are displayed in only one buffer + */ + +char * +irc_buffer_get_server_prefix (struct t_irc_server *server, char *prefix_code) +{ + static char buf[256]; + char *prefix; + + prefix = (prefix_code && prefix_code[0]) ? + weechat_prefix (prefix_code) : NULL; + + if (weechat_config_boolean (irc_config_look_one_server_buffer) && server) + { + snprintf (buf, sizeof (buf), "%s%s[%s%s%s]%s ", + (prefix) ? prefix : "", + IRC_COLOR_CHAT_DELIMITERS, + IRC_COLOR_CHAT_SERVER, + server->name, + IRC_COLOR_CHAT_DELIMITERS, + IRC_COLOR_CHAT); + } + else + { + snprintf (buf, sizeof (buf), "%s", + (prefix) ? prefix : ""); + } + return buf; +} + /* * irc_buffer_merge_servers: merge server buffers in one buffer */ -/* void -irc_buffer_merge_servers (t_gui_window *window) +irc_buffer_merge_servers () { - t_gui_buffer *ptr_buffer_server, *ptr_buffer, *new_ptr_buffer; - t_irc_server *ptr_server; + struct t_irc_server *ptr_server; + struct t_gui_buffer *ptr_buffer; + int number, number_selected; - // new server buffer is the first server buffer found - for (ptr_buffer_server = gui_buffers; ptr_buffer_server; - ptr_buffer_server = ptr_buffer_server->next_buffer) + irc_buffer_servers = NULL; + irc_current_server = NULL; + + /* choose server buffer with lower number (should be first created) */ + number_selected = -1; + for (ptr_server = irc_servers; ptr_server; + ptr_server = ptr_server->next_server) { - if ((ptr_buffer_server->protocol == irc_protocol) - && (IRC_BUFFER_SERVER(ptr_buffer_server)) - && (!IRC_BUFFER_CHANNEL(ptr_buffer_server))) - break; - } - - // no server buffer found - if (!ptr_buffer_server) - return; - - ptr_buffer = gui_buffers; - while (ptr_buffer) - { - if ((ptr_buffer->protocol == irc_protocol) - && (ptr_buffer != ptr_buffer_server) - && (IRC_BUFFER_SERVER(ptr_buffer)) - && (!IRC_BUFFER_CHANNEL(ptr_buffer))) + if (ptr_server->buffer) { - ptr_server = IRC_BUFFER_SERVER(ptr_buffer); - - // add (by pointer artefact) lines from buffer found to server buffer - if (ptr_buffer->lines) + number = weechat_buffer_get_integer (ptr_server->buffer, "number"); + if ((number_selected == -1) || (number < number_selected)) { - if (ptr_buffer_server->lines) - { - ptr_buffer->lines->prev_line = - ptr_buffer_server->last_line; - ptr_buffer_server->last_line->next_line = - ptr_buffer->lines; - ptr_buffer_server->last_line = - ptr_buffer->last_line; - } - else - { - ptr_buffer_server->lines = ptr_buffer->lines; - ptr_buffer_server->last_line = ptr_buffer->last_line; - } + irc_buffer_servers = ptr_server->buffer; + irc_current_server = ptr_server; + number_selected = number; } - - // free buffer but not lines, because they're now used by - // our unique server buffer - new_ptr_buffer = ptr_buffer->next_buffer; - ptr_buffer->lines = NULL; - gui_buffer_free (ptr_buffer, 1); - ptr_buffer = new_ptr_buffer; - - // asociate server with new server buffer - ptr_server->buffer = ptr_buffer_server; } - else - ptr_buffer = ptr_buffer->next_buffer; } - IRC_BUFFER_ALL_SERVERS(ptr_buffer_server) = 1; - gui_window_redraw_buffer (window->buffer); + if (irc_buffer_servers) + { + weechat_buffer_set (irc_buffer_servers, "name", "servers"); + weechat_buffer_set (irc_buffer_servers, "key_bind_meta-s", + "/command irc /server switch"); + + for (ptr_server = irc_servers; ptr_server; + ptr_server = ptr_server->next_server) + { + if (ptr_server->buffer + && (ptr_server->buffer != irc_buffer_servers)) + { + ptr_buffer = ptr_server->buffer; + ptr_server->buffer = irc_buffer_servers; + weechat_buffer_close (ptr_buffer, 1); + } + } + } } -*/ /* * irc_buffer_split_server: split the server buffer into many buffers (one by server) */ -/* void -irc_buffer_split_server (t_gui_window *window) +irc_buffer_split_server () { - t_gui_buffer *ptr_buffer; - t_irc_server *ptr_server; - char *log_filename; + struct t_irc_server *ptr_server; + char buffer_name[256]; - ptr_buffer = gui_buffer_servers_search (); - - if (ptr_buffer) + if (irc_buffer_servers) { - if (IRC_BUFFER_SERVER(ptr_buffer)) - { - for (ptr_server = irc_servers; ptr_server; - ptr_server = ptr_server->next_server) - { - if (ptr_server->buffer - && (ptr_server != IRC_BUFFER_SERVER(ptr_buffer)) - && (ptr_server->buffer == ptr_buffer)) - { - ptr_server->buffer = NULL; - log_filename = irc_log_get_filename (ptr_server->name, - NULL, - 0); - gui_buffer_new (window, 0, - ptr_server->name, - ptr_server->name, - GUI_BUFFER_ATTRIB_TEXT | - GUI_BUFFER_ATTRIB_INPUT | - GUI_BUFFER_ATTRIB_NICKS, - irc_protocol, - irc_buffer_data_create (ptr_server), - &irc_buffer_data_free, - GUI_NOTIFY_LEVEL_DEFAULT, - NULL, ptr_server->nick, - irc_cfg_log_auto_server, log_filename, - 0); - if (log_filename) - free (log_filename); - } - } - } - IRC_BUFFER_ALL_SERVERS(ptr_buffer) = 0; - gui_status_draw (window->buffer, 1); - gui_input_draw (window->buffer, 1); + weechat_buffer_set (irc_buffer_servers, "key_unbind_meta-s", NULL); } + + for (ptr_server = irc_servers; ptr_server; + ptr_server = ptr_server->next_server) + { + if (ptr_server->buffer && (ptr_server != irc_current_server)) + { + irc_server_create_buffer (ptr_server, 0); + } + } + + if (irc_current_server) + { + snprintf (buffer_name, sizeof (buffer_name), + "server.%s", irc_current_server->name); + weechat_buffer_set (irc_current_server->buffer, "name", buffer_name); + } + + irc_buffer_servers = NULL; + irc_current_server = NULL; } -*/ /* * irc_buffer_close_cb: callback called when a buffer is closed @@ -271,6 +272,11 @@ irc_buffer_close_cb (void *data, struct t_gui_buffer *buffer) ptr_server->buffer = NULL; } } + + if (irc_buffer_servers == buffer) + irc_buffer_servers = NULL; + if (ptr_server && (irc_current_server == ptr_server)) + irc_current_server = NULL; return WEECHAT_RC_OK; } diff --git a/src/plugins/irc/irc-buffer.h b/src/plugins/irc/irc-buffer.h index ff10539f6..205e87045 100644 --- a/src/plugins/irc/irc-buffer.h +++ b/src/plugins/irc/irc-buffer.h @@ -24,10 +24,16 @@ struct t_gui_buffer; struct t_irc_server; struct t_irc_channel; +extern struct t_gui_buffer *irc_buffer_servers; + extern void irc_buffer_get_server_channel (struct t_gui_buffer *buffer, struct t_irc_server **server, struct t_irc_channel **channel); extern char *irc_buffer_build_name (const char *server, const char *channel); +extern char *irc_buffer_get_server_prefix (struct t_irc_server *server, + char *prefix_code); +extern void irc_buffer_merge_servers (); +extern void irc_buffer_split_server (); extern int irc_buffer_close_cb (void *data, struct t_gui_buffer *buffer); #endif /* irc-buffer.h */ diff --git a/src/plugins/irc/irc-command.c b/src/plugins/irc/irc-command.c index f7e05f684..5604c4a0b 100644 --- a/src/plugins/irc/irc-command.c +++ b/src/plugins/irc/irc-command.c @@ -231,7 +231,8 @@ irc_command_amsg (void *data, struct t_gui_buffer *buffer, int argc, weechat_printf (ptr_server->buffer, _("%s%s: cannot find nick for " "sending message"), - weechat_prefix ("error"), + irc_buffer_get_server_prefix (ptr_server, + "error"), IRC_PLUGIN_NAME); } } @@ -306,11 +307,9 @@ irc_command_away_server (struct t_irc_server *server, const char *arguments) string = irc_color_decode (arguments, weechat_config_boolean (irc_config_network_colors_receive)); weechat_printf (server->buffer, - _("%s: future away on %s%s%s: %s"), + _("%s%s: future away: %s"), + irc_buffer_get_server_prefix (server, NULL), IRC_PLUGIN_NAME, - IRC_COLOR_CHAT_SERVER, - server->name, - IRC_COLOR_CHAT, (string) ? string : arguments); if (string) free (string); @@ -364,11 +363,9 @@ irc_command_away_server (struct t_irc_server *server, const char *arguments) /* server not connected, remove away message but do not send anything */ weechat_printf (server->buffer, - _("%s: future away on %s%s%s removed"), - IRC_PLUGIN_NAME, - IRC_COLOR_CHAT_SERVER, - server->name, - IRC_COLOR_CHAT); + _("%s%s: future away removed"), + irc_buffer_get_server_prefix (server, NULL), + IRC_PLUGIN_NAME); } } } @@ -449,8 +446,8 @@ irc_command_ban (void *data, struct t_gui_buffer *buffer, int argc, weechat_printf (ptr_server->buffer, _("%s%s: \"%s\" command can only be " "executed in a channel buffer"), - weechat_prefix ("error"), IRC_PLUGIN_NAME, - "ban"); + irc_buffer_get_server_prefix (ptr_server, "error"), + IRC_PLUGIN_NAME, "ban"); return WEECHAT_RC_ERROR; } } @@ -470,8 +467,8 @@ irc_command_ban (void *data, struct t_gui_buffer *buffer, int argc, weechat_printf (ptr_server->buffer, _("%s%s: \"%s\" command can only be " "executed in a channel buffer"), - weechat_prefix ("error"), IRC_PLUGIN_NAME, - "ban"); + irc_buffer_get_server_prefix (ptr_server, "error"), + IRC_PLUGIN_NAME, "ban"); return WEECHAT_RC_ERROR; } irc_server_sendf (ptr_server, "MODE %s +b", ptr_channel->name); @@ -728,7 +725,8 @@ irc_command_ctcp (void *data, struct t_gui_buffer *buffer, int argc, irc_server_sendf (ptr_server, "PRIVMSG %s :\01PING %d %d\01", argv[1], tv.tv_sec, tv.tv_usec); weechat_printf (ptr_server->buffer, - "CTCP%s(%s%s%s)%s: %s%s %s%d %d", + "%sCTCP%s(%s%s%s)%s: %s%s %s%d %d", + irc_buffer_get_server_prefix (ptr_server, NULL), IRC_COLOR_CHAT_DELIMITERS, IRC_COLOR_CHAT_NICK, argv[1], @@ -746,7 +744,8 @@ irc_command_ctcp (void *data, struct t_gui_buffer *buffer, int argc, irc_server_sendf (ptr_server, "PRIVMSG %s :\01%s %s\01", argv[1], irc_cmd, argv_eol[2]); weechat_printf (ptr_server->buffer, - "CTCP%s(%s%s%s)%s: %s%s %s%s", + "%sCTCP%s(%s%s%s)%s: %s%s %s%s", + irc_buffer_get_server_prefix (ptr_server, NULL), IRC_COLOR_CHAT_DELIMITERS, IRC_COLOR_CHAT_NICK, argv[1], @@ -762,7 +761,8 @@ irc_command_ctcp (void *data, struct t_gui_buffer *buffer, int argc, irc_server_sendf (ptr_server, "PRIVMSG %s :\01%s\01", argv[1], irc_cmd); weechat_printf (ptr_server->buffer, - "CTCP%s(%s%s%s)%s: %s%s", + "%sCTCP%s(%s%s%s)%s: %s%s", + irc_buffer_get_server_prefix (ptr_server, NULL), IRC_COLOR_CHAT_DELIMITERS, IRC_COLOR_CHAT_NICK, argv[1], @@ -827,8 +827,8 @@ irc_command_cycle (void *data, struct t_gui_buffer *buffer, int argc, weechat_printf (ptr_server->buffer, _("%s%s: \"%s\" command can not be executed " "on a server buffer"), - weechat_prefix ("error"), IRC_PLUGIN_NAME, - "cycle"); + irc_buffer_get_server_prefix (ptr_server, "error"), + IRC_PLUGIN_NAME, "cycle"); return WEECHAT_RC_ERROR; } @@ -848,7 +848,8 @@ irc_command_cycle (void *data, struct t_gui_buffer *buffer, int argc, weechat_printf (ptr_server->buffer, _("%s%s: \"%s\" command can not be executed on " "a server buffer"), - weechat_prefix ("error"), IRC_PLUGIN_NAME, "part"); + irc_buffer_get_server_prefix (ptr_server, "error"), + IRC_PLUGIN_NAME, "part"); return WEECHAT_RC_ERROR; } @@ -979,7 +980,8 @@ irc_command_dcc (void *data, struct t_gui_buffer *buffer, int argc, { weechat_printf (ptr_server->buffer, _("%s%s: wrong arguments for \"%s\" command"), - weechat_prefix ("error"), IRC_PLUGIN_NAME, "dcc"); + irc_buffer_get_server_prefix (ptr_server, "error"), + IRC_PLUGIN_NAME, "dcc"); return WEECHAT_RC_ERROR; } } @@ -1022,7 +1024,8 @@ irc_command_dehalfop (void *data, struct t_gui_buffer *buffer, int argc, weechat_printf (ptr_server->buffer, _("%s%s: \"%s\" command can only be executed in " "a channel buffer"), - weechat_prefix ("error"), IRC_PLUGIN_NAME, "dehalfop"); + irc_buffer_get_server_prefix (ptr_server, "error"), + IRC_PLUGIN_NAME, "dehalfop"); return WEECHAT_RC_ERROR; } return WEECHAT_RC_OK; @@ -1059,7 +1062,8 @@ irc_command_deop (void *data, struct t_gui_buffer *buffer, int argc, weechat_printf (ptr_server->buffer, _("%s%s: \"%s\" command can only be executed in " "a channel buffer"), - weechat_prefix ("error"), IRC_PLUGIN_NAME, "deop"); + irc_buffer_get_server_prefix (ptr_server, "error"), + IRC_PLUGIN_NAME, "deop"); return WEECHAT_RC_ERROR; } return WEECHAT_RC_OK; @@ -1096,7 +1100,8 @@ irc_command_devoice (void *data, struct t_gui_buffer *buffer, int argc, weechat_printf (ptr_server->buffer, _("%s%s: \"%s\" command can only be " "executed in a channel buffer"), - weechat_prefix ("error"), IRC_PLUGIN_NAME, "devoice"); + irc_buffer_get_server_prefix (ptr_server, "error"), + IRC_PLUGIN_NAME, "devoice"); return WEECHAT_RC_ERROR; } return WEECHAT_RC_OK; @@ -1175,14 +1180,15 @@ irc_command_disconnect_one_server (struct t_irc_server *server) { weechat_printf (server->buffer, _("%s%s: not connected to server \"%s\"!"), - weechat_prefix ("error"), IRC_PLUGIN_NAME, - server->name); + irc_buffer_get_server_prefix (server, "error"), + IRC_PLUGIN_NAME, server->name); return 0; } if (server->reconnect_start > 0) { weechat_printf (server->buffer, - _("%s: auto-reconnection is cancelled"), + _("%s%s: auto-reconnection is cancelled"), + irc_buffer_get_server_prefix (server, NULL), IRC_PLUGIN_NAME); } irc_command_quit_server (server, NULL); @@ -1286,7 +1292,8 @@ irc_command_halfop (void *data, struct t_gui_buffer *buffer, int argc, weechat_printf (ptr_server->buffer, _("%s%s: \"%s\" command can only be " "executed in a channel buffer"), - weechat_prefix ("error"), IRC_PLUGIN_NAME, "halfop"); + irc_buffer_get_server_prefix (ptr_server, "error"), + IRC_PLUGIN_NAME, "halfop"); return WEECHAT_RC_ERROR; } return WEECHAT_RC_OK; @@ -1499,8 +1506,8 @@ irc_command_invite (void *data, struct t_gui_buffer *buffer, int argc, weechat_printf (ptr_server->buffer, _("%s%s: \"%s\" command can only be " "executed in a channel buffer"), - weechat_prefix ("error"), IRC_PLUGIN_NAME, - "invite"); + irc_buffer_get_server_prefix (ptr_server, "error"), + IRC_PLUGIN_NAME, "invite"); return WEECHAT_RC_ERROR; } @@ -1599,8 +1606,8 @@ irc_command_kick (void *data, struct t_gui_buffer *buffer, int argc, weechat_printf (ptr_server->buffer, _("%s%s: wrong arguments for \"%s\" " "command"), - weechat_prefix ("error"), IRC_PLUGIN_NAME, - "kick"); + irc_buffer_get_server_prefix (ptr_server, "error"), + IRC_PLUGIN_NAME, "kick"); return WEECHAT_RC_ERROR; } pos_channel = argv[1]; @@ -1620,8 +1627,8 @@ irc_command_kick (void *data, struct t_gui_buffer *buffer, int argc, weechat_printf (ptr_server->buffer, _("%s%s: \"%s\" command can only be " "executed in a channel buffer"), - weechat_prefix ("error"), IRC_PLUGIN_NAME, - "kick"); + irc_buffer_get_server_prefix (ptr_server, "error"), + IRC_PLUGIN_NAME, "kick"); return WEECHAT_RC_ERROR; } } @@ -1667,8 +1674,8 @@ irc_command_kickban (void *data, struct t_gui_buffer *buffer, int argc, weechat_printf (ptr_server->buffer, _("%s%s: wrong arguments for \"%s\" " "command"), - weechat_prefix ("error"), IRC_PLUGIN_NAME, - "kickban"); + irc_buffer_get_server_prefix (ptr_server, "error"), + IRC_PLUGIN_NAME, "kickban"); return WEECHAT_RC_ERROR; } pos_channel = argv[1]; @@ -1688,8 +1695,8 @@ irc_command_kickban (void *data, struct t_gui_buffer *buffer, int argc, weechat_printf (ptr_server->buffer, _("%s%s: \"%s\" command can only be " "executed in a channel buffer"), - weechat_prefix ("error"), IRC_PLUGIN_NAME, - "kickban"); + irc_buffer_get_server_prefix (ptr_server, "error"), + IRC_PLUGIN_NAME, "kickban"); return WEECHAT_RC_ERROR; } } @@ -1817,8 +1824,8 @@ irc_command_list (void *data, struct t_gui_buffer *buffer, int argc, weechat_printf (ptr_server->buffer, _("%s%s: \"%s\" is not a valid regular " "expression (%s)"), - weechat_prefix ("error"), IRC_PLUGIN_NAME, - argv_eol, buf); + irc_buffer_get_server_prefix (ptr_server, "error"), + IRC_PLUGIN_NAME, argv_eol, buf); return WEECHAT_RC_ERROR; } else @@ -1829,7 +1836,8 @@ irc_command_list (void *data, struct t_gui_buffer *buffer, int argc, weechat_printf (ptr_server->buffer, _("%s%s: not enough memory for regular " "expression"), - weechat_prefix ("error"), IRC_PLUGIN_NAME); + irc_buffer_get_server_prefix (ptr_server, "error"), + IRC_PLUGIN_NAME); return WEECHAT_RC_ERROR; } } @@ -1886,7 +1894,8 @@ irc_command_me (void *data, struct t_gui_buffer *buffer, int argc, char **argv, weechat_printf (ptr_server->buffer, _("%s%s: \"%s\" command can not be executed " "on a server buffer"), - weechat_prefix ("error"), IRC_PLUGIN_NAME, "me"); + irc_buffer_get_server_prefix (ptr_server, "error"), + IRC_PLUGIN_NAME, "me"); return WEECHAT_RC_ERROR; } irc_command_me_channel (ptr_server, ptr_channel, argv_eol[1]); @@ -1999,7 +2008,8 @@ irc_command_msg (void *data, struct t_gui_buffer *buffer, int argc, _("%s%s: \"%s\" command can only be " "executed in a channel or private " "buffer"), - weechat_prefix ("error"), + irc_buffer_get_server_prefix (ptr_server, + "error"), IRC_PLUGIN_NAME, "msg *"); } if (ptr_channel->type == IRC_CHANNEL_TYPE_CHANNEL) @@ -2061,7 +2071,8 @@ irc_command_msg (void *data, struct t_gui_buffer *buffer, int argc, weechat_config_boolean (irc_config_network_colors_receive)); weechat_printf (ptr_server->buffer, "%s%s-%s%s%s- %s%s", - weechat_prefix ("network"), + irc_buffer_get_server_prefix (ptr_server, + "network"), IRC_COLOR_CHAT_DELIMITERS, IRC_COLOR_CHAT_NICK, targets[i], @@ -2092,7 +2103,8 @@ irc_command_msg (void *data, struct t_gui_buffer *buffer, int argc, { weechat_printf (ptr_server->buffer, "%sMSG%s(%s%s%s)%s: %s", - weechat_prefix ("network"), + irc_buffer_get_server_prefix (ptr_server, + "network"), IRC_COLOR_CHAT_DELIMITERS, IRC_COLOR_CHAT_NICK, targets[i], @@ -2147,8 +2159,8 @@ irc_command_names (void *data, struct t_gui_buffer *buffer, int argc, weechat_printf (ptr_server->buffer, _("%s%s: \"%s\" command can only be " "executed in a channel buffer"), - weechat_prefix ("error"), IRC_PLUGIN_NAME, - "names"); + irc_buffer_get_server_prefix (ptr_server, "error"), + IRC_PLUGIN_NAME, "names"); return WEECHAT_RC_ERROR; } } @@ -2194,7 +2206,8 @@ irc_command_nick (void *data, struct t_gui_buffer *buffer, int argc, { weechat_printf (ptr_server->buffer, _("%s%s: wrong arguments for \"%s\" command"), - weechat_prefix ("error"), IRC_PLUGIN_NAME, "nick"); + irc_buffer_get_server_prefix (ptr_server, "error"), + IRC_PLUGIN_NAME, "nick"); return WEECHAT_RC_ERROR; } for (ptr_server = irc_servers; ptr_server; @@ -2239,7 +2252,8 @@ irc_command_notice (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_server->buffer, - "notice%s(%s%s%s)%s: %s", + "%snotice%s(%s%s%s)%s: %s", + irc_buffer_get_server_prefix (ptr_server, NULL), IRC_COLOR_CHAT_DELIMITERS, IRC_COLOR_CHAT_NICK, argv[1], @@ -2290,7 +2304,8 @@ irc_command_op (void *data, struct t_gui_buffer *buffer, int argc, char **argv, weechat_printf (ptr_server->buffer, _("%s%s: \"%s\" command can only be " "executed in a channel buffer"), - weechat_prefix ("error"), IRC_PLUGIN_NAME, "op"); + irc_buffer_get_server_prefix (ptr_server, "error"), + IRC_PLUGIN_NAME, "op"); return WEECHAT_RC_ERROR; } return WEECHAT_RC_OK; @@ -2384,8 +2399,8 @@ irc_command_part (void *data, struct t_gui_buffer *buffer, int argc, _("%s%s: \"%s\" command can only be " "executed in a channel or " "private buffer"), - weechat_prefix ("error"), IRC_PLUGIN_NAME, - "part"); + irc_buffer_get_server_prefix (ptr_server, "error"), + IRC_PLUGIN_NAME, "part"); return WEECHAT_RC_ERROR; } channel_name = ptr_channel->name; @@ -2400,7 +2415,8 @@ irc_command_part (void *data, struct t_gui_buffer *buffer, int argc, _("%s%s: \"%s\" command can only be " "executed in a channel or private " "buffer"), - weechat_prefix ("error"), IRC_PLUGIN_NAME, "part"); + irc_buffer_get_server_prefix (ptr_server, "error"), + IRC_PLUGIN_NAME, "part"); return WEECHAT_RC_ERROR; } if (!ptr_channel->nicks) @@ -2501,8 +2517,8 @@ irc_command_query (void *data, struct t_gui_buffer *buffer, int argc, weechat_printf (ptr_server->buffer, _("%s%s: cannot create new private " "buffer \"%s\""), - weechat_prefix ("error"), IRC_PLUGIN_NAME, - argv[1]); + irc_buffer_get_server_prefix (ptr_server, "error"), + IRC_PLUGIN_NAME, argv[1]); return WEECHAT_RC_ERROR; } } @@ -2574,8 +2590,8 @@ irc_command_reconnect_one_server (struct t_irc_server *server, int no_join) { weechat_printf (server->buffer, _("%s%s: not connected to server \"%s\"!"), - weechat_prefix ("error"), IRC_PLUGIN_NAME, - server->name); + irc_buffer_get_server_prefix (server, "error"), + IRC_PLUGIN_NAME, server->name); return 0; } irc_command_quit_server (server, NULL); @@ -3087,6 +3103,42 @@ irc_command_server (void *data, struct t_gui_buffer *buffer, int argc, return WEECHAT_RC_OK; } + if (weechat_strcasecmp (argv[1], "switch") == 0) + { + if (weechat_config_boolean (irc_config_look_one_server_buffer)) + { + if (irc_current_server) + { + ptr_server = irc_current_server->next_server; + while (ptr_server != irc_current_server) + { + if (ptr_server->buffer) + { + irc_current_server = ptr_server; + break; + } + ptr_server = ptr_server->next_server; + if (!ptr_server) + ptr_server = irc_servers; + } + } + else + { + for (ptr_server = irc_servers; ptr_server; + ptr_server = ptr_server->next_server) + { + if (ptr_server->buffer) + { + irc_current_server = ptr_server; + break; + } + } + } + } + weechat_bar_item_update ("buffer_name"); + return WEECHAT_RC_OK; + } + weechat_printf (NULL, _("%s%s: unknown option for \"%s\" command"), weechat_prefix ("error"), IRC_PLUGIN_NAME, "server"); @@ -3318,8 +3370,8 @@ irc_command_topic (void *data, struct t_gui_buffer *buffer, int argc, weechat_printf (ptr_server->buffer, _("%s%s: \"%s\" command can only be " "executed in a channel buffer"), - weechat_prefix ("error"), IRC_PLUGIN_NAME, - "topic"); + irc_buffer_get_server_prefix (ptr_server, "error"), + IRC_PLUGIN_NAME, "topic"); return WEECHAT_RC_ERROR; } } @@ -3413,8 +3465,8 @@ irc_command_unban (void *data, struct t_gui_buffer *buffer, int argc, weechat_printf (ptr_server->buffer, _("%s%s: \"%s\" command can only be " "executed in a channel buffer"), - weechat_prefix ("error"), IRC_PLUGIN_NAME, - "unban"); + irc_buffer_get_server_prefix (ptr_server, "error"), + IRC_PLUGIN_NAME, "unban"); return WEECHAT_RC_ERROR; } } @@ -3431,7 +3483,8 @@ irc_command_unban (void *data, struct t_gui_buffer *buffer, int argc, { weechat_printf (ptr_server->buffer, _("%s%s: wrong argument count for \"%s\" command"), - weechat_prefix ("error"), IRC_PLUGIN_NAME, "unban"); + irc_buffer_get_server_prefix (ptr_server, "error"), + IRC_PLUGIN_NAME, "unban"); return WEECHAT_RC_ERROR; } @@ -3551,7 +3604,8 @@ irc_command_voice (void *data, struct t_gui_buffer *buffer, int argc, weechat_printf (ptr_server->buffer, _("%s%s: \"%s\" command can only be " "executed in a channel buffer"), - weechat_prefix ("error"), IRC_PLUGIN_NAME, "voice"); + irc_buffer_get_server_prefix (ptr_server, "error"), + IRC_PLUGIN_NAME, "voice"); return WEECHAT_RC_ERROR; } return WEECHAT_RC_OK; @@ -4007,7 +4061,7 @@ irc_command_init () "[-auto | -noauto] [-ipv6] [-ssl]] | " "[copy servername newservername] | " "[rename servername newservername] | " - "[del servername]"), + "[del servername] | [deloutq] | [switch]"), N_(" list: list servers (no parameter implies " "this list)\n" " listfull: list servers with detailed info for " @@ -4027,8 +4081,11 @@ irc_command_init () " rename: rename a server\n" " del: delete a server\n" " deloutq: delete messages out queue for all " - "servers (all messages " - "WeeChat is currently sending)\n\n" + "servers (all messages WeeChat is currently " + "sending)\n" + " switch: switch active server (when one " + "buffer is used for all servers, default key: " + "alt-s on server buffer)\n\n" "Examples:\n" " /server listfull\n" " /server add oftc irc.oftc.net/6697 -ssl\n" @@ -4038,8 +4095,9 @@ irc_command_init () " /server copy oftc oftcbis\n" " /server rename oftc newoftc\n" " /server del freenode\n" - " /server deloutq"), - "add|copy|rename|del|deloutq|list|listfull " + " /server deloutq\n" + " /server switch"), + "add|copy|rename|del|deloutq|list|listfull|switch " "%(irc_servers) %(irc_servers)", &irc_command_server, NULL); weechat_hook_command ("servlist", diff --git a/src/plugins/irc/irc-command.h b/src/plugins/irc/irc-command.h index 5c1b1e8bd..561596342 100644 --- a/src/plugins/irc/irc-command.h +++ b/src/plugins/irc/irc-command.h @@ -25,7 +25,8 @@ struct t_irc_server; #define IRC_COMMAND_TOO_FEW_ARGUMENTS(__buffer, __command) \ weechat_printf (__buffer, \ _("%sirc: too few arguments for \"%s\" command"), \ - weechat_prefix ("error"), __command); \ + irc_buffer_get_server_prefix (ptr_server, "error"), \ + __command); \ return WEECHAT_RC_ERROR; diff --git a/src/plugins/irc/irc-config.c b/src/plugins/irc/irc-config.c index 43e641350..6355dbd4e 100644 --- a/src/plugins/irc/irc-config.c +++ b/src/plugins/irc/irc-config.c @@ -29,6 +29,7 @@ #include "../weechat-plugin.h" #include "irc.h" #include "irc-config.h" +#include "irc-buffer.h" #include "irc-ignore.h" #include "irc-server.h" @@ -144,11 +145,10 @@ irc_config_get_server_from_option_name (const char *name) void irc_config_change_one_server_buffer () { - /*if (irc_config_irc_one_server_buffer) - irc_buffer_merge_servers (gui_current_window); + if (weechat_config_boolean (irc_config_look_one_server_buffer)) + irc_buffer_merge_servers (); else - irc_buffer_split_server (gui_current_window); - */ + irc_buffer_split_server (); } /* diff --git a/src/plugins/irc/irc-debug.c b/src/plugins/irc/irc-debug.c index e4e9df0ba..303c77086 100644 --- a/src/plugins/irc/irc-debug.c +++ b/src/plugins/irc/irc-debug.c @@ -69,16 +69,17 @@ irc_debug_printf (struct t_irc_server *server, int send, int modified, irc_debug_buffer = weechat_buffer_new (IRC_DEBUG_BUFFER_NAME, NULL, NULL, &irc_debug_buffer_close_cb, NULL); + + /* failed to create buffer ? then return */ + if (!irc_debug_buffer) + return; + + weechat_buffer_set (irc_debug_buffer, + "title", _("IRC debug messages")); + + /* disabled all highlights on this debug buffer */ + weechat_buffer_set (irc_debug_buffer, "highlight_words", "-"); } - - /* failed to create buffer ? then exit */ - if (!irc_debug_buffer) - return; - - weechat_buffer_set (irc_debug_buffer, - "title", _("IRC debug messages")); - /* disabled all highlights on this debug buffer */ - weechat_buffer_set (irc_debug_buffer, "highlight_words", "-"); } buf = weechat_iconv_to_internal (NULL, message); diff --git a/src/plugins/irc/irc-protocol.c b/src/plugins/irc/irc-protocol.c index 57db6947c..13b53a48b 100644 --- a/src/plugins/irc/irc-protocol.c +++ b/src/plugins/irc/irc-protocol.c @@ -34,6 +34,7 @@ #include "../weechat-plugin.h" #include "irc.h" #include "irc-protocol.h" +#include "irc-buffer.h" #include "irc-color.h" #include "irc-command.h" #include "irc-config.h" @@ -204,7 +205,7 @@ irc_protocol_cmd_error (struct t_irc_server *server, const char *command, weechat_printf_tags (server->buffer, irc_protocol_tags (command, "irc_error"), "%s%s%s%s", - weechat_prefix ("network"), + irc_buffer_get_server_prefix (server, "network"), (chan_nick) ? chan_nick : "", (chan_nick) ? ": " : "", args); @@ -240,7 +241,7 @@ irc_protocol_cmd_invite (struct t_irc_server *server, const char *command, "irc_invite,notify_highlight", _("%sYou have been invited to %s%s%s by " "%s%s"), - weechat_prefix ("network"), + irc_buffer_get_server_prefix (server, "network"), IRC_COLOR_CHAT_CHANNEL, (argv[3][0] == ':') ? argv[3] + 1 : argv[3], IRC_COLOR_CHAT, @@ -285,8 +286,8 @@ irc_protocol_cmd_join (struct t_irc_server *server, const char *command, { weechat_printf (server->buffer, _("%s%s: cannot create new channel \"%s\""), - weechat_prefix ("error"), IRC_PLUGIN_NAME, - pos_channel); + irc_buffer_get_server_prefix (server, "error"), + IRC_PLUGIN_NAME, pos_channel); return WEECHAT_RC_ERROR; } } @@ -354,8 +355,8 @@ irc_protocol_cmd_kick (struct t_irc_server *server, const char *command, weechat_printf (server->buffer, _("%s%s: channel \"%s\" not found for " "\"%s\" command"), - weechat_prefix ("error"), IRC_PLUGIN_NAME, argv[2], - "kick"); + irc_buffer_get_server_prefix (server, "error"), + IRC_PLUGIN_NAME, argv[2], "kick"); return WEECHAT_RC_ERROR; } @@ -524,7 +525,7 @@ irc_protocol_cmd_mode (struct t_irc_server *server, const char *command, ptr_channel->buffer : server->buffer, "irc_mode", _("%sMode %s%s %s[%s%s%s]%s by %s%s"), - weechat_prefix ("network"), + (ptr_channel) ? weechat_prefix ("network") : irc_buffer_get_server_prefix (server, "network"), IRC_COLOR_CHAT_CHANNEL, (ptr_channel) ? ptr_channel->name : argv[2], IRC_COLOR_CHAT_DELIMITERS, @@ -543,7 +544,7 @@ irc_protocol_cmd_mode (struct t_irc_server *server, const char *command, weechat_printf_tags (server->buffer, "irc_mode", _("%sUser mode %s[%s%s%s]%s by %s%s"), - weechat_prefix ("network"), + irc_buffer_get_server_prefix (server, "network"), IRC_COLOR_CHAT_DELIMITERS, IRC_COLOR_CHAT, pos_modes, @@ -688,7 +689,7 @@ irc_protocol_cmd_notice (struct t_irc_server *server, const char *command, weechat_printf_tags (server->buffer, "irc_notice", _("%sCTCP %sVERSION%s reply from %s%s%s: %s"), - weechat_prefix ("network"), + irc_buffer_get_server_prefix (server, "network"), IRC_COLOR_CHAT_CHANNEL, IRC_COLOR_CHAT, IRC_COLOR_CHAT_NICK, @@ -729,7 +730,8 @@ irc_protocol_cmd_notice (struct t_irc_server *server, const char *command, "irc_notice,irc_ctcp", _("%sCTCP %sPING%s reply from " "%s%s%s: %ld.%ld %s"), - weechat_prefix ("network"), + irc_buffer_get_server_prefix (server, + "network"), IRC_COLOR_CHAT_CHANNEL, IRC_COLOR_CHAT, IRC_COLOR_CHAT_NICK, @@ -773,7 +775,8 @@ irc_protocol_cmd_notice (struct t_irc_server *server, const char *command, weechat_printf (server->buffer, _("%s%s: cannot create new " "private buffer \"%s\""), - weechat_prefix ("error"), + irc_buffer_get_server_prefix (server, + "error"), IRC_PLUGIN_NAME, nick); return WEECHAT_RC_ERROR; } @@ -795,7 +798,8 @@ irc_protocol_cmd_notice (struct t_irc_server *server, const char *command, weechat_printf_tags (server->buffer, tags, "%s%s%s %s(%s%s%s)%s: %s", - weechat_prefix ("network"), + irc_buffer_get_server_prefix (server, + "network"), IRC_COLOR_CHAT_NICK, nick, IRC_COLOR_CHAT_DELIMITERS, @@ -812,7 +816,8 @@ irc_protocol_cmd_notice (struct t_irc_server *server, const char *command, weechat_printf_tags (server->buffer, tags, "%s%s%s%s: %s", - weechat_prefix ("network"), + irc_buffer_get_server_prefix (server, + "network"), IRC_COLOR_CHAT_NICK, nick, IRC_COLOR_CHAT, @@ -823,7 +828,8 @@ irc_protocol_cmd_notice (struct t_irc_server *server, const char *command, weechat_printf_tags (server->buffer, tags, "%s%s", - weechat_prefix ("network"), + irc_buffer_get_server_prefix (server, + "network"), pos_args); } } @@ -1042,7 +1048,8 @@ irc_protocol_reply_version (struct t_irc_server *server, weechat_printf (ptr_buffer, _("%sCTCP %sVERSION%s received from %s%s%s: " "%s"), - weechat_prefix ("network"), + (ptr_buffer == server->buffer) ? + irc_buffer_get_server_prefix (server, "network") : weechat_prefix ("network"), IRC_COLOR_CHAT_CHANNEL, IRC_COLOR_CHAT, IRC_COLOR_CHAT_NICK, @@ -1054,7 +1061,8 @@ irc_protocol_reply_version (struct t_irc_server *server, { weechat_printf (ptr_buffer, _("%sCTCP %sVERSION%s received from %s%s"), - weechat_prefix ("network"), + (ptr_buffer == server->buffer) ? + irc_buffer_get_server_prefix (server, "network") : weechat_prefix ("network"), IRC_COLOR_CHAT_CHANNEL, IRC_COLOR_CHAT, IRC_COLOR_CHAT_NICK, @@ -1285,8 +1293,8 @@ irc_protocol_cmd_privmsg (struct t_irc_server *server, const char *command, weechat_printf (server->buffer, _("%s%s: channel \"%s\" not found for \"%s\" " "command"), - weechat_prefix ("error"), IRC_PLUGIN_NAME, - argv[2], "privmsg"); + irc_buffer_get_server_prefix (server, "error"), + IRC_PLUGIN_NAME, argv[2], "privmsg"); return WEECHAT_RC_ERROR; } } @@ -1330,7 +1338,8 @@ irc_protocol_cmd_privmsg (struct t_irc_server *server, const char *command, weechat_printf_tags (server->buffer, "irc_privmsg,irc_ctcp", _("%sCTCP %sPING%s received from %s%s"), - weechat_prefix ("network"), + irc_buffer_get_server_prefix (server, + "network"), IRC_COLOR_CHAT_CHANNEL, IRC_COLOR_CHAT, IRC_COLOR_CHAT_NICK, @@ -1356,8 +1365,8 @@ irc_protocol_cmd_privmsg (struct t_irc_server *server, const char *command, { weechat_printf (server->buffer, _("%s%s: cannot parse \"%s\" command"), - weechat_prefix ("error"), IRC_PLUGIN_NAME, - "privmsg"); + irc_buffer_get_server_prefix (server, "error"), + IRC_PLUGIN_NAME, "privmsg"); return WEECHAT_RC_ERROR; } @@ -1369,8 +1378,8 @@ irc_protocol_cmd_privmsg (struct t_irc_server *server, const char *command, weechat_printf (server->buffer, _("%s%s: not enough memory for \"%s\" " "command"), - weechat_prefix ("error"), IRC_PLUGIN_NAME, - "privmsg"); + irc_buffer_get_server_prefix (server, "error"), + IRC_PLUGIN_NAME, "privmsg"); return WEECHAT_RC_ERROR; } @@ -1387,8 +1396,8 @@ irc_protocol_cmd_privmsg (struct t_irc_server *server, const char *command, { weechat_printf (server->buffer, _("%s%s: cannot parse \"%s\" command"), - weechat_prefix ("error"), IRC_PLUGIN_NAME, - "privmsg"); + irc_buffer_get_server_prefix (server, "error"), + IRC_PLUGIN_NAME, "privmsg"); free (dcc_args); return WEECHAT_RC_ERROR; } @@ -1406,8 +1415,8 @@ irc_protocol_cmd_privmsg (struct t_irc_server *server, const char *command, { weechat_printf (server->buffer, _("%s%s: cannot parse \"%s\" command"), - weechat_prefix ("error"), IRC_PLUGIN_NAME, - "privmsg"); + irc_buffer_get_server_prefix (server, "error"), + IRC_PLUGIN_NAME, "privmsg"); free (dcc_args); return WEECHAT_RC_ERROR; } @@ -1425,8 +1434,8 @@ irc_protocol_cmd_privmsg (struct t_irc_server *server, const char *command, { weechat_printf (server->buffer, _("%s%s: cannot parse \"%s\" command"), - weechat_prefix ("error"), IRC_PLUGIN_NAME, - "privmsg"); + irc_buffer_get_server_prefix (server, "error"), + IRC_PLUGIN_NAME, "privmsg"); free (dcc_args); return WEECHAT_RC_ERROR; } @@ -1485,8 +1494,8 @@ irc_protocol_cmd_privmsg (struct t_irc_server *server, const char *command, { weechat_printf (server->buffer, _("%s%s: cannot parse \"%s\" command"), - weechat_prefix ("error"), IRC_PLUGIN_NAME, - "privmsg"); + irc_buffer_get_server_prefix (server, "error"), + IRC_PLUGIN_NAME, "privmsg"); return WEECHAT_RC_ERROR; } @@ -1498,8 +1507,8 @@ irc_protocol_cmd_privmsg (struct t_irc_server *server, const char *command, weechat_printf (server->buffer, _("%s%s: not enough memory for \"%s\" " "command"), - weechat_prefix ("error"), IRC_PLUGIN_NAME, - "privmsg"); + irc_buffer_get_server_prefix (server, "error"), + IRC_PLUGIN_NAME, "privmsg"); return WEECHAT_RC_ERROR; } @@ -1516,8 +1525,8 @@ irc_protocol_cmd_privmsg (struct t_irc_server *server, const char *command, { weechat_printf (server->buffer, _("%s%s: cannot parse \"%s\" command"), - weechat_prefix ("error"), IRC_PLUGIN_NAME, - "privmsg"); + irc_buffer_get_server_prefix (server, "error"), + IRC_PLUGIN_NAME, "privmsg"); free (dcc_args); return WEECHAT_RC_ERROR; } @@ -1535,8 +1544,8 @@ irc_protocol_cmd_privmsg (struct t_irc_server *server, const char *command, { weechat_printf (server->buffer, _("%s%s: cannot parse \"%s\" command"), - weechat_prefix ("error"), IRC_PLUGIN_NAME, - "privmsg"); + irc_buffer_get_server_prefix (server, "error"), + IRC_PLUGIN_NAME, "privmsg"); free (dcc_args); return WEECHAT_RC_ERROR; } @@ -1591,8 +1600,8 @@ irc_protocol_cmd_privmsg (struct t_irc_server *server, const char *command, { weechat_printf (server->buffer, _("%s%s: cannot parse \"%s\" command"), - weechat_prefix ("error"), IRC_PLUGIN_NAME, - "privmsg"); + irc_buffer_get_server_prefix (server, "error"), + IRC_PLUGIN_NAME, "privmsg"); return WEECHAT_RC_ERROR; } @@ -1604,8 +1613,8 @@ irc_protocol_cmd_privmsg (struct t_irc_server *server, const char *command, weechat_printf (server->buffer, _("%s%s: not enough memory for \"%s\" " "command"), - weechat_prefix ("error"), IRC_PLUGIN_NAME, - "privmsg"); + irc_buffer_get_server_prefix (server, "error"), + IRC_PLUGIN_NAME, "privmsg"); return WEECHAT_RC_ERROR; } @@ -1622,8 +1631,8 @@ irc_protocol_cmd_privmsg (struct t_irc_server *server, const char *command, { weechat_printf (server->buffer, _("%s%s: cannot parse \"%s\" command"), - weechat_prefix ("error"), IRC_PLUGIN_NAME, - "privmsg"); + irc_buffer_get_server_prefix (server, "error"), + IRC_PLUGIN_NAME, "privmsg"); free (dcc_args); return WEECHAT_RC_ERROR; } @@ -1641,8 +1650,8 @@ irc_protocol_cmd_privmsg (struct t_irc_server *server, const char *command, { weechat_printf (server->buffer, _("%s%s: cannot parse \"%s\" command"), - weechat_prefix ("error"), IRC_PLUGIN_NAME, - "privmsg"); + irc_buffer_get_server_prefix (server, "error"), + IRC_PLUGIN_NAME, "privmsg"); free (dcc_args); return WEECHAT_RC_ERROR; } @@ -1697,8 +1706,8 @@ irc_protocol_cmd_privmsg (struct t_irc_server *server, const char *command, { weechat_printf (server->buffer, _("%s%s: cannot parse \"%s\" command"), - weechat_prefix ("error"), IRC_PLUGIN_NAME, - "privmsg"); + irc_buffer_get_server_prefix (server, "error"), + IRC_PLUGIN_NAME, "privmsg"); return WEECHAT_RC_ERROR; } @@ -1710,8 +1719,8 @@ irc_protocol_cmd_privmsg (struct t_irc_server *server, const char *command, weechat_printf (server->buffer, _("%s%s: not enough memory for \"%s\" " "command"), - weechat_prefix ("error"), IRC_PLUGIN_NAME, - "privmsg"); + irc_buffer_get_server_prefix (server, "error"), + IRC_PLUGIN_NAME, "privmsg"); return WEECHAT_RC_ERROR; } @@ -1728,8 +1737,8 @@ irc_protocol_cmd_privmsg (struct t_irc_server *server, const char *command, { weechat_printf (server->buffer, _("%s%s: cannot parse \"%s\" command"), - weechat_prefix ("error"), IRC_PLUGIN_NAME, - "privmsg"); + irc_buffer_get_server_prefix (server, "error"), + IRC_PLUGIN_NAME, "privmsg"); free (dcc_args); return WEECHAT_RC_ERROR; } @@ -1746,8 +1755,8 @@ irc_protocol_cmd_privmsg (struct t_irc_server *server, const char *command, { weechat_printf (server->buffer, _("%s%s: cannot parse \"%s\" command"), - weechat_prefix ("error"), IRC_PLUGIN_NAME, - "privmsg"); + irc_buffer_get_server_prefix (server, "error"), + IRC_PLUGIN_NAME, "privmsg"); free (dcc_args); return WEECHAT_RC_ERROR; } @@ -1763,7 +1772,8 @@ irc_protocol_cmd_privmsg (struct t_irc_server *server, const char *command, weechat_printf (server->buffer, _("%s%s: unknown DCC CHAT type " "received from %s%s%s: \"%s\""), - weechat_prefix ("error"), IRC_PLUGIN_NAME, + irc_buffer_get_server_prefix (server, "error"), + IRC_PLUGIN_NAME, IRC_COLOR_CHAT_NICK, nick, IRC_COLOR_CHAT, @@ -1822,7 +1832,8 @@ irc_protocol_cmd_privmsg (struct t_irc_server *server, const char *command, weechat_printf (server->buffer, _("%s%s: cannot create new " "private buffer \"%s\""), - weechat_prefix ("error"), + irc_buffer_get_server_prefix (server, + "error"), IRC_PLUGIN_NAME, nick); return WEECHAT_RC_ERROR; } @@ -1883,7 +1894,8 @@ irc_protocol_cmd_privmsg (struct t_irc_server *server, const char *command, "irc_privmsg,irc_ctcp", _("%sUnknown CTCP %s%s%s " "received from %s%s%s: %s"), - weechat_prefix ("network"), + irc_buffer_get_server_prefix (server, + "network"), IRC_COLOR_CHAT_CHANNEL, pos_args, IRC_COLOR_CHAT, @@ -1898,7 +1910,8 @@ irc_protocol_cmd_privmsg (struct t_irc_server *server, const char *command, "irc_privmsg,irc_ctcp", _("%sUnknown CTCP %s%s%s " "received from %s%s"), - weechat_prefix ("network"), + irc_buffer_get_server_prefix (server, + "network"), IRC_COLOR_CHAT_CHANNEL, pos_args, IRC_COLOR_CHAT, @@ -1930,7 +1943,8 @@ irc_protocol_cmd_privmsg (struct t_irc_server *server, const char *command, weechat_printf (server->buffer, _("%s%s: cannot create new " "private buffer \"%s\""), - weechat_prefix ("error"), + irc_buffer_get_server_prefix (server, + "error"), IRC_PLUGIN_NAME, nick); return WEECHAT_RC_ERROR; } @@ -2063,7 +2077,7 @@ irc_protocol_cmd_server_mode_reason (struct t_irc_server *server, const char *co weechat_printf_tags (server->buffer, irc_protocol_tags (command, "irc_numeric"), "%s%s: %s", - weechat_prefix ("network"), + irc_buffer_get_server_prefix (server, "network"), pos_mode, (pos_args) ? pos_args : ""); @@ -2098,7 +2112,7 @@ irc_protocol_cmd_numeric (struct t_irc_server *server, const char *command, weechat_printf_tags (server->buffer, irc_protocol_tags (command, "irc_numeric"), "%s%s", - weechat_prefix ("network"), + irc_buffer_get_server_prefix (server, "network"), pos_args); return WEECHAT_RC_OK; @@ -2114,7 +2128,7 @@ irc_protocol_cmd_topic (struct t_irc_server *server, const char *command, { char *pos_topic, *topic_color; struct t_irc_channel *ptr_channel; - struct t_gui_buffer *buffer; + struct t_gui_buffer *ptr_buffer; /* TOPIC message looks like: :nick!user@host TOPIC #channel :new topic for channel @@ -2127,7 +2141,8 @@ irc_protocol_cmd_topic (struct t_irc_server *server, const char *command, { weechat_printf (server->buffer, _("%s%s: \"%s\" command received without channel"), - weechat_prefix ("error"), IRC_PLUGIN_NAME, "topic"); + irc_buffer_get_server_prefix (server, "error"), + IRC_PLUGIN_NAME, "topic"); return WEECHAT_RC_ERROR; } @@ -2135,7 +2150,7 @@ irc_protocol_cmd_topic (struct t_irc_server *server, const char *command, ((argv_eol[3][0] == ':') ? argv_eol[3] + 1 : argv_eol[3]) : NULL; ptr_channel = irc_channel_search (server, argv[2]); - buffer = (ptr_channel) ? ptr_channel->buffer : server->buffer; + ptr_buffer = (ptr_channel) ? ptr_channel->buffer : server->buffer; if (!irc_ignore_check (server, ptr_channel, nick, host)) { @@ -2143,11 +2158,12 @@ irc_protocol_cmd_topic (struct t_irc_server *server, const char *command, { topic_color = irc_color_decode (pos_topic, weechat_config_boolean (irc_config_network_colors_receive)); - weechat_printf_tags (buffer, + weechat_printf_tags (ptr_buffer, "irc_topic", _("%s%s%s%s has changed topic for %s%s%s to: " "\"%s%s\""), - weechat_prefix ("network"), + (ptr_buffer == server->buffer) ? + irc_buffer_get_server_prefix (server, "network") : weechat_prefix ("network"), IRC_COLOR_CHAT_NICK, nick, IRC_COLOR_CHAT, @@ -2161,10 +2177,11 @@ irc_protocol_cmd_topic (struct t_irc_server *server, const char *command, } else { - weechat_printf_tags (buffer, + weechat_printf_tags (ptr_buffer, "irc_topic", _("%s%s%s%s has unset topic for %s%s"), - weechat_prefix ("network"), + (ptr_buffer == server->buffer) ? + irc_buffer_get_server_prefix (server, "network") : weechat_prefix ("network"), IRC_COLOR_CHAT_NICK, nick, IRC_COLOR_CHAT, @@ -2199,7 +2216,7 @@ irc_protocol_cmd_wallops (struct t_irc_server *server, const char *command, weechat_printf_tags (server->buffer, "irc_wallops", _("%sWallops from %s%s %s(%s%s%s)%s: %s"), - weechat_prefix ("network"), + irc_buffer_get_server_prefix (server, "network"), IRC_COLOR_CHAT_NICK, nick, IRC_COLOR_CHAT_DELIMITERS, @@ -2343,7 +2360,7 @@ irc_protocol_cmd_221 (struct t_irc_server *server, const char *command, weechat_printf_tags (server->buffer, irc_protocol_tags (command, "irc_numeric"), _("%sUser mode for %s%s%s is %s[%s%s%s]"), - weechat_prefix ("network"), + irc_buffer_get_server_prefix (server, "network"), IRC_COLOR_CHAT_NICK, argv[2], IRC_COLOR_CHAT, @@ -2390,7 +2407,8 @@ irc_protocol_cmd_301 (struct t_irc_server *server, const char *command, weechat_printf_tags (ptr_buffer, irc_protocol_tags (command, "irc_numeric"), _("%s%s[%s%s%s]%s is away: %s"), - weechat_prefix ("network"), + (ptr_buffer == server->buffer) ? + irc_buffer_get_server_prefix (server, "network") : weechat_prefix ("network"), IRC_COLOR_CHAT_DELIMITERS, IRC_COLOR_CHAT_NICK, argv[3], @@ -2429,7 +2447,7 @@ irc_protocol_cmd_303 (struct t_irc_server *server, const char *command, weechat_printf_tags (server->buffer, irc_protocol_tags (command, "irc_numeric"), _("%sUsers online: %s%s"), - weechat_prefix ("network"), + irc_buffer_get_server_prefix (server, "network"), IRC_COLOR_CHAT_NICK, (argv_eol[3][0] == ':') ? argv_eol[3] + 1 : argv_eol[3]); @@ -2458,7 +2476,7 @@ irc_protocol_cmd_305 (struct t_irc_server *server, const char *command, weechat_printf_tags (server->buffer, irc_protocol_tags (command, "irc_numeric"), "%s%s", - weechat_prefix ("network"), + irc_buffer_get_server_prefix (server, "network"), (argv_eol[3][0] == ':') ? argv_eol[3] + 1 : argv_eol[3]); } @@ -2500,7 +2518,7 @@ irc_protocol_cmd_306 (struct t_irc_server *server, const char *command, weechat_printf_tags (server->buffer, irc_protocol_tags (command, "irc_numeric"), "%s%s", - weechat_prefix ("network"), + irc_buffer_get_server_prefix (server, "network"), (argv_eol[3][0] == ':') ? argv_eol[3] + 1 : argv_eol[3]); } @@ -2543,7 +2561,7 @@ irc_protocol_cmd_whois_nick_msg (struct t_irc_server *server, const char *comman weechat_printf_tags (server->buffer, irc_protocol_tags (command, "irc_numeric"), "%s%s[%s%s%s] %s%s", - weechat_prefix ("network"), + irc_buffer_get_server_prefix (server, "network"), IRC_COLOR_CHAT_DELIMITERS, IRC_COLOR_CHAT_NICK, argv[3], @@ -2571,7 +2589,7 @@ irc_protocol_cmd_311 (struct t_irc_server *server, const char *command, weechat_printf_tags (server->buffer, irc_protocol_tags (command, "irc_numeric"), "%s%s[%s%s%s] (%s%s@%s%s)%s: %s", - weechat_prefix ("network"), + irc_buffer_get_server_prefix (server, "network"), IRC_COLOR_CHAT_DELIMITERS, IRC_COLOR_CHAT_NICK, argv[3], @@ -2603,7 +2621,7 @@ irc_protocol_cmd_312 (struct t_irc_server *server, const char *command, weechat_printf_tags (server->buffer, irc_protocol_tags(command, "irc_numeric"), "%s%s[%s%s%s] %s%s %s(%s%s%s)", - weechat_prefix ("network"), + irc_buffer_get_server_prefix (server, "network"), IRC_COLOR_CHAT_DELIMITERS, IRC_COLOR_CHAT_NICK, argv[3], @@ -2635,7 +2653,7 @@ irc_protocol_cmd_314 (struct t_irc_server *server, const char *command, weechat_printf_tags (server->buffer, irc_protocol_tags(command, "irc_numeric"), _("%s%s%s %s(%s%s@%s%s)%s was %s"), - weechat_prefix ("network"), + irc_buffer_get_server_prefix (server, "network"), IRC_COLOR_CHAT_NICK, argv[3], IRC_COLOR_CHAT_DELIMITERS, @@ -2675,7 +2693,7 @@ irc_protocol_cmd_315 (struct t_irc_server *server, const char *command, weechat_printf_tags (server->buffer, irc_protocol_tags(command, "irc_numeric"), "%s%s[%s%s%s]%s %s", - weechat_prefix ("network"), + irc_buffer_get_server_prefix (server, "network"), IRC_COLOR_CHAT_DELIMITERS, IRC_COLOR_CHAT_CHANNEL, argv[3], @@ -2722,7 +2740,7 @@ irc_protocol_cmd_317 (struct t_irc_server *server, const char *command, _("%s%s[%s%s%s]%s idle: %s%d %s%s, " "%s%02d %s%s %s%02d %s%s %s%02d " "%s%s, signon at: %s%s"), - weechat_prefix ("network"), + irc_buffer_get_server_prefix (server, "network"), IRC_COLOR_CHAT_DELIMITERS, IRC_COLOR_CHAT_NICK, argv[3], @@ -2754,7 +2772,7 @@ irc_protocol_cmd_317 (struct t_irc_server *server, const char *command, _("%s%s[%s%s%s]%s idle: %s%02d %s%s " "%s%02d %s%s %s%02d %s%s, " "signon at: %s%s"), - weechat_prefix ("network"), + irc_buffer_get_server_prefix (server, "network"), IRC_COLOR_CHAT_DELIMITERS, IRC_COLOR_CHAT_NICK, argv[3], @@ -2801,7 +2819,7 @@ irc_protocol_cmd_321 (struct t_irc_server *server, const char *command, weechat_printf_tags (server->buffer, irc_protocol_tags(command, "irc_numeric"), "%s%s%s%s", - weechat_prefix ("network"), + irc_buffer_get_server_prefix (server, "network"), argv[3], (pos_args) ? " " : "", (pos_args) ? pos_args : ""); @@ -2834,7 +2852,7 @@ irc_protocol_cmd_322 (struct t_irc_server *server, const char *command, weechat_printf_tags (server->buffer, irc_protocol_tags(command, "irc_numeric"), "%s%s%s%s(%s%s%s)%s%s%s", - weechat_prefix ("network"), + irc_buffer_get_server_prefix (server, "network"), IRC_COLOR_CHAT_CHANNEL, argv[3], IRC_COLOR_CHAT_DELIMITERS, @@ -2874,7 +2892,7 @@ irc_protocol_cmd_323 (struct t_irc_server *server, const char *command, weechat_printf_tags (server->buffer, irc_protocol_tags(command, "irc_numeric"), "%s%s", - weechat_prefix ("network"), + irc_buffer_get_server_prefix (server, "network"), (pos_args && pos_args[0]) ? pos_args : ""); return WEECHAT_RC_OK; @@ -2947,7 +2965,7 @@ irc_protocol_cmd_327 (struct t_irc_server *server, const char *command, weechat_printf_tags (server->buffer, irc_protocol_tags(command, "irc_numeric"), "%s%s[%s%s%s] %s%s %s %s(%s%s%s)", - weechat_prefix ("network"), + irc_buffer_get_server_prefix (server, "network"), IRC_COLOR_CHAT_DELIMITERS, IRC_COLOR_CHAT_NICK, argv[3], @@ -2965,7 +2983,7 @@ irc_protocol_cmd_327 (struct t_irc_server *server, const char *command, weechat_printf_tags (server->buffer, irc_protocol_tags(command, "irc_numeric"), "%s%s[%s%s%s] %s%s %s", - weechat_prefix ("network"), + irc_buffer_get_server_prefix (server, "network"), IRC_COLOR_CHAT_DELIMITERS, IRC_COLOR_CHAT_NICK, argv[3], @@ -3017,7 +3035,7 @@ irc_protocol_cmd_329 (struct t_irc_server *server, const char *command, weechat_printf_tags (server->buffer, irc_protocol_tags(command, "irc_numeric"), _("%sChannel %s%s%s created on %s"), - weechat_prefix ("network"), + irc_buffer_get_server_prefix (server, "network"), IRC_COLOR_CHAT_CHANNEL, argv[3], IRC_COLOR_CHAT, @@ -3036,6 +3054,7 @@ irc_protocol_cmd_331 (struct t_irc_server *server, const char *command, int argc, char **argv, char **argv_eol) { struct t_irc_channel *ptr_channel; + struct t_gui_buffer *ptr_buffer; /* 331 message looks like: :server 331 mynick #channel :There isn't a topic. @@ -3047,11 +3066,12 @@ irc_protocol_cmd_331 (struct t_irc_server *server, const char *command, (void) argv_eol; ptr_channel = irc_channel_search (server, argv[3]); - weechat_printf_tags ((ptr_channel) ? - ptr_channel->buffer : server->buffer, + ptr_buffer = (ptr_channel) ? ptr_channel->buffer : server->buffer; + weechat_printf_tags (ptr_buffer, irc_protocol_tags(command, "irc_numeric"), _("%sNo topic set for channel %s%s"), - weechat_prefix ("network"), + (ptr_buffer == server->buffer) ? + irc_buffer_get_server_prefix (server, "network") : weechat_prefix ("network"), IRC_COLOR_CHAT_CHANNEL, argv[3]); @@ -3068,6 +3088,7 @@ irc_protocol_cmd_332 (struct t_irc_server *server, const char *command, { char *pos_topic; struct t_irc_channel *ptr_channel; + struct t_gui_buffer *ptr_buffer; /* 332 message looks like: :server 332 mynick #channel :topic of channel @@ -3080,13 +3101,18 @@ irc_protocol_cmd_332 (struct t_irc_server *server, const char *command, ptr_channel = irc_channel_search (server, argv[3]); if (ptr_channel && ptr_channel->nicks) + { irc_channel_set_topic (ptr_channel, pos_topic); + ptr_buffer = ptr_channel->buffer; + } + else + ptr_buffer = server->buffer; - weechat_printf_tags ((ptr_channel && ptr_channel->nicks) ? - ptr_channel->buffer : server->buffer, + weechat_printf_tags (ptr_buffer, irc_protocol_tags(command, "irc_numeric"), _("%sTopic for %s%s%s is: \"%s%s\""), - weechat_prefix ("network"), + (ptr_buffer == server->buffer) ? + irc_buffer_get_server_prefix (server, "network") : weechat_prefix ("network"), IRC_COLOR_CHAT_CHANNEL, argv[3], IRC_COLOR_CHAT, @@ -3132,7 +3158,7 @@ irc_protocol_cmd_333 (struct t_irc_server *server, const char *command, weechat_printf_tags (server->buffer, irc_protocol_tags(command, "irc_numeric"), _("%sTopic for %s%s%s set by %s%s%s on %s"), - weechat_prefix ("network"), + irc_buffer_get_server_prefix (server, "network"), IRC_COLOR_CHAT_CHANNEL, argv[3], IRC_COLOR_CHAT, @@ -3162,7 +3188,7 @@ irc_protocol_cmd_338 (struct t_irc_server *server, const char *command, weechat_printf_tags (server->buffer, irc_protocol_tags(command, "irc_numeric"), "%s%s[%s%s%s]%s %s %s%s", - weechat_prefix ("network"), + irc_buffer_get_server_prefix (server, "network"), IRC_COLOR_CHAT_DELIMITERS, IRC_COLOR_CHAT_NICK, argv[3], @@ -3195,7 +3221,7 @@ irc_protocol_cmd_341 (struct t_irc_server *server, const char *command, weechat_printf_tags (server->buffer, irc_protocol_tags(command, "irc_numeric"), _("%s%s%s%s has invited %s%s%s on %s%s"), - weechat_prefix ("network"), + irc_buffer_get_server_prefix (server, "network"), IRC_COLOR_CHAT_NICK, argv[2], IRC_COLOR_CHAT, @@ -3225,7 +3251,7 @@ irc_protocol_cmd_344 (struct t_irc_server *server, const char *command, weechat_printf_tags (server->buffer, irc_protocol_tags(command, "irc_numeric"), _("%sChannel reop %s%s%s: %s%s"), - weechat_prefix ("network"), + irc_buffer_get_server_prefix (server, "network"), IRC_COLOR_CHAT_CHANNEL, argv[3], IRC_COLOR_CHAT, @@ -3252,7 +3278,7 @@ irc_protocol_cmd_345 (struct t_irc_server *server, const char *command, weechat_printf_tags (server->buffer, irc_protocol_tags(command, "irc_numeric"), "%s%s%s%s: %s", - weechat_prefix ("network"), + irc_buffer_get_server_prefix (server, "network"), IRC_COLOR_CHAT_CHANNEL, argv[3], IRC_COLOR_CHAT, @@ -3270,6 +3296,7 @@ irc_protocol_cmd_348 (struct t_irc_server *server, const char *command, int argc, char **argv, char **argv_eol) { struct t_irc_channel *ptr_channel; + struct t_gui_buffer *ptr_buffer; time_t datetime; /* 348 message looks like: @@ -3283,15 +3310,17 @@ irc_protocol_cmd_348 (struct t_irc_server *server, const char *command, (void) argv_eol; ptr_channel = irc_channel_search (server, argv[3]); + ptr_buffer = (ptr_channel && ptr_channel->nicks) ? + ptr_channel->buffer : server->buffer; if (argc >= 7) { datetime = (time_t)(atol (argv[6])); - weechat_printf_tags ((ptr_channel && ptr_channel->nicks) ? - ptr_channel->buffer : server->buffer, + weechat_printf_tags (ptr_buffer, irc_protocol_tags(command, "irc_numeric"), _("%s%s[%s%s%s]%s exception %s%s%s " "by %s%s %s(%s%s%s)%s on %s"), - weechat_prefix ("network"), + (ptr_buffer == server->buffer) ? + irc_buffer_get_server_prefix (server, "network") : weechat_prefix ("network"), IRC_COLOR_CHAT_DELIMITERS, IRC_COLOR_CHAT_CHANNEL, argv[3], @@ -3311,11 +3340,11 @@ irc_protocol_cmd_348 (struct t_irc_server *server, const char *command, } else { - weechat_printf_tags ((ptr_channel && ptr_channel->nicks) ? - ptr_channel->buffer : server->buffer, + weechat_printf_tags (ptr_buffer, irc_protocol_tags(command, "irc_numeric"), _("%s%s[%s%s%s]%s exception %s%s"), - weechat_prefix ("network"), + (ptr_buffer == server->buffer) ? + irc_buffer_get_server_prefix (server, "network") : weechat_prefix ("network"), IRC_COLOR_CHAT_DELIMITERS, IRC_COLOR_CHAT_CHANNEL, argv[3], @@ -3338,6 +3367,7 @@ irc_protocol_cmd_349 (struct t_irc_server *server, const char *command, { char *pos_args; struct t_irc_channel *ptr_channel; + struct t_gui_buffer *ptr_buffer; /* 349 message looks like: :server 349 mynick #channel :End of Channel Exception List @@ -3349,11 +3379,13 @@ irc_protocol_cmd_349 (struct t_irc_server *server, const char *command, ((argv_eol[4][0] == ':') ? argv_eol[4] + 1 : argv_eol[4]) : NULL; ptr_channel = irc_channel_search (server, argv[3]); - weechat_printf_tags ((ptr_channel && ptr_channel->nicks) ? - ptr_channel->buffer : server->buffer, + ptr_buffer = (ptr_channel && ptr_channel->nicks) ? + ptr_channel->buffer : server->buffer; + weechat_printf_tags (ptr_buffer, irc_protocol_tags (command, "irc_numeric"), "%s%s[%s%s%s]%s%s%s", - weechat_prefix ("network"), + (ptr_buffer == server->buffer) ? + irc_buffer_get_server_prefix (server, "network") : weechat_prefix ("network"), IRC_COLOR_CHAT_DELIMITERS, IRC_COLOR_CHAT_CHANNEL, argv[3], @@ -3384,7 +3416,7 @@ irc_protocol_cmd_351 (struct t_irc_server *server, const char *command, weechat_printf_tags (server->buffer, irc_protocol_tags (command, "irc_numeric"), "%s%s %s (%s)", - weechat_prefix ("network"), + irc_buffer_get_server_prefix (server, "network"), argv[3], argv[4], (argv_eol[5][0] == ':') ? argv_eol[5] + 1 : argv_eol[5]); @@ -3394,7 +3426,7 @@ irc_protocol_cmd_351 (struct t_irc_server *server, const char *command, weechat_printf_tags (server->buffer, irc_protocol_tags (command, "irc_numeric"), "%s%s %s", - weechat_prefix ("network"), + irc_buffer_get_server_prefix (server, "network"), argv[3], argv[4]); } @@ -3461,7 +3493,7 @@ irc_protocol_cmd_352 (struct t_irc_server *server, const char *command, irc_protocol_tags (command, "irc_numeric"), "%s%s[%s%s%s] %s%s%s(%s%s@%s%s)%s " "%s%s%s%s(%s)", - weechat_prefix ("network"), + irc_buffer_get_server_prefix (server, "network"), IRC_COLOR_CHAT_DELIMITERS, IRC_COLOR_CHAT_CHANNEL, argv[3], @@ -3586,8 +3618,8 @@ irc_protocol_cmd_353 (struct t_irc_server *server, const char *command, weechat_printf (server->buffer, _("%s%s: cannot create nick \"%s\" " "for channel \"%s\""), - weechat_prefix ("error"), IRC_PLUGIN_NAME, - pos_nick, ptr_channel->name); + irc_buffer_get_server_prefix (server, "error"), + IRC_PLUGIN_NAME, pos_nick, ptr_channel->name); } } } @@ -3597,7 +3629,7 @@ irc_protocol_cmd_353 (struct t_irc_server *server, const char *command, weechat_printf_tags (server->buffer, irc_protocol_tags (command, "irc_numeric"), _("%sNicks %s%s%s: %s[%s%s%s]"), - weechat_prefix ("network"), + irc_buffer_get_server_prefix (server, "network"), IRC_COLOR_CHAT_CHANNEL, pos_channel, IRC_COLOR_CHAT, @@ -3740,7 +3772,7 @@ irc_protocol_cmd_366 (struct t_irc_server *server, const char *command, weechat_printf_tags (server->buffer, irc_protocol_tags (command, "irc_numeric"), "%s%s%s%s: %s", - weechat_prefix ("network"), + irc_buffer_get_server_prefix (server, "network"), IRC_COLOR_CHAT_CHANNEL, argv[3], IRC_COLOR_CHAT, @@ -3759,6 +3791,7 @@ irc_protocol_cmd_367 (struct t_irc_server *server, const char *command, int argc, char **argv, char **argv_eol) { struct t_irc_channel *ptr_channel; + struct t_gui_buffer *ptr_buffer; time_t datetime; /* 367 message looks like: @@ -3771,15 +3804,17 @@ irc_protocol_cmd_367 (struct t_irc_server *server, const char *command, (void) argv_eol; ptr_channel = irc_channel_search (server, argv[3]); + ptr_buffer = (ptr_channel && ptr_channel->nicks) ? + ptr_channel->buffer : server->buffer; if (argc >= 7) { datetime = (time_t)(atol (argv[6])); - weechat_printf_tags ((ptr_channel && ptr_channel->nicks) ? - ptr_channel->buffer : server->buffer, + weechat_printf_tags (ptr_buffer, irc_protocol_tags (command, "irc_numeric"), _("%s%s[%s%s%s] %s%s%s banned by " "%s%s %s(%s%s%s)%s on %s"), - weechat_prefix ("network"), + (ptr_buffer == server->buffer) ? + irc_buffer_get_server_prefix (server, "network") : weechat_prefix ("network"), IRC_COLOR_CHAT_DELIMITERS, IRC_COLOR_CHAT_CHANNEL, argv[3], @@ -3798,12 +3833,12 @@ irc_protocol_cmd_367 (struct t_irc_server *server, const char *command, } else { - weechat_printf_tags ((ptr_channel && ptr_channel->nicks) ? - ptr_channel->buffer : server->buffer, + weechat_printf_tags (ptr_buffer, irc_protocol_tags (command, "irc_numeric"), _("%s%s[%s%s%s] %s%s%s banned by " "%s%s %s(%s%s%s)"), - weechat_prefix ("network"), + (ptr_buffer == server->buffer) ? + irc_buffer_get_server_prefix (server, "network") : weechat_prefix ("network"), IRC_COLOR_CHAT_DELIMITERS, IRC_COLOR_CHAT_CHANNEL, argv[3], @@ -3832,6 +3867,7 @@ irc_protocol_cmd_368 (struct t_irc_server *server, const char *command, { char *pos_args; struct t_irc_channel *ptr_channel; + struct t_gui_buffer *ptr_buffer; /* 368 message looks like: :server 368 mynick #channel :End of Channel Ban List @@ -3843,11 +3879,13 @@ irc_protocol_cmd_368 (struct t_irc_server *server, const char *command, ((argv_eol[4][0] == ':') ? argv_eol[4] + 1 : argv_eol[4]) : NULL; ptr_channel = irc_channel_search (server, argv[3]); - weechat_printf_tags ((ptr_channel && ptr_channel->nicks) ? - ptr_channel->buffer : server->buffer, + ptr_buffer = (ptr_channel && ptr_channel->nicks) ? + ptr_channel->buffer : server->buffer; + weechat_printf_tags (ptr_buffer, irc_protocol_tags (command, "irc_numeric"), "%s%s[%s%s%s]%s%s%s", - weechat_prefix ("network"), + (ptr_buffer == server->buffer) ? + irc_buffer_get_server_prefix (server, "network") : weechat_prefix ("network"), IRC_COLOR_CHAT_DELIMITERS, IRC_COLOR_CHAT_CHANNEL, argv[3], @@ -3896,7 +3934,8 @@ irc_protocol_cmd_432 (struct t_irc_server *server, const char *command, _("%s%s: all declared nicknames are " "already in use or invalid, closing " "connection with server"), - weechat_prefix ("error"), IRC_PLUGIN_NAME); + irc_buffer_get_server_prefix (server, "error"), + IRC_PLUGIN_NAME); irc_server_disconnect (server, 1); return WEECHAT_RC_OK; } @@ -3904,8 +3943,8 @@ irc_protocol_cmd_432 (struct t_irc_server *server, const char *command, weechat_printf (server->buffer, _("%s%s: nickname \"%s\" is invalid, " "trying nickname #%d (\"%s\")"), - weechat_prefix ("error"), IRC_PLUGIN_NAME, - server->nick, nick_to_use + 1, + irc_buffer_get_server_prefix (server, "error"), + IRC_PLUGIN_NAME, server->nick, nick_to_use + 1, server->nicks_array[nick_to_use]); irc_server_set_nick (server, server->nicks_array[nick_to_use]); @@ -3951,14 +3990,16 @@ irc_protocol_cmd_433 (struct t_irc_server *server, const char *command, _("%s%s: all declared nicknames are " "already in use, closing " "connection with server"), - weechat_prefix ("error"), IRC_PLUGIN_NAME); + irc_buffer_get_server_prefix (server, "error"), + IRC_PLUGIN_NAME); irc_server_disconnect (server, 1); return WEECHAT_RC_OK; } weechat_printf (server->buffer, - _("%s: nickname \"%s\" is already in use, " + _("%s%s: nickname \"%s\" is already in use, " "trying nickname #%d (\"%s\")"), + irc_buffer_get_server_prefix (server, NULL), IRC_PLUGIN_NAME, server->nick, nick_to_use + 1, server->nicks_array[nick_to_use]); @@ -3993,7 +4034,7 @@ irc_protocol_cmd_438 (struct t_irc_server *server, const char *command, weechat_printf_tags (server->buffer, irc_protocol_tags (command, "irc_numeric"), "%s%s (%s => %s)", - weechat_prefix ("network"), + irc_buffer_get_server_prefix (server, "network"), (argv_eol[4][0] == ':') ? argv_eol[4] + 1 : argv_eol[4], argv[2], argv[3]); @@ -4003,7 +4044,7 @@ irc_protocol_cmd_438 (struct t_irc_server *server, const char *command, weechat_printf_tags (server->buffer, irc_protocol_tags (command, "irc_numeric"), "%s%s %s", - weechat_prefix ("network"), + irc_buffer_get_server_prefix (server, "network"), argv[2], argv[3]); } @@ -4030,7 +4071,7 @@ irc_protocol_cmd_901 (struct t_irc_server *server, const char *command, weechat_printf_tags (server->buffer, irc_protocol_tags (command, "irc_numeric"), "%s%s", - weechat_prefix ("network"), + irc_buffer_get_server_prefix (server, "network"), (argv_eol[6][0] == ':') ? argv_eol[6] + 1 : argv_eol[6]); } else @@ -4226,11 +4267,12 @@ irc_protocol_recv_command (struct t_irc_server *server, const char *entire_line, { weechat_printf (server->buffer, _("%s%s: command \"%s\" not found:"), - weechat_prefix ("error"), IRC_PLUGIN_NAME, - command); + irc_buffer_get_server_prefix (server, "error"), + IRC_PLUGIN_NAME, command); weechat_printf (server->buffer, "%s%s", - weechat_prefix ("error"), entire_line); + irc_buffer_get_server_prefix (server, "error"), + entire_line); return; } } @@ -4274,11 +4316,12 @@ irc_protocol_recv_command (struct t_irc_server *server, const char *entire_line, weechat_printf (server->buffer, _("%s%s: failed to parse command \"%s\" (please " "report to developers):"), - weechat_prefix ("error"), IRC_PLUGIN_NAME, - command); + irc_buffer_get_server_prefix (server, "error"), + IRC_PLUGIN_NAME, command); weechat_printf (server->buffer, "%s%s", - weechat_prefix ("error"), entire_line); + irc_buffer_get_server_prefix (server, "error"), + entire_line); } /* send signal with received command */ diff --git a/src/plugins/irc/irc-protocol.h b/src/plugins/irc/irc-protocol.h index 3f39d2254..29b56bfac 100644 --- a/src/plugins/irc/irc-protocol.h +++ b/src/plugins/irc/irc-protocol.h @@ -41,8 +41,8 @@ _("%s%s: too few arguments received from IRC " \ "server for command \"%s\" (received: %d " \ "arguments, expected: at least %d)"), \ - weechat_prefix ("error"), IRC_PLUGIN_NAME, \ - command, argc, __min_args); \ + irc_buffer_get_server_prefix (server, "error"), \ + IRC_PLUGIN_NAME, command, argc, __min_args); \ return WEECHAT_RC_ERROR; \ } @@ -52,8 +52,8 @@ weechat_printf (server->buffer, \ _("%s%s: \"%s\" command received without " \ "host"), \ - weechat_prefix ("error"), IRC_PLUGIN_NAME, \ - command); \ + irc_buffer_get_server_prefix (server, "error"), \ + IRC_PLUGIN_NAME, command); \ return WEECHAT_RC_ERROR; \ } diff --git a/src/plugins/irc/irc-server.c b/src/plugins/irc/irc-server.c index a34710d34..880363dab 100644 --- a/src/plugins/irc/irc-server.c +++ b/src/plugins/irc/irc-server.c @@ -44,6 +44,9 @@ struct t_irc_server *irc_servers = NULL; struct t_irc_server *last_irc_server = NULL; +/* current server when there is one buffer for all servers */ +struct t_irc_server *irc_current_server = NULL; + struct t_irc_message *irc_recv_msgq = NULL; struct t_irc_message *irc_msgq_last_msg = NULL; @@ -1076,7 +1079,8 @@ irc_server_send (struct t_irc_server *server, const char *buffer, int size_buf) _("%s%s: error sending data to IRC server: empty " "buffer (please report problem to " "developers)"), - weechat_prefix ("error"), IRC_PLUGIN_NAME); + irc_buffer_get_server_prefix (server, "error"), + IRC_PLUGIN_NAME); return 0; } @@ -1091,8 +1095,8 @@ irc_server_send (struct t_irc_server *server, const char *buffer, int size_buf) { weechat_printf (server->buffer, _("%s%s: error sending data to IRC server (%s)"), - weechat_prefix ("error"), IRC_PLUGIN_NAME, - strerror (errno)); + irc_buffer_get_server_prefix (server, "error"), + IRC_PLUGIN_NAME, strerror (errno)); } return rc; @@ -1453,7 +1457,8 @@ irc_server_msgq_add_msg (struct t_irc_server *server, const char *msg) weechat_printf (server->buffer, _("%s%s: not enough memory for received IRC " "message"), - weechat_prefix ("error"), IRC_PLUGIN_NAME); + irc_buffer_get_server_prefix (server, "error"), + IRC_PLUGIN_NAME); return; } message->server = server; @@ -1466,7 +1471,8 @@ irc_server_msgq_add_msg (struct t_irc_server *server, const char *msg) weechat_printf (server->buffer, _("%s%s: not enough memory for received IRC " "message"), - weechat_prefix ("error"), IRC_PLUGIN_NAME); + irc_buffer_get_server_prefix (server, "error"), + IRC_PLUGIN_NAME); } else { @@ -1513,7 +1519,8 @@ irc_server_msgq_add_unterminated (struct t_irc_server *server, const char *strin weechat_printf (server->buffer, _("%s%s: not enough memory for received IRC " "message"), - weechat_prefix ("error"), IRC_PLUGIN_NAME); + irc_buffer_get_server_prefix (server, "error"), + IRC_PLUGIN_NAME); } else strcat (server->unterminated_message, string); @@ -1526,7 +1533,8 @@ irc_server_msgq_add_unterminated (struct t_irc_server *server, const char *strin weechat_printf (server->buffer, _("%s%s: not enough memory for received IRC " "message"), - weechat_prefix ("error"), IRC_PLUGIN_NAME); + irc_buffer_get_server_prefix (server, "error"), + IRC_PLUGIN_NAME); } } } @@ -1737,7 +1745,8 @@ irc_server_recv_cb (void *arg_server) weechat_printf (server->buffer, _("%s%s: cannot read data from socket, " "disconnecting from server..."), - weechat_prefix ("error"), IRC_PLUGIN_NAME); + irc_buffer_get_server_prefix (server, "error"), + IRC_PLUGIN_NAME); irc_server_disconnect (server, 1); } @@ -1804,9 +1813,11 @@ irc_server_timer_cb (void *data) if (diff / 1000 > weechat_config_integer (irc_config_network_lag_disconnect) * 60) { weechat_printf (ptr_server->buffer, - _("%s: lag is high, " + _("%s%s: lag is high, " "disconnecting from " "server..."), + irc_buffer_get_server_prefix (ptr_server, + NULL), IRC_PLUGIN_NAME); irc_server_disconnect (ptr_server, 1); } @@ -1890,7 +1901,8 @@ irc_server_reconnect_schedule (struct t_irc_server *server) { server->reconnect_start = time (NULL); weechat_printf (server->buffer, - _("%s: reconnecting to server in %d %s"), + _("%s%s: reconnecting to server in %d %s"), + irc_buffer_get_server_prefix (server, NULL), IRC_PLUGIN_NAME, server->autoreconnect_delay, NG_("second", "seconds", @@ -1941,7 +1953,8 @@ irc_server_switch_address (struct t_irc_server *server) { server->current_address++; weechat_printf (server->buffer, - _("%s: switching address to %s/%d"), + _("%s%s: switching address to %s/%d"), + irc_buffer_get_server_prefix (server, NULL), IRC_PLUGIN_NAME, server->addresses_array[server->current_address], server->ports_array[server->current_address]); @@ -1973,7 +1986,8 @@ irc_server_connect_cb (void *arg_server, int status, char *ip_address) case WEECHAT_HOOK_CONNECT_OK: /* login to server */ weechat_printf (server->buffer, - _("%s: connected to %s (%s)"), + _("%s%s: connected to %s (%s)"), + irc_buffer_get_server_prefix (server, NULL), IRC_PLUGIN_NAME, server->addresses_array[server->current_address], (ip_address) ? ip_address : "?"); @@ -1988,7 +2002,8 @@ irc_server_connect_cb (void *arg_server, int status, char *ip_address) (config_proxy_use) ? _("%s%s: proxy address \"%s\" not found") : _("%s%s: address \"%s\" not found"), - weechat_prefix ("error"), IRC_PLUGIN_NAME, + irc_buffer_get_server_prefix (server, "error"), + IRC_PLUGIN_NAME, server->addresses_array[server->current_address]); irc_server_close_connection (server); irc_server_switch_address (server); @@ -1998,7 +2013,8 @@ irc_server_connect_cb (void *arg_server, int status, char *ip_address) (config_proxy_use) ? _("%s%s: proxy IP address not found") : _("%s%s: IP address not found"), - weechat_prefix ("error"), IRC_PLUGIN_NAME); + irc_buffer_get_server_prefix (server, "error"), + IRC_PLUGIN_NAME); irc_server_close_connection (server); irc_server_switch_address (server); break; @@ -2007,7 +2023,8 @@ irc_server_connect_cb (void *arg_server, int status, char *ip_address) (config_proxy_use) ? _("%s%s: proxy connection refused") : _("%s%s: connection refused"), - weechat_prefix ("error"), IRC_PLUGIN_NAME); + irc_buffer_get_server_prefix (server, "error"), + IRC_PLUGIN_NAME); irc_server_close_connection (server); irc_server_switch_address (server); break; @@ -2018,35 +2035,40 @@ irc_server_connect_cb (void *arg_server, int status, char *ip_address) "(check username/password if used " "and if IRC server address/port is " "allowed by proxy)"), - weechat_prefix ("error"), IRC_PLUGIN_NAME); + irc_buffer_get_server_prefix (server, "error"), + IRC_PLUGIN_NAME); irc_server_close_connection (server); irc_server_switch_address (server); break; case WEECHAT_HOOK_CONNECT_LOCAL_HOSTNAME_ERROR: weechat_printf (server->buffer, _("%s%s: unable to set local hostname/IP"), - weechat_prefix ("error"), IRC_PLUGIN_NAME); + irc_buffer_get_server_prefix (server, "error"), + IRC_PLUGIN_NAME); irc_server_close_connection (server); irc_server_reconnect_schedule (server); break; case WEECHAT_HOOK_CONNECT_GNUTLS_INIT_ERROR: weechat_printf (server->buffer, _("%s%s: GnuTLS init error"), - weechat_prefix ("error"), IRC_PLUGIN_NAME); + irc_buffer_get_server_prefix (server, "error"), + IRC_PLUGIN_NAME); irc_server_close_connection (server); irc_server_reconnect_schedule (server); break; case WEECHAT_HOOK_CONNECT_GNUTLS_HANDSHAKE_ERROR: weechat_printf (server->buffer, _("%s%s: GnuTLS handshake failed"), - weechat_prefix ("error"), IRC_PLUGIN_NAME); + irc_buffer_get_server_prefix (server, "error"), + IRC_PLUGIN_NAME); irc_server_close_connection (server); irc_server_switch_address (server); break; case WEECHAT_HOOK_CONNECT_MEMORY_ERROR: weechat_printf (server->buffer, _("%s%s: not enough memory"), - weechat_prefix ("error"), IRC_PLUGIN_NAME); + irc_buffer_get_server_prefix (server, "error"), + IRC_PLUGIN_NAME); irc_server_close_connection (server); irc_server_reconnect_schedule (server); break; @@ -2055,6 +2077,47 @@ irc_server_connect_cb (void *arg_server, int status, char *ip_address) return WEECHAT_RC_OK; } +/* + * irc_server_create_buffer: create a buffer for an IRC server + */ + +struct t_gui_buffer * +irc_server_create_buffer (struct t_irc_server *server, int all_servers) +{ + char buffer_name[256]; + + if (all_servers) + { + snprintf (buffer_name, sizeof (buffer_name), + "servers"); + } + else + { + snprintf (buffer_name, sizeof (buffer_name), + "server.%s", server->name); + } + server->buffer = weechat_buffer_new (buffer_name, + NULL, NULL, + &irc_buffer_close_cb, NULL); + if (!server->buffer) + return NULL; + + weechat_hook_signal_send ("logger_backlog", + WEECHAT_HOOK_SIGNAL_POINTER, server->buffer); + + /* set highlights settings on server buffer */ + if (server->nick) + weechat_buffer_set (server->buffer, "highlight_words", server->nick); + if (weechat_config_string (irc_config_look_highlight_tags) + && weechat_config_string (irc_config_look_highlight_tags)[0]) + { + weechat_buffer_set (server->buffer, "highlight_tags", + weechat_config_string (irc_config_look_highlight_tags)); + } + + return server->buffer; +} + /* * irc_server_connect: connect to an IRC server * Return: 1 if ok @@ -2065,7 +2128,7 @@ int irc_server_connect (struct t_irc_server *server, int disable_autojoin) { int set; - char *config_proxy_type, *config_proxy_address, buffer_name[256]; + char *config_proxy_type, *config_proxy_address; int config_proxy_use, config_proxy_ipv6, config_proxy_port; if (!server->addresses || !server->addresses[0]) @@ -2073,8 +2136,8 @@ irc_server_connect (struct t_irc_server *server, int disable_autojoin) weechat_printf (server->buffer, _("%s%s: addresses not defined for server \"%s\", " "cannot connect"), - weechat_prefix ("error"), IRC_PLUGIN_NAME, - server->name); + irc_buffer_get_server_prefix (server, "error"), + IRC_PLUGIN_NAME, server->name); return 0; } @@ -2083,8 +2146,8 @@ irc_server_connect (struct t_irc_server *server, int disable_autojoin) weechat_printf (server->buffer, _("%s%s: nicks not defined for server \"%s\", " "cannot connect"), - weechat_prefix ("error"), IRC_PLUGIN_NAME, - server->name); + irc_buffer_get_server_prefix (server, "error"), + IRC_PLUGIN_NAME, server->name); return 0; } @@ -2101,28 +2164,31 @@ irc_server_connect (struct t_irc_server *server, int disable_autojoin) if (!server->buffer) { - snprintf (buffer_name, sizeof (buffer_name), - "server.%s", server->name); - server->buffer = weechat_buffer_new (buffer_name, - NULL, NULL, - &irc_buffer_close_cb, NULL); - if (!server->buffer) - return 0; + if (weechat_config_boolean (irc_config_look_one_server_buffer) + && irc_buffer_servers) + { + server->buffer = irc_buffer_servers; + } + else + { + if (!irc_server_create_buffer (server, + weechat_config_boolean (irc_config_look_one_server_buffer))) + return 0; + } + + if (weechat_config_boolean (irc_config_look_one_server_buffer)) + { + irc_current_server = server; + if (!irc_buffer_servers) + irc_buffer_servers = server->buffer; + } weechat_buffer_set (server->buffer, "display", "1"); - weechat_hook_signal_send ("logger_backlog", - WEECHAT_HOOK_SIGNAL_POINTER, server->buffer); + weechat_bar_item_update ("buffer_name"); - /* set highlights settings on server buffer */ - if (server->nick) - weechat_buffer_set (server->buffer, "highlight_words", server->nick); - if (weechat_config_string (irc_config_look_highlight_tags) - && weechat_config_string (irc_config_look_highlight_tags)[0]) - { - weechat_buffer_set (server->buffer, "highlight_tags", - weechat_config_string (irc_config_look_highlight_tags)); - } + weechat_buffer_set (server->buffer, "key_bind_meta-s", + "/command irc /server switch"); } #ifndef HAVE_GNUTLS @@ -2131,15 +2197,17 @@ irc_server_connect (struct t_irc_server *server, int disable_autojoin) weechat_printf (server->buffer, _("%s%s: cannot connect with SSL since WeeChat " "was not built with GnuTLS support"), - weechat_prefix ("error"), IRC_PLUGIN_NAME); + irc_buffer_get_server_prefix (server, "error"), + IRC_PLUGIN_NAME); return 0; } #endif if (config_proxy_use) { weechat_printf (server->buffer, - _("%s: connecting to server %s/%d%s%s via %s " + _("%s%s: connecting to server %s/%d%s%s via %s " "proxy %s/%d%s..."), + irc_buffer_get_server_prefix (server, NULL), IRC_PLUGIN_NAME, server->addresses_array[server->current_address], server->ports_array[server->current_address], @@ -2161,13 +2229,15 @@ irc_server_connect (struct t_irc_server *server, int disable_autojoin) else { weechat_printf (server->buffer, - _("%s: connecting to server %s/%d%s%s..."), + _("%s%s: connecting to server %s/%d%s%s..."), + irc_buffer_get_server_prefix (server, NULL), IRC_PLUGIN_NAME, server->addresses_array[server->current_address], server->ports_array[server->current_address], (server->ipv6) ? " (IPv6)" : "", (server->ssl) ? " (SSL)" : ""); - weechat_log_printf (_("%s: connecting to server %s/%d%s%s..."), + weechat_log_printf (_("%s%s: connecting to server %s/%d%s%s..."), + "", IRC_PLUGIN_NAME, server->addresses_array[server->current_address], server->ports_array[server->current_address], @@ -2187,7 +2257,8 @@ irc_server_connect (struct t_irc_server *server, int disable_autojoin) { weechat_printf (server->buffer, _("%s%s: cannot create socket"), - weechat_prefix ("error"), IRC_PLUGIN_NAME); + irc_buffer_get_server_prefix (server, "error"), + IRC_PLUGIN_NAME); return 0; } @@ -2199,7 +2270,8 @@ irc_server_connect (struct t_irc_server *server, int disable_autojoin) weechat_printf (server->buffer, _("%s%s: cannot set socket option " "\"SO_REUSEADDR\""), - weechat_prefix ("error"), IRC_PLUGIN_NAME); + irc_buffer_get_server_prefix (server, "error"), + IRC_PLUGIN_NAME); } /* set SO_KEEPALIVE option for socket */ @@ -2210,7 +2282,8 @@ irc_server_connect (struct t_irc_server *server, int disable_autojoin) weechat_printf (server->buffer, _("%s%s: cannot set socket option " "\"SO_KEEPALIVE\""), - weechat_prefix ("error"), IRC_PLUGIN_NAME); + irc_buffer_get_server_prefix (server, "error"), + IRC_PLUGIN_NAME); } /* init SSL if asked */ @@ -2246,7 +2319,8 @@ void irc_server_reconnect (struct t_irc_server *server) { weechat_printf (server->buffer, - _("%s: reconnecting to server..."), + _("%s%s: reconnecting to server..."), + irc_buffer_get_server_prefix (server, NULL), IRC_PLUGIN_NAME); server->reconnect_start = 0; server->current_address = 0; @@ -2294,7 +2368,8 @@ irc_server_disconnect (struct t_irc_server *server, int reconnect) { irc_nick_free_all (ptr_channel); weechat_printf (ptr_channel->buffer, - _("%s: disconnected from server"), + _("%s%s: disconnected from server"), + "", IRC_PLUGIN_NAME); } } @@ -2303,7 +2378,8 @@ irc_server_disconnect (struct t_irc_server *server, int reconnect) if (server->buffer) weechat_printf (server->buffer, - _("%s: disconnected from server"), + _("%s%s: disconnected from server"), + irc_buffer_get_server_prefix (server, NULL), IRC_PLUGIN_NAME); server->current_address = 0; diff --git a/src/plugins/irc/irc-server.h b/src/plugins/irc/irc-server.h index 1d861c168..ddacfdf7c 100644 --- a/src/plugins/irc/irc-server.h +++ b/src/plugins/irc/irc-server.h @@ -129,6 +129,7 @@ struct t_irc_message }; extern struct t_irc_server *irc_servers; +extern struct t_irc_server *irc_current_server; #ifdef HAVE_GNUTLS extern const int gnutls_cert_type_prio[]; extern const int gnutls_prot_prio[]; @@ -175,6 +176,8 @@ extern void irc_server_send_signal (struct t_irc_server *server, const char *full_message); extern void irc_server_sendf (struct t_irc_server *server, const char *format, ...); extern struct t_irc_server *irc_server_search (const char *server_name); +extern struct t_gui_buffer *irc_server_create_buffer (struct t_irc_server *server, + int all_servers); extern int irc_server_connect (struct t_irc_server *server, int disable_autojoin); extern void irc_server_auto_connect (int auto_connect);