From 5beaed2a9e5a13213d4f2d1ea3635724a21b1cc3 Mon Sep 17 00:00:00 2001 From: Jason Lee Date: Wed, 10 Sep 2025 14:49:14 +0800 Subject: [PATCH] input: Pause blink and keep show cursor on moving or editing. (#1236) https://github.com/user-attachments/assets/751d0b62-18f9-41c8-80a0-e11439e3b91e --- crates/ui/src/input/blink_cursor.rs | 1 + crates/ui/src/input/state.rs | 2 ++ 2 files changed, 3 insertions(+) diff --git a/crates/ui/src/input/blink_cursor.rs b/crates/ui/src/input/blink_cursor.rs index eb5ea881..fa299918 100644 --- a/crates/ui/src/input/blink_cursor.rs +++ b/crates/ui/src/input/blink_cursor.rs @@ -70,6 +70,7 @@ impl BlinkCursor { /// Pause the blinking, and delay 500ms to resume the blinking. pub fn pause(&mut self, cx: &mut Context) { self.paused = true; + self.visible = true; cx.notify(); // delay 500ms to start the blinking diff --git a/crates/ui/src/input/state.rs b/crates/ui/src/input/state.rs index efcaf197..84aee8af 100644 --- a/crates/ui/src/input/state.rs +++ b/crates/ui/src/input/state.rs @@ -2082,6 +2082,8 @@ impl EntityInputHandler for InputState { return; } + self.pause_blink_cursor(cx); + let range = range_utf16 .as_ref() .map(|range_utf16| self.range_from_utf16(range_utf16))