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("");