summaryrefslogtreecommitdiff
path: root/usr.bin/tmux/alerts.c
diff options
context:
space:
mode:
authorNicholas Marriott <nicm@cvs.openbsd.org>2016-05-11 20:56:59 +0000
committerNicholas Marriott <nicm@cvs.openbsd.org>2016-05-11 20:56:59 +0000
commit25aaa350d0cdd7409aecfc6d1548ec96c541bd7c (patch)
tree0c584ebe4d668d9d34ad29f7728e62a700fc202b /usr.bin/tmux/alerts.c
parentca0d63fc6118eaa26bf279b81197d08386beb69b (diff)
Add on alerts rather than ignoring them if the event has already been
queued, for example bell and activity together. From Marcel Lippmann via Romain Francoise.
Diffstat (limited to 'usr.bin/tmux/alerts.c')
-rw-r--r--usr.bin/tmux/alerts.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/usr.bin/tmux/alerts.c b/usr.bin/tmux/alerts.c
index 24fa330d62d..cc0412598ae 100644
--- a/usr.bin/tmux/alerts.c
+++ b/usr.bin/tmux/alerts.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: alerts.c,v 1.10 2016/01/19 15:59:12 nicm Exp $ */
+/* $OpenBSD: alerts.c,v 1.11 2016/05/11 20:56:58 nicm Exp $ */
/*
* Copyright (c) 2015 Nicholas Marriott <nicholas.marriott@gmail.com>
@@ -163,15 +163,15 @@ alerts_queue(struct window *w, int flags)
if (!event_initialized(&w->alerts_timer))
evtimer_set(&w->alerts_timer, alerts_timer, w);
- if (!alerts_fired) {
+ if ((w->flags & flags) != flags) {
w->flags |= flags;
log_debug("@%u alerts flags added %#x", w->id, flags);
+ }
- if (alerts_enabled(w, flags)) {
- log_debug("alerts check queued (by @%u)", w->id);
- event_once(-1, EV_TIMEOUT, alerts_callback, NULL, NULL);
- alerts_fired = 1;
- }
+ if (!alerts_fired && alerts_enabled(w, flags)) {
+ log_debug("alerts check queued (by @%u)", w->id);
+ event_once(-1, EV_TIMEOUT, alerts_callback, NULL, NULL);
+ alerts_fired = 1;
}
}