From ca09039e48537e4f265aacdf19f67c73ba500034 Mon Sep 17 00:00:00 2001 From: feny Date: Wed, 18 Feb 2026 08:24:10 +0800 Subject: [PATCH] fix the issue that -ui print output flickering --- internal/ui/dashboard_panel.go | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/internal/ui/dashboard_panel.go b/internal/ui/dashboard_panel.go index 75b0aed..4e21a12 100644 --- a/internal/ui/dashboard_panel.go +++ b/internal/ui/dashboard_panel.go @@ -343,10 +343,15 @@ func (db *DashboardPanel) render() { builder.WriteString(renderBox(headerLines, width)) builder.WriteString(renderTitledBox("ActiveDownloads", activeLines, width)) builder.WriteString(renderTitledBox("History", historyBody, width)) - content := builder.String() - fmt.Fprint(db.out, "\x1b[H\x1b[2J") // 清屏操作 - fmt.Fprint(db.out, content) + + // 使用双缓冲技术 + var buf strings.Builder + // 构建完整内容 + buf.WriteString("\x1b[H\x1b[2J") // 清屏操作 + buf.WriteString(content) + // 一次性输出 + fmt.Fprint(db.out, buf.String()) } type dashboardSnapshot struct {