• src/syncterm/Wren.adoc src/syncterm/scripts/auto/menu/main_menu.wren s

    From Deuc¨@VERT to Git commit to main/sbbs/master on Sunday, July 19, 2026 09:24:30
    https://gitlab.synchro.net/main/sbbs/-/commit/a51e13fee68a1ca689b960d6
    Modified Files:
    src/syncterm/Wren.adoc src/syncterm/scripts/auto/menu/main_menu.wren src/syncterm/scripts/ui_input.wren ui_input_test.wren
    Log Message:
    wren: restore comment replace-all entry

    UIFC entered an existing comment through K_EDIT with its current text
    in an initial replace-all state. Typing or deleting replaced the
    complete value, while cursor movement or mouse positioning preserved it
    and continued ordinary editing. The Wren editor always appended at the
    end and kept the whole field in input colors.

    Add an explicit transient select-all state to TextInput and activate it
    when the main-menu comment receives focus. Keep replacement edits to one onChange callback and dismiss the state through navigation, clipboard,
    help, and focus-traversal paths.

    Highlight only the existing comment while replacement is pending, then
    restore normal menu colors after the cursor is positioned. Document the
    new TextInput contract and cover replacement, deletion, movement, mouse positioning, and value reassignment.

    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 Sunday, July 19, 2026 09:24:30
    https://gitlab.synchro.net/main/sbbs/-/commit/efc8c15aa023d5de7bec3e7a
    Modified Files:
    src/syncterm/Wren.adoc src/syncterm/scripts/auto/menu/main_menu.wren src/syncterm/scripts/menu_bbs_editor.wren ui.wren ui_input.wren ui_input_test.wren ui_popup.wren ui_popup_test.wren
    Log Message:
    wren: restore K_EDIT prompt behavior

    The UIFC menu passed K_EDIT for 34 existing-value inputs. The initial
    Wren migration only assigned those values to TextInput, causing typing
    to append at the end. This affected directory fields, program settings,
    sort profiles, web lists, font names, palette components, and repeated
    Find queries.

    Add SelectOnFocusInput to preserve normal TextInput assignment while
    providing UIFC-style existing-value editing. Select the value whenever
    the widget gains focus, highlight only selected text, and return to
    ordinary colors after cursor movement. Use it for Prompt, Find, the
    palette component editor, and the main-menu comment editor.

    Reselect palette values after a percent reset, export the new input and
    Find through the public UI module, and update the Wren documentation.
    Replace the popup test that expected append-at-end behavior with
    replacement and movement coverage.

    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/7d66cd8aec7cdab6c6f4a2e4
    Modified Files:
    src/syncterm/Wren.adoc src/syncterm/scripts/auto/menu/main_menu.wren src/syncterm/scripts/auto/picker/file_picker.wren src/syncterm/scripts/classic_theme.wren syncterm.wren syncterm_picker.wren ui_app.wren ui_widget_test.wren src/syncterm/wren_bind.c wren_bind_fs.c wren_bind_picker.c wren_bind_picker.h wren_menu_host.c wren_picker_host.c
    Log Message:
    wren: apply the configured theme to every App

    Apps outside the main menu previously inherited Theme.default, while
    the menu and picker wired ClassicTheme independently. This gave
    connected and standalone dialogs different selected-button colors from
    the rest of SyncTERM.

    Expose the six configured palette indexes as read-only Host.themeColors
    in all three Wren VMs. Have App.new() build ClassicTheme.current from
    them. Remove the menu and picker-specific theme injection and picker
    request color copy while retaining explicit app.theme overrides and live settings updates.

    Document the program-wide default and test that a new App receives the configured Classic Theme.

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

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