From cdf3c2fa13a5edc68765238de1d6bac37d557848 Mon Sep 17 00:00:00 2001 From: Gabriele Musco Date: Wed, 11 Oct 2023 23:56:21 +0200 Subject: [PATCH] feat: implement max scrollback in debug view --- src/ui/debug_view.rs | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/ui/debug_view.rs b/src/ui/debug_view.rs index c99f9fb..b0d4925 100644 --- a/src/ui/debug_view.rs +++ b/src/ui/debug_view.rs @@ -48,6 +48,8 @@ pub struct DebugView { pub struct DebugViewInit {} +const MAX_SCROLLBACK: i32 = 2000; + #[relm4::component(pub)] impl SimpleComponent for DebugView { type Init = DebugViewInit; @@ -209,6 +211,12 @@ impl SimpleComponent for DebugView { textview.scroll_mark_onscreen(&end_mark); }); } + while self.textbuf.line_count() > MAX_SCROLLBACK { + let mut start = self.textbuf.start_iter(); + let mut end = self.textbuf.start_iter(); + end.forward_line(); + self.textbuf.delete(&mut start, &mut end); + } } Self::Input::ClearLog => { self.textbuf.set_text("");