v0.10.5: multi-line expanding input box with software blinking cursor

view-input word-wraps input at prompt-w, expanding the grey panel
upward as needed. Uses software cursor (█) in :input-fg blinking
at 2Hz via get-internal-real-time.
view-chat max-lines adapts to variable panel height via input-panel-top.
Removed terminal cursor (position-cursor, cursor-show, cursor-style).
Dialog minibuffer top now computed from input-panel-top.
This commit is contained in:
2026-05-16 11:01:05 -04:00
parent bb98b486e4
commit 7e9da0f867
3 changed files with 56 additions and 39 deletions

View File

@@ -1029,7 +1029,8 @@ Returns T on success, nil on failure. Does NOT wait or retry."
(cnt (length filtered))
(filter (cl-tty.select:select-filter sel))
(mh (min 15 (+ 1 cnt)))
(top (max 0 (- h 7 mh)))
(panel-top (passepartout.channel-tui:input-panel-top chat-w h))
(top (max 0 (- panel-top mh)))
(bg-p (theme-color :bg-panel))
(sep-c (theme-color :separator)))
;; Fill minibuffer area with panel bg
@@ -1066,9 +1067,7 @@ Returns T on success, nil on failure. Does NOT wait or retry."
(format nil "> ~a" (or filter ""))
(theme-color :input-prompt) bg-p))
(cl-tty.backend:end-sync be))
(sleep 0.1)
;; Show cursor at input position every frame
(passepartout.channel-tui:position-cursor be w h)))
(sleep 0.1)))
(progn (disconnect-daemon)))))
#+END_SRC