• src/syncterm/scripts/menu

    From Deuc¿@VERT to Git commit to main/sbbs/m on Sunday, July 19, 2026 09:24:00
    https://gitlab.synchro.net/main/sbbs/-/commit/17d42bb8d47838ee9b990375
    Modified Files:
    src/syncterm/scripts/menu_bbs_editor.wren menu_ui.wren ui_picker.wren ui_popup_test.wren
    Log Message:
    ui: add shadows to floating menu panes

    Popup dialogs enable Widget.shadow, but menu panes derived directly
    from Pane inherited its false default. As a result, Settings choices
    and other list-based menus were composited without the expected shadow.

    Enable shadows in ModalPane, standalone ListPicker panes, and the
    custom BBS and palette editor panes. Keep the base Pane default
    unchanged so full-screen views and application-level panes remain
    unshadowed.

    Extend the popup tests to assert the floating-menu shadow default.

    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/m on Monday, July 20, 2026 16:56:00
    https://gitlab.synchro.net/main/sbbs/-/commit/5f2cf9910bc1146417bc55fa
    Modified Files:
    src/syncterm/scripts/menu_ui.wren
    Log Message:
    Size menu choices to their contents

    Remove the arbitrary seven-row minimum from ordinary and browser
    choices. A titled pane needs four rows of frame overhead, so a
    single-item catalog fits in five rows without an empty viewport.

    This removes the two blank rows shown by the Themes browser when only
    the built-in Classic Theme is available while preserving the existing screen-height cap for longer lists.

    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/m on Tuesday, July 21, 2026 09:28:00
    https://gitlab.synchro.net/main/sbbs/-/commit/8ccdc0856db7ffa8a3c83132
    Added Files:
    src/syncterm/scripts/menu_palette_picker.wren menu_palette_picker_test.wren ui_color_picker.wren ui_color_picker_test.wren
    Modified Files:
    src/syncterm/CHANGES Wren.adoc run_wren.sh src/syncterm/scripts/menu_bbs_editor.wren ui.wren wrentest.wren
    Log Message:
    Replace palette editor with colour picker

    Replace the three-field palette editor with a reusable colour picker
    that keeps RGB as canonical state while exposing RGB, HSV, and hex
    controls. Support exact keyboard entry, mouse-wheel and click
    adjustment, focus wrapping, and compact colour samples.

    Keep palette-specific contrast combinations in a separate menu
    dialog. Clicking a combination updates the sample without coupling
    the generic picker to dialing-directory palette rules.

    Use distinct theme roles for slider rows and numeric inputs, preserve
    the insertion cursor cell in the hex field, and clear nested focus
    visuals when the button row is active.

    Load Wren tests from the checkout through an isolated XDG data
    directory, and add coverage for conversions, editing, mouse behavior,
    layout, style roles, and focus navigation.

    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/m on Tuesday, July 21, 2026 09:28:00
    https://gitlab.synchro.net/main/sbbs/-/commit/46af1582b0c90454ebe7df0b
    Added Files:
    src/syncterm/scripts/menu_ui_test.wren
    Modified Files:
    src/syncterm/Wren.adoc src/syncterm/scripts/menu_bbs_editor.wren menu_settings_ui.wren menu_sort_profiles.wren menu_ui.wren ui_app.wren ui_widget_test.wren wrentest.wren
    Log Message:
    Preserve menu view and cursor state

    Retain each repeating choice menu's ListView across modal
    reconstruction so changing a setting and returning from nested editors
    does not move the selection or viewport. Apply this to settings, font,
    palette, logging, and sort-profile editors.

    Invalidate App's cached cursor state after applying settings or
    changing screen modes. These host calls reset conio's cursor directly,
    so passive views could otherwise leave a visible cursor on screen for
    the remainder of the session.

    Document both UI contracts and add regression coverage for retained
    choice viewports and cursor-cache invalidation.

    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/m on Tuesday, July 21, 2026 11:19:00
    https://gitlab.synchro.net/main/sbbs/-/commit/09031ca5fc3acca2e370a112
    Added Files:
    src/syncterm/scripts/menu_theme_editor.wren
    Modified Files:
    src/syncterm/CHANGES Themes.adoc Wren.adoc src/syncterm/scripts/menu_settings_ui.wren menu_ui.wren ui_style_test.wren src/syncterm/wren_bind_menu_settings.c
    Log Message:
    Add the Wren theme editor

    Add a menu-VM editor with a selectable preview atlas for every
    style and glyph, exact cascade provenance, RGB and legacy colour
    views, CP437 and ASCII glyph views, and editors for metadata, style
    fields, glyph codes, and custom definitions.

    Integrate New and Edit commands into the Themes browser. Support
    grouped imports, session undo and redo, explicit Save and Save As, external-change and overwrite confirmation, and a three-way dirty
    close prompt that remains usable during process shutdown.

    Keep editor chrome on the committed theme while draft samples update.
    Document the editor workflows and ThemeDocument API, and test decoding independent theme-data snapshots.

    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/m on Tuesday, July 21, 2026 13:14:00
    https://gitlab.synchro.net/main/sbbs/-/commit/337105e06965c1123412034a
    Added Files:
    src/syncterm/scripts/menu_theme_editor_test.wren
    Modified Files:
    src/syncterm/Themes.adoc Wren.adoc run_wren.sh src/syncterm/scripts/menu_theme_editor.wren
    Log Message:
    Complete the Wren theme editor

    Replace numeric glyph entry with mode-aware CP437 and ASCII grids.
    Use a shared blank cell between glyphs so the current value has a
    symmetric highlight, and show CP437 values as hexadecimal with their
    rendered glyph when CP437 display is active.

    Expose every candidate in each style-field cascade and mark its winning
    source. Let the representative widget preview report its focused theme
    role and use F2 to select that role in the exhaustive atlas.

    Extend run_wren.sh with an isolated menu-VM test mode, add coverage for
    the new editor interactions, and document the completed editor and test workflow.

    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/m on Wednesday, July 22, 2026 10:39:00
    https://gitlab.synchro.net/main/sbbs/-/commit/939b2dca877c1f88a5c971a1
    Added Files:
    src/syncterm/scripts/menu_bbs_editor_test.wren
    Modified Files:
    src/syncterm/CHANGES Wren.adoc bbslist.c bbslist.h run_wren.sh src/syncterm/scripts/auto/menu/menu_host_ui.wren src/syncterm/scripts/menu_bbs_editor.wren menu_theme_editor.wren menu_ui.wren syncterm.wren syncterm_menu.wren ui_draw_test.wren ui_help.wren ui_pane.wren ui_popup.wren ui_popup_test.wren wrentest.wren src/syncterm/wren_bind.c wren_bind_menu.c wren_host.c
    Log Message:
    Add per-connection Wren scripts and protect menu chrome

    Store an ordered WrenScripts module list on personal directory
    entries and expose it through the connected and menu VM bindings.
    Discover selectable root modules, edit their order from the entry
    editor, and load them after global connected scripts but before -W.

    Reject scripts on defaults and read-only entries, retain missing
    module names for repair, and report individual load failures without
    preventing the remaining modules from running.

    Extend the headless menu harness and add coverage for discovery,
    ordering, cancellation, validation, persistence, and loading.

    Centralize menu modal bounds while touching the editor. Keep frames
    and their shadows below the title and above the comment/help footer,
    and route popups, Help, status panes, choices, and theme tools through
    the shared geometry.

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

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Debian L@VERT to Git commit to main/sbbs/m on Wednesday, July 22, 2026 16:22:00
    https://gitlab.synchro.net/main/sbbs/-/commit/0bedc5e91da189d3ff3c11c0
    Added Files:
    src/syncterm/scripts/menu_bbs_editor_test.wren
    Modified Files:
    src/syncterm/CHANGES Wren.adoc bbslist.c bbslist.h run_wren.sh src/syncterm/scripts/auto/menu/menu_host_ui.wren src/syncterm/scripts/menu_bbs_editor.wren menu_theme_editor.wren menu_ui.wren syncterm.wren syncterm_menu.wren ui_draw_test.wren ui_help.wren ui_pane.wren ui_popup.wren ui_popup_test.wren wrentest.wren src/syncterm/wren/vm/wren_vm.c src/syncterm/wren_bind.c wren_bind_menu.c wren_host.c
    Log Message:
    Merge branch 'master' of gitlab.synchro.net:main/sbbs

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