From 9763c11f3f704cd3c70e246a5f9d3c364ef67026 Mon Sep 17 00:00:00 2001 From: Joscha Date: Thu, 16 Jun 2022 00:52:56 +0200 Subject: [PATCH] Quit with ctrl+c --- cove-tui/src/ui.rs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/cove-tui/src/ui.rs b/cove-tui/src/ui.rs index 0c87ba5..8b47591 100644 --- a/cove-tui/src/ui.rs +++ b/cove-tui/src/ui.rs @@ -1,7 +1,7 @@ use std::sync::{Arc, Weak}; use std::time::Duration; -use crossterm::event::{Event, KeyCode, KeyEvent, MouseEvent}; +use crossterm::event::{Event, KeyCode, KeyEvent, KeyModifiers, MouseEvent}; use parking_lot::FairMutex; use tokio::sync::mpsc::error::TryRecvError; use tokio::sync::mpsc::{self, UnboundedReceiver, UnboundedSender}; @@ -146,7 +146,9 @@ impl Ui { frame: &mut Frame, size: Size, ) -> EventHandleResult { - if let KeyCode::Char('Q') = event.code { + let shift_q = event.code == KeyCode::Char('Q'); + let ctrl_c = event.modifiers == KeyModifiers::CONTROL && event.code == KeyCode::Char('c'); + if shift_q || ctrl_c { return EventHandleResult::Stop; } self.chat.handle_key_event(event, frame, size).await;