BBS:      TELESC.NET.BR
Assunto:  src/syncterm/scripts/auto/connected/scrollback_view.wrensrc/syncterm/C
De:       Deuc¨
Data:     Tue, 5 May 2026 05:32:15 -0700
-----------------------------------------------------------
https://gitlab.synchro.net/main/sbbs/-/commit/e7394337303a1c648f71532a
Added Files:
	src/syncterm/scripts/auto/connected/scrollback_view.wren
Modified Files:
	src/syncterm/CMakeLists.txt src/syncterm/SyncTERM.pbproj/project.pbxproj src/syncterm/SyncTERM.vcxproj bbslist.c objects.mk src/syncterm/scripts/auto/connected/keys_default.wren online_menu.wren src/syncterm/scripts/syncterm.wren wrentest.wren src/syncterm/term.c wren_bind.c wren_bind_conn.c wren_bind_screen.c wren_bind_screen.h wren_host.c wren_host_internal.h
Removed Files:
	src/syncterm/menu.c menu.h
Log Message:
SyncTERM: move scrollback viewer to Wren, delete menu.c

Replaces viewscroll() with scripts/auto/connected/scrollback_view.wren -
a Fiber-driven modal that pushes the live cterm region into the
scrollback ring, runs its own Input.next() pan loop (arrows / jklh /
PgUp/PgDn / Home/End / wheel / drag-select / Esc / q), and pops the
ring on exit.  Help is a Pane-rendered markdown popup reached via F1.

Wren bindings: new Scrollback foreign class behaves as a Surface via
linearize-and-dispatch (in-place 3-reverse row rotation, no malloc'd
copy) plus pushScreen / popScreen verbs that wrap the live cterm
region into and out of the ring.  Surface.urlAt(col, row) wraps
detect_url_at.  Scrollback.is(_) overrides so `Scrollback is Surface`
is true.  The previously-added Hyperlinks.open(id) primitive is
removed; opening URLs from script bypassed the consent model that
treats a real user click as the gating gesture.

C side: handle_mouse_event() folds wheel-press into the existing
button-2/3 conn_send block (preserving tracking-mode wheel-to-remote
forwarding), with the Hook.onMouse(wheelUpPress) gate in
scrollback_view.wren consuming wheel-press in OFF/RIP/X10 to enter
the viewer.  Conn.scrollback() now invokes ScrollbackView.run() via
wrenCall, so menu.c is deleted entirely.

Co-Authored-By: Claude Opus 4.7 (1M context) 
n
---
  mSynchronetn  hgVertrauen n hHome of Synchronet n gh[vert/cvs/bbs].synchro.net

-----------------------------------------------------------
[Voltar]