fix: terminal cursor instead of software-drawn █
Replaced software cursor (draw-text █ every frame) with native terminal cursor (position-cursor using cursor-move + cursor-style). Terminal handles blinking natively at 500ms — no redraw needed for cursor updates. - position-cursor: computed input insertion point from state, calls cursor-move + cursor-style (:block :blink t) + cursor-show. - Called from main loop every frame after (sleep 0.1), outside redraw's begin-sync/end-sync. No flicker.
This commit is contained in:
@@ -23,6 +23,7 @@ All state mutation flows through event handlers in the controller.
|
||||
(:export :tui-main :st :add-msg :now :input-string
|
||||
:queue-event :drain-queue :init-state
|
||||
:view-status :view-chat :view-input :redraw
|
||||
:position-cursor
|
||||
:input-panel-top
|
||||
:on-key :on-daemon-msg :send-daemon
|
||||
:connect-daemon :disconnect-daemon
|
||||
|
||||
Reference in New Issue
Block a user