• src/syncterm/Wren.adoc src/syncterm/scripts/auto/menu/menu_host_ui.wre

    From Deuc¨@VERT to Git commit to main/sbbs/master on Sunday, July 19, 2026 13:28:48
    https://gitlab.synchro.net/main/sbbs/-/commit/b252c42d8aeb661e76a3954e
    Modified Files:
    src/syncterm/Wren.adoc src/syncterm/scripts/auto/menu/menu_host_ui.wren Log Message:
    wren: center host progress text

    Host progress panes painted every status line at the first interior
    column. This left connection messages visibly off-center even though
    the pane itself was centered.

    Wrap status text to the padded interior width, size the pane from the
    wrapped row count, and center every resulting line. The retained App
    repaints its full-screen backdrop before each update, so replacement
    panes can resize without leaving the previous frame behind.

    Document the progress-pane layout for menu VM implementations.

    Co-Authored-By: OpenAI Codex <noreply@openai.com>

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¨@VERT to Git commit to main/sbbs/master on Monday, July 20, 2026 11:51:19
    https://gitlab.synchro.net/main/sbbs/-/commit/dbd75c66a2f45238f716fe04
    Modified Files:
    src/syncterm/Wren.adoc src/syncterm/scripts/auto/menu/menu_host_ui.wren src/syncterm/scripts/auto/picker/file_picker.wren src/syncterm/scripts/ui_draw.wren ui_draw_test.wren ui_help.wren ui_list.wren ui_logview.wren ui_pane.wren ui_popup.wren ui_popup_test.wren ui_style.wren ui_style_test.wren ui_widget_test.wren
    Log Message:
    wren: classify pane frames by purpose

    Frame selection was exposed as single versus double, and Popup forced
    every dialog into the single-line family. This made alerts, prompts, and standalone choices diverge from UIFC, where control-bearing lists and
    inputs use double-line borders while Help and status displays use
    single-line borders.

    Replace framePreset and the visual glyph prefixes with the semantic
    frameKind values control and display. Default Pane and Popup to control,
    then select display explicitly for Help, transient status overlays, and
    startup progress. Reject unknown kinds instead of silently treating them
    as single-line frames.

    Give scrollbar separators their own glyph identifier and update the file picker's structural dividers to use the control family. Document the new
    theme contract and test the registry, frame rendering, validation, and
    widget assignments.

    Co-Authored-By: OpenAI Codex <noreply@openai.com>

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¨@VERT to Git commit to main/sbbs/master on Monday, July 20, 2026 11:51:19
    https://gitlab.synchro.net/main/sbbs/-/commit/f59f9a6274e8b80389e490b6
    Modified Files:
    src/syncterm/Wren.adoc src/syncterm/scripts/auto/menu/menu_host_ui.wren src/syncterm/scripts/ui_progress.wren ui_progress_test.wren
    Log Message:
    wren: preserve web progress column alignment

    The web-cache formatter pads each list name to a 20-cell field, but the
    menu host centered every complete status row independently and resized
    the pane from the longest current row. Different state and counter
    lengths therefore moved the name and colon columns between rows and
    updates.

    Restore the fixed 74-column progress pane used by the UIFC presentation,
    capped to the normal screen margins. Render every formatted and wrapped
    row from one padded left edge so the C formatter's columns remain
    stable.

    Move the reusable text body into the existing progress module, document
    the geometry, and test unequal status rows with aligned name columns.

    Co-Authored-By: OpenAI Codex <noreply@openai.com>

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net