Skip to content

Add Layout Helper and shared window dividers + a few optimizations - #1864

Open
kiteretsu903 wants to merge 20 commits into
rxhanson:mainfrom
kiteretsu903:dev/snap-helper
Open

kiteretsu903 wants to merge 20 commits into
rxhanson:mainfrom
kiteretsu903:dev/snap-helper

Conversation

@kiteretsu903

@kiteretsu903 kiteretsu903 commented Sep 21, 2026 •

Copy link
Copy Markdown
Contributor
  1. Layout Helper: I added a chooser to fill the remaining space after snapping. Escape or a click outside dismisses it.
1
  1. Shared dividers: I added dragging to resize adjacent left/right or top/bottom windows together. Double-click restores an equal split.

  2. Fit remaining space: added an option to snap beside an existing window without resizing it.

  3. Defaults and permissions: These features are off by default. Thumbnails require Screen Recording access on macOS 14 or later. Without Screen Recording, it still shows icons and titles.

  4. Minimum sizes: shorten warning size + an option to turn it on/off. Also added "learned size limits", which help with later snaps, previews, and divider dragging, and can be inspected, cleared, or saved across restarts. Reaching a minimum size still allows placement.

2
  1. Optimizations & fixes
  • Window animations: adjusted animation timing to account for how quickly each app responds to resize requests, reducing repeated writes and last-second corrections.
  • Non-animate window moving path optimization: reduced redundant resize calls and choose whether to resize or move first based on the window’s position and screen boundaries.
  • Preview animations: moved Snap Preview transitions and divider fades to Core Animation, reducing per-frame work on the main thread.
  • UX optimization for blur preview + animate window combination: show the preview behind the moving window so it stays visible throughout the snap animation. This is a more natural user experience: with window animations on, the window moves visibly over the preview; however with animations off, the preview stays in front to soften the abrupt resize.

@rxhanson

Copy link
Copy Markdown
Owner

Great, these look like nice additions.

I'm getting ready to merge in an overhaul of the settings window, and draft a release this week. Since this is a pretty large change, my plan is to do that prior to reviewing this PR, and just a heads up that I was also planning on adding at least the toggle for being able to turn off the "minimum window size reached" notification.

@kiteretsu903

Copy link
Copy Markdown
Contributor Author

@rxhanson sounds good to me!

Improve window animation pacing and use Core Animation for preview and divider transitions. Respect remembered divider limits, prepare captures during dragging, and restrict remaining-space fitting to recent snap pairs.

Preserve title-bar gestures while ignoring browser tab-close clicks. Handle delayed accessibility responses and place nonanimated helper windows before bringing them forward.
@kiteretsu903
kiteretsu903 force-pushed the dev/snap-helper branch 2 times, most recently from b0c5c16 to 4e7fb7b Compare September 23, 2026 02:03
@kiteretsu903 kiteretsu903 changed the title Add Layout Helper and shared window dividers + a few bug fixes Add Layout Helper and shared window dividers + a few optimizations Sep 23, 2026
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.

2 participants