From 63f5c38023439e23365b18581eb32f530c66a2d9 Mon Sep 17 00:00:00 2001 From: Nicholas Marriott Date: Sun, 8 Jul 2012 07:27:32 +0000 Subject: Clear flags across all sessions, from Thomas Adam. --- window.c | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) (limited to 'window.c') diff --git a/window.c b/window.c index 0d2b74bf..cf13c906 100644 --- a/window.c +++ b/window.c @@ -1164,3 +1164,31 @@ window_pane_find_right(struct window_pane *wp) } return (NULL); } + +/* Clear alert flags for a winlink */ +void +winlink_clear_flags(struct winlink *wl) +{ + struct winlink *wm; + struct session *s; + struct window *w; + u_int i; + + for (i = 0; i < ARRAY_LENGTH(&windows); i++) { + if ((w = ARRAY_ITEM(&windows, i)) == NULL) + continue; + + RB_FOREACH(s, sessions, &sessions) { + if ((wm = session_has(s, w)) == NULL) + continue; + + if (wm->window != wl->window) + continue; + if ((wm->flags & WINLINK_ALERTFLAGS) == 0) + continue; + + wm->flags &= ~WINLINK_ALERTFLAGS; + server_status_session(s); + } + } +} -- cgit