mirror of
https://github.com/weechat/weechat.git
synced 2026-06-12 14:14:48 +02:00
Fix name/short name and local variables of IRC server buffer(s) when merging/splitting servers
This commit is contained in:
@@ -179,9 +179,22 @@ irc_buffer_merge_servers ()
|
||||
|
||||
if (irc_buffer_servers)
|
||||
{
|
||||
weechat_buffer_set (irc_buffer_servers, "name", "servers");
|
||||
weechat_buffer_set (irc_buffer_servers,
|
||||
"name", IRC_BUFFER_ALL_SERVERS_NAME);
|
||||
weechat_buffer_set (irc_buffer_servers,
|
||||
"short_name", IRC_BUFFER_ALL_SERVERS_NAME);
|
||||
weechat_buffer_set (irc_buffer_servers, "key_bind_meta-s",
|
||||
"/command irc /server switch");
|
||||
weechat_buffer_set (irc_buffer_servers,
|
||||
"localvar_set_server", IRC_BUFFER_ALL_SERVERS_NAME);
|
||||
weechat_buffer_set (irc_buffer_servers,
|
||||
"localvar_set_channel", IRC_BUFFER_ALL_SERVERS_NAME);
|
||||
weechat_hook_signal_send ("logger_stop",
|
||||
WEECHAT_HOOK_SIGNAL_POINTER,
|
||||
irc_buffer_servers);
|
||||
weechat_hook_signal_send ("logger_start",
|
||||
WEECHAT_HOOK_SIGNAL_POINTER,
|
||||
irc_buffer_servers);
|
||||
|
||||
for (ptr_server = irc_servers; ptr_server;
|
||||
ptr_server = ptr_server->next_server)
|
||||
@@ -226,6 +239,18 @@ irc_buffer_split_server ()
|
||||
snprintf (buffer_name, sizeof (buffer_name),
|
||||
"server.%s", irc_current_server->name);
|
||||
weechat_buffer_set (irc_current_server->buffer, "name", buffer_name);
|
||||
weechat_buffer_set (irc_current_server->buffer,
|
||||
"short_name", irc_current_server->name);
|
||||
weechat_buffer_set (irc_current_server->buffer,
|
||||
"localvar_set_server", irc_current_server->name);
|
||||
weechat_buffer_set (irc_current_server->buffer,
|
||||
"localvar_set_channel", irc_current_server->name);
|
||||
weechat_hook_signal_send ("logger_stop",
|
||||
WEECHAT_HOOK_SIGNAL_POINTER,
|
||||
irc_current_server->buffer);
|
||||
weechat_hook_signal_send ("logger_start",
|
||||
WEECHAT_HOOK_SIGNAL_POINTER,
|
||||
irc_current_server->buffer);
|
||||
}
|
||||
|
||||
irc_buffer_servers = NULL;
|
||||
|
||||
@@ -20,6 +20,8 @@
|
||||
#ifndef __WEECHAT_IRC_BUFFER_H
|
||||
#define __WEECHAT_IRC_BUFFER_H 1
|
||||
|
||||
#define IRC_BUFFER_ALL_SERVERS_NAME "servers"
|
||||
|
||||
struct t_gui_buffer;
|
||||
struct t_irc_server;
|
||||
struct t_irc_channel;
|
||||
|
||||
@@ -3171,10 +3171,6 @@ irc_command_server (void *data, struct t_gui_buffer *buffer, int argc,
|
||||
}
|
||||
}
|
||||
}
|
||||
weechat_buffer_set (irc_current_server->buffer, "short_name",
|
||||
irc_current_server->name);
|
||||
weechat_buffer_set (irc_current_server->buffer, "localvar_set_server",
|
||||
irc_current_server->name);
|
||||
weechat_bar_item_update ("buffer_name");
|
||||
weechat_bar_item_update ("input_prompt");
|
||||
return WEECHAT_RC_OK;
|
||||
|
||||
@@ -2108,7 +2108,7 @@ irc_server_create_buffer (struct t_irc_server *server, int all_servers)
|
||||
if (all_servers)
|
||||
{
|
||||
snprintf (buffer_name, sizeof (buffer_name),
|
||||
"servers");
|
||||
IRC_BUFFER_ALL_SERVERS_NAME);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -2121,9 +2121,15 @@ irc_server_create_buffer (struct t_irc_server *server, int all_servers)
|
||||
if (!server->buffer)
|
||||
return NULL;
|
||||
|
||||
weechat_buffer_set (server->buffer, "short_name", server->name);
|
||||
weechat_buffer_set (server->buffer, "localvar_set_server", server->name);
|
||||
weechat_buffer_set (server->buffer, "localvar_set_channel", server->name);
|
||||
weechat_buffer_set (server->buffer, "short_name",
|
||||
(weechat_config_boolean (irc_config_look_one_server_buffer)) ?
|
||||
IRC_BUFFER_ALL_SERVERS_NAME : server->name);
|
||||
weechat_buffer_set (server->buffer, "localvar_set_server",
|
||||
(weechat_config_boolean (irc_config_look_one_server_buffer)) ?
|
||||
IRC_BUFFER_ALL_SERVERS_NAME : server->name);
|
||||
weechat_buffer_set (server->buffer, "localvar_set_channel",
|
||||
(weechat_config_boolean (irc_config_look_one_server_buffer)) ?
|
||||
IRC_BUFFER_ALL_SERVERS_NAME : server->name);
|
||||
|
||||
weechat_hook_signal_send ("logger_backlog",
|
||||
WEECHAT_HOOK_SIGNAL_POINTER, server->buffer);
|
||||
|
||||
Reference in New Issue
Block a user