# Objective - Prevent the Zed window height from shrinking to the built-in MacBook screen's height after macOS screen lock or display sleep in multi-monitor setups. - Related to #41246. ## Solution - Ignore window bounds change events in `observe_window_bounds` if the window is currently inactive (`!window.is_window_active()`). - **Explanation**: When the system locks or sleeps, macOS reconfigures displays (monitors power down, and macOS temporarily treats the built-in screen as the only primary display). This triggers a resize event on inactive Zed windows to fit them onto the built-in display. Because the window was inactive, the `observe_window_bounds` listener still triggered and scheduled `save_window_bounds`, immediately overwriting the workspace database with the temporary shrunk dimensions. - By ignoring bounds updates when the window is inactive, we preserve the correct original bounds in the database. Since a user-initiated resize/move always activates/focuses the window first, bounds will still be correctly persisted for intentional manual updates. ## Testing - Yes, tested locally on macOS (Sequoia). - Verified that compiling the `workspace` crate succeeds (`cargo check -p workspace`). - Ran all 220 unit tests in the `workspace` crate (`cargo test -p workspace`), and all passed successfully. - **How to test**: 1. Open Zed on an external monitor and set it to a large size (or maximize). 2. Lock the screen (or let the displays sleep). 3. Wake/unlock the screen. 4. Verify that the window recovers and maintains its original height instead of shrinking. ## Self-Review Checklist: - [x] I've reviewed my own diff for quality, security, and reliability - [x] Unsafe blocks (if any) have justifying comments - [x] The content adheres to Zed's UI standards ([UX/UI](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist) and [icon](https://github.com/zed-industries/zed/blob/main/crates/icons/README.md) guidelines) - [x] Tests cover the new/changed behavior - [x] Performance impact has been considered and is acceptable --- Release Notes: - Fixed an issue where the Zed window would shrink to the built-in display's height on macOS after screen lock or display sleep in multi-monitor setups. Co-authored-by: Kirill Bulatov <kirill@zed.dev>
1 file changedLine totals unavailable