From 28732b950c78f91cb0bdce9d3d9ebe354df59639 Mon Sep 17 00:00:00 2001 From: Tim Culverhouse Date: Sun, 21 Jan 2024 06:41:43 -0600 Subject: [PATCH] reflow: respect wraparound mode when reflowing text When calling resize, Ghostty should be respecting the wraparound state. This behavior matches xterm. Note that this same bug was also found in kitty. Fixes: #1343 --- src/terminal/Terminal.zig | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/terminal/Terminal.zig b/src/terminal/Terminal.zig index 2f87ae0d5..97b5d9c63 100644 --- a/src/terminal/Terminal.zig +++ b/src/terminal/Terminal.zig @@ -330,11 +330,19 @@ pub fn resize(self: *Terminal, alloc: Allocator, cols: usize, rows: usize) !void // If we're making the screen smaller, dealloc the unused items. if (self.active_screen == .primary) { self.clearPromptForResize(); - try self.screen.resize(rows, cols); + if (self.modes.get(.wraparound)) { + try self.screen.resize(rows, cols); + } else { + try self.screen.resizeWithoutReflow(rows, cols); + } try self.secondary_screen.resizeWithoutReflow(rows, cols); } else { try self.screen.resizeWithoutReflow(rows, cols); - try self.secondary_screen.resize(rows, cols); + if (self.modes.get(.wraparound)) { + try self.secondary_screen.resize(rows, cols); + } else { + try self.secondary_screen.resizeWithoutReflow(rows, cols); + } } // Set our size