diff options
author | Sebastien Helleu <flashcode@flashtux.org> | 2009-01-25 09:05:13 +0100 |
---|---|---|
committer | Sebastien Helleu <flashcode@flashtux.org> | 2009-01-25 09:05:13 +0100 |
commit | c36af7eb8d6d7c393bb41751affb7ba2ab6ba1cf (patch) | |
tree | 395222b06b0b8357c988b34a252edccc78b3072a | |
parent | f6ebe7a9911f0b490d1a1e2a960cc37c59196870 (diff) | |
download | weechat-c36af7eb8d6d7c393bb41751affb7ba2ab6ba1cf.zip |
Fix unread marker set with irc /away command: set unread marker for all servers/channels that are not displayed in a window
-rw-r--r-- | src/gui/gui-buffer.c | 2 | ||||
-rw-r--r-- | src/plugins/irc/irc-command.c | 10 |
2 files changed, 9 insertions, 3 deletions
diff --git a/src/gui/gui-buffer.c b/src/gui/gui-buffer.c index b2a1bd3ac..191fbb596 100644 --- a/src/gui/gui-buffer.c +++ b/src/gui/gui-buffer.c @@ -523,6 +523,8 @@ gui_buffer_get_integer (struct t_gui_buffer *buffer, const char *property) { if (string_strcasecmp (property, "number") == 0) return buffer->number; + else if (string_strcasecmp (property, "num_displayed") == 0) + return buffer->num_displayed; else if (string_strcasecmp (property, "notify") == 0) return buffer->notify; else if (string_strcasecmp (property, "lines_hidden") == 0) diff --git a/src/plugins/irc/irc-command.c b/src/plugins/irc/irc-command.c index ec2c974ce..d687fbed4 100644 --- a/src/plugins/irc/irc-command.c +++ b/src/plugins/irc/irc-command.c @@ -292,16 +292,20 @@ irc_command_away_server (struct t_irc_server *server, const char *arguments, free (string); } irc_server_set_away (server, server->nick, 1); - + /* reset "unread" indicator on server and channels/pv buffers */ if (reset_unread_marker) { if (!weechat_config_boolean (irc_config_look_one_server_buffer)) - weechat_buffer_set (server->buffer, "unread", ""); + { + if (weechat_buffer_get_integer (server->buffer, "num_displayed") > 0) + weechat_buffer_set (server->buffer, "unread", ""); + } for (ptr_channel = server->channels; ptr_channel; ptr_channel = ptr_channel->next_channel) { - weechat_buffer_set (ptr_channel->buffer, "unread", ""); + if (weechat_buffer_get_integer (ptr_channel->buffer, "num_displayed") > 0) + weechat_buffer_set (ptr_channel->buffer, "unread", ""); } } } |