diff --git a/src/bookmarks.rs b/src/bookmarks.rs index 29a7b5c..8f0b649 100644 --- a/src/bookmarks.rs +++ b/src/bookmarks.rs @@ -184,7 +184,7 @@ impl Widget for BMPopup { } fn on_key(&mut self, key: Key) -> HResult<()> { match key { - Key::Ctrl('c') => { + Key::Ctrl('c') | Key::Esc => { self.bookmark_path = None; return HError::popup_finnished() }, diff --git a/src/foldview.rs b/src/foldview.rs index 39941c7..1f285bd 100644 --- a/src/foldview.rs +++ b/src/foldview.rs @@ -294,6 +294,7 @@ where } fn on_key(&mut self, key: Key) -> HResult<()> { + // this on_key() could have been implmented by some type let result = FoldableWidgetExt::on_key(self, key); if let Err(HError::WidgetUndefinedKeyError{key}) = result { match key { @@ -302,9 +303,11 @@ where Key::Char('J') => for _ in 0..10 { self.move_down() }, Key::Down | Key::Char('j') => self.move_down(), Key::Char('t') => self.toggle_fold()?, - Key::Char('g') => self.popup_finnished()?, + Key::Char('g') | Key::Esc => self.popup_finnished()?, _ => { HError::undefined_key(key)?; }, } + // Key was defined, or _ match would have returned undefined key + return Ok(()); } result } diff --git a/src/proclist.rs b/src/proclist.rs index c561fcf..a6da1d3 100644 --- a/src/proclist.rs +++ b/src/proclist.rs @@ -657,7 +657,7 @@ impl Widget for ProcView { } fn on_key(&mut self, key: Key) -> HResult<()> { match key { - Key::Char('w') => { + Key::Char('w') | Key::Esc => { self.animator.set_stale().log(); self.get_core()?.clear().log(); return Err(HError::PopupFinnished) } diff --git a/src/quick_actions.rs b/src/quick_actions.rs index 98c40dc..69bfb78 100644 --- a/src/quick_actions.rs +++ b/src/quick_actions.rs @@ -68,7 +68,9 @@ impl FoldableWidgetExt for ListView> { fn on_key(&mut self, key: Key) -> HResult<()> { match key { Key::Char('a') | - Key::Char('h') => HError::popup_finnished()?, + Key::Char('h') | + Key::Ctrl('c') | + Key::Esc => HError::popup_finnished()?, // undefined key causes parent to handle move up/down Key::Char('j') => HError::undefined_key(key)?, Key::Char('k') => HError::undefined_key(key)?,