Skip to content

Add drag-to-snap areas for eighths#1708

Open
devindudeman wants to merge 2 commits intorxhanson:mainfrom
devindudeman:feature/eighths-snap-areas
Open

Add drag-to-snap areas for eighths#1708
devindudeman wants to merge 2 commits intorxhanson:mainfrom
devindudeman:feature/eighths-snap-areas

Conversation

@devindudeman
Copy link

@devindudeman devindudeman commented Feb 14, 2026

Summary

  • Adds compound snap area support for eighths (4x2 grid), following the same pattern used by sixths and fourths
  • Dragging to the top or bottom screen edge and sliding along it snaps windows to one of four eighth positions
  • Selectable in the Snap Areas preferences tab dropdown
  • Eighths appear in their own "Eighths" submenu in the status bar menu
  • Particularly useful for ultra-wide monitors

Changes

  • New EighthsCompoundCalculation.swift with top/bottom eighths compound calculations
  • CompoundSnapArea.swift — added topEighths/bottomEighths cases
  • WindowAction.swift — made eighths drag-snappable, added display names, category, and firstInGroup
  • WindowActionCategory.swift — added .eighths category
  • TerminalCommands.md — updated docs

Test plan

  • In Settings > Snap Areas, set the top edge dropdown to "Top eighths from corners; maximize"
  • In Settings > Snap Areas, set the bottom edge dropdown to "Bottom eighths from corners; thirds"
  • Drag window to top edge, slide left/right — should cycle through 4 top eighth positions
  • Drag window to bottom edge, slide left/right — should cycle through 4 bottom eighth positions
  • Verify eighths appear in "Eighths" submenu in status bar menu
  • Verify existing sixths/thirds/fourths snap areas still work correctly

Adds compound snap area support for eighths (4x2 grid), following the
same pattern as sixths. Can be enabled via terminal command or selected
in the Snap Areas preferences tab.

Terminal command: defaults write com.knollsoft.Rectangle eighthsSnapArea -bool true

Particularly useful for ultra-wide monitors.
The snap area migration only runs for versions < 64, so the terminal
command would not take effect on modern installs. Eighths snap areas
are configurable directly in the Snap Areas preferences tab.
@rxhanson
Copy link
Owner

Thanks! I'll test it out soon

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