BBS:      TELESC.NET.BR
Assunto:  src/syncterm/scripts/auto/connected/disconnect_flow.wren music_menu.wr
De:       Deuc¨
Data:     Mon, 4 May 2026 13:42:22 -0700
-----------------------------------------------------------
https://gitlab.synchro.net/main/sbbs/-/commit/7afd5a9324163e299419def8
Added Files:
	src/syncterm/scripts/auto/connected/disconnect_flow.wren music_menu.wren online_menu.wren
Modified Files:
	src/syncterm/Wren.adoc menu.c menu.h src/syncterm/scripts/auto/connected/keys_default.wren src/syncterm/scripts/syncterm.wren src/syncterm/term.c term.h wren_bind.c wren_bind_conn.c wren_bind_conn.h
Log Message:
SyncTERM: move Alt-Z / Ctrl-S online menu to Wren

The Alt-Z / Ctrl-S syncmenu dispatch in term.c, and the syncmenu()
function it called, are gone.  In their place: online_menu.wren
registers Hook.onKey(Key.altZ) (always) and Hook.onKey(Key.ctrlS)
(text-mode only) and drives an App + Pane + ListView modal that
dispatches the selection back into Wren primitives  Conn.scrollback,
Conn.upload / download, CaptureMenu.run, MusicMenu.run,
Host.fontControl, Host.editBBSList, WrenConsole.run, etc.  The
Output Rate and Log Level entries chain into a sub-list before
closing.  Disconnect / Exit selections call Conn.endSession directly
(no Confirm popup  the menu pick is itself the confirmation; the
hot-key paths still go through DisconnectFlow).

Selected actions run AFTER the menu's Screen.modalRun returns and
the screen snapshot has been restored, so viewscroll()'s bottom-row
capture sees the live terminal contents instead of menu pixels.
The two sub-flows wrap themselves in their own Screen.modalRun.

DisconnectFlow lifted out of keys_default.wren into its own module
so online_menu can reuse it.  MusicMenu likewise extracted from the
inline Alt-M handler.

New foreigns:
  Conn.upload(), Conn.download()
  CTerm.doorwayMode=, CTerm.ooiiMode (get/set), CTerm.throttleSpeed=
  Host.outputRates / outputRateNames
  Host.logLevel (get/set) / logLevelNames
  Host.fontControl(), Host.editBBSList()
  Host.haveOOII, Host.maxOOIIMode

Removed (now-dead with syncmenu gone):
  syncmenu() and enum SM_* in menu.c / menu.h
  music_control() and capture_control() in term.c (orphans from the
    Alt-M / Alt-C migrations whose only caller was syncmenu)

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

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