mirror of
https://github.com/badlogic/pi-mono.git
synced 2026-11-05 23:37:25 +00:00
feat(tui,coding-agent): use only the terminal cursor when showHardwareCursor is enabled
Editor and Input wrap their drawn cursor in fake cursor markers. The TUI resolves them to reverse video, or drops the focused one when the hardware cursor is shown, so terminals that extend edge cell colors into the window padding no longer stretch the drawn cursor at the first or last column. Also keep CURSOR_MARKER when an overlay ends directly left of the cursor.
This commit is contained in:
parent
75a99721d1
commit
1cedd32724
17 changed files with 183 additions and 28 deletions
|
|
@ -45,7 +45,7 @@ Prefer these components over rebuilding selection, scrolling, text editing, or w
|
|||
|
||||
Use `matchesKey()` and `Key` for terminal keyboard input. The parser accounts for supported terminal protocols and key modifiers. Extension components should use the injected `KeybindingsManager` for configurable application actions.
|
||||
|
||||
A component that displays a text cursor should implement `Focusable` and place `CURSOR_MARKER` immediately before its visual cursor. The TUI uses that marker to position the hardware cursor for input method editors.
|
||||
A component that displays a text cursor should implement `Focusable` and place `CURSOR_MARKER` immediately before its visual cursor. Wrap the cursor cell in `renderFakeCursor()` so the TUI draws it in reverse video, or hides it after `CURSOR_MARKER` when the hardware cursor is shown. The TUI uses the marker to position the hardware cursor for input method editors.
|
||||
|
||||
Containers that wrap an `Input` or `Editor` must propagate their `focused` state to that child. Without propagation, Chinese, Japanese, Korean, and other IME candidate windows can appear at the wrong screen position.
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue