Repository navigation
fix(splits): dim terminals and chats on the unfocused side like editors - #28952
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info
📝 Walkthrough
Priority: ⬇️ Low Merge Risk: ⚪ Minimal · up to
|
e5e387f to
21ebf83
Compare
21ebf83 to
9c129bd
Compare
9c129bd to
ee29164
Compare
|
Terminals and chats in an unfocused side-by-side group stayed bright while editors and tab bars dimmed because their bodies render outside the group panel. This change applies one shared 0.95 opacity to those hosts, matching editors. Focused content and lone groups remain at 1; inner terminal splits keep their existing setting. Finishing review and readiness checks at a881dcf found no P0/P1. All 20 targeted renderer tests passed. The exact-head full PR workflow and aggregate passed, as did the separate WSL workflow. Final mechanism comparison is recorded in the private ledger. Real QA on the admitted M4Air passed all four combinations with each side selected. Actual content bodies measured 1 focused and 0.95 unfocused, with no double dimming. Inner terminal leaves stayed at 1/0.9 and 0.9/1; lone chat and floating lone terminal stayed 1; hidden bodies stayed 0. A real Codex reply completed through the composer using the load balancer and Codex QA driver. Distinct drafts and terminal output verified input routing. All owned test processes are stopped, listeners clear, and the machine ticket released. Deferred P2 cosmetic item: “Restoring terminal…” stays at full opacity until the real terminal mounts, unchanged from main. Browser, emulator and activity-portal exclusions were source-checked; this targeted rendered run covered macOS. The newer main baseline has unrelated chat spacing/control differences; the screenshots disclose them. For Brennan’s review: the shared opacity value and terminal overlay application express the intended treatment. Matched captures for every changed flow follow. Matched full-window captures: main Inner terminal split, lone chat and floating terminal
The newer main comparison has separate chat spacing and reasoning-control differences outside this opacity change. Generated titles, timestamps and cursor blink also vary between real runs. Browser, emulator and activity-portal exclusions were checked in source; they are not claimed as rendered coverage. |
…rminal A split chat was dimmed with the terminal's inner-pane opacity (0.9 by default) while terminals and editors in an unfocused split group get the group's 0.95, so chats looked dimmer than terminals beside them. The chat layer now takes the same shared group dim and nothing more.
Editors and tab bars in an unfocused split group were dimmed to 0.95, but terminals and chats are drawn in a layer outside the group, so they stayed at full opacity. One shared opacity now dims the group panel and the retained terminal and chat hosts alike, so all three look the same.
…tablyai#28952 stablyai#28952 moved the root's opacity-95 into a style prop with a shared constant; the rebase kept it alongside this branch's child-level dim, so unfocused groups dimmed twice and the root's stacking context trapped the revealed strip under the pane overlays again.
























ELI5
Terminals and chats in an unfocused side-by-side group stayed bright while editors and tab bars dimmed. That made the selected side harder to see. Terminals, chats and editors now use the same light 0.95 opacity on the unfocused side; the focused side and a lone group stay fully visible. Splits inside a single terminal tab keep their existing Inactive Pane Opacity setting.
What Changed
One shared opacity is applied to the group panel and to the terminal and chat hosts that render outside that panel. Each mounted content body receives the group dim once. Hidden retained hosts stay invisible, and activity-portal terminals keep their existing rendering.
Why
Applying the same selected-group state to every content type follows the common pattern. It fixes the missing treatment at the overlay hosts without adding a setting, saved state, focus action or cross-process message.
Linked Issue
Approved split-pane appearance correction. The shared focus correction in #28987 has landed on main.
Visual Proof
Matched full-window captures: main
920a0339287versus this heada881dcf84db, on the admitted M4Air, 1200 × 850, the same repository fixture and default light appearance. Each actual content body was measured through every opacity-bearing ancestor.Chat beside terminal — both focus directions
Two terminals — both focus directions
Two chats — both focus directions
Editor beside terminal — both focus directions
Inner terminal split, lone chat and floating terminal
The newer main comparison has separate chat spacing and reasoning-control differences outside this opacity change. Generated titles, timestamps and cursor blink also vary between real runs. Browser, emulator and activity-portal exclusions were checked in source; they are not claimed as rendered coverage.
Testing
Review
Uniform 0.95 group opacity is intended. The terminal tab's inner split setting remains separate. One cosmetic item is deferred: the existing “Restoring terminal…” placeholder stays fully visible until the terminal mounts, then takes the group opacity. The placeholder behaves as on main; no opacity acceptance evidence uses a loading placeholder. The merge-base diff includes formatter-required Codex function signature formatting; current main already has that form, with no behavior change.
Rendered coverage is local macOS. Other platforms, SSH hosts and non-git folder workspaces were considered in source rather than exercised in this targeted appearance run. No ownership, lifecycle, saved-data, wire or agent-behavior change is introduced.
Agent skill upstream boundary
Notes
Author X: @BrennanKB5.
Checklist