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

    From Deucе@1:103/705 to Git commit to main/sbbs/master on Sun Jul 19 09:24:30 2026
    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>
    --- SBBSecho 3.37-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Mon Jul 20 11:51:18 2026
    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>
    --- SBBSecho 3.37-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)