about summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--lib/ui/tab.go9
1 files changed, 8 insertions, 1 deletions
diff --git a/lib/ui/tab.go b/lib/ui/tab.go
index b6e7bd5..90c7ce9 100644
--- a/lib/ui/tab.go
+++ b/lib/ui/tab.go
@@ -167,8 +167,15 @@ func (strip *TabStrip) Draw(ctx *Context) {
 		if strip.Selected == i {
 			style = tcell.StyleDefault
 		}
-		trunc := runewidth.Truncate(tab.Name, 32, "…")
+		tabWidth := 32
+		if ctx.Width()-x < tabWidth {
+			tabWidth = ctx.Width() - x - 2
+		}
+		trunc := runewidth.Truncate(tab.Name, tabWidth, "…")
 		x += ctx.Printf(x, 0, style, " %s ", trunc)
+		if x >= ctx.Width() {
+			break
+		}
 	}
 	style := tcell.StyleDefault.Reverse(true)
 	ctx.Fill(x, 0, ctx.Width()-x, 1, ' ', style)