From c95816e8af37f30d4e705df22de8479e7b5c07d2 Mon Sep 17 00:00:00 2001 From: jooaf Date: Sun, 23 Feb 2025 22:39:39 -0600 Subject: [PATCH] Fix: Prevent duplicate input on Windows --- Cargo.lock | 2 +- src/ui_handler.rs | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 5830d6b..84a0163 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1427,7 +1427,7 @@ dependencies = [ [[package]] name = "thoth-cli" -version = "0.1.75" +version = "0.1.76" dependencies = [ "anyhow", "arboard", diff --git a/src/ui_handler.rs b/src/ui_handler.rs index ce2cc69..fa1eb0d 100644 --- a/src/ui_handler.rs +++ b/src/ui_handler.rs @@ -1,7 +1,7 @@ use crate::{get_save_backup_file_path, EditorClipboard}; use anyhow::{bail, Result}; use crossterm::{ - event::{self, DisableMouseCapture, EnableMouseCapture, KeyCode, KeyModifiers}, + event::{self, DisableMouseCapture, EnableMouseCapture, KeyCode, KeyEventKind, KeyModifiers}, execute, terminal::{disable_raw_mode, enable_raw_mode, EnterAlternateScreen, LeaveAlternateScreen}, }; @@ -113,6 +113,10 @@ pub fn handle_input( state: &mut UIState, key: event::KeyEvent, ) -> Result { + if key.kind != KeyEventKind::Press { + return Ok(false); + } + if state.scrollable_textarea.full_screen_mode { handle_full_screen_input(state, key) } else if state.title_popup.visible {