diff options
author | Sebastien Helleu <flashcode@flashtux.org> | 2010-06-08 16:51:57 +0200 |
---|---|---|
committer | Sebastien Helleu <flashcode@flashtux.org> | 2010-06-08 16:51:57 +0200 |
commit | acbfb55ef543b7fb76e98050fa655993f20a6079 (patch) | |
tree | 848bb5c18527325c6580a1e867b127549ce685ac /src | |
parent | 6c17328bdf07a31f53f0cd3df84e0dba6ec7983d (diff) | |
download | weechat-acbfb55ef543b7fb76e98050fa655993f20a6079.zip |
Add new options irc.look.display_host_join/join_local/quit and irc.color.reason_quit
Diffstat (limited to 'src')
-rw-r--r-- | src/plugins/irc/irc-color.h | 1 | ||||
-rw-r--r-- | src/plugins/irc/irc-config.c | 28 | ||||
-rw-r--r-- | src/plugins/irc/irc-config.h | 4 | ||||
-rw-r--r-- | src/plugins/irc/irc-protocol.c | 45 |
4 files changed, 63 insertions, 15 deletions
diff --git a/src/plugins/irc/irc-color.h b/src/plugins/irc/irc-color.h index be9b1dd29..4bf6d7347 100644 --- a/src/plugins/irc/irc-color.h +++ b/src/plugins/irc/irc-color.h @@ -78,6 +78,7 @@ #define IRC_COLOR_STATUS_NAME_SSL weechat_color("status_name_ssl") #define IRC_COLOR_MESSAGE_JOIN weechat_color(weechat_config_string(irc_config_color_message_join)) #define IRC_COLOR_MESSAGE_QUIT weechat_color(weechat_config_string(irc_config_color_message_quit)) +#define IRC_COLOR_REASON_QUIT weechat_color(weechat_config_string(irc_config_color_reason_quit)) #define IRC_COLOR_NOTICE weechat_color(weechat_config_string(irc_config_color_notice)) #define IRC_COLOR_INPUT_NICK weechat_color(weechat_config_string(irc_config_color_input_nick)) #define IRC_COLOR_ITEM_AWAY weechat_color(weechat_config_string(irc_config_color_item_away)) diff --git a/src/plugins/irc/irc-config.c b/src/plugins/irc/irc-config.c index 1a9bf3f71..4ab40f65e 100644 --- a/src/plugins/irc/irc-config.c +++ b/src/plugins/irc/irc-config.c @@ -61,6 +61,9 @@ struct t_config_option *irc_config_look_display_away; struct t_config_option *irc_config_look_display_ctcp_blocked; struct t_config_option *irc_config_look_display_ctcp_reply; struct t_config_option *irc_config_look_display_ctcp_unknown; +struct t_config_option *irc_config_look_display_host_join; +struct t_config_option *irc_config_look_display_host_join_local; +struct t_config_option *irc_config_look_display_host_quit; struct t_config_option *irc_config_look_display_old_topic; struct t_config_option *irc_config_look_display_pv_away_once; struct t_config_option *irc_config_look_display_pv_back; @@ -93,6 +96,7 @@ struct t_config_option *irc_config_color_notice; struct t_config_option *irc_config_color_input_nick; struct t_config_option *irc_config_color_item_away; struct t_config_option *irc_config_color_item_channel_modes; +struct t_config_option *irc_config_color_reason_quit; /* IRC config, network section */ @@ -1529,6 +1533,24 @@ irc_config_init () N_("display CTCP message even if it is unknown CTCP"), NULL, 0, 0, "on", NULL, 0, NULL, NULL, NULL, NULL, NULL, NULL); + irc_config_look_display_host_join = weechat_config_new_option ( + irc_config_file, ptr_section, + "display_host_join", "boolean", + N_("display host in join messages"), + NULL, 0, 0, "on", NULL, 0, NULL, NULL, + NULL, NULL, NULL, NULL); + irc_config_look_display_host_join_local = weechat_config_new_option ( + irc_config_file, ptr_section, + "display_host_join_local", "boolean", + N_("display host in join messages from local client"), + NULL, 0, 0, "on", NULL, 0, NULL, NULL, + NULL, NULL, NULL, NULL); + irc_config_look_display_host_quit = weechat_config_new_option ( + irc_config_file, ptr_section, + "display_host_quit", "boolean", + N_("display host in part/quit messages"), + NULL, 0, 0, "on", NULL, 0, NULL, NULL, + NULL, NULL, NULL, NULL); irc_config_look_display_old_topic = weechat_config_new_option ( irc_config_file, ptr_section, "display_old_topic", "boolean", @@ -1716,6 +1738,12 @@ irc_config_init () N_("color for channel modes, near channel name"), NULL, -1, 0, "default", NULL, 0, NULL, NULL, &irc_config_change_color_item_buffer_name, NULL, NULL, NULL); + irc_config_color_reason_quit = weechat_config_new_option ( + irc_config_file, ptr_section, + "reason_quit", "color", + N_("color for reason in part/quit messages"), + NULL, -1, 0, "default", NULL, 0, NULL, NULL, + NULL, NULL, NULL, NULL); /* network */ ptr_section = weechat_config_new_section (irc_config_file, "network", diff --git a/src/plugins/irc/irc-config.h b/src/plugins/irc/irc-config.h index 55a98d4cc..b5b06a1dd 100644 --- a/src/plugins/irc/irc-config.h +++ b/src/plugins/irc/irc-config.h @@ -80,6 +80,9 @@ extern struct t_config_option *irc_config_look_display_away; extern struct t_config_option *irc_config_look_display_ctcp_blocked; extern struct t_config_option *irc_config_look_display_ctcp_reply; extern struct t_config_option *irc_config_look_display_ctcp_unknown; +extern struct t_config_option *irc_config_look_display_host_join; +extern struct t_config_option *irc_config_look_display_host_join_local; +extern struct t_config_option *irc_config_look_display_host_quit; extern struct t_config_option *irc_config_look_display_old_topic; extern struct t_config_option *irc_config_look_display_pv_away_once; extern struct t_config_option *irc_config_look_display_pv_back; @@ -110,6 +113,7 @@ extern struct t_config_option *irc_config_color_notice; extern struct t_config_option *irc_config_color_input_nick; extern struct t_config_option *irc_config_color_item_away; extern struct t_config_option *irc_config_color_item_channel_modes; +extern struct t_config_option *irc_config_color_reason_quit; extern struct t_config_option *irc_config_network_autoreconnect_delay_growing; extern struct t_config_option *irc_config_network_autoreconnect_delay_max; diff --git a/src/plugins/irc/irc-protocol.c b/src/plugins/irc/irc-protocol.c index d9f825aea..79e10d8de 100644 --- a/src/plugins/irc/irc-protocol.c +++ b/src/plugins/irc/irc-protocol.c @@ -539,7 +539,7 @@ IRC_PROTOCOL_CALLBACK(join) struct t_irc_nick *ptr_nick; struct t_irc_channel_speaking *ptr_nick_speaking; char *pos_channel; - int local_join; + int local_join, display_host; /* * JOIN message looks like: @@ -584,6 +584,9 @@ IRC_PROTOCOL_CALLBACK(join) ptr_nick_speaking = ((weechat_config_boolean (irc_config_look_smart_filter)) && (weechat_config_boolean (irc_config_look_smart_filter_join))) ? irc_channel_nick_speaking_time_search (ptr_channel, nick, 1) : NULL; + display_host = (local_join) ? + weechat_config_boolean (irc_config_look_display_host_join_local) : + weechat_config_boolean (irc_config_look_display_host_join); weechat_printf_tags (ptr_channel->buffer, irc_protocol_tags (command, (local_join @@ -591,14 +594,16 @@ IRC_PROTOCOL_CALLBACK(join) || !weechat_config_boolean (irc_config_look_smart_filter_join) || ptr_nick_speaking) ? NULL : "irc_smart_filter"), - _("%s%s%s %s(%s%s%s)%s has joined %s%s%s"), + _("%s%s%s%s%s%s%s%s%s%s has joined %s%s%s"), weechat_prefix ("join"), IRC_COLOR_NICK_IN_SERVER_MESSAGE(ptr_nick), nick, IRC_COLOR_CHAT_DELIMITERS, + (display_host) ? " (" : "", IRC_COLOR_CHAT_HOST, - address, + (display_host) ? address : "", IRC_COLOR_CHAT_DELIMITERS, + (display_host) ? ")" : "", IRC_COLOR_MESSAGE_JOIN, IRC_COLOR_CHAT_CHANNEL, pos_channel, @@ -1164,7 +1169,7 @@ IRC_PROTOCOL_CALLBACK(notice) IRC_PROTOCOL_CALLBACK(part) { char *pos_comment, *join_string; - int join_length, local_part; + int join_length, local_part, display_host; struct t_irc_channel *ptr_channel; struct t_irc_nick *ptr_nick; struct t_irc_channel_speaking *ptr_nick_speaking; @@ -1202,6 +1207,7 @@ IRC_PROTOCOL_CALLBACK(part) && (weechat_config_boolean (irc_config_look_smart_filter_quit))) ? irc_channel_nick_speaking_time_search (ptr_channel, nick, 1) : NULL; } + display_host = weechat_config_boolean (irc_config_look_display_host_quit); if (pos_comment) { weechat_printf_tags (ptr_channel->buffer, @@ -1212,21 +1218,23 @@ IRC_PROTOCOL_CALLBACK(part) || !weechat_config_boolean (irc_config_look_smart_filter_quit) || ptr_nick_speaking) ? NULL : "irc_smart_filter"), - _("%s%s%s %s(%s%s%s)%s has left %s%s%s " + _("%s%s%s%s%s%s%s%s%s%s has left %s%s%s " "%s(%s%s%s)"), weechat_prefix ("quit"), IRC_COLOR_NICK_IN_SERVER_MESSAGE(ptr_nick), nick, IRC_COLOR_CHAT_DELIMITERS, + (display_host) ? " (" : "", IRC_COLOR_CHAT_HOST, - address, + (display_host) ? address : "", IRC_COLOR_CHAT_DELIMITERS, + (display_host) ? ")" : "", IRC_COLOR_MESSAGE_QUIT, IRC_COLOR_CHAT_CHANNEL, ptr_channel->name, IRC_COLOR_MESSAGE_QUIT, IRC_COLOR_CHAT_DELIMITERS, - IRC_COLOR_CHAT, + IRC_COLOR_REASON_QUIT, pos_comment, IRC_COLOR_CHAT_DELIMITERS); } @@ -1240,15 +1248,17 @@ IRC_PROTOCOL_CALLBACK(part) || !weechat_config_boolean (irc_config_look_smart_filter_quit) || ptr_nick_speaking) ? NULL : "irc_smart_filter"), - _("%s%s%s %s(%s%s%s)%s has left " + _("%s%s%s%s%s%s%s%s%s%s has left " "%s%s%s"), weechat_prefix ("quit"), IRC_COLOR_NICK_IN_SERVER_MESSAGE(ptr_nick), nick, IRC_COLOR_CHAT_DELIMITERS, + (display_host) ? " (" : "", IRC_COLOR_CHAT_HOST, - address, + (display_host) ? address : "", IRC_COLOR_CHAT_DELIMITERS, + (display_host) ? ")" : "", IRC_COLOR_MESSAGE_QUIT, IRC_COLOR_CHAT_CHANNEL, ptr_channel->name, @@ -1496,7 +1506,7 @@ IRC_PROTOCOL_CALLBACK(quit) struct t_irc_channel *ptr_channel; struct t_irc_nick *ptr_nick; struct t_irc_channel_speaking *ptr_nick_speaking; - int local_quit; + int local_quit, display_host; /* * QUIT message looks like: @@ -1534,6 +1544,7 @@ IRC_PROTOCOL_CALLBACK(quit) { ptr_channel->has_quit_server = 1; } + display_host = weechat_config_boolean (irc_config_look_display_host_quit); if (pos_comment && pos_comment[0]) { weechat_printf_tags (ptr_channel->buffer, @@ -1544,19 +1555,21 @@ IRC_PROTOCOL_CALLBACK(quit) || !weechat_config_boolean (irc_config_look_smart_filter_quit) || ptr_nick_speaking) ? NULL : "irc_smart_filter"), - _("%s%s%s %s(%s%s%s)%s has quit " + _("%s%s%s%s%s%s%s%s%s%s has quit " "%s(%s%s%s)"), weechat_prefix ("quit"), (ptr_channel->type == IRC_CHANNEL_TYPE_PRIVATE) ? irc_nick_color_for_pv (ptr_channel, nick) : IRC_COLOR_NICK_IN_SERVER_MESSAGE(ptr_nick), nick, IRC_COLOR_CHAT_DELIMITERS, + (display_host) ? " (" : "", IRC_COLOR_CHAT_HOST, - address, + (display_host) ? address : "", IRC_COLOR_CHAT_DELIMITERS, + (display_host) ? ")" : "", IRC_COLOR_MESSAGE_QUIT, IRC_COLOR_CHAT_DELIMITERS, - IRC_COLOR_CHAT, + IRC_COLOR_REASON_QUIT, pos_comment, IRC_COLOR_CHAT_DELIMITERS); } @@ -1570,15 +1583,17 @@ IRC_PROTOCOL_CALLBACK(quit) || !weechat_config_boolean (irc_config_look_smart_filter_quit) || ptr_nick_speaking) ? NULL : "irc_smart_filter"), - _("%s%s%s %s(%s%s%s)%s has quit"), + _("%s%s%s%s%s%s%s%s%s%s has quit"), weechat_prefix ("quit"), (ptr_channel->type == IRC_CHANNEL_TYPE_PRIVATE) ? irc_nick_color_for_pv (ptr_channel, nick) : IRC_COLOR_NICK_IN_SERVER_MESSAGE(ptr_nick), nick, IRC_COLOR_CHAT_DELIMITERS, + (display_host) ? " (" : "", IRC_COLOR_CHAT_HOST, - address, + (display_host) ? address : "", IRC_COLOR_CHAT_DELIMITERS, + (display_host) ? ")" : "", IRC_COLOR_MESSAGE_QUIT); } } |