From 5d32ac0d576571ab967e40e97e66284296d02398 Mon Sep 17 00:00:00 2001 From: Sebastien Helleu Date: Thu, 2 Mar 2006 21:54:33 +0000 Subject: [PATCH] Added special names for plugin message handlers: weechat_pv, weechat_highlight, weechat_ctcp, weechat_dcc --- ChangeLog | 4 +- doc/en/weechat.en.xml | 42 ++++++++++++- doc/fr/weechat.fr.xml | 44 +++++++++++++- src/irc/irc-recv.c | 108 ++++++++++++++++++++++++++++++++-- weechat/ChangeLog | 4 +- weechat/doc/en/weechat.en.xml | 42 ++++++++++++- weechat/doc/fr/weechat.fr.xml | 44 +++++++++++++- weechat/src/irc/irc-recv.c | 108 ++++++++++++++++++++++++++++++++-- 8 files changed, 374 insertions(+), 22 deletions(-) diff --git a/ChangeLog b/ChangeLog index e4f621eae..c89fcc0b5 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,10 +1,12 @@ WeeChat - Wee Enhanced Environment for Chat =========================================== -ChangeLog - 2006-02-28 +ChangeLog - 2006-03-02 Version 0.1.8 (under dev!): + * added special names for plugin message handlers: weechat_pv, + weechat_highlight, weechat_ctcp, weechat_dcc * script plugins now load scripts in WeeChat system share directory * /msg command does not open any buffer any more * fixed crash when using global history (when older entry is removed) diff --git a/doc/en/weechat.en.xml b/doc/en/weechat.en.xml index 5c1780151..202044cf1 100644 --- a/doc/en/weechat.en.xml +++ b/doc/en/weechat.en.xml @@ -1751,7 +1751,43 @@ plugin->log (plugin, "freenode", "#weechat", "test"); To know list of IRC messages, please consult RFCs 1459 and - 2812 + 2812. + Moreover you can use a special name, prefixed by "weechat_" to catch + special events, as written in table below: + + + + + Name + Description + + + + + weechat_pv + private message received + + + weechat_highlight + + message with highlight (on a channel or pv) + + + + weechat_ctcp + + CTCP message received (VERSION, PING, ..) + + + + weechat_dcc + + DCC message received (chat or file) + + + + + @@ -3937,7 +3973,9 @@ weechat.log("message", "#weechat", "freenode") : name of IRC message. To know list of IRC messages, please consult RFCs 1459 and - 2812 + 2812. + Moreover you can use a special name, prefixed by "weechat_" to catch + special events (see ). diff --git a/doc/fr/weechat.fr.xml b/doc/fr/weechat.fr.xml index 595a9907a..7c0ecbd78 100644 --- a/doc/fr/weechat.fr.xml +++ b/doc/fr/weechat.fr.xml @@ -1788,7 +1788,44 @@ plugin->log (plugin, "freenode", "#weechat", "test"); Pour connaître la liste des messages IRC disponibles, merci de consulter les RFCs 1459 et - 2812 + 2812. + De plus, vous pouvez utiliser un nom spécial, préfixé par + "weechat_" pour capturer des évènements spéciaux, comme décrit + dans le tableau ci-dessous : + + + + + Nom + Description + + + + + weechat_pv + message privé reçu + + + weechat_highlight + + message avec highlight (sur un canal ou en privé) + + + + weechat_ctcp + + message CTCP reçu (VERSION, PING, etc...) + + + + weechat_dcc + + message DCC reçu (discussion ou fichier) + + + + + @@ -4015,7 +4052,10 @@ weechat.log("message", "#weechat", "freenode") Pour connaître la liste des messages IRC disponibles, merci de consulter les RFCs 1459 et - 2812 + 2812. + De plus, vous pouvez utiliser un nom spécial, préfixé par + "weechat_" pour capturer des évènements spéciaux + (voir ). diff --git a/src/irc/irc-recv.c b/src/irc/irc-recv.c index a6b539d5f..51972ca37 100644 --- a/src/irc/irc-recv.c +++ b/src/irc/irc-recv.c @@ -43,6 +43,7 @@ #include "../plugins/plugins.h" +char *irc_last_command_received = NULL; int command_ignored; @@ -246,9 +247,12 @@ irc_recv_command (t_irc_server *server, char *entire_line, pos[0] = '!'; args_after_color = (char *)gui_color_decode ((unsigned char *)arguments, cfg_irc_colors_receive); + irc_last_command_received = strdup (entire_line); return_code = (int) (irc_commands[i].recv_function) (server, host, nick, (args_after_color) ? args_after_color : arguments); + if (irc_last_command_received) + free (irc_last_command_received); if (args_after_color) free (args_after_color); if (nick) @@ -1137,6 +1141,7 @@ irc_cmd_recv_notice (t_irc_server *server, char *host, char *nick, char *argumen struct timezone tz; long sec1, usec1, sec2, usec2, difftime; t_irc_channel *ptr_channel; + int highlight; host2 = NULL; if (host) @@ -1258,12 +1263,16 @@ irc_cmd_recv_notice (t_irc_server *server, char *host, char *nick, char *argumen COLOR_WIN_INFOBAR_HIGHLIGHT, _("Private"), " %s> %s", nick, pos); + highlight = 1; } else + { gui_printf_type (ptr_channel->buffer, MSG_TYPE_NICK, "%s%s", GUI_COLOR(COLOR_WIN_NICK_PRIVATE), nick); + highlight = 0; + } gui_printf_type (ptr_channel->buffer, MSG_TYPE_NICK, "%s> ", GUI_COLOR(COLOR_WIN_CHAT_DARK)); @@ -1271,6 +1280,12 @@ irc_cmd_recv_notice (t_irc_server *server, char *host, char *nick, char *argumen "%s%s\n", GUI_COLOR(COLOR_WIN_CHAT), pos); +#ifdef PLUGINS + if (highlight) + (void) plugin_msg_handler_exec (server->name, + "weechat_highlight", + irc_last_command_received); +#endif } else { @@ -1462,6 +1477,7 @@ irc_cmd_recv_privmsg (t_irc_server *server, char *host, char *nick, char *argume t_irc_channel *ptr_channel; t_irc_nick *ptr_nick; struct utsname *buf; + int highlight; /* no host => we can't identify sender of message! */ if (host == NULL) @@ -1521,14 +1537,23 @@ irc_cmd_recv_privmsg (t_irc_server *server, char *host, char *nick, char *argume _("Channel"), " %s: * %s %s", ptr_channel->name, nick, pos); + gui_printf (ptr_channel->buffer, " %s%s\n", + GUI_COLOR(COLOR_WIN_CHAT), pos); +#ifdef PLUGINS + (void) plugin_msg_handler_exec (server->name, + "weechat_highlight", + irc_last_command_received); +#endif } else + { gui_printf_type (ptr_channel->buffer, MSG_TYPE_MSG, "%s%s", GUI_COLOR(COLOR_WIN_CHAT_NICK), nick); - gui_printf (ptr_channel->buffer, " %s%s\n", - GUI_COLOR(COLOR_WIN_CHAT), pos); + gui_printf (ptr_channel->buffer, " %s%s\n", + GUI_COLOR(COLOR_WIN_CHAT), pos); + } } return 0; } @@ -1638,13 +1663,22 @@ irc_cmd_recv_privmsg (t_irc_server *server, char *host, char *nick, char *argume _("Channel"), " %s: %s> %s", ptr_channel->name, nick, pos); + gui_printf_type (ptr_channel->buffer, MSG_TYPE_MSG, + "%s\n", pos); +#ifdef PLUGINS + (void) plugin_msg_handler_exec (server->name, + "weechat_highlight", + irc_last_command_received); +#endif } else + { irc_display_nick (ptr_channel->buffer, ptr_nick, (ptr_nick) ? NULL : nick, MSG_TYPE_NICK, 1, 1, 0); - gui_printf_type (ptr_channel->buffer, MSG_TYPE_MSG, - "%s\n", pos); + gui_printf_type (ptr_channel->buffer, MSG_TYPE_MSG, + "%s\n", pos); + } } } else @@ -1717,6 +1751,11 @@ irc_cmd_recv_privmsg (t_irc_server *server, char *host, char *nick, char *argume pos2); else gui_printf (server->buffer, "\n"); +#ifdef PLUGINS + (void) plugin_msg_handler_exec (server->name, + "weechat_ctcp", + irc_last_command_received); +#endif } return 0; } @@ -1750,6 +1789,11 @@ irc_cmd_recv_privmsg (t_irc_server *server, char *host, char *nick, char *argume GUI_COLOR(COLOR_WIN_CHAT), GUI_COLOR(COLOR_WIN_CHAT_NICK), nick); +#ifdef PLUGINS + (void) plugin_msg_handler_exec (server->name, + "weechat_ctcp", + irc_last_command_received); +#endif } return 0; } @@ -1829,6 +1873,11 @@ irc_cmd_recv_privmsg (t_irc_server *server, char *host, char *nick, char *argume dcc_add (server, DCC_FILE_RECV, strtoul (pos_addr, NULL, 10), atoi (pos_port), nick, -1, pos_file, NULL, strtoul (pos_size, NULL, 10)); +#ifdef PLUGINS + (void) plugin_msg_handler_exec (server->name, + "weechat_dcc", + irc_last_command_received); +#endif } return 0; } @@ -1891,6 +1940,11 @@ irc_cmd_recv_privmsg (t_irc_server *server, char *host, char *nick, char *argume dcc_accept_resume (server, pos_file, atoi (pos_port), strtoul (pos_start_resume, NULL, 10)); +#ifdef PLUGINS + (void) plugin_msg_handler_exec (server->name, + "weechat_dcc", + irc_last_command_received); +#endif } return 0; } @@ -1953,6 +2007,11 @@ irc_cmd_recv_privmsg (t_irc_server *server, char *host, char *nick, char *argume dcc_start_resume (server, pos_file, atoi (pos_port), strtoul (pos_start_resume, NULL, 10)); +#ifdef PLUGINS + (void) plugin_msg_handler_exec (server->name, + "weechat_dcc", + irc_last_command_received); +#endif } return 0; } @@ -2027,6 +2086,11 @@ irc_cmd_recv_privmsg (t_irc_server *server, char *host, char *nick, char *argume dcc_add (server, DCC_CHAT_RECV, strtoul (pos_addr, NULL, 10), atoi (pos_port), nick, -1, NULL, NULL, 0); +#ifdef PLUGINS + (void) plugin_msg_handler_exec (server->name, + "weechat_dcc", + irc_last_command_received); +#endif } return 0; } @@ -2079,14 +2143,28 @@ irc_cmd_recv_privmsg (t_irc_server *server, char *host, char *nick, char *argume _("Channel"), " %s: * %s %s", ptr_channel->name, nick, pos); + gui_printf (ptr_channel->buffer, " %s%s\n", + GUI_COLOR(COLOR_WIN_CHAT), pos); +#ifdef PLUGINS + (void) plugin_msg_handler_exec (server->name, + "weechat_highlight", + irc_last_command_received); +#endif } else + { gui_printf_type (ptr_channel->buffer, MSG_TYPE_MSG, "%s%s", GUI_COLOR(COLOR_WIN_CHAT_NICK), nick); - gui_printf (ptr_channel->buffer, " %s%s\n", - GUI_COLOR(COLOR_WIN_CHAT), pos); + gui_printf (ptr_channel->buffer, " %s%s\n", + GUI_COLOR(COLOR_WIN_CHAT), pos); +#ifdef PLUGINS + (void) plugin_msg_handler_exec (server->name, + "weechat_pv", + irc_last_command_received); +#endif + } } } else @@ -2125,6 +2203,11 @@ irc_cmd_recv_privmsg (t_irc_server *server, char *host, char *nick, char *argume pos2); else gui_printf (server->buffer, "\n"); +#ifdef PLUGINS + (void) plugin_msg_handler_exec (server->name, + "weechat_ctcp", + irc_last_command_received); +#endif } return 0; } @@ -2168,12 +2251,16 @@ irc_cmd_recv_privmsg (t_irc_server *server, char *host, char *nick, char *argume COLOR_WIN_INFOBAR_HIGHLIGHT, _("Private"), " %s> %s", nick, pos); + highlight = 1; } else + { gui_printf_type (ptr_channel->buffer, MSG_TYPE_NICK, "%s%s", GUI_COLOR(COLOR_WIN_NICK_PRIVATE), nick); + highlight = 0; + } gui_printf_type (ptr_channel->buffer, MSG_TYPE_NICK, "%s> ", GUI_COLOR(COLOR_WIN_CHAT_DARK)); @@ -2181,6 +2268,15 @@ irc_cmd_recv_privmsg (t_irc_server *server, char *host, char *nick, char *argume "%s%s\n", GUI_COLOR(COLOR_WIN_CHAT), pos); +#ifdef PLUGINS + (void) plugin_msg_handler_exec (server->name, + "weechat_pv", + irc_last_command_received); + if (highlight) + (void) plugin_msg_handler_exec (server->name, + "weechat_highlight", + irc_last_command_received); +#endif } } } diff --git a/weechat/ChangeLog b/weechat/ChangeLog index e4f621eae..c89fcc0b5 100644 --- a/weechat/ChangeLog +++ b/weechat/ChangeLog @@ -1,10 +1,12 @@ WeeChat - Wee Enhanced Environment for Chat =========================================== -ChangeLog - 2006-02-28 +ChangeLog - 2006-03-02 Version 0.1.8 (under dev!): + * added special names for plugin message handlers: weechat_pv, + weechat_highlight, weechat_ctcp, weechat_dcc * script plugins now load scripts in WeeChat system share directory * /msg command does not open any buffer any more * fixed crash when using global history (when older entry is removed) diff --git a/weechat/doc/en/weechat.en.xml b/weechat/doc/en/weechat.en.xml index 5c1780151..202044cf1 100644 --- a/weechat/doc/en/weechat.en.xml +++ b/weechat/doc/en/weechat.en.xml @@ -1751,7 +1751,43 @@ plugin->log (plugin, "freenode", "#weechat", "test"); To know list of IRC messages, please consult RFCs 1459 and - 2812 + 2812. + Moreover you can use a special name, prefixed by "weechat_" to catch + special events, as written in table below: + + + + + Name + Description + + + + + weechat_pv + private message received + + + weechat_highlight + + message with highlight (on a channel or pv) + + + + weechat_ctcp + + CTCP message received (VERSION, PING, ..) + + + + weechat_dcc + + DCC message received (chat or file) + + + + + @@ -3937,7 +3973,9 @@ weechat.log("message", "#weechat", "freenode") : name of IRC message. To know list of IRC messages, please consult RFCs 1459 and - 2812 + 2812. + Moreover you can use a special name, prefixed by "weechat_" to catch + special events (see ). diff --git a/weechat/doc/fr/weechat.fr.xml b/weechat/doc/fr/weechat.fr.xml index 595a9907a..7c0ecbd78 100644 --- a/weechat/doc/fr/weechat.fr.xml +++ b/weechat/doc/fr/weechat.fr.xml @@ -1788,7 +1788,44 @@ plugin->log (plugin, "freenode", "#weechat", "test"); Pour connaître la liste des messages IRC disponibles, merci de consulter les RFCs 1459 et - 2812 + 2812. + De plus, vous pouvez utiliser un nom spécial, préfixé par + "weechat_" pour capturer des évènements spéciaux, comme décrit + dans le tableau ci-dessous : + + + + + Nom + Description + + + + + weechat_pv + message privé reçu + + + weechat_highlight + + message avec highlight (sur un canal ou en privé) + + + + weechat_ctcp + + message CTCP reçu (VERSION, PING, etc...) + + + + weechat_dcc + + message DCC reçu (discussion ou fichier) + + + + + @@ -4015,7 +4052,10 @@ weechat.log("message", "#weechat", "freenode") Pour connaître la liste des messages IRC disponibles, merci de consulter les RFCs 1459 et - 2812 + 2812. + De plus, vous pouvez utiliser un nom spécial, préfixé par + "weechat_" pour capturer des évènements spéciaux + (voir ). diff --git a/weechat/src/irc/irc-recv.c b/weechat/src/irc/irc-recv.c index a6b539d5f..51972ca37 100644 --- a/weechat/src/irc/irc-recv.c +++ b/weechat/src/irc/irc-recv.c @@ -43,6 +43,7 @@ #include "../plugins/plugins.h" +char *irc_last_command_received = NULL; int command_ignored; @@ -246,9 +247,12 @@ irc_recv_command (t_irc_server *server, char *entire_line, pos[0] = '!'; args_after_color = (char *)gui_color_decode ((unsigned char *)arguments, cfg_irc_colors_receive); + irc_last_command_received = strdup (entire_line); return_code = (int) (irc_commands[i].recv_function) (server, host, nick, (args_after_color) ? args_after_color : arguments); + if (irc_last_command_received) + free (irc_last_command_received); if (args_after_color) free (args_after_color); if (nick) @@ -1137,6 +1141,7 @@ irc_cmd_recv_notice (t_irc_server *server, char *host, char *nick, char *argumen struct timezone tz; long sec1, usec1, sec2, usec2, difftime; t_irc_channel *ptr_channel; + int highlight; host2 = NULL; if (host) @@ -1258,12 +1263,16 @@ irc_cmd_recv_notice (t_irc_server *server, char *host, char *nick, char *argumen COLOR_WIN_INFOBAR_HIGHLIGHT, _("Private"), " %s> %s", nick, pos); + highlight = 1; } else + { gui_printf_type (ptr_channel->buffer, MSG_TYPE_NICK, "%s%s", GUI_COLOR(COLOR_WIN_NICK_PRIVATE), nick); + highlight = 0; + } gui_printf_type (ptr_channel->buffer, MSG_TYPE_NICK, "%s> ", GUI_COLOR(COLOR_WIN_CHAT_DARK)); @@ -1271,6 +1280,12 @@ irc_cmd_recv_notice (t_irc_server *server, char *host, char *nick, char *argumen "%s%s\n", GUI_COLOR(COLOR_WIN_CHAT), pos); +#ifdef PLUGINS + if (highlight) + (void) plugin_msg_handler_exec (server->name, + "weechat_highlight", + irc_last_command_received); +#endif } else { @@ -1462,6 +1477,7 @@ irc_cmd_recv_privmsg (t_irc_server *server, char *host, char *nick, char *argume t_irc_channel *ptr_channel; t_irc_nick *ptr_nick; struct utsname *buf; + int highlight; /* no host => we can't identify sender of message! */ if (host == NULL) @@ -1521,14 +1537,23 @@ irc_cmd_recv_privmsg (t_irc_server *server, char *host, char *nick, char *argume _("Channel"), " %s: * %s %s", ptr_channel->name, nick, pos); + gui_printf (ptr_channel->buffer, " %s%s\n", + GUI_COLOR(COLOR_WIN_CHAT), pos); +#ifdef PLUGINS + (void) plugin_msg_handler_exec (server->name, + "weechat_highlight", + irc_last_command_received); +#endif } else + { gui_printf_type (ptr_channel->buffer, MSG_TYPE_MSG, "%s%s", GUI_COLOR(COLOR_WIN_CHAT_NICK), nick); - gui_printf (ptr_channel->buffer, " %s%s\n", - GUI_COLOR(COLOR_WIN_CHAT), pos); + gui_printf (ptr_channel->buffer, " %s%s\n", + GUI_COLOR(COLOR_WIN_CHAT), pos); + } } return 0; } @@ -1638,13 +1663,22 @@ irc_cmd_recv_privmsg (t_irc_server *server, char *host, char *nick, char *argume _("Channel"), " %s: %s> %s", ptr_channel->name, nick, pos); + gui_printf_type (ptr_channel->buffer, MSG_TYPE_MSG, + "%s\n", pos); +#ifdef PLUGINS + (void) plugin_msg_handler_exec (server->name, + "weechat_highlight", + irc_last_command_received); +#endif } else + { irc_display_nick (ptr_channel->buffer, ptr_nick, (ptr_nick) ? NULL : nick, MSG_TYPE_NICK, 1, 1, 0); - gui_printf_type (ptr_channel->buffer, MSG_TYPE_MSG, - "%s\n", pos); + gui_printf_type (ptr_channel->buffer, MSG_TYPE_MSG, + "%s\n", pos); + } } } else @@ -1717,6 +1751,11 @@ irc_cmd_recv_privmsg (t_irc_server *server, char *host, char *nick, char *argume pos2); else gui_printf (server->buffer, "\n"); +#ifdef PLUGINS + (void) plugin_msg_handler_exec (server->name, + "weechat_ctcp", + irc_last_command_received); +#endif } return 0; } @@ -1750,6 +1789,11 @@ irc_cmd_recv_privmsg (t_irc_server *server, char *host, char *nick, char *argume GUI_COLOR(COLOR_WIN_CHAT), GUI_COLOR(COLOR_WIN_CHAT_NICK), nick); +#ifdef PLUGINS + (void) plugin_msg_handler_exec (server->name, + "weechat_ctcp", + irc_last_command_received); +#endif } return 0; } @@ -1829,6 +1873,11 @@ irc_cmd_recv_privmsg (t_irc_server *server, char *host, char *nick, char *argume dcc_add (server, DCC_FILE_RECV, strtoul (pos_addr, NULL, 10), atoi (pos_port), nick, -1, pos_file, NULL, strtoul (pos_size, NULL, 10)); +#ifdef PLUGINS + (void) plugin_msg_handler_exec (server->name, + "weechat_dcc", + irc_last_command_received); +#endif } return 0; } @@ -1891,6 +1940,11 @@ irc_cmd_recv_privmsg (t_irc_server *server, char *host, char *nick, char *argume dcc_accept_resume (server, pos_file, atoi (pos_port), strtoul (pos_start_resume, NULL, 10)); +#ifdef PLUGINS + (void) plugin_msg_handler_exec (server->name, + "weechat_dcc", + irc_last_command_received); +#endif } return 0; } @@ -1953,6 +2007,11 @@ irc_cmd_recv_privmsg (t_irc_server *server, char *host, char *nick, char *argume dcc_start_resume (server, pos_file, atoi (pos_port), strtoul (pos_start_resume, NULL, 10)); +#ifdef PLUGINS + (void) plugin_msg_handler_exec (server->name, + "weechat_dcc", + irc_last_command_received); +#endif } return 0; } @@ -2027,6 +2086,11 @@ irc_cmd_recv_privmsg (t_irc_server *server, char *host, char *nick, char *argume dcc_add (server, DCC_CHAT_RECV, strtoul (pos_addr, NULL, 10), atoi (pos_port), nick, -1, NULL, NULL, 0); +#ifdef PLUGINS + (void) plugin_msg_handler_exec (server->name, + "weechat_dcc", + irc_last_command_received); +#endif } return 0; } @@ -2079,14 +2143,28 @@ irc_cmd_recv_privmsg (t_irc_server *server, char *host, char *nick, char *argume _("Channel"), " %s: * %s %s", ptr_channel->name, nick, pos); + gui_printf (ptr_channel->buffer, " %s%s\n", + GUI_COLOR(COLOR_WIN_CHAT), pos); +#ifdef PLUGINS + (void) plugin_msg_handler_exec (server->name, + "weechat_highlight", + irc_last_command_received); +#endif } else + { gui_printf_type (ptr_channel->buffer, MSG_TYPE_MSG, "%s%s", GUI_COLOR(COLOR_WIN_CHAT_NICK), nick); - gui_printf (ptr_channel->buffer, " %s%s\n", - GUI_COLOR(COLOR_WIN_CHAT), pos); + gui_printf (ptr_channel->buffer, " %s%s\n", + GUI_COLOR(COLOR_WIN_CHAT), pos); +#ifdef PLUGINS + (void) plugin_msg_handler_exec (server->name, + "weechat_pv", + irc_last_command_received); +#endif + } } } else @@ -2125,6 +2203,11 @@ irc_cmd_recv_privmsg (t_irc_server *server, char *host, char *nick, char *argume pos2); else gui_printf (server->buffer, "\n"); +#ifdef PLUGINS + (void) plugin_msg_handler_exec (server->name, + "weechat_ctcp", + irc_last_command_received); +#endif } return 0; } @@ -2168,12 +2251,16 @@ irc_cmd_recv_privmsg (t_irc_server *server, char *host, char *nick, char *argume COLOR_WIN_INFOBAR_HIGHLIGHT, _("Private"), " %s> %s", nick, pos); + highlight = 1; } else + { gui_printf_type (ptr_channel->buffer, MSG_TYPE_NICK, "%s%s", GUI_COLOR(COLOR_WIN_NICK_PRIVATE), nick); + highlight = 0; + } gui_printf_type (ptr_channel->buffer, MSG_TYPE_NICK, "%s> ", GUI_COLOR(COLOR_WIN_CHAT_DARK)); @@ -2181,6 +2268,15 @@ irc_cmd_recv_privmsg (t_irc_server *server, char *host, char *nick, char *argume "%s%s\n", GUI_COLOR(COLOR_WIN_CHAT), pos); +#ifdef PLUGINS + (void) plugin_msg_handler_exec (server->name, + "weechat_pv", + irc_last_command_received); + if (highlight) + (void) plugin_msg_handler_exec (server->name, + "weechat_highlight", + irc_last_command_received); +#endif } } }