BBS:      TELESC.NET.BR
Assunto:  src/syncterm/Wren.adoc src/syncterm/scripts/auto/connected/keys_defaul
De:       Deuc¨
Data:     Sun, 3 May 2026 21:44:11 -0700
-----------------------------------------------------------
https://gitlab.synchro.net/main/sbbs/-/commit/76a3f347979081df508310b6
Modified Files:
	src/syncterm/Wren.adoc src/syncterm/scripts/auto/connected/keys_default.wren src/syncterm/scripts/syncterm.wren ui_list.wren ui_list_test.wren ui_pane.wren ui_widget.wren src/syncterm/term.c wren_bind.c wren_bind_conn.c wren_bind_conn.h
Log Message:
SyncTERM: move Alt-M to Wren; add ListView padding + Pane auto-sizing

The Alt-M music-mode picker is now a Wren Hook.onKey handler in
keys_default.wren that opens a Pane + ListView modal.  The C
case-block in term.c is gone; music_control() itself stays for
the Alt-Z popup-menu's SM_MUSIC entry.

C primitives added so the script can do its job:
* CTerm.music = i  (setter; clamps to legal range)
* Host.musicNames  (List built from music_names[])
* Host.musicHelp   (returns music_helpbuf)

UI library changes the picker exposed:
* ListView always reserves a 1-cell padding between the frame and
  the items on the side that doesn't have a scrollbar (both sides
  when no scrollbar is shown at all).  The previous behaviour let
  long items butt against the frame.
* Widget.preferredWidth / preferredHeight -- new base getters
  returning null ("no preference, fill what's given").  ListView
  overrides them with the smallest cell budget that displays every
  item without truncation.
* Pane.fitContent() sizes the pane around its single child's
  preferred size, including the title bar's required width and
  the corner-button cluster.  titleAsBar mode reserves a 1-cell
  padding around the title (`title + 4`); frameTitle mode uses
  the existing `title + 6` (corners + brackets + spaces).
* Pane.centerOnScreen() repositions the pane after fitContent.

The Alt-M handler is now ~15 lines: build the list, add to pane,
fit + center, run.  No hardcoded widths, no manual inner-bounds
math.

Wren.adoc updated with the new accessors, the Widget / Pane /
ListView additions, the title-mode geometry rules, and a small
auto-sized list-in-pane example mirroring the music picker.
n
---
  mSynchronetn  hgVertrauen n hHome of Synchronet n gh[vert/cvs/bbs].synchro.net

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