• src/syncterm/term.c

    From Deucе@1:103/705 to Git commit to main/sbbs/master on Sat Mar 21 17:30:26 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/e5b068aac93113fd0c2195c2
    Modified Files:
    src/syncterm/term.c
    Log Message:
    Fix ticket 229

    When closing SyncTERM with confirm exit on, and connected to a BBS,
    a zombie process would be created.

    Now it won't.
    --- 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 Sat Mar 21 20:46:07 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/c9dc88c28e05caac299becb3
    Modified Files:
    src/syncterm/term.c
    Log Message:
    Open hyperlinks/URLs on drag-start when click becomes drag (ticket 226)

    When mouse mode is OFF, any sub-character mouse movement between
    press and release converts a click into a drag, preventing hyperlink
    and Ctrl+URL clicks from working. This is especially noticeable on
    high-DPI displays or with jittery mice/touchpads.

    On DRAG_START in MM_OFF: if there's a hyperlink_id, drain the
    remaining drag events and open the hyperlink. If Ctrl is held
    (legacy URL detection), drain and try to open the URL. Otherwise
    fall through to normal text selection via mousedrag().

    Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
    --- 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 Sun Apr 12 19:48:59 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/33be28c669f273ac2ad7c0e8
    Modified Files:
    src/syncterm/term.c
    Log Message:
    RIP mode implies LCF mode.
    --- SBBSecho 3.37-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell (on Debian Linux)@1:103/705 to Git commit to main/sbbs/master on Mon Apr 13 21:30:27 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/9242ad71e6419b0b95d9ce05
    Modified Files:
    src/syncterm/term.c
    Log Message:
    Log a message about JEPG-XL library load failure or success
    --- SBBSecho 3.37-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell (on Debian Linux)@1:103/705 to Git commit to main/sbbs/master on Mon Apr 13 21:32:45 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/ac38afebf1ab72ad68087b8b
    Modified Files:
    src/syncterm/term.c
    Log Message:
    Fix typo in JPEG-XL lib load failure log message
    --- SBBSecho 3.37-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell (on Debian Linux)@1:103/705 to Git commit to main/sbbs/master on Mon Apr 13 21:47:39 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/df4decd8f4b2d3e533f2bfe6
    Modified Files:
    src/syncterm/term.c
    Log Message:
    Create/use new logmsg() function for the JPEG-XL load library log messages

    lprintf/lputs() may write to the screen, so don't use them for this purpose.

    Deleted the Win32 OutputDebugString block since it was #ifdef'd out anyway.
    --- 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 Apr 20 10:33:00 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/0df1dbb7a7fe58def3731ac5
    Modified Files:
    src/syncterm/term.c
    Log Message:
    Move hangup handing into helper function

    This enables splitting key handing into pre/post CTerm processing.
    --- 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 Apr 20 10:33:00 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/0f163cedfd53e8c662123a62
    Modified Files:
    src/syncterm/term.c
    Log Message:
    Fix doorway mode

    We have a small number of controls that are ALWAYS available in
    SyncTERM. These are checked before cterm_encode_key().

    The rest are only checked if cterm_encode_key() didn't send anything.
    --- 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 Thu Apr 23 18:36:01 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/93f9184e28878700f6b175af
    Modified Files:
    src/syncterm/term.c
    Log Message:
    SyncTERM: include modifier keys in mouse reports

    fill_mevent() ignored mouse_event.kbmodifiers, so Shift/Ctrl/Alt chords
    on the mouse always arrived at the host with the modifier bits cleared. BBS-side code could not distinguish Ctrl+Click from a plain click.

    Map CIOLIB_KMOD_SHIFT/ALT/CTRL to xterm's Cb modifier bits (4/8/16) and
    OR them into the reported button code for both legacy (CSI M) and SGR
    (CSI <) reporting. X10 compatibility mode (DECSET 9) is press-only and button-bits-only per spec, so modifiers are suppressed there.

    In the legacy branch the OR happens after the "release -> button = 3"
    clamp, so release events still carry modifiers. The modifier bits
    (4/8/16) do not collide with the existing +61/+121 high-button offsets
    or the +32 motion bit.

    Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>
    --- 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 Fri Apr 24 23:12:39 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/e8f12ae5ea662c60c31d1dea
    Modified Files:
    src/syncterm/term.c
    Log Message:
    syncterm: guard SFTP UI calls in term.c with WITHOUT_DEUCESSH

    term.c referenced sftp_browser_run, sftp_degraded_run,
    sftp_queue_activity, and sftp_queue_screen_run unconditionally, but
    their .c files (sftp_browser.c, sftp_degraded.c, sftp_queue.c, sftp_queue_screen.c) are gated behind NOT WITHOUT_DEUCESSH in CMakeLists.txt:319. When the MSVC builder auto-flips WITHOUT_DEUCESSH
    ON (vendored Botan unavailable), the link fails with four LNK2019s.
    Wrap the four call sites and the four sftp_*.h includes in
    #ifndef WITHOUT_DEUCESSH, matching the pattern used in syncterm.c,
    conn.c, and bbslist.c.

    Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>
    --- 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 Fri Apr 24 23:19:17 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/fc9b42001112bdca45726087
    Modified Files:
    src/syncterm/term.c
    Log Message:
    syncterm: hoist sftp_up/dn_active out of WITHOUT_DEUCESSH guard

    term.c references sftp_up_active / sftp_dn_active again at the col-28/29 status-bar update (lines 581/591), outside the activity-poll block that e8f12ae5ea wrapped in #ifndef WITHOUT_DEUCESSH. Move the declarations
    above the guard so the variables are still in scope (and zero, so the
    status bar shows idle) when SSH is compiled out.

    Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>
    --- SBBSecho 3.37-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)