Skip to content

cmux-next: an unfocused pane's tabs fade further, so the focused pane is plain to see - #22987

Merged
teamleaderleo merged 4 commits into
feat-cmux-nextfrom
cmux/focused-pane-cue
Oct 21, 2026
Merged

teamleaderleo merged 4 commits into
feat-cmux-nextfrom
cmux/focused-pane-cue

Conversation

@teamleaderleo

@teamleaderleo teamleaderleo commented Oct 21, 2026 •

Copy link
Copy Markdown
Collaborator

Leo: a plain link click in a lone chat opened GitHub in a right split without focusing it, and Cmd-W then closed his chat. directional-motion fixes where focus goes (plain click focuses the new tab, close acts on the focused tab, closing a tab opened from a chat returns to the chat). This PR makes the focused pane plain to see, so a person can tell which tab Cmd-W will close.

Cause

With the default appearance.focusIndicator (tabs, no ring since 53684ff, when pane lines went away) the only focus cue is that the other panes' tabs draw subtler, at focus.inactiveTabStrength 0.35: the unfocused selected pill kept 0.65 of its fill and its label stayed close to full contrast. In Leo's setup (glass-clear, split dividers at opacity 0) nothing else marks focus, and the unfocused-pane dim was just made subtler on his request (#22948).

Change

  • focus.inactiveTabStrength 0.35 -> 0.6 (Debug tunable; LayoutStyle default to match): an unfocused pane's selected pill draws at 0.4 of its fill, and its labels mix further toward the page. The contrast floors are unchanged (3.5:1 selected, 2.5:1, 2:1), so every unfocused tab stays readable.
  • An unfocused tab's hover fill fades half as much (alpha × 0.7), so hover still shows on the pane a person is about to pick (from review).
  • No settings default changes (the ring stays off by default; the dim stays at 0.10). Docs: plans/cmux-next/focus.md, tabs.md, design-tokens.
  • Not here (would be a new visual, held for Leo): briefly showing the ring when focus moves without a click.

Changelog

Changed: In cmux NEXT, an unfocused pane's tabs draw fainter, so the focused pane is easier to tell apart.

Observed / Not run

  • Red then green: FocusedPaneTabCueTests (commit 1 adds only the test; on base the unfocused pill keeps 0.65 of its fill). Fleet steps fpc-red-620e754d80 and fpc-green2-975dc6d255 were still running at merge; results go in a comment.
  • Observed: fleet compile-check --app passed on the head 975dc6d (after one base merge); independent review subagent passed. The hover change came after that review (one line in ChromeEmphasis.swift, its own suggestion).
  • Not run: no capture of the new look.

Agent session: huge-blue

🤖 Generated with Claude Code

teamleaderleo and others added 2 commits October 21, 2026 05:25
…pane

Fails on base: the unfocused selected pill keeps 0.65 of its fill.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Agent-Session: https://cmux.com/deeplink/agent?harness=claude&session=01a15c78-27ca-7140-a6c7-95f0db83b18c&host=huge-blue
…plain to see

Leo 2026-10-21: a link opened beside his chat and Cmd-W closed the chat, since
nothing showed which pane had focus. With no ring by default, the other panes'
subtler tabs are the cue; focus.inactiveTabStrength goes from 0.35 to 0.6 (the
unfocused pill at 0.4 of its fill, labels mixed further toward the page, never
under the 3.5:1 / 2.5:1 / 2:1 floors). No settings default changes.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Agent-Session: https://cmux.com/deeplink/agent?harness=claude&session=01a15c78-27ca-7140-a6c7-95f0db83b18c&host=huge-blue
@teamleaderleo teamleaderleo added the risk:normal Risk tier (docs/ci/risk-tiers.md) label Oct 21, 2026
@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

owner: 01a15c78-27ba-7b63-8c10-8f5787e83b76 on huge-blue

@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

owner: 01a15c78-27ca-7140-a6c7-95f0db83b18c on huge-blue

@github-actions

github-actions Bot commented Oct 21, 2026 •

Copy link
Copy Markdown
Contributor

cmux status (one comment, edited in place; each line is updated by the job that owns it)

Review 975dc6d: HQ feed card · gallery before/after runs · checks

App of this head (app.zip, kept 1 day)

gh workflow run reload-build.yml -R manaflow-ai/cmux --ref feat-cmux-next -f tag=pr22987 -f ref=cmux/focused-pane-cue -f platform=macos -f backend_mode=local

Not verified: macOS jobs did not run: compile and app tests were skipped on 975dc6d255; ci-status is green without them.

CI passes on 975dc6d255 (run 39549797390 attempt 1).
macOS jobs did not run: compile and app tests were skipped: Fast static checks skipped (the macos job needs both to succeed). Re-run CI once they pass, before merging.

Written by scripts/ci/classify_failures.py (ci-failure-attribution.yml); signatures are its SIGNATURES table. A machine verdict is the runner's fault, not this PR's; yours means the failing file is one this PR changes, also red on main that main's latest full suite fails the same way, seen on other PRs that it failed on another pull request's run lately.

teamleaderleo and others added 2 commits October 21, 2026 05:28
…ills

Review of #22987: at strength 0.6 the neutral hover fell to about 0.02 alpha
and barely showed; hover is how a person picks the pane they focus next.
tabs.md: the tonal and quiet rows at 0.6.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Agent-Session: https://cmux.com/deeplink/agent?harness=claude&session=01a15c78-27ca-7140-a6c7-95f0db83b18c&host=huge-blue
@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

cmux-next guards / defaults-snapshot is red on 21 of 21 fresh feat-cmux-next PR heads in the last 2:00:00, so it is most likely a base red, not this PR's. The base-reds lane has it; a base merge picks up the fix once it lands.

@teamleaderleo
teamleaderleo merged commit c12ce43 into feat-cmux-next Oct 21, 2026
@teamleaderleo
teamleaderleo deleted the cmux/focused-pane-cue branch October 21, 2026 05:30
@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Bead cx-d1g1l created for this PR by the cmux coordinator.

@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Red then green for FocusedPaneTabCueTests (fleet, scripts/ci/package-test-lane.sh suite Packages/macOS/CmuxNext FocusedPaneTabCueTests):

  • Red, 620e754 (test only), step fpc-red-620e754d80: anUnfocusedPanesSelectedTabIsClearlyNotTheFocusedOne fails in every fixture theme: the unfocused selected pill keeps 0.65 of its fill (selectionFill.alpha → 0.065 against a limit of 0.05 in the dark themes).
  • Green, 4a1a99a (strength 0.6), step fpc-green-4a1a99a8e2: the suite passes.

@github-actions

github-actions Bot commented Oct 21, 2026 •

Copy link
Copy Markdown
Contributor

@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Before/after for the unfocused-tab fade. Two side-by-side panes with three terminal tabs each, the left pane focused, default tabs indicator, glass. Fleet DEV build on a capture mini, window-only captures.

Before (focus.inactiveTabStrength 0.35, the old default) After (0.6, the new default)

The unfocused right pane's tabs draw fainter. At 1x the difference is subtle, so here is the tab strip at 2x, before (0.35) above after (0.6):

The before value was set live with debug.tunables set focus.inactiveTabStrength 0.35 on the same build (the Debug override of the same setting), so only the strength differs.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

risk:normal Risk tier (docs/ci/risk-tiers.md)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant