grid, protocol, daemon, client, docs: keep a scrolled-back view on its lines as output arrives #169
No reviewers
Labels
No labels
Area/ci
Area/cli
Area/client
Area/client-core
Area/daemon
Area/deps
Area/docs
Area/grid
Area/manual
Area/nix
Area/protocol
Area/pty
Area/render
Area/shaping
Area/skills
Area/transport
Area/vt
Compat/Breaking
Kind/Bug
Kind/Documentation
Kind/Enhancement
Kind/Feature
Kind/Performance
Kind/Security
Kind/Testing
perf-regression-accepted
Reviewed
Confirmed
Reviewed
Duplicate
Reviewed
Invalid
Reviewed
Won't Fix
Status
Blocked
Status
Need More Info
Status
Upstream
No milestone
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
felis-terminal/felis!169
Loading…
Reference in a new issue
No description provided.
Delete branch "daemon/viewport-anchor"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
A scrolled-back window stays on the lines it shows while the program keeps printing, and the next scroll moves one line from them instead of jumping by the lines printed in between.
Grid::viewport_anchor()/anchor_viewport(offset, since)grow a browsing offset by the rows pushed into scrollback, clamped to the retained history;0stays live. A resize, an erasingCSI 3 J, RIS or a screen switch moves the anchor's generation and returns the view to live. Embedders holding their own offset (GitHub mirror issue 4) call the same function.ViewportState.GridViewportState.anchor, echoed inInputViewport.anchor, so a step computed while a frame was in flight still lands one line away;SearchMatch.anchorlets the client keep highlights and n/N navigation on their lines. An unanchored request counts from the current bottom, as before.A step sent before the previous reply arrives is out of scope and tracked in #164.
Design and implementation each passed a sol review (
pi-review);just checkpasses locally.Closes #158
074e3560530805a6a1d30805a6a1d37974260360