diff options
author | Patrick Griffis <tingping@tingping.se> | 2016-11-11 01:25:12 -0500 |
---|---|---|
committer | Patrick Griffis <tingping@tingping.se> | 2016-11-11 01:25:12 -0500 |
commit | 539949973c484f14d40f1886d67ec09df057315c (patch) | |
tree | 823b900e1cb28b61a567a63a8f7a507767bcaebd /src/fe-gtk/fe-gtk.c | |
parent | e7c88e0f83f40f9d020aa7d2783e95dff55f323f (diff) |
More fixes for tab color handling with plugins
Part 2 of 03767ee0f9826222 So how the colors work should be pretty straight forward: - A message comes in and is handled, this sets the state flags: nick_said, msg_said, new_data. These map to tab colors. - This state is reset under one of these conditions: - It is commited to the UI when actually printed on unfocused tab - Event is interupted by a plugin hook - The tab focus is changed
Diffstat (limited to 'src/fe-gtk/fe-gtk.c')
-rw-r--r-- | src/fe-gtk/fe-gtk.c | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/src/fe-gtk/fe-gtk.c b/src/fe-gtk/fe-gtk.c index 6fed4fe8..ef9f3ab3 100644 --- a/src/fe-gtk/fe-gtk.c +++ b/src/fe-gtk/fe-gtk.c @@ -660,21 +660,21 @@ fe_print_text (struct session *sess, char *text, time_t stamp, { PrintTextRaw (sess->res->buffer, (unsigned char *)text, prefs.hex_text_indent, stamp); - if (no_activity || sess == current_tab || !sess->gui->is_tab) + if (no_activity || !sess->gui->is_tab) return; - if (sess->nick_said) + if (sess == current_tab) + { + sess->nick_said = FALSE; + sess->msg_said = FALSE; + sess->new_data = FALSE; + } + else if (sess->nick_said) fe_set_tab_color (sess, 3); else if (sess->msg_said) fe_set_tab_color (sess, 2); else fe_set_tab_color (sess, 1); - - if (!sess->new_data && !sess->nick_said) - { - sess->new_data = TRUE; - lastact_update (sess); - } } void |