mirror of
https://github.com/weechat/weechat.git
synced 2026-07-01 07:16:37 +02:00
Add option "irc.look.topic_strip_colors" to strip topic colors in buffer's title bar (task #6030)
This commit is contained in:
@@ -59,8 +59,10 @@ irc_bar_item_buffer_title (void *data, struct t_gui_bar_item *item,
|
||||
if (!title)
|
||||
return NULL;
|
||||
|
||||
title_color = irc_color_decode (title, 1);
|
||||
|
||||
title_color = irc_color_decode (title,
|
||||
(weechat_config_boolean (irc_config_look_topic_strip_colors)) ?
|
||||
0 : 1);
|
||||
|
||||
return (title_color) ? title_color : strdup (title);
|
||||
}
|
||||
|
||||
|
||||
@@ -53,10 +53,11 @@ struct t_config_option *irc_config_look_display_channel_modes;
|
||||
struct t_config_option *irc_config_look_display_nick_modes;
|
||||
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_show_away_once;
|
||||
struct t_config_option *irc_config_look_smart_filter;
|
||||
struct t_config_option *irc_config_look_smart_filter_delay;
|
||||
struct t_config_option *irc_config_look_notice_as_pv;
|
||||
struct t_config_option *irc_config_look_topic_strip_colors;
|
||||
|
||||
/* IRC config, color section */
|
||||
|
||||
@@ -236,6 +237,22 @@ irc_config_change_look_highlight_tags (void *data,
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* irc_config_change_look_topic_strip_colors: called when the "topic strip colors"
|
||||
* option is changed
|
||||
*/
|
||||
|
||||
void
|
||||
irc_config_change_look_topic_strip_colors (void *data,
|
||||
struct t_config_option *option)
|
||||
{
|
||||
/* make C compiler happy */
|
||||
(void) data;
|
||||
(void) option;
|
||||
|
||||
weechat_bar_item_update ("buffer_title");
|
||||
}
|
||||
|
||||
/*
|
||||
* irc_config_change_color_input_nick: called when the color of input nick is
|
||||
* changed
|
||||
@@ -1096,6 +1113,12 @@ irc_config_init ()
|
||||
"notice_as_pv", "boolean",
|
||||
N_("display notices as private messages"),
|
||||
NULL, 0, 0, "off", NULL, 0, NULL, NULL, NULL, NULL, NULL, NULL);
|
||||
irc_config_look_topic_strip_colors = weechat_config_new_option (
|
||||
irc_config_file, ptr_section,
|
||||
"topic_strip_colors", "boolean",
|
||||
N_("strip colors in topic (used only when displaying buffer title)"),
|
||||
NULL, 0, 0, "off", NULL, 0, NULL, NULL,
|
||||
&irc_config_change_look_topic_strip_colors, NULL, NULL, NULL);
|
||||
|
||||
/* color */
|
||||
ptr_section = weechat_config_new_section (irc_config_file, "color",
|
||||
|
||||
@@ -42,10 +42,11 @@ extern struct t_config_option *irc_config_look_display_channel_modes;
|
||||
extern struct t_config_option *irc_config_look_display_nick_modes;
|
||||
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_show_away_once;
|
||||
extern struct t_config_option *irc_config_look_smart_filter;
|
||||
extern struct t_config_option *irc_config_look_smart_filter_delay;
|
||||
extern struct t_config_option *irc_config_look_notice_as_pv;
|
||||
extern struct t_config_option *irc_config_look_topic_strip_colors;
|
||||
|
||||
extern struct t_config_option *irc_config_color_message_join;
|
||||
extern struct t_config_option *irc_config_color_message_quit;
|
||||
|
||||
@@ -348,9 +348,7 @@ irc_protocol_cmd_join (struct t_irc_server *server, const char *command,
|
||||
/* remove topic and display channel creation date if joining new channel */
|
||||
if (!ptr_channel->nicks)
|
||||
{
|
||||
if (ptr_channel->topic)
|
||||
irc_channel_set_topic (ptr_channel, NULL);
|
||||
|
||||
irc_channel_set_topic (ptr_channel, NULL);
|
||||
ptr_channel->display_creation_date = 1;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user