• src/syncterm/sftp_browser.c sftp_browser.hsrc/syncterm/GNUmakefile ter

    From Deucе@1:103/705 to Git commit to main/sbbs/master on Fri Apr 24 14:19:28 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/376b002c5f9f7aae65a9be23
    Added Files:
    src/syncterm/sftp_browser.c sftp_browser.h
    Modified Files:
    src/syncterm/GNUmakefile term.c
    Log Message:
    SyncTERM: Alt-S opens a read-only SFTP browser

    New modal screen that lists the remote filesystem while the terminal
    stays connected. Each row shows size (with B / KiB / MiB / GiB
    suffix via byte_estimate_to_str), last-modified date, a
    local-compare status [==] / [<>] / blank (size + mtime vs the
    session's download dir), and the filename. Enter on a directory
    descends; Enter on `..` returns to the parent; Esc leaves.

    If the [email protected] extension is negotiated, directories render
    the supplied lname in the filename column, and highlighting a file
    with an lname draws it centred on the second-last line (cleared to
    uifc.bclr | (uifc.cclr << 4)). The preview updates reactively via
    WIN_DYN polling with a 50ms throttle. The list uses WIN_FIXEDHEIGHT
    with list_height = nentries + vbrdrsize capped at scrn_len - 4 so the
    window's shadow never covers the preview line.

    Phase 3 is read-only — files can be viewed but not queued. Queue
    actions and the queue screen follow in later phases.

    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)