diff options
| author | Ivan Molodetskikh <yalterz@gmail.com> | 2025-08-21 08:57:16 +0300 |
|---|---|---|
| committer | Ivan Molodetskikh <yalterz@gmail.com> | 2025-08-21 09:07:16 +0300 |
| commit | 0a8b4e036d951638817a3b5f9f99bd76ae0538fd (patch) | |
| tree | 71cbba105afe0035a18c49cd81f13573a3090a85 /src/input | |
| parent | 70f9ac4af876d631d7b07310983e7491113a5469 (diff) | |
| download | niri-0a8b4e036d951638817a3b5f9f99bd76ae0538fd.tar.gz niri-0a8b4e036d951638817a3b5f9f99bd76ae0538fd.tar.bz2 niri-0a8b4e036d951638817a3b5f9f99bd76ae0538fd.zip | |
Move fallibility inside ExitConfirmDialog
Makes it less annoying on the outside.
Diffstat (limited to 'src/input')
| -rw-r--r-- | src/input/mod.rs | 39 |
1 files changed, 14 insertions, 25 deletions
diff --git a/src/input/mod.rs b/src/input/mod.rs index 711a09dd..74290692 100644 --- a/src/input/mod.rs +++ b/src/input/mod.rs @@ -116,12 +116,8 @@ impl State { let hide_hotkey_overlay = self.niri.hotkey_overlay.is_open() && should_hide_hotkey_overlay(&event); - let hide_exit_confirm_dialog = self - .niri - .exit_confirm_dialog - .as_ref() - .is_some_and(|d| d.is_open()) - && should_hide_exit_confirm_dialog(&event); + let hide_exit_confirm_dialog = + self.niri.exit_confirm_dialog.is_open() && should_hide_exit_confirm_dialog(&event); use InputEvent::*; match event { @@ -159,10 +155,8 @@ impl State { self.niri.queue_redraw_all(); } - if let Some(dialog) = &mut self.niri.exit_confirm_dialog { - if hide_exit_confirm_dialog && dialog.hide() { - self.niri.queue_redraw_all(); - } + if hide_exit_confirm_dialog && self.niri.exit_confirm_dialog.hide() { + self.niri.queue_redraw_all(); } } @@ -381,15 +375,14 @@ impl State { let modified = keysym.modified_sym(); let raw = keysym.raw_latin_sym_or_raw_current_sym(); - if let Some(dialog) = &this.niri.exit_confirm_dialog { - if 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 && raw == Some(Keysym::Return) + { + info!("quitting after confirming exit dialog"); + this.niri.stop_signal.stop(); - // Don't send this Enter press to any clients. - this.niri.suppressed_keys.insert(key_code); - return FilterResult::Intercept(None); - } + // Don't send this Enter press to any clients. + this.niri.suppressed_keys.insert(key_code); + return FilterResult::Intercept(None); } if pressed @@ -552,13 +545,9 @@ impl State { match action { Action::Quit(skip_confirmation) => { - if !skip_confirmation { - if let Some(dialog) = &mut self.niri.exit_confirm_dialog { - if dialog.show() { - self.niri.queue_redraw_all(); - } - return; - } + if !skip_confirmation && self.niri.exit_confirm_dialog.show() { + self.niri.queue_redraw_all(); + return; } info!("quitting as requested"); |
