From 47b335dee7e794135e03cc0f5806483e55572b9f Mon Sep 17 00:00:00 2001 From: Tiago Cunha Date: Tue, 22 Jun 2010 23:26:18 +0000 Subject: Sync OpenBSD patchset 724: Having a list of winlinks->alerts for each session is stupid, just store the alert flags directly in the winlink itself. --- status.c | 34 +++++++++++----------------------- 1 file changed, 11 insertions(+), 23 deletions(-) (limited to 'status.c') diff --git a/status.c b/status.c index d8b529ef..e7306952 100644 --- a/status.c +++ b/status.c @@ -1,4 +1,4 @@ -/* $Id: status.c,v 1.148 2010-06-05 23:56:29 tcunha Exp $ */ +/* $Id: status.c,v 1.149 2010-06-22 23:26:18 tcunha Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott @@ -248,25 +248,15 @@ status_redraw(struct client *c) */ offset = 0; RB_FOREACH(wl, winlinks, &s->windows) { - if (larrow == 1 && offset < wlstart) { - if (session_alert_has(s, wl, WINDOW_ACTIVITY)) - larrow = -1; - else if (session_alert_has(s, wl, WINDOW_BELL)) - larrow = -1; - else if (session_alert_has(s, wl, WINDOW_CONTENT)) - larrow = -1; - } + if (wl->flags & WINLINK_ALERTFLAGS && + larrow == 1 && offset < wlstart) + larrow = -1; offset += wl->status_width; - if (rarrow == 1 && offset > wlstart + wlwidth) { - if (session_alert_has(s, wl, WINDOW_ACTIVITY)) - rarrow = -1; - else if (session_alert_has(s, wl, WINDOW_BELL)) - rarrow = -1; - else if (session_alert_has(s, wl, WINDOW_CONTENT)) - rarrow = -1; - } + if (wl->flags & WINLINK_ALERTFLAGS && + rarrow == 1 && offset > wlstart + wlwidth) + rarrow = -1; } draw: @@ -399,11 +389,11 @@ status_replace1(struct client *c,struct winlink *wl, goto do_replace; case 'F': tmp[0] = ' '; - if (session_alert_has(s, wl, WINDOW_CONTENT)) + if (wl->flags & WINLINK_CONTENT) tmp[0] = '+'; - else if (session_alert_has(s, wl, WINDOW_BELL)) + else if (wl->flags & WINLINK_BELL) tmp[0] = '!'; - else if (session_alert_has(s, wl, WINDOW_ACTIVITY)) + else if (wl->flags & WINLINK_ACTIVITY) tmp[0] = '#'; else if (wl == s->curw) tmp[0] = '*'; @@ -593,9 +583,7 @@ status_print( fmt = options_get_string(oo, "window-status-current-format"); } - if (session_alert_has(s, wl, WINDOW_ACTIVITY) || - session_alert_has(s, wl, WINDOW_BELL) || - session_alert_has(s, wl, WINDOW_CONTENT)) { + if (wl->flags & WINLINK_ALERTFLAGS) { fg = options_get_number(oo, "window-status-alert-fg"); if (fg != 8) colour_set_fg(gc, fg); -- cgit