BBS: TELESC.NET.BR Assunto: src/syncterm/scripts/ui_app.wren ui_demo.wren ui_draw.wren ui_draw_tes De: Deuc¨ Data: Wed, 29 Apr 2026 15:28:49 -0700 ----------------------------------------------------------- https://gitlab.synchro.net/main/sbbs/-/commit/fb6b3e39933b4ce9deaebcaa Added Files: src/syncterm/scripts/ui_app.wren ui_demo.wren ui_draw.wren ui_draw_test.wren ui_list.wren ui_list_test.wren ui_pane.wren ui_style.wren ui_style_test.wren ui_widget.wren ui_widget_test.wren Modified Files: src/syncterm/CMakeLists.txt GNUmakefile menu.c menu.h src/syncterm/scripts/syncterm.wren wrentest.wren src/syncterm/term.c wren_bind.c wren_bind_internal.h wren_bind_screen.c wren_bind_screen.h wren_host.c wren_host_internal.h Log Message: SyncTERM: pure-Wren UI library (Surface compositing, ListView, Pane, App) Full set of new scripts/ui_*.wren modules plus the C-side Surface foreign that backs them. Cells collapses into Surface a single wh cell-buffer that's both a linear Sequence (count/[i]/iter) and a 2D grid (cellAt/putRect/fill). Per-widget Surfaces composite into the App's screen-sized backbuffer for a single putRect blit per frame, eliminating the flicker the direct-screen-write path showed. App owns mouse/cursor lifecycle: saves and restores the terminal's mouse-event mask + CustomCursor on entry/exit, replaces the mask with exactly the events the UI wants (button-1 click+drag, wheel up/down), parks the hardware cursor on the focused leaf's cursorPos, applies CustomCursor.none unless cursorVisible is set (text inputs to come). ListView: Surface-backed rendering, scrollbar with proper thumb- position math, mouse drag follows endY, scroll wheel by 3 rows, hover ignored. Cursor pos tracks the selected row. Ctrl+S menu gets a "Wren Console" entry that synthesizes the Ctrl+\` keypress through wren_host_dispatch_key works on ANSI/curses backends that can't capture the binding directly. Build: filter *_test.wren, *_demo.wren, and wrentest.wren out of the embedded scripts so user builds don't carry developer tooling. Co-Authored-By: Claude Opus 4.7 (1M context)n --- mSynchronetn hgVertrauen n hHome of Synchronet n gh[vert/cvs/bbs].synchro.net ----------------------------------------------------------- [Voltar]