Repository navigation
fix: keep main windows out of fullscreen tiling - #12298
Conversation
|
All contributors have signed the CLA ✍️ ✅ |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Advanced Run ID: 📒 Files selected for processing (4)
💤 Files with no reviewable changes (1)
Included review availability: Your plan provides up to 10 included reviews per hour; 7 remain after this review. 📝 WalkthroughWalkthroughThe main window now permanently includes ChangesFullscreen tiling behavior
Priority: ⬆️ High Estimated code review effort: 2 (Simple) | ~10 minutes Severity of issue fixed: High Suggested reviewers: Merge Risk: ⚪ Minimal · up to Main windows consistently opt out of Full Screen Tile while retaining native fullscreen behavior, with regression coverage for the relevant creation paths. 🚥 Pre-merge checks | ✅ 24 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (24 passed)
✨ Finishing Touches 💡 1📝 Generate docstrings 💡
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
72ce5e9 Merge pull request manaflow-ai#12210 from manaflow-ai/issue-12204-inactive-pane-colors 39bbf00 feat(web): add Founding Chromium Engineer role to jobs page (manaflow-ai#12248) a34d44c devbox: promote sh-cd099a44912648399e0420df9b4e7f4f (daemon 897bb7a, theme-portable attach) (manaflow-ai#12304) 021537a fix: keep main windows out of fullscreen tiling (manaflow-ai#12298) 24125c7 test: update managed appearance snapshots for Catppuccin a5a3c0f fix: match fallback colors to managed Catppuccin themes c042f83 test: cover Catppuccin colors without theme resources 4916e7c test: use authoritative scrollbar response in wheel regression 3774a64 Complete macOS localization parity and validate plural catalogs (manaflow-ai#12169) 897bb7a Cloud panes: keep the local Ghostty theme on attach (manaflow-ai#12259) cde2e36 web: drop the status read after Freestyle create and warm the database during auth (manaflow-ai#12260) 18e6282 Merge pull request manaflow-ai#12295 from manaflow-ai/fix/codex-default-theme-compositing fe2292b fix: align managed terminal defaults with Codex theme 27bbb39 test: require the Codex Catppuccin default theme 84283f4 fix: size terminal frames from the tiled clip viewport caee136 fix: keep portal terminal contents clipped during resize 454bd7a fix: preserve inactive terminal colors by default e577aa7 test: cover inactive split appearance defaults # Conflicts: # .github/workflows/ci.yml
* test: require main windows to disallow fullscreen tiling * fix: keep main windows out of fullscreen tiling
What this fixes
Main cmux windows could enter macOS Full Screen Tile because the app only applied
.fullScreenDisallowsTilingtemporarily while creating a window from an existing fullscreen window. Once that temporary flag was removed, macOS could place the window in a managed tile Space, which can wedge Mission Control and horizontal Space navigation as reported in #10894.Main windows now permanently opt out of Full Screen Tile while retaining native fullscreen support through
.fullScreenPrimary.Changes
.fullScreenDisallowsTilinginCmuxMainWindow.canonicalCollectionBehavior.AppDelegate.createMainWindow.Verification
git diff --check./scripts/reload.sh --tag issue10894-windowserver(still running locally)Fixes #10894
Need help on this PR? Tag
@codesmith-botwith what you need. Autofix is disabled.Note
Low Risk
Localized AppKit window collection-behavior change with regression tests; trades optional Split View tiling for stable Space navigation in fullscreen.
Overview
Main windows now permanently opt out of macOS Full Screen Tile while keeping native fullscreen via
.fullScreenPrimary, fixing Mission Control and Space navigation getting stuck (#10894).Previously
.fullScreenDisallowsTilingwas only applied briefly when spawning a window from an existing native fullscreen window, then removed so Split View still worked. That let macOS move cmux into a managed tile Space after the flag cleared. The PR moves the opt-out intoCmuxMainWindow.canonicalCollectionBehaviorso every main window gets it at init, and deletes the fullscreen-source detection, post-create flag insertion, and delayed cleanup inAppDelegate.createMainWindow, along with the related debug override and tests.Tests now assert tiling is disallowed by default on new main windows and that canonical behavior always includes the flag.
Reviewed by Cursor Bugbot for commit c5fef34. Bugbot is set up for automated code reviews on this repo. Configure here.
Summary by cubic
Fixes #10894 by keeping main windows permanently out of macOS Full Screen Tile, which could wedge Mission Control and horizontal Space navigation when a window was created from an existing fullscreen window. Main windows now always carry
.fullScreenDisallowsTilingwhile retaining native fullscreen support via.fullScreenPrimary..fullScreenDisallowsTilingtoCmuxMainWindow.canonicalCollectionBehaviorpermanently.AppDelegate.createMainWindow.Written for commit c5fef34. Summary will update on new commits.
Summary by CodeRabbit