aboutsummaryrefslogtreecommitdiff
path: root/src/input
diff options
context:
space:
mode:
authorIvan Molodetskikh <yalterz@gmail.com>2025-08-21 08:57:16 +0300
committerIvan Molodetskikh <yalterz@gmail.com>2025-08-21 09:07:16 +0300
commit0a8b4e036d951638817a3b5f9f99bd76ae0538fd (patch)
tree71cbba105afe0035a18c49cd81f13573a3090a85 /src/input
parent70f9ac4af876d631d7b07310983e7491113a5469 (diff)
downloadniri-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.rs39
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");