v0.8.0: cl-tty input primitives, on-key keyword dispatch, XDG tangle paths, remove croatoan
- read-raw-byte: sb-unix:unix-read instead of read-char-no-hang - raw-mode: sb-posix:tcsetattr instead of stty - read-event: no probe-file /dev/stdin guard - on-key: accepts &key ctrl alt shift code - .asd: :croatoan dropped, :cl-tty added - script: detection fix (empty lisp/ -> XDG)
This commit is contained in:
@@ -34,7 +34,9 @@ Event handlers + daemon I/O + main loop.
|
||||
#+BEGIN_SRC lisp :tangle /home/user/.local/share/passepartout/lisp/channel-tui-main.lisp
|
||||
(in-package :passepartout.channel-tui)
|
||||
|
||||
(defun on-key (ch)
|
||||
(defun on-key (key &key ctrl alt shift code)
|
||||
(let ((ch key))
|
||||
(declare (ignore alt shift))
|
||||
(cond
|
||||
;; v0.7.1: Esc — interrupt streaming
|
||||
((and (or (eq ch :escape) (eql ch 27)) (st :streaming-text))
|
||||
@@ -563,7 +565,7 @@ Event handlers + daemon I/O + main loop.
|
||||
(setf (st :dirty) (list nil nil t))
|
||||
(when (and (char= chr #\/) (null (st :dialog-stack))
|
||||
(= (length (st :input-buffer)) 1))
|
||||
(unified-menu-show "/")))))))
|
||||
(unified-menu-show "/"))))))))
|
||||
|
||||
;; v0.9.0 — unified command minibuffer (replaces separate palette and slash menus)
|
||||
(defun unified-menu-show (&optional initial-filter)
|
||||
|
||||
@@ -43,11 +43,11 @@ Tests are embedded directly in each module's source file — see the `* Test Sui
|
||||
|
||||
** TUI System
|
||||
|
||||
The TUI is a standalone system that depends on Croatoan (ncurses bindings) in addition to the core opencortex system. It's loaded separately because Croatoan requires a terminal and is not needed for daemon-mode operation.
|
||||
The TUI is a standalone system that depends on cl-tty (pure CL terminal UI) in addition to the core system. It's loaded separately because it requires a terminal and is not needed for daemon-mode operation.
|
||||
|
||||
#+begin_src lisp
|
||||
(defsystem :passepartout/tui
|
||||
:depends-on (:passepartout :croatoan :usocket :bordeaux-threads)
|
||||
:depends-on (:passepartout :cl-tty :usocket :bordeaux-threads)
|
||||
:serial t
|
||||
:components ((:file "lisp/channel-tui-state")
|
||||
(:file "lisp/channel-tui-view")
|
||||
|
||||
Reference in New Issue
Block a user