diff --git a/alacritty/src/event.rs b/alacritty/src/event.rs index 21b866d2..c10bfed9 100644 --- a/alacritty/src/event.rs +++ b/alacritty/src/event.rs @@ -1240,10 +1240,10 @@ impl input::Processor> { }, TerminalEvent::Wakeup => *self.ctx.dirty = true, TerminalEvent::Bell => { - // Set window urgency. - if self.ctx.terminal.mode().contains(TermMode::URGENCY_HINTS) { - let focused = self.ctx.terminal.is_focused; - self.ctx.window().set_urgent(!focused); + // Set window urgency hint when window is not focused. + let focused = self.ctx.terminal.is_focused; + if !focused && self.ctx.terminal.mode().contains(TermMode::URGENCY_HINTS) { + self.ctx.window().set_urgent(true); } // Ring visual bell. @@ -1324,6 +1324,7 @@ impl input::Processor> { *self.ctx.dirty = true; } + // Reset the urgency hint when gaining focus. if is_focused { self.ctx.window().set_urgent(false); }