Skip to content

fix: fade tab strip edges when tabs overflow - #433

Merged
vanvasten merged 2 commits into
mainfrom
fix/tab-strip-edge-fade
Oct 16, 2026
Merged

vanvasten merged 2 commits into
mainfrom
fix/tab-strip-edge-fade

Conversation

@vanvasten

@vanvasten vanvasten commented Oct 16, 2026 •

Copy link
Copy Markdown
Contributor

Summary

  • When a pane has more tabs than fit, the strip fades the edge that hides tabs, so it is clear there is more to scroll to. Closing tabs while the strip is scrolled no longer leaves it parked past the end. The fallback SwiftUI strip keeps tabs at a readable minimum width.
  • Terminal tab titles stay as the live process title. The automatic "PR #N" and ticket-id titles derived from the git branch are removed (second commit, easy to drop if unwanted).

Builds on #432, which already added the readable minimum width, mouse-wheel scrolling and reveal of the selected tab.

Testing

  • New testNativePaneTabBarKeepsTitlesReadableAndScrollsSelectedTabIntoView (15 long-titled tabs: minimum width, overflow, selected tab scrolled into view). Updated the panel-title test in WorkspaceUnitTests.
  • A Debug xcodebuild compiled the Swift sources; the only local failure was the Ghostty resources copy script (no zig on this machine). Nothing run locally beyond that; CI runs the tests.
  • Edge fade and scroll clamp not checked by eye.

Demo Video

  • Video URL or attachment: needed from the author (visual change).

Checklist

  • Tested via CI and, for UI or behavior changes, a tagged build (./scripts/reload.sh --tag <name>)
  • I added or updated tests for behavior changes
  • I updated docs/changelog if needed
  • I requested bot reviews after my latest commit
  • All code review bot comments are resolved
  • All human review comments are resolved

…ll position valid

When the tab row overflows, the edge that hides tabs fades out. Closing tabs no longer leaves the strip scrolled past the end. The SwiftUI fallback strip keeps tabs at a readable minimum width.
… branch or PR

Drops the automatic "PR #N" and ticket-id titles so a terminal tab shows its live process title.
@vanvasten
vanvasten merged commit 9ecf8e4 into main Oct 16, 2026
13 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant