• docs/v322_new.md exec/load/sbbsdefs.js src/sbbs3/logon.cpp newuser.cpp

    From Rob Swindell (on Debian Linux)@VERT to Git commit to main/sbbs/master on Friday, September 18, 2026 23:15:27
    https://gitlab.synchro.net/main/sbbs/-/commit/45e2c6c9e5b64ac90f4b2728
    Modified Files:
    docs/v322_new.md exec/load/sbbsdefs.js src/sbbs3/logon.cpp newuser.cpp sbbsdefs.h src/sbbs3/scfg/scfg.c scfg.h scfgindex.h scfgnode.c scfgxtrn.c src/sbbs3/xtrn_sec.cpp
    Log Message:
    Add a "clear screen before execution" option for external programs

    Some external programs clear or overwrite the user's terminal as soon as
    they start. Run from a logon event, such a program can wipe text the user
    has not yet read. The new XTRN_CLS online program option clears the
    screen before the program is executed, using the BBS's own clear-screen
    (cls), which first prompts the user to continue if there is unread
    output on the screen. GitLab #1243.

    The screen is cleared once the program is sure to run (all early-return
    checks done) and before the drop file is written and the node status,
    start time, inactivity timeout, and MQTT exec event are set, so a long
    pause at the prompt affects none of them.

    Logon and New User fixed events get the same option (FEVENT_CLS), along
    with a pause-after-execution option (FEVENT_PAUSE). A fixed event's
    settings are external() mode bits, so these use bits that external()
    ignores. The other fixed events run offline and don't offer them.

    In SCFG, the online program "Pause After Execution" option becomes
    "Terminal Control" (None, Clear, Pause, or "Clear, Pause"), which prompts
    for both settings; ESC at the first prompt skips the second. The Logon
    and New User fixed event menus offer the same option. toggle_flag() now
    returns the list selection so a caller can detect an abort. The fixed
    event copy of the option is kept out of the search index, which cannot
    tell which fixed events offer it.

    scfgindex.h is regenerated, which also picks up the Msg/File Total
    Interval option added in 875357a01a (2026-08-17).

    Co-Authored-By: Claude Opus 5 (1M context) <[email protected]>

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