summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authornc <charles.saternos@gmail.com>2020-08-05 23:59:40 -0400
committernc <charles.saternos@gmail.com>2020-08-05 23:59:40 -0400
commit9777930868591abdf4a533e4059cc4fd08898521 (patch)
treee859f5db53ef8d025bc346d2ac1ae0b8090f6e2a
parent976ea0282d373c4d08187a78a7b46a09d66f7918 (diff)
include only minimal code changes to add ctrl-c capturing functionality
-rw-r--r--src/app/impl_view.rs4
-rw-r--r--src/main.rs4
2 files changed, 8 insertions, 0 deletions
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)),