fix(tabs): shrink tab row to 32px, pad drag strip to 10px

Keep the total top-band at 42px (matching the sidebar's titlebar-left)
while making the tabs themselves 2px shorter, so the tab chrome feels a
touch more compact without breaking alignment with the sidebar header.

Co-authored-by: Orca <help@stably.ai>
This commit is contained in:
brennanb2025
2026-05-01 12:32:23 -07:00
co-authored by Orca
parent 207f0699f9
commit e22023f897
2 changed files with 7 additions and 8 deletions
@@ -223,7 +223,7 @@ export default function TabGroupPanel({
this, the empty space after tabs in the center column is dead — the
user can only drag from the tiny left-sidebar header strip. */}
<div
className="h-[34px] shrink-0 border-b border-border bg-card"
className="h-[32px] shrink-0 border-b border-border bg-card"
style={{ WebkitAppRegion: 'drag' } as React.CSSProperties}
>
<div className="flex h-full items-stretch pr-1.5">
@@ -217,16 +217,15 @@ export default function TabGroupSplitLayout({
// so disabling it is the simplest fix.
autoScroll={false}
>
{/* Why: the 8px drag strip sits ABOVE the split layout — lifted out of
{/* Why: the 10px drag strip sits ABOVE the split layout — lifted out of
each pane — so vertical split resize handles don't extend into the
window-drag region at the top. Only the split layout's own panes
own the resize handles, while this strip keeps the whole top of the
center column draggable regardless of how the splits are arranged.
Why 8px specifically: the 34px tab row below this strip must bring
the total top-band to 42px so its bottom border aligns with the
sibling `titlebar-left` (also 42px) above the sidebar — otherwise
the tab row sits 2px high and the seam between the two columns
snags the eye.
Why 10px specifically: pairs with the 32px tab row below so the
total top-band is 42px, matching the sibling `titlebar-left` above
the sidebar. Without this, the tab row's bottom border falls short
of the sidebar header's and the seam between columns reads as off.
Why `border-l` on the wrapper: paint a single full-height divider
between the left sidebar and the terminal area, regardless of
split state. When splits exist, the leftmost pane also renders its
@@ -234,7 +233,7 @@ export default function TabGroupSplitLayout({
overlapping 1px lines read as one clean seam. */}
<div className="flex flex-col flex-1 min-w-0 min-h-0 overflow-hidden border-l border-border">
<div
className="h-[8px] shrink-0 bg-card"
className="h-[10px] shrink-0 bg-card"
style={{ WebkitAppRegion: 'drag' } as React.CSSProperties}
/>
<div className="flex flex-1 min-w-0 min-h-0 overflow-hidden">