Commit Graph

1 Commits

  • feat(tui2): transcript scrollbar (auto-hide + drag) (#8728)
    ## Summary
    - Add a transcript scrollbar in `tui2` using `tui-scrollbar`.
    - Reserve 2 columns on the right (1 empty gap + 1 scrollbar track) and
    plumb the reduced width through wrapping/selection/copy so rendering and
    interactions match.
    - Auto-hide the scrollbar when the transcript is pinned to the bottom
    (columns remain reserved).
    - Add mouse click/drag support for the scrollbar, with pointer-capture
    so drags don’t fall through into transcript selection.
    - Skip scrollbar hit-testing when auto-hidden to avoid an invisible
    interactive region.
    
    ## Notes
    - Styling is theme-aware: in light themes the thumb is darker than the
    track; in dark themes it reads as an “indented” element without going
    full-white.
    - Pre-Ratatui 0.30 (ratatui-core split) requires a small scratch-buffer
    bridge; this should simplify once we move to Ratatui 0.30.
    
    ## Testing
    - `just fmt`
    - `just fix -p codex-tui2 --allow-no-vcs`
    - `cargo test -p codex-tui2`