From 0edf70a1810562199034b4221a533e0be9777550 Mon Sep 17 00:00:00 2001 From: kevin zhao Date: Tue, 28 Oct 2025 17:43:55 -0700 Subject: [PATCH] clean up when re-rendering --- codex-rs/tui/src/tui.rs | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/codex-rs/tui/src/tui.rs b/codex-rs/tui/src/tui.rs index ef9f384b26..409cc4dd7a 100644 --- a/codex-rs/tui/src/tui.rs +++ b/codex-rs/tui/src/tui.rs @@ -486,12 +486,22 @@ impl Tui { } pub fn clear_history(&mut self) -> Result<()> { + { + let backend = self.terminal.backend_mut(); + std::io::Write::write_all(backend, b"\x1b[3J")?; + std::io::Write::write_all(backend, b"\x1b[2J")?; + std::io::Write::write_all(backend, b"\x1b[H")?; + std::io::Write::flush(backend)?; + } + let size = self.terminal.size()?; let original_viewport = self.terminal.viewport_area; let full = ratatui::layout::Rect::new(0, 0, size.width, size.height); self.terminal.set_viewport_area(full); self.terminal.clear()?; self.terminal.set_viewport_area(original_viewport); + self.terminal + .set_cursor_position(original_viewport.as_position())?; self.pending_history_lines.clear(); Ok(()) }