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 {