diff options
| author | Nitin Gupta <nitingupta910@gmail.com> | 2026-03-31 07:28:07 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-03-31 16:28:07 +0200 |
| commit | 50c029afaf3f1b412583f7cfe7aa9f0ee984ffa8 (patch) | |
| tree | 1f9a46487ee7725615b6975e14fda9a67c47dc10 /src | |
| parent | Proper error when providing layout name with a tab (#4958) (diff) | |
| download | sl0ppij-50c029afaf3f1b412583f7cfe7aa9f0ee984ffa8.tar.gz sl0ppij-50c029afaf3f1b412583f7cfe7aa9f0ee984ffa8.tar.xz sl0ppij-50c029afaf3f1b412583f7cfe7aa9f0ee984ffa8.zip | |
Preserve scrollback for partial scroll regions starting at top (#4941)
* Preserve scrollback for partial scroll regions starting at top
When a partial scroll region starts at row 0 (the top of the viewport),
lines scrolled off the top were silently discarded via viewport.remove(0)
instead of being transferred to lines_above (the scrollback buffer).
This affected both add_canonical_line and rotate_scroll_region_down.
Applications like Codex CLI use partial scroll regions to push rendered
content into terminal scrollback (via DECSTBM + newlines). In tmux,
these lines are preserved in the scrollback buffer and accessible via
copy-mode scrolling. In Zellij, they were lost, causing mouse wheel
scrolling to show only stale pre-application content.
Transfer lines to lines_above when scroll_region_top == 0 and alternate
screen is not active, matching the behavior of tmux.
* add selection handling to CSI S, add matching handling for CSI M, add tests
* add pr
---------
Co-authored-by: Aram Drevekenin <aram@poor.dev>
Diffstat (limited to 'src')
0 files changed, 0 insertions, 0 deletions
