mirror of
https://github.com/ghostty-org/ghostty.git
synced 2025-05-31 12:38:40 +03:00

Related to #642 Fixes #910 See #642 for why we want to ignore the "always" userTabbingPreference. To do that, we'd set tabbingMode to "disallow" because we manually (in code) handled it all. Unfortunately, setting the tabbingMode to "disallow" introduce #910. I still believe this is a macOS bug at heart, so I'm going to submit an Apple Feedback item for it. However, I've found a workaround which I also feel is the better solution, implemented here. Instead of setting tabbingMode to "disallow" I now detect if we're in the scenario where the user has their system tabbing preference set to "always". In that case, we detect if the new window has been automatically put into a tab group by macOS, and if so we remove it. This all happens in the `windowDidLoad` controller callback. At this phase, our Ghostty-managed windows should NEVER be in a tab group, because "new tab" adds them to a tab _after_. So we can be certain that if we're already in a tab group it was from the macOS system setting. This happens to fix #910.