From d662811bf6d004382061380f537ffdeb0bffe892 Mon Sep 17 00:00:00 2001 From: Ivan Molodetskikh Date: Wed, 16 Jul 2025 14:36:58 +0300 Subject: Unfocus layout when exit confirm dialog is open Screen readers expect closing a modal dialog to reannounce the previous focus. This makes the exit confirm dialog more modal in this sense: it will unfocus the layout and then focus it back when closed, giving the desired behavior. --- src/input/mod.rs | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'src/input/mod.rs') diff --git a/src/input/mod.rs b/src/input/mod.rs index e753c42d..6921eaa1 100644 --- a/src/input/mod.rs +++ b/src/input/mod.rs @@ -375,12 +375,13 @@ impl State { let modified = keysym.modified_sym(); let raw = keysym.raw_latin_sym_or_raw_current_sym(); - if this.niri.exit_confirm_dialog.is_open() && pressed && raw == Some(Keysym::Return) - { - info!("quitting after confirming exit dialog"); - this.niri.stop_signal.stop(); + if this.niri.exit_confirm_dialog.is_open() && pressed { + if raw == Some(Keysym::Return) { + info!("quitting after confirming exit dialog"); + this.niri.stop_signal.stop(); + } - // Don't send this Enter press to any clients. + // Don't send this press to any clients. this.niri.suppressed_keys.insert(key_code); return FilterResult::Intercept(None); } -- cgit