From 9777930868591abdf4a533e4059cc4fd08898521 Mon Sep 17 00:00:00 2001 From: nc Date: Wed, 5 Aug 2020 23:59:40 -0400 Subject: include only minimal code changes to add ctrl-c capturing functionality --- src/app/impl_view.rs | 4 ++++ src/main.rs | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/src/app/impl_view.rs b/src/app/impl_view.rs index 892b00c..5f313f7 100644 --- a/src/app/impl_view.rs +++ b/src/app/impl_view.rs @@ -165,6 +165,10 @@ impl View for App { self.message.set_kind(MessageKind::Info); return EventResult::Consumed(None); } + Event::CtrlChar('c') => { + self.message.set_message("Use the :q command to quit"); + return EventResult::Consumed(None); + } /* Every keybind that is not caught by App trickles * down to the focused habit. We sift back to today diff --git a/src/main.rs b/src/main.rs index d96119e..3ec964a 100644 --- a/src/main.rs +++ b/src/main.rs @@ -52,6 +52,10 @@ fn main() { } else { let mut s = termion().unwrap(); let app = App::load_state(); + + // prevent Ctrl-C from killing the app and allow the app to override it. + s.clear_global_callbacks(cursive::event::Event::CtrlChar('c')); + let layout = NamedView::new( "Frame", LinearLayout::vertical().child(NamedView::new("Main", app)), -- cgit v1.2.3