Skip to content

v20260816-nightly

@gnachman gnachman tagged this 16 Aug 03:01
Named, colored, contiguous runs of tabs headed by a group "chip" that
collapses to hide its members and expands to reveal them, across all tab
styles (Tahoe, Yosemite, Minimal, Dark) and both orientations.

- Collapse/expand is animated: horizontal bars interpolate cell widths,
  vertical bars interpolate row slots, laying out every frame so scroll,
  chip size, cross-axis, and contiguity stay correct. A chip cell being
  inserted or removed runs through the same animator, so a new chip is
  positioned correctly throughout and its width tweens in lockstep with
  the neighbors instead of snapping into place at the end. Expanding a
  chip tweens it gradually from its wide collapsed width to its narrow
  settled width as the members grow out of it (pure growth, no snap).
- Group membership and the collapsed/name/color state ride each member
  tab (no separate registry), so they survive reorder, drag between
  windows, tear-off, duplicate, and window-arrangement restore.
- Invariants: a group's members stay contiguous (the pinned prefix wins
  when a group would straddle the pinned boundary, leaving it as up to
  two runs) and the active tab is never inside a collapsed group.
  Auto-expand enforcement is deferred during batch operations
  (duplicate / move / tear-off / reorder / restore / drag) via a single
  nestable, exception-safe suppression, and settled once, model-driven,
  when the operation completes.
- Pinning or unpinning a grouped tab acts on the whole group as a block
  so it never straddles the pinned boundary, and contiguity is enforced
  once after the block settles.
- Progress bars are hidden during the slide (they are not repositioned
  per frame, so they would otherwise jump). Group chips and outlines are
  not drawn under the window buttons on a scrolled Minimal bar, and a
  tab with active progress inside a collapsed group falls back to its
  inline progress bar.

Includes the pure ordering/contiguity logic (iTermTabGroupOrdering,
unit-tested) and release notes in docs/notes-3.7.txt.
Assets 2
Loading