Skip to content

Correct stale Dock insets during window actions - #1823

Open
culpen90 wants to merge 1 commit into
rxhanson:mainfrom
culpen90:fix/stale-dock-geometry
Open

Correct stale Dock insets during window actions#1823
culpen90 wants to merge 1 commit into
rxhanson:mainfrom
culpen90:fix/stale-dock-geometry

Conversation

@culpen90

Copy link
Copy Markdown
Contributor

Summary

  • refresh Dock placement when AppKit reports a stale visible frame
  • repair missing and phantom Dock reservations after display, edge, and auto-hide changes
  • preserve menu bar and notch boundaries while failing closed on ambiguous accessibility geometry
  • add coverage for Dock placements, display moves, auto-hide, invalid geometry, and combined displays

Root cause

macOS can leave NSScreen.visibleFrame stale after Dock preference or display-topology changes. Rectangle used that frame directly, so the first Maximize or related action could overlap the Dock or retain space for its former location.

Testing

  • DockVisibleFrameTests: 16 passed
  • full Rectangle test suite: 250 passed
  • git diff --check

Fixes #467
Related to #1674

@culpen90
culpen90 marked this pull request as ready for review August 21, 2026 15:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

“Maximize” sometimes (but not always) fails to notice the Dock

1 participant