Skip to content

v3.3.8 — Guard 2 CGWindowID Fallback

Choose a tag to compare

@xdzgithub xdzgithub released this 02 Jun 09:13
· 33 commits to main since this release

Fix — Window tiling / snapping focus loss

Guard 2 now passes when both CGWindowList and AX report visible windows for the frontmost app, even if the AXCGWindowID cross-reference fails.

Details

macOS window tiling, window snapping, and certain apps can have mismatched window IDs between AX and CGWindow. The v3.3.6 CGWindowID cross-reference was too strict — it treated any mismatch as "not visible", triggering unwanted focus recovery.

Preserved

  • Ghost/hidden window filtering (v3.3.6): if CGWindowList has no windows for the app, Guard 2 still fails
  • Launch grace period (v3.3.7): AXUIElementDestroyed from apps launched <2.0s ago are ignored