@@ -17,10 +17,11 @@ import (
20− headerDiag = "╱"
20+ headerDiag = "╱"
21− minHeaderDiags = 3
21+ minHeaderDiags = 3
22− leftPadding = 1
22+ leftPadding = 1
23− rightPadding = 1
23+ rightPadding = 1
24+ diagToDetailsSpacing = 1 // space between diagonal pattern and details section
26type header struct {
27type header struct {
@@ -73,7 +74,7 @@ func (h *header) drawHeader(
73 var b strings.Builder
74 var b strings.Builder
74 b.WriteString(h.compactLogo)
75 b.WriteString(h.compactLogo)
76− availDetailWidth := width - leftPadding - rightPadding - lipgloss.Width(b.String()) - minHeaderDiags
77+ availDetailWidth := width - leftPadding - rightPadding - lipgloss.Width(b.String()) - minHeaderDiags - diagToDetailsSpacing
77 details := renderHeaderDetails(
78 details := renderHeaderDetails(
@@ -86,7 +87,8 @@ func (h *header) drawHeader(
86 lipgloss.Width(b.String()) -
87 lipgloss.Width(b.String()) -
87 lipgloss.Width(details) -
88 lipgloss.Width(details) -
88 leftPadding -
89 leftPadding -
89− rightPadding
90+ rightPadding -
91 if remainingWidth > 0 {
93 if remainingWidth > 0 {
92 b.WriteString(t.Header.Diagonals.Render(
94 b.WriteString(t.Header.Diagonals.Render(
@@ -143,8 +145,8 @@ func renderHeaderDetails(
143 const dirTrimLimit = 4
145 const dirTrimLimit = 4
144 cfg := com.Config()
146 cfg := com.Config()
145 cwd := fsext.DirTrim(fsext.PrettyPath(cfg.WorkingDir()), dirTrimLimit)
147 cwd := fsext.DirTrim(fsext.PrettyPath(cfg.WorkingDir()), dirTrimLimit)
146− cwd = ansi.Truncate(cwd, max(0, availWidth-lipgloss.Width(metadata)), "…")
147 cwd = t.Header.WorkingDir.Render(cwd)
148 cwd = t.Header.WorkingDir.Render(cwd)
149− return cwd + metadata
150+ result := cwd + metadata
151+ return ansi.Truncate(result, max(0, availWidth), "…")