aboutsummaryrefslogtreecommitdiff
path: root/src/tui.rs
diff options
context:
space:
mode:
authorShav Kinderlehrer <[email protected]>2024-03-07 09:34:25 -0500
committerShav Kinderlehrer <[email protected]>2024-03-07 09:34:25 -0500
commit832eb17a68e37f287206ec319a316ea91247808a (patch)
tree273aad6f124e080554f081c432c1d8f2a59b1a26 /src/tui.rs
parentfa3e812a301455c7bc7b4d829a7fba01ddaea413 (diff)
downloadmolehole-832eb17a68e37f287206ec319a316ea91247808a.tar.gz
molehole-832eb17a68e37f287206ec319a316ea91247808a.zip
Add default shortcuts + add flags for super key
Diffstat (limited to 'src/tui.rs')
-rw-r--r--src/tui.rs13
1 files changed, 12 insertions, 1 deletions
diff --git a/src/tui.rs b/src/tui.rs
index 546e939..930f6e7 100644
--- a/src/tui.rs
+++ b/src/tui.rs
@@ -1,8 +1,12 @@
+use crossterm::event::{
+ Event, KeyboardEnhancementFlags, PopKeyboardEnhancementFlags,
+ PushKeyboardEnhancementFlags,
+};
use crossterm::terminal::{
disable_raw_mode, enable_raw_mode, EnterAlternateScreen,
LeaveAlternateScreen,
};
-use crossterm::{event, event::Event, execute};
+use crossterm::{event, execute};
use ratatui::prelude::{CrosstermBackend, Terminal};
use std::io;
use std::io::{stdout, Stdout};
@@ -11,6 +15,12 @@ pub type Tui = Terminal<CrosstermBackend<Stdout>>;
pub fn init() -> io::Result<Tui> {
execute!(stdout(), EnterAlternateScreen)?;
+ execute!(
+ stdout(),
+ PushKeyboardEnhancementFlags(
+ KeyboardEnhancementFlags::DISAMBIGUATE_ESCAPE_CODES,
+ )
+ )?;
enable_raw_mode()?;
Terminal::new(CrosstermBackend::new(stdout()))
@@ -18,6 +28,7 @@ pub fn init() -> io::Result<Tui> {
pub fn restore() -> io::Result<()> {
execute!(stdout(), LeaveAlternateScreen)?;
+ execute!(stdout(), PopKeyboardEnhancementFlags)?;
disable_raw_mode()?;
Ok(())