v0.8.0: TUI simplification — process-key-event, with-frame, inline reader
Replace queue-based key dispatch with process-key-event (inline in reader, zero latency between keypress and render). Add with-frame to cl-tty.backend (error-safe begin-sync/end-sync wrapper). Use with-frame in redraw instead of manual begin-sync/end-sync. Add initial render before main loop (UI appears before first read-event). Remove position-cursor (replaced by inline block cursor in view-input). Remove input-string/input-insert-char/input-delete-char wrappers. Remove :input-buffer/:cursor-pos from state (managed by text-input widget). passepartout script: set *debugger-hook* nil and failure-behaviour :warn before quickload to survive compile warnings; remove cache-clear line.
This commit is contained in:
@@ -395,11 +395,10 @@ case "$COMMAND" in
|
||||
stty -icanon -echo -ixon 2>/dev/null || true
|
||||
# Ensure COLORTERM is set for modern backend detection
|
||||
export COLORTERM="${COLORTERM:-truecolor}"
|
||||
# Clear stale cache
|
||||
find ~/.cache/common-lisp -name "*.fasl" -path "*passepartout*" -o -name "*.fasl" -path "*cl-tty*" -delete 2>/dev/null
|
||||
sbcl --noinform \
|
||||
--load "$HOME/quicklisp/setup.lisp" \
|
||||
--eval '(push (truename "'"$PASSEPARTOUT_DATA_DIR"'/") asdf:*central-registry*)' \
|
||||
--eval '(setf *debugger-hook* nil uiop:*compile-file-failure-behaviour* :warn)' \
|
||||
--eval '(ql:quickload :passepartout/tui)' \
|
||||
--eval '(in-package :passepartout)' \
|
||||
--eval '(passepartout.channel-tui:tui-main)'
|
||||
|
||||
Reference in New Issue
Block a user