1
0
mirror of https://github.com/weechat/weechat.git synced 2026-06-29 14:26:39 +02:00

Catch signal "buffer_renamed" in logger plugin (restart logging for buffer when name has changed)

This commit is contained in:
Sebastien Helleu
2008-11-14 14:43:04 +01:00
parent ac66ce6a74
commit 48ac3c4f98
2 changed files with 22 additions and 0 deletions
+2
View File
@@ -655,6 +655,8 @@ irc_protocol_cmd_nick (struct t_irc_server *server, const char *command,
free (ptr_channel->name);
ptr_channel->name = strdup (new_nick);
weechat_buffer_set (ptr_channel->buffer, "name", new_nick);
weechat_buffer_set (ptr_channel->buffer,
"localvar_set_channel", new_nick);
}
break;
case IRC_CHANNEL_TYPE_CHANNEL:
+20
View File
@@ -720,6 +720,25 @@ logger_buffer_closing_signal_cb (void *data, const char *signal,
return WEECHAT_RC_OK;
}
/*
* logger_buffer_renamed_signal_cb: callback for "buffer_closing" signal
*/
int
logger_buffer_renamed_signal_cb (void *data, const char *signal,
const char *type_data, void *signal_data)
{
/* make C compiler happy */
(void) data;
(void) signal;
(void) type_data;
logger_stop (logger_buffer_search_buffer (signal_data), 1);
logger_start_buffer (signal_data);
return WEECHAT_RC_OK;
}
/*
* logger_backlog: display backlog for a buffer (by reading end of log file)
*/
@@ -978,6 +997,7 @@ weechat_plugin_init (struct t_weechat_plugin *plugin, int argc, char *argv[])
weechat_hook_signal ("buffer_open", &logger_buffer_open_signal_cb, NULL);
weechat_hook_signal ("buffer_closing", &logger_buffer_closing_signal_cb, NULL);
weechat_hook_signal ("buffer_renamed", &logger_buffer_renamed_signal_cb, NULL);
weechat_hook_signal ("logger_backlog", &logger_backlog_signal_cb, NULL);
weechat_hook_signal ("logger_start", &logger_start_signal_cb, NULL);
weechat_hook_signal ("logger_stop", &logger_stop_signal_cb, NULL);