cleanup by just scrolling in the renderer

This commit is contained in:
Mitchell Hashimoto
2026-02-19 14:06:52 -08:00
parent 263469755c
commit eb335fb8dd
7 changed files with 33 additions and 39 deletions

View File

@@ -641,10 +641,13 @@ pub fn clearScreen(self: *Termio, td: *ThreadData, history: bool) !void {
}
/// Scroll the viewport
pub fn scrollViewport(self: *Termio, scroll: terminalpkg.Terminal.ScrollViewport) !void {
pub fn scrollViewport(
self: *Termio,
scroll: terminalpkg.Terminal.ScrollViewport,
) void {
self.renderer_state.mutex.lock();
defer self.renderer_state.mutex.unlock();
try self.terminal.scrollViewport(scroll);
self.terminal.scrollViewport(scroll);
}
/// Jump the viewport to the prompt.

View File

@@ -321,7 +321,7 @@ fn drainMailbox(
.resize => |v| self.handleResize(cb, v),
.size_report => |v| try io.sizeReport(data, v),
.clear_screen => |v| try io.clearScreen(data, v.history),
.scroll_viewport => |v| try io.scrollViewport(v),
.scroll_viewport => |v| io.scrollViewport(v),
.selection_scroll => |v| {
if (v) {
self.startScrollTimer(cb);

View File

@@ -232,7 +232,7 @@ pub const StreamHandler = struct {
.erase_display_below => self.terminal.eraseDisplay(.below, value),
.erase_display_above => self.terminal.eraseDisplay(.above, value),
.erase_display_complete => {
try self.terminal.scrollViewport(.{ .bottom = {} });
self.terminal.scrollViewport(.{ .bottom = {} });
self.terminal.eraseDisplay(.complete, value);
},
.erase_display_scrollback => self.terminal.eraseDisplay(.scrollback, value),