aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--degesch.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/degesch.c b/degesch.c
index ccd5d00..4259d73 100644
--- a/degesch.c
+++ b/degesch.c
@@ -979,6 +979,7 @@ struct buffer
unsigned lines_count; ///< How many lines we have
unsigned unseen_messages_count; ///< # messages since last visited
+ bool highlighted; ///< We've been highlighted
// Origin information:
@@ -2519,6 +2520,9 @@ buffer_send_internal (struct app_context *ctx, struct buffer *buffer,
LIST_APPEND_WITH_TAIL (buffer->lines, buffer->lines_tail, line);
buffer->lines_count++;
+ // TODO: beep if so configured and either the line is a highlight,
+ // or the buffer is an inactive PM buffer
+
if (buffer == ctx->current_buffer)
{
buffer_line_display (ctx, line, false);
@@ -2538,6 +2542,9 @@ buffer_send_internal (struct app_context *ctx, struct buffer *buffer,
else
{
buffer->unseen_messages_count++;
+ if (flags & BUFFER_LINE_HIGHLIGHT)
+ buffer->highlighted = true;
+
refresh_prompt (ctx);
}
}
@@ -2620,6 +2627,7 @@ buffer_print_backlog (struct app_context *ctx, struct buffer *buffer)
for (; line; line = line->next)
buffer_line_display (ctx, line, false);
buffer->unseen_messages_count = 0;
+ buffer->highlighted = false;
refresh_prompt (ctx);
}
@@ -3690,6 +3698,8 @@ make_unseen_prefix (struct app_context *ctx)
if (active_buffers.len)
str_append_c (&active_buffers, ',');
+ if (iter->highlighted)
+ str_append_c (&active_buffers, '!');
str_append_printf (&active_buffers, "%zu", i);
}
@@ -4436,7 +4446,6 @@ irc_handle_notice_text (struct server *s,
if (buffer)
{
- // TODO: some more obvious indication of highlights
int flags = irc_is_highlight (s, text->str)
? BUFFER_LINE_HIGHLIGHT
: 0;