This website requires JavaScript.
94df17a7b9
Add render-select-minibuffer, fix CSI parser nil-code crash
main
Amr Gharbeia
2026-05-20 16:27:53 -04:00
ef26220df7
add text-input callback slots (on-cancel, on-tab, on-history), update XDG .asd
Amr Gharbeia
2026-05-20 13:36:30 -04:00
4e54737659
add save-theme/load-theme persistence
Amr Gharbeia
2026-05-20 12:34:16 -04:00
4e0b825fcc
v1.2.0: remove spurious \n from draw-rect
Amr Gharbeia
2026-05-20 09:57:49 -04:00
e53939844c
v1.1.1: fix format No more arguments on CSI key press
Amr Gharbeia
2026-05-20 09:39:56 -04:00
9b8ac8b770
v1.1.0: fix CSI parser destructuring-bind crash on nil params
Amr Gharbeia
2026-05-18 20:59:11 -04:00
4c3f5fe65a
v1.0.0: extract theme from cl-tty.box to own cl-tty.theme package
Amr Gharbeia
2026-05-18 16:50:48 -04:00
ef613927e6
v1.0.0: merge container (scrollbox + tabbar) into cl-tty.box
Amr Gharbeia
2026-05-18 16:45:50 -04:00
108abd054f
v1.0.0: add word-wrap support to text-input.render method
Amr Gharbeia
2026-05-18 16:30:50 -04:00
d0382f9290
v1.0.0: merge mouse → input — eliminate cl-tty.mouse package
Amr Gharbeia
2026-05-18 16:18:58 -04:00
9a4d117eee
v1.0.0: merge select → dialog — eliminate cl-tty.select package
Amr Gharbeia
2026-05-18 16:12:43 -04:00
ff7eb4d6e1
v1.0.0: export text-input manipulation functions from cl-tty.input
Amr Gharbeia
2026-05-18 15:58:53 -04:00
ff5b7a5fea
v1.0.0: add char-width tests to box-tests suite
Amr Gharbeia
2026-05-18 15:50:35 -04:00
0b076c8def
v1.0.0: add char-width and search-highlight to cl-tty library
Amr Gharbeia
2026-05-18 15:48:15 -04:00
af572d5a8c
v0.8.0: tangle to XDG (~/.local/share/cl-tty/), remove stale memex .lisp files
Amr Gharbeia
2026-05-18 13:04:10 -04:00
e3415cee73
simple backend: ANSI colors, cursor positioning, bold — no longer a no-op
Amr Gharbeia
2026-05-17 15:37:33 -04:00
f76f637548
fix: restore cursor-hide in initialize-backend (no more cursor-style)
Amr Gharbeia
2026-05-16 18:22:07 -04:00
e115a88690
fix: cursor-style called before cursor-show to avoid style reset
Amr Gharbeia
2026-05-16 17:56:49 -04:00
2785d6913f
fix: draw-text/draw-rect use style-only reset (\e[22-27m) instead of full reset (\e[0m)
Amr Gharbeia
2026-05-16 08:03:00 -04:00
1df078a235
fix: all CSI parser reads need timeout, select-next skips all categorized items
Amr Gharbeia
2026-05-15 13:43:42 -04:00
26e55e652f
fix: unix-simple-poll returns T not integer, use if poll-result
Amr Gharbeia
2026-05-15 13:10:02 -04:00
ce9bf7781a
fix: parse-csi-sequence multi-value capture, read-raw-byte timeout, format args
Amr Gharbeia
2026-05-15 13:09:09 -04:00
de1864bd94
fix: backend-size returns both cols and rows via multi-value-bind (or discards secondary values)
Amr Gharbeia
2026-05-15 08:51:13 -04:00
bb579be207
fix: remove per-call finish-output from backend-write (flush once per frame via end-sync)
Amr Gharbeia
2026-05-14 19:36:21 -04:00
916f473107
docs: sync .org with implementation for backend-size, read-raw-byte, SIGWINCH
Amr Gharbeia
2026-05-14 16:25:45 -04:00
b44b4b6aa0
fix: use return-from for env var fallback (or discards secondary values)
Amr Gharbeia
2026-05-14 15:03:00 -04:00
36fbe81441
fix: use MY_TERM_COLS/LINES instead of COLUMNS/LINES
Amr Gharbeia
2026-05-14 14:55:37 -04:00
8cb269dfee
fix: add COLUMNS/LINES env var fallback in backend-size
Amr Gharbeia
2026-05-14 14:53:02 -04:00
11a70956a0
fix: use ioctl on fd 0 (stdin) as primary sizing method
Amr Gharbeia
2026-05-14 14:48:54 -04:00
9a54b7ade6
fix: check unix-ioctl return value before reading winsize
Amr Gharbeia
2026-05-14 14:47:43 -04:00
aa73171c30
fix: use :input :interactive for stty size subprocess
Amr Gharbeia
2026-05-14 14:44:15 -04:00
eedf065e6e
fix: use :input :inherit for stty size subprocess
Amr Gharbeia
2026-05-14 14:41:45 -04:00
21c7b1c2d9
fix: replace stty size with tput cols/lines in backend-size
Amr Gharbeia
2026-05-14 14:40:11 -04:00
733ba7c1b8
fix: remove :input :interactive from stty size subprocess
Amr Gharbeia
2026-05-14 14:30:17 -04:00
ce7af16b13
fix: restore ioctl block in simple.lisp (was lost in edit)
Amr Gharbeia
2026-05-14 14:25:23 -04:00
31f864471c
fix: use :input :interactive for stty size subprocess
Amr Gharbeia
2026-05-14 14:24:55 -04:00
4b1ff3ed0f
fix: move stty size to first priority in backend-size
Amr Gharbeia
2026-05-14 14:22:27 -04:00
fe301dc25b
fix: run stty size via 'sh -c' with /dev/tty redirection
Amr Gharbeia
2026-05-14 14:20:22 -04:00
4df3048a13
fix: add stty size subprocess fallback in both backends
Amr Gharbeia
2026-05-14 14:15:30 -04:00
41e2b867be
fix: use O_RDONLY (0) for /dev/tty open, guard invalid fd
Amr Gharbeia
2026-05-14 14:10:58 -04:00
a227a52c48
fix: use raw O_RDWR=2 constant (sb-unix:o-rdwr doesn't exist)
Amr Gharbeia
2026-05-14 13:57:03 -04:00
37f83db35e
fix: replace stty/tput fallback with direct ioctl on /dev/tty
Amr Gharbeia
2026-05-14 13:56:16 -04:00
9b472e281f
fix: remove env var fallback for COLUMNS/LINES (SBCL strips them)
Amr Gharbeia
2026-05-14 13:46:13 -04:00
4fa7e98b80
fix: set both dimensions from stty, add tput fallback, export shell vars
Amr Gharbeia
2026-05-14 13:36:54 -04:00
03ffec75c8
fix: add (require :sb-posix) before SIGWINCH handler
Amr Gharbeia
2026-05-14 13:30:38 -04:00
5e9a974981
fix: fill missing env dimension from stty size
Amr Gharbeia
2026-05-14 13:14:22 -04:00
4b9482c09a
fix: add env var fallback to backend-size in both backends
Amr Gharbeia
2026-05-14 13:12:49 -04:00
83a6e87720
fix: simplify backend-size with direct when guard on values
Amr Gharbeia
2026-05-14 13:11:16 -04:00
db07f8c3a7
fix: guard ioctl results with when to avoid partial values
Amr Gharbeia
2026-05-14 13:07:55 -04:00
4a86ae3274
fix: ioctl on stdin fd (0) first, then stdout fd, then env vars
Amr Gharbeia
2026-05-14 13:07:05 -04:00
7813e27907
fix: revert to simple ioctl-first with env var fallback
Amr Gharbeia
2026-05-14 13:05:53 -04:00
abe4edaffc
fix: fallback to stty size when LINES env var is missing
Amr Gharbeia
2026-05-14 13:04:57 -04:00
1ac6ca02ee
fix: handle nil env vars in backend-size
Amr Gharbeia
2026-05-14 13:03:42 -04:00
0e0151664e
fix: prefer env vars over ioctl when ioctl returns 80x24
Amr Gharbeia
2026-05-14 13:02:09 -04:00
5c8a253171
fix: add / env var fallback in backend-size
Amr Gharbeia
2026-05-14 12:57:01 -04:00
7cdb556531
fix: remove %query-terminal-size completely
Amr Gharbeia
2026-05-14 11:22:12 -04:00
920545dafb
fix: wrap CSI terminal query in with-timeout 0.3s
Amr Gharbeia
2026-05-14 10:17:59 -04:00
5a3b882f93
fix: add blocking-read-based CSI 18t terminal size query fallback
Amr Gharbeia
2026-05-14 10:14:40 -04:00
21d9890374
fix: revert read-raw-byte poll check (unix-read must block)
Amr Gharbeia
2026-05-14 10:12:24 -04:00
b80bd77d84
fix: remove CSI 18t terminal query (read-char-no-hang on fd 0 never returns)
Amr Gharbeia
2026-05-14 09:32:25 -04:00
14b41831c3
fix: disable kitty keyboard, fix CSI parser crashes
Amr Gharbeia
2026-05-14 09:31:09 -04:00
e8b37f6268
fix: add CSI positioning and ioctl sizing to simple-backend
Amr Gharbeia
2026-05-14 08:55:56 -04:00
1637c3352c
fix: read-raw-byte checks poll result before unix-read
Amr Gharbeia
2026-05-14 08:53:16 -04:00
07cea571ef
fix: add backend-clear method for raw 2D arrays
Amr Gharbeia
2026-05-13 16:29:50 -04:00
3bc6df6fd0
fix: read-raw-byte alien type mismatch and timeout ms conversion
Amr Gharbeia
2026-05-13 16:15:09 -04:00
22886c1794
fix: add draw-text method for raw 2D arrays
Amr Gharbeia
2026-05-13 16:06:05 -04:00
66e86734cb
literate: add with-terminal, suspend-backend, resume-backend to org source
Amr Gharbeia
2026-05-13 13:14:24 -04:00
c30917056c
Merge pull request 'v1.1.0: SGR Mouse Event Parsing' (#9 ) from feature/v0.11.0-slots into main
Amr Gharbeia
2026-05-12 18:43:20 -04:00
d4aba6ef06
docs: add v1.1.0 SGR mouse parsing to ROADMAP.org
feature/v0.11.0-slots
Hermes Agent
2026-05-12 22:22:06 +00:00
b3b191529a
feat: SGR mouse event parsing in read-event
v1.1.0
Hermes Agent
2026-05-12 22:14:03 +00:00
07c29290d4
Merge pull request 'v1.0.0 — Stable release + TUI support' (#8 ) from feature/v0.11.0-slots into main
Amr Gharbeia
2026-05-12 16:34:48 -04:00
38ee561625
v1.0.0: TUI support — resize events, with-terminal macro
v1.0.0
Hermes Agent
2026-05-12 20:32:37 +00:00
84e8482fec
v1.0.0: TUI support — resize events, with-terminal macro
Hermes Agent
2026-05-12 20:28:55 +00:00
3cbcfd2d75
v1.0.0 release
Hermes Agent
2026-05-12 20:00:27 +00:00
9c879e7a97
fix: validate slot mode on first defslot call
Hermes Agent
2026-05-12 19:33:18 +00:00
352f27e260
fix: osc8-link doubled backslashes in format string
Hermes Agent
2026-05-12 19:26:00 +00:00
6cd045ff59
implement: slot modes (:stack, :replace, :single-winner)
Hermes Agent
2026-05-12 19:17:24 +00:00
a9670a5cd7
literate: add org sources for orphan test files, update README
Hermes Agent
2026-05-12 19:01:22 +00:00
29f99a576d
literate: restructure all 19 org files with per-function blocks and prose
Hermes Agent
2026-05-12 18:55:07 +00:00
927f786716
remove: old scrollbox-tabbar.org (all prose distributed to per-module orgs)
Hermes Agent
2026-05-12 18:08:02 +00:00
668966380e
prose: split scrollbox-tabbar.org prose into per-module org files
Hermes Agent
2026-05-12 18:06:07 +00:00
a061d60898
split: scrollbox-tabbar.org into scrollbox.org, tabbar.org, container-package.org
Hermes Agent
2026-05-12 18:00:06 +00:00
d5caaf296d
fix: restore original text-input.lisp in org to fix handle-text-input
Hermes Agent
2026-05-12 17:52:43 +00:00
0fb5309133
literate: convert org/markdown-renderer.org from doc-only to tangle source
Hermes Agent
2026-05-12 17:25:52 +00:00
d3bc6c748a
literate: convert org/layout-engine.org from doc-only to tangle source
Hermes Agent
2026-05-12 17:18:27 +00:00
f50d0e61d1
literate: convert org/box-renderable.org from doc-only to tangle source
Hermes Agent
2026-05-12 17:16:26 +00:00
c77c6b9d02
literate: convert org/modern-backend.org from doc-only to tangle source
Hermes Agent
2026-05-12 17:14:37 +00:00
dfd828c914
literate: convert org/backend-protocol.org from doc-only to tangle source
Hermes Agent
2026-05-12 17:08:54 +00:00
ce7e9fbab0
literate: create org/render.org, org/theme.org, org/package.org
Hermes Agent
2026-05-12 17:05:47 +00:00
ba5cb360db
literate: create org/dirty.org as proof of literate programming workflow
Hermes Agent
2026-05-12 17:03:15 +00:00
47094c48e5
restructure: move backend/ and layout/ into src/; convert README to org syntax; fix demo package conflict and alien-sap ioctl; update ROADMAP with v0.15.0; remove stale files
Hermes Agent
2026-05-12 16:57:19 +00:00
5f07c1fd76
fix: tangle.py write-once-then-append logic (was always-appending, triplicating files); confirm-dialog option plist comparison; mouse-event button type (or keyword null)
Hermes Agent
2026-05-12 15:51:44 +00:00
a812955329
docs: mark v1.0.0 Org/Lisp sync verified — all 483+57+17 checks pass on fresh tangle
Hermes Agent
2026-05-12 15:42:49 +00:00
ca90d6b945
chore: org tangle sync — regenerate .lisp from .org sources (zero functional changes, file sizes identical)
Hermes Agent
2026-05-12 15:42:40 +00:00
60866a80c1
docs: update README tangle instructions to use Python script
Hermes Agent
2026-05-12 15:22:42 +00:00
5930e17b57
fix: org tangle — fix END_SRC boundaries in mouse.org/slot.org (prose inside code blocks), replace emacs tangle with Python script that handles all blocks
Hermes Agent
2026-05-12 15:22:29 +00:00
4bb9160f8d
docs: update test counts to 483/13 in README and ROADMAP
Hermes Agent
2026-05-12 14:42:00 +00:00
d5a767350f
fix: word-wrap never incremented current-len (all text treated as single line); scrollbox wrong offset origin; integration test fixes
Hermes Agent
2026-05-12 14:41:16 +00:00
00db3c61a5
fix: dialog draw-border arg, markdown/slot nil guards, +integration test suite
Hermes Agent
2026-05-12 14:30:31 +00:00
6e73c3bb19
fix: redundant compute-layout per child, framebuffer diff size test, test file cleanup
Hermes Agent
2026-05-12 14:19:48 +00:00