Skip to content

[Feature Request] Snap based on arrow keys #17

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
joaomcarlos opened this issue Mar 16, 2025 · 0 comments
Open

[Feature Request] Snap based on arrow keys #17

joaomcarlos opened this issue Mar 16, 2025 · 0 comments

Comments

@joaomcarlos
Copy link

Hi,

The feature

I want to be able to use my arrow keys to snap windows from one snap zone to another.

The idea is that if, for example, I have a grid of 6x6 squares (1 to 9) such that top left is 1, top right is 3 and bottom right is 9, then modifier + <arrow key> would move the window to the closest square in that direction:

  • modifier + down would move window from 1 to 4
  • modifier + up would move window from 4 to 1
  • modifier + right would move window from 1 to 2, then 2 to 3
  • modifier + left would move window from 3 to 2, then to 1

Edge case: if zones are overlapping or touching each other it might be better to calculate the distance between the center of both zones such that a "child" zone can expand to the parent zone and vice versa if they dont have the same center. If the center of both (or more) is the same, then the results should be made in a list ordered by size and UP should expand to the next bigger size and DOWN to the next smaller one.

This should allow for an infinite number of overlapping zones without losing the ability to move them around as needed.

Say for example, if you place 3 zones at the center of the screen with different sizes, then modifier + up would make the window bigger by moving it up to the bigger zone, and modifier + down it would make it smaller by moving to the next smaller zone.

Why

This is similar to how other programs like Rectangle (Mac), SnappyZones (Linux) and FancyZones (Windows) and in this case I am replacing Rectangle with MacyZones but don't want to lose muscle memory for the old program.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants