From c5477c7ef6e5217bc25a75589e807668a286eb48 Mon Sep 17 00:00:00 2001 From: Tyler Koenig Date: Thu, 28 May 2026 13:39:00 -0400 Subject: [PATCH] fix(tui): size NAME column to actual content, surplus goes to sparkline Compute max monitor name length and cap NAME column to that + 4 (icon/padding). Extra space goes to HISTORY sparkline instead of dead whitespace. --- internal/tui/tab_sites.go | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/internal/tui/tab_sites.go b/internal/tui/tab_sites.go index f95b854..b53358f 100644 --- a/internal/tui/tab_sites.go +++ b/internal/tui/tab_sites.go @@ -374,8 +374,19 @@ func (m Model) computeLayout() tableLayout { fixedMin += c.minWidth } + maxName := 0 + for _, s := range m.sites { + if n := len([]rune(s.Name)); n > maxName { + maxName = n + } + } + maxName += 4 // icon + padding + error preview room + avail := usable - fixedMin nameW := avail / 2 + if nameW > maxName { + nameW = maxName + } sparkW := avail - nameW - 2 if nameW < 13 {