On 07 May 2016, 07:39pm +0200, Romain Francoise wrote:
> Yes, it's a 2.2 regression which I bisected down to this commit:
> 
>   https://github.com/tmux/tmux/commit/98967
> 
> It apparently fixes another bug so I can't simply revert it, but I asked
> Nicholas if he remembers the details. Stay tuned.

Thanks a lot for your work!

You are absolutely right.  Applying the attached patch fixes the
issue for me.

Best,

Marcel
>From 7edb0fd768582ed4744be5f5a3bef7c8cd412e6f Mon Sep 17 00:00:00 2001
From: Marcel Lippmann <m.lippm...@mzqnet.de>
Date: Sat, 7 May 2016 22:58:06 +0200
Subject: [PATCH] Show terminal bell in case of an alert if window activity
 marker is set.

Closes Debian bug #823527.
---
 alerts.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/alerts.c b/alerts.c
index cca0d81..7e4196f 100644
--- a/alerts.c
+++ b/alerts.c
@@ -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)) {
 		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;
 	}
 }
 
-- 
2.8.1

Reply via email to