mirror of
https://github.com/weechat/weechat.git
synced 2026-06-28 13:56:37 +02:00
Many improvements on IRC raw buffer
New features: - key alt-j alt-r is reintroduced to open IRC raw buffer - command "/server raw" opens IRC raw buffer - new option irc.look.raw_messages, which is number of lines to keep in memory to display when user will open raw buffer (to see last messages received before opening raw buffer)
This commit is contained in:
@@ -131,6 +131,8 @@
|
||||
./src/plugins/irc/irc-nick.h
|
||||
./src/plugins/irc/irc-protocol.c
|
||||
./src/plugins/irc/irc-protocol.h
|
||||
./src/plugins/irc/irc-raw.c
|
||||
./src/plugins/irc/irc-raw.h
|
||||
./src/plugins/irc/irc-server.c
|
||||
./src/plugins/irc/irc-server.h
|
||||
./src/plugins/jabber/jabber-bar-item.c
|
||||
|
||||
@@ -6,7 +6,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: WeeChat 0.2.7-dev\n"
|
||||
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
|
||||
"POT-Creation-Date: 2009-03-17 15:38+0100\n"
|
||||
"POT-Creation-Date: 2009-03-19 10:07+0100\n"
|
||||
"PO-Revision-Date: 2009-01-03 00:42+0100\n"
|
||||
"Last-Translator: Jiri Golembiovsky <golemj@gmail.com>\n"
|
||||
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
|
||||
@@ -3141,7 +3141,7 @@ msgid ""
|
||||
"[list [servername]] | [listfull [servername]] | [add servername hostname[/"
|
||||
"port] [-auto | -noauto] [-ipv6] [-ssl]] | [copy servername newservername] | "
|
||||
"[rename servername newservername] | [keep servername] | [del servername] | "
|
||||
"[deloutq] | [switch]"
|
||||
"[deloutq] | [raw] | [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 "
|
||||
@@ -3169,6 +3169,7 @@ msgid ""
|
||||
" del: delete a server\n"
|
||||
" deloutq: delete messages out queue for all servers (all messages WeeChat "
|
||||
"is currently sending)\n"
|
||||
" raw: open buffer with raw IRC data\n"
|
||||
" switch: switch active server (when one buffer is used for all servers, "
|
||||
"default key: alt-s on server buffer)\n"
|
||||
"\n"
|
||||
@@ -3535,6 +3536,11 @@ msgstr ""
|
||||
"čárkami oddělený seznam tagů pro zprávy, které mohou vyprodukovat zvýraznění "
|
||||
"(obvykle jakákoliv zpráva od jiného uživatele, ne zprávy serveru,...)"
|
||||
|
||||
msgid ""
|
||||
"number of IRC raw messages to save in memory when raw buffer is closed "
|
||||
"(messages will be displayed when opening raw buffer)"
|
||||
msgstr ""
|
||||
|
||||
msgid "show remote away message only once in private"
|
||||
msgstr "zobrazit vzdálený zprávu o nepřítomnosti pouze jednou v soukromém okně"
|
||||
|
||||
@@ -3620,10 +3626,6 @@ msgstr ""
|
||||
msgid "send unknown commands to server"
|
||||
msgstr "poslat neznámý příkaz na IRC server"
|
||||
|
||||
#, fuzzy
|
||||
msgid "IRC debug messages"
|
||||
msgstr "vypsat debug zprávy"
|
||||
|
||||
#, fuzzy, c-format
|
||||
msgid "%sServer: %s%s %s[%s%s%s]%s%s"
|
||||
msgstr "%sServer: %s%s %s[%s%s%s]\n"
|
||||
@@ -3998,6 +4000,10 @@ msgstr ""
|
||||
msgid "%s%s: \"%s\" command received without host"
|
||||
msgstr "%s \"%s\" příkaz obdržen bez hosta\n"
|
||||
|
||||
#, fuzzy
|
||||
msgid "IRC raw messages"
|
||||
msgstr "vypsat debug zprávy"
|
||||
|
||||
#, fuzzy, c-format
|
||||
msgid "%s%s: error when allocating new server"
|
||||
msgstr "%s nemůžu přidělit nový server\n"
|
||||
|
||||
@@ -9,7 +9,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: WeeChat 0.2.7-dev\n"
|
||||
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
|
||||
"POT-Creation-Date: 2009-03-17 15:38+0100\n"
|
||||
"POT-Creation-Date: 2009-03-19 10:07+0100\n"
|
||||
"PO-Revision-Date: 2009-01-03 00:42+0100\n"
|
||||
"Last-Translator: Thomas Schuetz <i18n@internet-villa.de>\n"
|
||||
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
|
||||
@@ -3144,7 +3144,7 @@ msgid ""
|
||||
"[list [servername]] | [listfull [servername]] | [add servername hostname[/"
|
||||
"port] [-auto | -noauto] [-ipv6] [-ssl]] | [copy servername newservername] | "
|
||||
"[rename servername newservername] | [keep servername] | [del servername] | "
|
||||
"[deloutq] | [switch]"
|
||||
"[deloutq] | [raw] | [switch]"
|
||||
msgstr ""
|
||||
"[Servername] | [Servername Hostname Port [-auto | -noauto] [-ipv6] [-ssl] [-"
|
||||
"pwd Passwort] [-nicks Nick1 Nick2 Nick3] [-username Benutzername] [-realname "
|
||||
@@ -3168,6 +3168,7 @@ msgid ""
|
||||
" del: delete a server\n"
|
||||
" deloutq: delete messages out queue for all servers (all messages WeeChat "
|
||||
"is currently sending)\n"
|
||||
" raw: open buffer with raw IRC data\n"
|
||||
" switch: switch active server (when one buffer is used for all servers, "
|
||||
"default key: alt-s on server buffer)\n"
|
||||
"\n"
|
||||
@@ -3517,6 +3518,11 @@ msgid ""
|
||||
"(usually any message from another user, not server messages,..)"
|
||||
msgstr ""
|
||||
|
||||
msgid ""
|
||||
"number of IRC raw messages to save in memory when raw buffer is closed "
|
||||
"(messages will be displayed when opening raw buffer)"
|
||||
msgstr ""
|
||||
|
||||
msgid "show remote away message only once in private"
|
||||
msgstr ""
|
||||
"in privaten Unterhaltungen nur einmalig eine Abwesenheitsnachricht anzeigen"
|
||||
@@ -3603,10 +3609,6 @@ msgstr ""
|
||||
msgid "send unknown commands to server"
|
||||
msgstr "sende unbekannte Befehle an den IRC-Server"
|
||||
|
||||
#, fuzzy
|
||||
msgid "IRC debug messages"
|
||||
msgstr "Debugging-Nachricht ausgeben"
|
||||
|
||||
#, fuzzy, c-format
|
||||
msgid "%sServer: %s%s %s[%s%s%s]%s%s"
|
||||
msgstr "%sServer: %s%s %s[%s%s%s]\n"
|
||||
@@ -3979,6 +3981,10 @@ msgstr ""
|
||||
msgid "%s%s: \"%s\" command received without host"
|
||||
msgstr "%s \"%s\"-Befehl empfangen ohne Host\n"
|
||||
|
||||
#, fuzzy
|
||||
msgid "IRC raw messages"
|
||||
msgstr "Debugging-Nachricht ausgeben"
|
||||
|
||||
#, fuzzy, c-format
|
||||
msgid "%s%s: error when allocating new server"
|
||||
msgstr "%s Neuer Server konnte nicht alloziert werden\n"
|
||||
|
||||
@@ -6,7 +6,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: WeeChat 0.2.7-dev\n"
|
||||
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
|
||||
"POT-Creation-Date: 2009-03-17 15:38+0100\n"
|
||||
"POT-Creation-Date: 2009-03-19 10:07+0100\n"
|
||||
"PO-Revision-Date: 2009-01-03 00:42+0100\n"
|
||||
"Last-Translator: Roberto González Cardenete <robert.glez@gmail.com>\n"
|
||||
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
|
||||
@@ -3127,7 +3127,7 @@ msgid ""
|
||||
"[list [servername]] | [listfull [servername]] | [add servername hostname[/"
|
||||
"port] [-auto | -noauto] [-ipv6] [-ssl]] | [copy servername newservername] | "
|
||||
"[rename servername newservername] | [keep servername] | [del servername] | "
|
||||
"[deloutq] | [switch]"
|
||||
"[deloutq] | [raw] | [switch]"
|
||||
msgstr ""
|
||||
"[nombre_de_servidor] | [nombre_de_servidor nombre/IP puerto [-auto | -"
|
||||
"noauto] [-ipv6] [-ssl] [-pwd contraseña] [-nicks alias1 alias2 alias3] [-"
|
||||
@@ -3152,6 +3152,7 @@ msgid ""
|
||||
" del: delete a server\n"
|
||||
" deloutq: delete messages out queue for all servers (all messages WeeChat "
|
||||
"is currently sending)\n"
|
||||
" raw: open buffer with raw IRC data\n"
|
||||
" switch: switch active server (when one buffer is used for all servers, "
|
||||
"default key: alt-s on server buffer)\n"
|
||||
"\n"
|
||||
@@ -3504,6 +3505,11 @@ msgid ""
|
||||
"(usually any message from another user, not server messages,..)"
|
||||
msgstr ""
|
||||
|
||||
msgid ""
|
||||
"number of IRC raw messages to save in memory when raw buffer is closed "
|
||||
"(messages will be displayed when opening raw buffer)"
|
||||
msgstr ""
|
||||
|
||||
msgid "show remote away message only once in private"
|
||||
msgstr ""
|
||||
"mostrar mensaje de ausencia remota únicamente una vez se está en privado"
|
||||
@@ -3591,10 +3597,6 @@ msgstr ""
|
||||
msgid "send unknown commands to server"
|
||||
msgstr "nombre de usuario para el servidor IRC"
|
||||
|
||||
#, fuzzy
|
||||
msgid "IRC debug messages"
|
||||
msgstr "imprime mensajes de depuración"
|
||||
|
||||
#, fuzzy, c-format
|
||||
msgid "%sServer: %s%s %s[%s%s%s]%s%s"
|
||||
msgstr "%sServidor:%s%s %s[%s%s%s]\n"
|
||||
@@ -3969,6 +3971,10 @@ msgstr ""
|
||||
msgid "%s%s: \"%s\" command received without host"
|
||||
msgstr "%s comando \"%s\" recibido sin host \n"
|
||||
|
||||
#, fuzzy
|
||||
msgid "IRC raw messages"
|
||||
msgstr "imprime mensajes de depuración"
|
||||
|
||||
#, fuzzy, c-format
|
||||
msgid "%s%s: error when allocating new server"
|
||||
msgstr "%s no ha sido posible crear un nuevo servidor\n"
|
||||
|
||||
@@ -6,8 +6,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: WeeChat 0.2.7-dev\n"
|
||||
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
|
||||
"POT-Creation-Date: 2009-03-17 15:38+0100\n"
|
||||
"PO-Revision-Date: 2009-03-17 15:38+0100\n"
|
||||
"POT-Creation-Date: 2009-03-19 10:07+0100\n"
|
||||
"PO-Revision-Date: 2009-03-19 10:08+0100\n"
|
||||
"Last-Translator: FlashCode <flashcode@flashtux.org>\n"
|
||||
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@@ -3259,12 +3259,12 @@ msgid ""
|
||||
"[list [servername]] | [listfull [servername]] | [add servername hostname[/"
|
||||
"port] [-auto | -noauto] [-ipv6] [-ssl]] | [copy servername newservername] | "
|
||||
"[rename servername newservername] | [keep servername] | [del servername] | "
|
||||
"[deloutq] | [switch]"
|
||||
"[deloutq] | [raw] | [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] | [keep "
|
||||
"nom_serveur] | [del nom_serveur] | [deloutq] | [switch]"
|
||||
"nom_serveur] | [del nom_serveur] | [deloutq] | [raw] | [switch]"
|
||||
|
||||
msgid ""
|
||||
" list: list servers (no parameter implies this list)\n"
|
||||
@@ -3283,6 +3283,7 @@ msgid ""
|
||||
" del: delete a server\n"
|
||||
" deloutq: delete messages out queue for all servers (all messages WeeChat "
|
||||
"is currently sending)\n"
|
||||
" raw: open buffer with raw IRC data\n"
|
||||
" switch: switch active server (when one buffer is used for all servers, "
|
||||
"default key: alt-s on server buffer)\n"
|
||||
"\n"
|
||||
@@ -3316,6 +3317,7 @@ 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"
|
||||
" raw: ouvre le tampon avec les données brutes IRC\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"
|
||||
@@ -3651,6 +3653,11 @@ msgstr ""
|
||||
"par des virgules, typiquement tout message venant d'un autre utilisateur, "
|
||||
"pas les messages du serveur, ...)"
|
||||
|
||||
msgid ""
|
||||
"number of IRC raw messages to save in memory when raw buffer is closed "
|
||||
"(messages will be displayed when opening raw buffer)"
|
||||
msgstr "nombre de messages IRC bruts à sauvegarder en mémoire lorsque le tampon des données brutes est fermé (ces messages seront affichés lors de l'ouverture du tampon des données brutes)"
|
||||
|
||||
msgid "show remote away message only once in private"
|
||||
msgstr "voir le message d'absence distant une seule fois en privé"
|
||||
|
||||
@@ -3737,9 +3744,6 @@ msgstr ""
|
||||
msgid "send unknown commands to server"
|
||||
msgstr "envoie les commandes inconnues au serveur"
|
||||
|
||||
msgid "IRC debug messages"
|
||||
msgstr "Messages de debug IRC"
|
||||
|
||||
#, c-format
|
||||
msgid "%sServer: %s%s %s[%s%s%s]%s%s"
|
||||
msgstr "%sServeur: %s%s %s[%s%s%s]%s%s"
|
||||
@@ -4111,6 +4115,9 @@ msgstr ""
|
||||
msgid "%s%s: \"%s\" command received without host"
|
||||
msgstr "%s%s: commande \"%s\" reçue sans hôte"
|
||||
|
||||
msgid "IRC raw messages"
|
||||
msgstr "Messages bruts IRC"
|
||||
|
||||
#, c-format
|
||||
msgid "%s%s: error when allocating new server"
|
||||
msgstr "%s%s: impossible d'allouer un nouveau serveur"
|
||||
|
||||
@@ -12,7 +12,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: WeeChat 0.2.7-dev\n"
|
||||
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
|
||||
"POT-Creation-Date: 2009-03-17 15:38+0100\n"
|
||||
"POT-Creation-Date: 2009-03-19 10:07+0100\n"
|
||||
"PO-Revision-Date: 2009-01-03 00:42+0100\n"
|
||||
"Last-Translator: Andras Voroskoi <voroskoi@frugalware.org>\n"
|
||||
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
|
||||
@@ -3161,7 +3161,7 @@ msgid ""
|
||||
"[list [servername]] | [listfull [servername]] | [add servername hostname[/"
|
||||
"port] [-auto | -noauto] [-ipv6] [-ssl]] | [copy servername newservername] | "
|
||||
"[rename servername newservername] | [keep servername] | [del servername] | "
|
||||
"[deloutq] | [switch]"
|
||||
"[deloutq] | [raw] | [switch]"
|
||||
msgstr ""
|
||||
"[list [szervernév]] | [listfull [szervernév]] | [add szervernév gépnév [-"
|
||||
"port port] [-temp] [-auto | -noauto] [-ipv6] [-ssl] [-pwd jelszó] [-nicks "
|
||||
@@ -3187,6 +3187,7 @@ msgid ""
|
||||
" del: delete a server\n"
|
||||
" deloutq: delete messages out queue for all servers (all messages WeeChat "
|
||||
"is currently sending)\n"
|
||||
" raw: open buffer with raw IRC data\n"
|
||||
" switch: switch active server (when one buffer is used for all servers, "
|
||||
"default key: alt-s on server buffer)\n"
|
||||
"\n"
|
||||
@@ -3552,6 +3553,11 @@ msgid ""
|
||||
"(usually any message from another user, not server messages,..)"
|
||||
msgstr ""
|
||||
|
||||
msgid ""
|
||||
"number of IRC raw messages to save in memory when raw buffer is closed "
|
||||
"(messages will be displayed when opening raw buffer)"
|
||||
msgstr ""
|
||||
|
||||
msgid "show remote away message only once in private"
|
||||
msgstr "privát beszélgetésben a másik fél távollétét csak egyszer jelezze"
|
||||
|
||||
@@ -3631,10 +3637,6 @@ msgstr ""
|
||||
msgid "send unknown commands to server"
|
||||
msgstr "ismeretlen parancsok küldése az IRC szervernek"
|
||||
|
||||
#, fuzzy
|
||||
msgid "IRC debug messages"
|
||||
msgstr "hibakereső üzenetek megjelenítése"
|
||||
|
||||
#, fuzzy, c-format
|
||||
msgid "%sServer: %s%s %s[%s%s%s]%s%s"
|
||||
msgstr "%s Szerver: %s%s %s[%s%s%s]\n"
|
||||
@@ -4003,6 +4005,10 @@ msgstr ""
|
||||
msgid "%s%s: \"%s\" command received without host"
|
||||
msgstr "%s \"%s\" parancs érkezett hoszt megadása nélkül\n"
|
||||
|
||||
#, fuzzy
|
||||
msgid "IRC raw messages"
|
||||
msgstr "hibakereső üzenetek megjelenítése"
|
||||
|
||||
#, fuzzy, c-format
|
||||
msgid "%s%s: error when allocating new server"
|
||||
msgstr "%s az új szerver lefoglalása sikertelen\n"
|
||||
|
||||
@@ -6,7 +6,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: WeeChat 0.2.7-dev\n"
|
||||
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
|
||||
"POT-Creation-Date: 2009-03-17 15:38+0100\n"
|
||||
"POT-Creation-Date: 2009-03-19 10:07+0100\n"
|
||||
"PO-Revision-Date: 2009-01-03 00:42+0100\n"
|
||||
"Last-Translator: Pavel Shevchuk <stlwrt@gmail.com>\n"
|
||||
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
|
||||
@@ -3161,7 +3161,7 @@ msgid ""
|
||||
"[list [servername]] | [listfull [servername]] | [add servername hostname[/"
|
||||
"port] [-auto | -noauto] [-ipv6] [-ssl]] | [copy servername newservername] | "
|
||||
"[rename servername newservername] | [keep servername] | [del servername] | "
|
||||
"[deloutq] | [switch]"
|
||||
"[deloutq] | [raw] | [switch]"
|
||||
msgstr ""
|
||||
"[list [сервер]] | [listfull [сервер]] | [add сервер адрес [-port порт] [-"
|
||||
"temp] [-auto | -noauto] [-ipv6] [-ssl] [-pwd пароль] [-nicks ник1 ник2 ник3] "
|
||||
@@ -3187,6 +3187,7 @@ msgid ""
|
||||
" del: delete a server\n"
|
||||
" deloutq: delete messages out queue for all servers (all messages WeeChat "
|
||||
"is currently sending)\n"
|
||||
" raw: open buffer with raw IRC data\n"
|
||||
" switch: switch active server (when one buffer is used for all servers, "
|
||||
"default key: alt-s on server buffer)\n"
|
||||
"\n"
|
||||
@@ -3545,6 +3546,11 @@ msgid ""
|
||||
"(usually any message from another user, not server messages,..)"
|
||||
msgstr ""
|
||||
|
||||
msgid ""
|
||||
"number of IRC raw messages to save in memory when raw buffer is closed "
|
||||
"(messages will be displayed when opening raw buffer)"
|
||||
msgstr ""
|
||||
|
||||
msgid "show remote away message only once in private"
|
||||
msgstr "отображать уведомление об отсутствии единожды в привате"
|
||||
|
||||
@@ -3624,10 +3630,6 @@ msgstr ""
|
||||
msgid "send unknown commands to server"
|
||||
msgstr "отсылать неизвестные команды IRC серверу"
|
||||
|
||||
#, fuzzy
|
||||
msgid "IRC debug messages"
|
||||
msgstr "выводить отладочные сообщения"
|
||||
|
||||
#, fuzzy, c-format
|
||||
msgid "%sServer: %s%s %s[%s%s%s]%s%s"
|
||||
msgstr "%sСервер: %s%s %s[%s%s%s]\n"
|
||||
@@ -3995,6 +3997,10 @@ msgstr ""
|
||||
msgid "%s%s: \"%s\" command received without host"
|
||||
msgstr "%s \"%s\" команда получена без хоста\n"
|
||||
|
||||
#, fuzzy
|
||||
msgid "IRC raw messages"
|
||||
msgstr "выводить отладочные сообщения"
|
||||
|
||||
#, fuzzy, c-format
|
||||
msgid "%s%s: error when allocating new server"
|
||||
msgstr "%s не могу расположить новый сервер\n"
|
||||
|
||||
@@ -132,6 +132,8 @@ SET(WEECHAT_SOURCES
|
||||
./src/plugins/irc/irc-nick.h
|
||||
./src/plugins/irc/irc-protocol.c
|
||||
./src/plugins/irc/irc-protocol.h
|
||||
./src/plugins/irc/irc-raw.c
|
||||
./src/plugins/irc/irc-raw.h
|
||||
./src/plugins/irc/irc-server.c
|
||||
./src/plugins/irc/irc-server.h
|
||||
./src/plugins/jabber/jabber-bar-item.c
|
||||
|
||||
+11
-5
@@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
|
||||
"POT-Creation-Date: 2009-03-17 15:38+0100\n"
|
||||
"POT-Creation-Date: 2009-03-19 10:07+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
@@ -2709,7 +2709,7 @@ msgid ""
|
||||
"[list [servername]] | [listfull [servername]] | [add servername hostname[/"
|
||||
"port] [-auto | -noauto] [-ipv6] [-ssl]] | [copy servername newservername] | "
|
||||
"[rename servername newservername] | [keep servername] | [del servername] | "
|
||||
"[deloutq] | [switch]"
|
||||
"[deloutq] | [raw] | [switch]"
|
||||
msgstr ""
|
||||
|
||||
msgid ""
|
||||
@@ -2729,6 +2729,7 @@ msgid ""
|
||||
" del: delete a server\n"
|
||||
" deloutq: delete messages out queue for all servers (all messages WeeChat "
|
||||
"is currently sending)\n"
|
||||
" raw: open buffer with raw IRC data\n"
|
||||
" switch: switch active server (when one buffer is used for all servers, "
|
||||
"default key: alt-s on server buffer)\n"
|
||||
"\n"
|
||||
@@ -3016,6 +3017,11 @@ msgid ""
|
||||
"(usually any message from another user, not server messages,..)"
|
||||
msgstr ""
|
||||
|
||||
msgid ""
|
||||
"number of IRC raw messages to save in memory when raw buffer is closed "
|
||||
"(messages will be displayed when opening raw buffer)"
|
||||
msgstr ""
|
||||
|
||||
msgid "show remote away message only once in private"
|
||||
msgstr ""
|
||||
|
||||
@@ -3082,9 +3088,6 @@ msgstr ""
|
||||
msgid "send unknown commands to server"
|
||||
msgstr ""
|
||||
|
||||
msgid "IRC debug messages"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "%sServer: %s%s %s[%s%s%s]%s%s"
|
||||
msgstr ""
|
||||
@@ -3440,6 +3443,9 @@ msgstr ""
|
||||
msgid "%s%s: \"%s\" command received without host"
|
||||
msgstr ""
|
||||
|
||||
msgid "IRC raw messages"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "%s%s: error when allocating new server"
|
||||
msgstr ""
|
||||
|
||||
@@ -93,6 +93,7 @@ gui_keyboard_default_bindings ()
|
||||
gui_keyboard_bind (NULL, /* m-a */ "meta-a", "/input jump_smart");
|
||||
gui_keyboard_bind (NULL, /* m-j,m-l */ "meta-jmeta-l", "/input jump_last_buffer");
|
||||
gui_keyboard_bind (NULL, /* m-j,m-p */ "meta-jmeta-p", "/input jump_previous_buffer");
|
||||
gui_keyboard_bind (NULL, /* m-j,m-r */ "meta-jmeta-r", "/server raw");
|
||||
gui_keyboard_bind (NULL, /* m-h */ "meta-h", "/input hotlist_clear");
|
||||
gui_keyboard_bind (NULL, /* m-k */ "meta-k", "/input grab_key");
|
||||
gui_keyboard_bind (NULL, /* m-u */ "meta-u", "/input scroll_unread");
|
||||
|
||||
@@ -31,6 +31,7 @@ irc-input.c irc-input.h
|
||||
irc-mode.c irc-mode.h
|
||||
irc-nick.c irc-nick.h
|
||||
irc-protocol.c irc-protocol.h
|
||||
irc-raw.c irc-raw.h
|
||||
irc-server.c irc-server.h
|
||||
irc-upgrade.c irc-upgrade.h)
|
||||
SET_TARGET_PROPERTIES(irc PROPERTIES PREFIX "")
|
||||
|
||||
@@ -52,6 +52,8 @@ irc_la_SOURCES = irc.c \
|
||||
irc-nick.h \
|
||||
irc-protocol.c \
|
||||
irc-protocol.h \
|
||||
irc-raw.c \
|
||||
irc-raw.h \
|
||||
irc-server.c \
|
||||
irc-server.h \
|
||||
irc-upgrade.c \
|
||||
|
||||
@@ -29,6 +29,7 @@
|
||||
#include "irc-channel.h"
|
||||
#include "irc-command.h"
|
||||
#include "irc-config.h"
|
||||
#include "irc-raw.h"
|
||||
#include "irc-server.h"
|
||||
|
||||
|
||||
@@ -285,37 +286,44 @@ irc_buffer_close_cb (void *data, struct t_gui_buffer *buffer)
|
||||
/* make C compiler happy */
|
||||
(void) data;
|
||||
|
||||
if (ptr_channel)
|
||||
if (buffer == irc_raw_buffer)
|
||||
{
|
||||
/* send PART for channel if its buffer is closed */
|
||||
if ((ptr_channel->type == IRC_CHANNEL_TYPE_CHANNEL)
|
||||
&& (ptr_channel->nicks))
|
||||
{
|
||||
irc_command_part_channel (ptr_server, ptr_channel->name, NULL);
|
||||
}
|
||||
irc_channel_free (ptr_server, ptr_channel);
|
||||
irc_raw_buffer = NULL;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (ptr_server)
|
||||
if (ptr_channel)
|
||||
{
|
||||
/* send PART on all channels for server, then disconnect from server */
|
||||
ptr_channel = ptr_server->channels;
|
||||
while (ptr_channel)
|
||||
/* send PART for channel if its buffer is closed */
|
||||
if ((ptr_channel->type == IRC_CHANNEL_TYPE_CHANNEL)
|
||||
&& (ptr_channel->nicks))
|
||||
{
|
||||
next_channel = ptr_channel->next_channel;
|
||||
weechat_buffer_close (ptr_channel->buffer);
|
||||
ptr_channel = next_channel;
|
||||
irc_command_part_channel (ptr_server, ptr_channel->name, NULL);
|
||||
}
|
||||
irc_server_disconnect (ptr_server, 0);
|
||||
ptr_server->buffer = NULL;
|
||||
irc_channel_free (ptr_server, ptr_channel);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (ptr_server)
|
||||
{
|
||||
/* send PART on all channels for server, then disconnect from server */
|
||||
ptr_channel = ptr_server->channels;
|
||||
while (ptr_channel)
|
||||
{
|
||||
next_channel = ptr_channel->next_channel;
|
||||
weechat_buffer_close (ptr_channel->buffer);
|
||||
ptr_channel = next_channel;
|
||||
}
|
||||
irc_server_disconnect (ptr_server, 0);
|
||||
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;
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
@@ -22,6 +22,12 @@
|
||||
|
||||
#define IRC_BUFFER_ALL_SERVERS_NAME "servers"
|
||||
|
||||
#define IRC_BUFFER_RAW_NAME "irc_raw"
|
||||
#define IRC_BUFFER_RAW_PREFIX_RECV "-->"
|
||||
#define IRC_BUFFER_RAW_PREFIX_RECV_MOD "==>"
|
||||
#define IRC_BUFFER_RAW_PREFIX_SEND "<--"
|
||||
#define IRC_BUFFER_RAW_PREFIX_SEND_MOD "<=="
|
||||
|
||||
struct t_gui_buffer;
|
||||
struct t_irc_server;
|
||||
struct t_irc_channel;
|
||||
|
||||
@@ -41,6 +41,7 @@
|
||||
#include "irc-nick.h"
|
||||
#include "irc-display.h"
|
||||
#include "irc-ignore.h"
|
||||
#include "irc-raw.h"
|
||||
|
||||
|
||||
/*
|
||||
@@ -3106,6 +3107,12 @@ irc_command_server (void *data, struct t_gui_buffer *buffer, int argc,
|
||||
IRC_PLUGIN_NAME);
|
||||
return WEECHAT_RC_OK;
|
||||
}
|
||||
|
||||
if (weechat_strcasecmp (argv[1], "raw") == 0)
|
||||
{
|
||||
irc_raw_open (1);
|
||||
return WEECHAT_RC_OK;
|
||||
}
|
||||
|
||||
if (weechat_strcasecmp (argv[1], "switch") == 0)
|
||||
{
|
||||
@@ -4058,7 +4065,7 @@ irc_command_init ()
|
||||
"[copy servername newservername] | "
|
||||
"[rename servername newservername] | "
|
||||
"[keep servername] | [del servername] | "
|
||||
"[deloutq] | [switch]"),
|
||||
"[deloutq] | [raw] | [switch]"),
|
||||
N_(" list: list servers (no parameter implies "
|
||||
"this list)\n"
|
||||
" listfull: list servers with detailed info for "
|
||||
@@ -4082,6 +4089,7 @@ irc_command_init ()
|
||||
" deloutq: delete messages out queue for all "
|
||||
"servers (all messages WeeChat is currently "
|
||||
"sending)\n"
|
||||
" raw: open buffer with raw IRC data\n"
|
||||
" switch: switch active server (when one "
|
||||
"buffer is used for all servers, default key: "
|
||||
"alt-s on server buffer)\n\n"
|
||||
@@ -4096,8 +4104,8 @@ irc_command_init ()
|
||||
" /server del freenode\n"
|
||||
" /server deloutq\n"
|
||||
" /server switch"),
|
||||
"add|copy|rename|keep|del|deloutq|list|listfull|switch "
|
||||
"%(irc_servers) %(irc_servers)",
|
||||
"add|copy|rename|keep|del|deloutq|list|listfull|"
|
||||
"raw|switch %(irc_servers) %(irc_servers)",
|
||||
&irc_command_server, NULL);
|
||||
weechat_hook_command ("servlist",
|
||||
N_("list services currently connected to the "
|
||||
|
||||
@@ -55,6 +55,7 @@ struct t_config_option *irc_config_look_display_old_topic;
|
||||
struct t_config_option *irc_config_look_hide_nickserv_pwd;
|
||||
struct t_config_option *irc_config_look_highlight_tags;
|
||||
struct t_config_option *irc_config_look_notice_as_pv;
|
||||
struct t_config_option *irc_config_look_raw_messages;
|
||||
struct t_config_option *irc_config_look_show_away_once;
|
||||
struct t_config_option *irc_config_look_smart_filter;
|
||||
struct t_config_option *irc_config_look_smart_filter_delay;
|
||||
@@ -1098,6 +1099,12 @@ irc_config_init ()
|
||||
"messages,..)"),
|
||||
NULL, 0, 0, "irc_privmsg,irc_notice", NULL, 0, NULL, NULL,
|
||||
&irc_config_change_look_highlight_tags, NULL, NULL, NULL);
|
||||
irc_config_look_raw_messages = weechat_config_new_option (
|
||||
irc_config_file, ptr_section,
|
||||
"raw_messages", "integer",
|
||||
N_("number of IRC raw messages to save in memory when raw data buffer "
|
||||
"is closed (messages will be displayed when opening raw data buffer)"),
|
||||
NULL, 0, 65535, "256", NULL, 0, NULL, NULL, NULL, NULL, NULL, NULL);
|
||||
irc_config_look_show_away_once = weechat_config_new_option (
|
||||
irc_config_file, ptr_section,
|
||||
"show_away_once", "boolean",
|
||||
|
||||
@@ -44,6 +44,7 @@ extern struct t_config_option *irc_config_look_display_old_topic;
|
||||
extern struct t_config_option *irc_config_look_hide_nickserv_pwd;
|
||||
extern struct t_config_option *irc_config_look_highlight_tags;
|
||||
extern struct t_config_option *irc_config_look_notice_as_pv;
|
||||
extern struct t_config_option *irc_config_look_raw_messages;
|
||||
extern struct t_config_option *irc_config_look_show_away_once;
|
||||
extern struct t_config_option *irc_config_look_smart_filter;
|
||||
extern struct t_config_option *irc_config_look_smart_filter_delay;
|
||||
|
||||
@@ -28,114 +28,6 @@
|
||||
#include "irc-server.h"
|
||||
|
||||
|
||||
struct t_gui_buffer *irc_debug_buffer = NULL;
|
||||
|
||||
|
||||
/*
|
||||
* irc_debug_buffer_close_cb: callback called when IRC debug buffer is closed
|
||||
*/
|
||||
|
||||
int
|
||||
irc_debug_buffer_close_cb (void *data, struct t_gui_buffer *buffer)
|
||||
{
|
||||
/* make C compiler happy */
|
||||
(void) data;
|
||||
(void) buffer;
|
||||
|
||||
irc_debug_buffer = NULL;
|
||||
|
||||
return WEECHAT_RC_OK;
|
||||
}
|
||||
|
||||
/*
|
||||
* irc_debug_printf: print a message on IRC debug buffer
|
||||
*/
|
||||
|
||||
void
|
||||
irc_debug_printf (struct t_irc_server *server, int send, int modified,
|
||||
const char *message)
|
||||
{
|
||||
char *buf, *buf2;
|
||||
const unsigned char *ptr_buf;
|
||||
const char *hexa = "0123456789ABCDEF";
|
||||
int pos_buf, pos_buf2, char_size, i;
|
||||
|
||||
if (!weechat_irc_plugin->debug || !message)
|
||||
return;
|
||||
|
||||
if (!irc_debug_buffer)
|
||||
{
|
||||
irc_debug_buffer = weechat_buffer_search ("irc", IRC_DEBUG_BUFFER_NAME);
|
||||
if (!irc_debug_buffer)
|
||||
{
|
||||
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"));
|
||||
|
||||
weechat_buffer_set (irc_debug_buffer, "short_name", IRC_DEBUG_BUFFER_NAME);
|
||||
weechat_buffer_set (irc_debug_buffer, "localvar_set_type", "debug");
|
||||
weechat_buffer_set (irc_debug_buffer, "localvar_set_server", IRC_DEBUG_BUFFER_NAME);
|
||||
weechat_buffer_set (irc_debug_buffer, "localvar_set_channel", IRC_DEBUG_BUFFER_NAME);
|
||||
weechat_buffer_set (irc_debug_buffer, "localvar_set_no_log", "1");
|
||||
|
||||
/* disabled all highlights on this debug buffer */
|
||||
weechat_buffer_set (irc_debug_buffer, "highlight_words", "-");
|
||||
}
|
||||
}
|
||||
|
||||
buf = weechat_iconv_to_internal (NULL, message);
|
||||
buf2 = malloc ((strlen (buf) * 3) + 1);
|
||||
if (buf2)
|
||||
{
|
||||
ptr_buf = (buf) ? (unsigned char *)buf : (unsigned char *)message;
|
||||
pos_buf = 0;
|
||||
pos_buf2 = 0;
|
||||
while (ptr_buf[pos_buf])
|
||||
{
|
||||
if (ptr_buf[pos_buf] < 32)
|
||||
{
|
||||
buf2[pos_buf2++] = '\\';
|
||||
buf2[pos_buf2++] = hexa[ptr_buf[pos_buf] / 16];
|
||||
buf2[pos_buf2++] = hexa[ptr_buf[pos_buf] % 16];
|
||||
pos_buf++;
|
||||
}
|
||||
else
|
||||
{
|
||||
char_size = weechat_utf8_char_size ((const char *)(ptr_buf + pos_buf));
|
||||
for (i = 0; i < char_size; i++)
|
||||
{
|
||||
buf2[pos_buf2++] = ptr_buf[pos_buf++];
|
||||
}
|
||||
}
|
||||
}
|
||||
buf2[pos_buf2] = '\0';
|
||||
}
|
||||
|
||||
weechat_printf (irc_debug_buffer,
|
||||
"%s%s%s%s%s\t%s",
|
||||
(server) ? weechat_color ("chat_server") : "",
|
||||
(server) ? server->name : "",
|
||||
(server) ? " " : "",
|
||||
(send) ?
|
||||
weechat_color ("chat_prefix_quit") :
|
||||
weechat_color ("chat_prefix_join"),
|
||||
(send) ?
|
||||
((modified) ? IRC_DEBUG_PREFIX_SEND_MOD : IRC_DEBUG_PREFIX_SEND) :
|
||||
((modified) ? IRC_DEBUG_PREFIX_RECV_MOD : IRC_DEBUG_PREFIX_RECV),
|
||||
(buf2) ? buf2 : ((buf) ? buf : message));
|
||||
if (buf)
|
||||
free (buf);
|
||||
if (buf2)
|
||||
free (buf2);
|
||||
}
|
||||
|
||||
/*
|
||||
* irc_debug_signal_debug_dump_cb: dump IRC data in WeeChat log file
|
||||
*/
|
||||
|
||||
@@ -20,17 +20,6 @@
|
||||
#ifndef __WEECHAT_IRC_DEBUG_H
|
||||
#define __WEECHAT_IRC_DEBUG_H 1
|
||||
|
||||
#define IRC_DEBUG_BUFFER_NAME "irc_debug"
|
||||
|
||||
#define IRC_DEBUG_PREFIX_RECV "-->"
|
||||
#define IRC_DEBUG_PREFIX_RECV_MOD "==>"
|
||||
#define IRC_DEBUG_PREFIX_SEND "<--"
|
||||
#define IRC_DEBUG_PREFIX_SEND_MOD "<=="
|
||||
|
||||
struct t_irc_server;
|
||||
|
||||
extern void irc_debug_printf (struct t_irc_server *server, int send,
|
||||
int modified, const char *message);
|
||||
extern void irc_debug_init ();
|
||||
|
||||
#endif /* irc-debug.h */
|
||||
|
||||
@@ -0,0 +1,267 @@
|
||||
/*
|
||||
* Copyright (c) 2003-2009 by FlashCode <flashcode@flashtux.org>
|
||||
* See README for License detail, AUTHORS for developers list.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
/* irc-raw.c: functions for IRC raw data messages */
|
||||
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
|
||||
#include "../weechat-plugin.h"
|
||||
#include "irc.h"
|
||||
#include "irc-raw.h"
|
||||
#include "irc-buffer.h"
|
||||
#include "irc-config.h"
|
||||
#include "irc-server.h"
|
||||
|
||||
|
||||
struct t_gui_buffer *irc_raw_buffer = NULL;
|
||||
|
||||
int irc_raw_messages_count = 0;
|
||||
struct t_irc_raw_message *irc_raw_messages = NULL;
|
||||
struct t_irc_raw_message *last_irc_raw_message = NULL;
|
||||
|
||||
|
||||
/*
|
||||
* irc_raw_message_print: print an irc raw message
|
||||
*/
|
||||
|
||||
void
|
||||
irc_raw_message_print (struct t_irc_raw_message *raw_message)
|
||||
{
|
||||
if (irc_raw_buffer && raw_message)
|
||||
{
|
||||
weechat_printf_date_tags (irc_raw_buffer,
|
||||
raw_message->date, NULL,
|
||||
"%s\t%s",
|
||||
raw_message->prefix,
|
||||
raw_message->message);
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* irc_raw_open: open IRC raw buffer
|
||||
*/
|
||||
|
||||
void
|
||||
irc_raw_open (int switch_to_buffer)
|
||||
{
|
||||
struct t_irc_raw_message *ptr_raw_message;
|
||||
|
||||
if (!irc_raw_buffer)
|
||||
{
|
||||
irc_raw_buffer = weechat_buffer_search ("irc", IRC_RAW_BUFFER_NAME);
|
||||
if (!irc_raw_buffer)
|
||||
{
|
||||
irc_raw_buffer = weechat_buffer_new (IRC_RAW_BUFFER_NAME,
|
||||
NULL, NULL,
|
||||
&irc_buffer_close_cb, NULL);
|
||||
|
||||
/* failed to create buffer ? then return */
|
||||
if (!irc_raw_buffer)
|
||||
return;
|
||||
|
||||
weechat_buffer_set (irc_raw_buffer,
|
||||
"title", _("IRC raw messages"));
|
||||
|
||||
weechat_buffer_set (irc_raw_buffer, "short_name", IRC_RAW_BUFFER_NAME);
|
||||
weechat_buffer_set (irc_raw_buffer, "localvar_set_type", "debug");
|
||||
weechat_buffer_set (irc_raw_buffer, "localvar_set_server", IRC_RAW_BUFFER_NAME);
|
||||
weechat_buffer_set (irc_raw_buffer, "localvar_set_channel", IRC_RAW_BUFFER_NAME);
|
||||
weechat_buffer_set (irc_raw_buffer, "localvar_set_no_log", "1");
|
||||
|
||||
/* disabled all highlights on this debug buffer */
|
||||
weechat_buffer_set (irc_raw_buffer, "highlight_words", "-");
|
||||
|
||||
if (switch_to_buffer)
|
||||
weechat_buffer_set (irc_raw_buffer, "display", "1");
|
||||
|
||||
/* print messages in list */
|
||||
for (ptr_raw_message = irc_raw_messages; ptr_raw_message;
|
||||
ptr_raw_message = ptr_raw_message->next_message)
|
||||
{
|
||||
irc_raw_message_print (ptr_raw_message);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* irc_raw_message_free: free a raw message and remove it from list
|
||||
*/
|
||||
|
||||
void
|
||||
irc_raw_message_free (struct t_irc_raw_message *raw_message)
|
||||
{
|
||||
struct t_irc_raw_message *new_raw_messages;
|
||||
|
||||
/* remove message from raw messages list */
|
||||
if (last_irc_raw_message == raw_message)
|
||||
last_irc_raw_message = raw_message->prev_message;
|
||||
if (raw_message->prev_message)
|
||||
{
|
||||
(raw_message->prev_message)->next_message = raw_message->next_message;
|
||||
new_raw_messages = irc_raw_messages;
|
||||
}
|
||||
else
|
||||
new_raw_messages = raw_message->next_message;
|
||||
|
||||
if (raw_message->next_message)
|
||||
(raw_message->next_message)->prev_message = raw_message->prev_message;
|
||||
|
||||
/* free data */
|
||||
if (raw_message->prefix)
|
||||
free (raw_message->prefix);
|
||||
if (raw_message->message)
|
||||
free (raw_message->message);
|
||||
|
||||
free (raw_message);
|
||||
|
||||
irc_raw_messages = new_raw_messages;
|
||||
|
||||
irc_raw_messages_count--;
|
||||
}
|
||||
|
||||
/*
|
||||
* irc_raw_message_free_all: free all raw messages
|
||||
*/
|
||||
|
||||
void
|
||||
irc_raw_message_free_all ()
|
||||
{
|
||||
while (irc_raw_messages)
|
||||
{
|
||||
irc_raw_message_free (irc_raw_messages);
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* irc_raw_message_add: add new message to list
|
||||
*/
|
||||
|
||||
void
|
||||
irc_raw_message_add (struct t_irc_server *server, int send, int modified,
|
||||
const char *message)
|
||||
{
|
||||
char *buf, *buf2, prefix[256];
|
||||
const unsigned char *ptr_buf;
|
||||
const char *hexa = "0123456789ABCDEF";
|
||||
int pos_buf, pos_buf2, char_size, i, max_messages;
|
||||
struct t_irc_raw_message *new_raw_message;
|
||||
|
||||
max_messages = weechat_config_integer (irc_config_look_raw_messages);
|
||||
|
||||
buf = weechat_iconv_to_internal (NULL, message);
|
||||
buf2 = malloc ((strlen (buf) * 3) + 1);
|
||||
if (buf2)
|
||||
{
|
||||
ptr_buf = (buf) ? (unsigned char *)buf : (unsigned char *)message;
|
||||
pos_buf = 0;
|
||||
pos_buf2 = 0;
|
||||
while (ptr_buf[pos_buf])
|
||||
{
|
||||
if (ptr_buf[pos_buf] < 32)
|
||||
{
|
||||
buf2[pos_buf2++] = '\\';
|
||||
buf2[pos_buf2++] = hexa[ptr_buf[pos_buf] / 16];
|
||||
buf2[pos_buf2++] = hexa[ptr_buf[pos_buf] % 16];
|
||||
pos_buf++;
|
||||
}
|
||||
else
|
||||
{
|
||||
char_size = weechat_utf8_char_size ((const char *)(ptr_buf + pos_buf));
|
||||
for (i = 0; i < char_size; i++)
|
||||
{
|
||||
buf2[pos_buf2++] = ptr_buf[pos_buf++];
|
||||
}
|
||||
}
|
||||
}
|
||||
buf2[pos_buf2] = '\0';
|
||||
}
|
||||
|
||||
new_raw_message = malloc (sizeof (*new_raw_message));
|
||||
if (new_raw_message)
|
||||
{
|
||||
new_raw_message->date = time (NULL);
|
||||
snprintf (prefix, sizeof (prefix), "%s%s%s%s%s",
|
||||
(server) ? weechat_color ("chat_server") : "",
|
||||
(server) ? server->name : "",
|
||||
(server) ? " " : "",
|
||||
(send) ?
|
||||
weechat_color ("chat_prefix_quit") :
|
||||
weechat_color ("chat_prefix_join"),
|
||||
(send) ?
|
||||
((modified) ? IRC_RAW_PREFIX_SEND_MOD : IRC_RAW_PREFIX_SEND) :
|
||||
((modified) ? IRC_RAW_PREFIX_RECV_MOD : IRC_RAW_PREFIX_RECV));
|
||||
new_raw_message->prefix = strdup (prefix);
|
||||
new_raw_message->message = strdup ((buf2) ? buf2 : ((buf) ? buf : message));
|
||||
new_raw_message->prev_message = NULL;
|
||||
new_raw_message->next_message = NULL;
|
||||
|
||||
while (irc_raw_messages_count >= max_messages)
|
||||
{
|
||||
irc_raw_message_free (irc_raw_messages);
|
||||
}
|
||||
|
||||
if (max_messages > 0)
|
||||
{
|
||||
new_raw_message->prev_message = last_irc_raw_message;
|
||||
new_raw_message->next_message = NULL;
|
||||
if (irc_raw_messages)
|
||||
last_irc_raw_message->next_message = new_raw_message;
|
||||
else
|
||||
irc_raw_messages = new_raw_message;
|
||||
last_irc_raw_message = new_raw_message;
|
||||
|
||||
irc_raw_messages_count++;
|
||||
|
||||
if (irc_raw_buffer)
|
||||
irc_raw_message_print (new_raw_message);
|
||||
}
|
||||
else
|
||||
{
|
||||
/* don't store message, just print it if raw buffer is opened */
|
||||
if (irc_raw_buffer)
|
||||
irc_raw_message_print (new_raw_message);
|
||||
irc_raw_message_free (new_raw_message);
|
||||
}
|
||||
}
|
||||
|
||||
if (buf)
|
||||
free (buf);
|
||||
if (buf2)
|
||||
free (buf2);
|
||||
}
|
||||
|
||||
/*
|
||||
* irc_raw_print: print a message on IRC debug buffer
|
||||
*/
|
||||
|
||||
void
|
||||
irc_raw_print (struct t_irc_server *server, int send, int modified,
|
||||
const char *message)
|
||||
{
|
||||
if (!message)
|
||||
return;
|
||||
|
||||
if (!irc_raw_buffer && (weechat_irc_plugin->debug >= 1))
|
||||
irc_raw_open (0);
|
||||
|
||||
irc_raw_message_add (server, send, modified, message);
|
||||
}
|
||||
@@ -0,0 +1,47 @@
|
||||
/*
|
||||
* Copyright (c) 2003-2009 by FlashCode <flashcode@flashtux.org>
|
||||
* See README for License detail, AUTHORS for developers list.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
|
||||
#ifndef __WEECHAT_IRC_RAW_H
|
||||
#define __WEECHAT_IRC_RAW_H 1
|
||||
|
||||
#define IRC_RAW_BUFFER_NAME "irc_raw"
|
||||
#define IRC_RAW_PREFIX_RECV "-->"
|
||||
#define IRC_RAW_PREFIX_RECV_MOD "==>"
|
||||
#define IRC_RAW_PREFIX_SEND "<--"
|
||||
#define IRC_RAW_PREFIX_SEND_MOD "<=="
|
||||
|
||||
struct t_irc_raw_message
|
||||
{
|
||||
time_t date; /* date/time of message */
|
||||
char *prefix; /* prefix */
|
||||
char *message; /* message */
|
||||
struct t_irc_raw_message *prev_message; /* pointer to previous message */
|
||||
struct t_irc_raw_message *next_message; /* pointer to next message */
|
||||
};
|
||||
|
||||
struct t_irc_server;
|
||||
|
||||
extern struct t_gui_buffer *irc_raw_buffer;
|
||||
|
||||
extern void irc_raw_open (int switch_to_buffer);
|
||||
extern void irc_raw_max_messages (int number);
|
||||
extern void irc_raw_print (struct t_irc_server *server, int send,
|
||||
int modified, const char *message);
|
||||
|
||||
#endif /* irc-raw.h */
|
||||
@@ -44,10 +44,10 @@
|
||||
#include "irc-channel.h"
|
||||
#include "irc-command.h"
|
||||
#include "irc-config.h"
|
||||
#include "irc-debug.h"
|
||||
#include "irc-input.h"
|
||||
#include "irc-nick.h"
|
||||
#include "irc-protocol.h"
|
||||
#include "irc-raw.h"
|
||||
|
||||
|
||||
struct t_irc_server *irc_servers = NULL;
|
||||
@@ -959,8 +959,8 @@ irc_server_outqueue_send (struct t_irc_server *server)
|
||||
pos = strchr (server->outqueue->message_before_mod, '\r');
|
||||
if (pos)
|
||||
pos[0] = '\0';
|
||||
irc_debug_printf (server, 1, 0,
|
||||
server->outqueue->message_before_mod);
|
||||
irc_raw_print (server, 1, 0,
|
||||
server->outqueue->message_before_mod);
|
||||
if (pos)
|
||||
pos[0] = '\r';
|
||||
}
|
||||
@@ -969,8 +969,8 @@ irc_server_outqueue_send (struct t_irc_server *server)
|
||||
pos = strchr (server->outqueue->message_after_mod, '\r');
|
||||
if (pos)
|
||||
pos[0] = '\0';
|
||||
irc_debug_printf (server, 1, server->outqueue->modified,
|
||||
server->outqueue->message_after_mod);
|
||||
irc_raw_print (server, 1, server->outqueue->modified,
|
||||
server->outqueue->message_after_mod);
|
||||
if (pos)
|
||||
pos[0] = '\r';
|
||||
|
||||
@@ -1204,9 +1204,9 @@ irc_server_send_one_msg (struct t_irc_server *server, const char *message)
|
||||
else
|
||||
{
|
||||
if (first_message)
|
||||
irc_debug_printf (server, 1, 0, message);
|
||||
irc_raw_print (server, 1, 0, message);
|
||||
if (new_msg)
|
||||
irc_debug_printf (server, 1, 1, ptr_msg);
|
||||
irc_raw_print (server, 1, 1, ptr_msg);
|
||||
|
||||
/* send signal with command that will be sent to server */
|
||||
irc_server_send_signal (server, "irc_out",
|
||||
@@ -1235,7 +1235,7 @@ irc_server_send_one_msg (struct t_irc_server *server, const char *message)
|
||||
free (msg_encoded);
|
||||
}
|
||||
else
|
||||
irc_debug_printf (server, 1, 1, _("(message dropped)"));
|
||||
irc_raw_print (server, 1, 1, _("(message dropped)"));
|
||||
|
||||
if (nick)
|
||||
free (nick);
|
||||
@@ -1437,7 +1437,7 @@ irc_server_msgq_flush ()
|
||||
|
||||
if (ptr_data[0])
|
||||
{
|
||||
irc_debug_printf (irc_recv_msgq->server, 0, 0, ptr_data);
|
||||
irc_raw_print (irc_recv_msgq->server, 0, 0, ptr_data);
|
||||
|
||||
irc_server_parse_message (ptr_data, NULL, NULL, &command,
|
||||
NULL, NULL);
|
||||
@@ -1470,8 +1470,8 @@ irc_server_msgq_flush ()
|
||||
pos[0] = '\0';
|
||||
|
||||
if (new_msg)
|
||||
irc_debug_printf (irc_recv_msgq->server, 0, 1,
|
||||
ptr_msg);
|
||||
irc_raw_print (irc_recv_msgq->server, 0, 1,
|
||||
ptr_msg);
|
||||
|
||||
irc_server_parse_message (ptr_msg, &nick, &host,
|
||||
&command, &channel,
|
||||
@@ -1530,8 +1530,8 @@ irc_server_msgq_flush ()
|
||||
}
|
||||
else
|
||||
{
|
||||
irc_debug_printf (irc_recv_msgq->server, 0, 1,
|
||||
_("(message dropped)"));
|
||||
irc_raw_print (irc_recv_msgq->server, 0, 1,
|
||||
_("(message dropped)"));
|
||||
}
|
||||
if (new_msg)
|
||||
free (new_msg);
|
||||
|
||||
Reference in New Issue
Block a user