Skip to content

v1.5.0 - Snappy Window Positioning

Latest

Choose a tag to compare

@yashas-salankimatt yashas-salankimatt released this 11 Mar 21:01

What's New

Snappy Window Positioning (AeroSpace-inspired)

MacTile now uses techniques from AeroSpace for significantly faster window tiling:

  • Animation disabling: Temporarily disables AXEnhancedUserInterface during frame changes to suppress macOS window animations — windows now snap into place instantly
  • Size→Position→Size ordering: Uses AeroSpace's proven attribute-setting order to handle macOS AX quirks in a single pass, replacing the previous multi-step safe-zone strategy
  • Zero-delay fire-and-forget: Removed all synchronous delays from the main positioning path — AX calls are issued back-to-back
  • Cross-monitor moves: Still shrinks windows first (to bypass browser visibility protection), then applies the fast path on the target monitor
  • Correction loop as safety net: The iterative correction loop is preserved but now only runs if the initial placement fails

Bug Fixes

  • Fixed correction loop stuck detection off-by-one
  • Correction loop now detects and bails when window closes mid-operation
  • Consistent minimum-size acceptance logic across all code paths
  • Cross-monitor shrink size uses min() to avoid temporarily growing small windows

Cleanup

  • Removed unused setSizeWithRetry, setPositionWithRetry, and axErrorString dead code