RectangleWin
A minimalistic Windows rewrite of macOS Rectangle.app/Spectacle.app. (Why?)
A hotkey-oriented window snapping and resizing tool for Windows.
This animation illustrates how RectangleWin helps me move windows to edges and corners (and cycle through half, one-thirds or two thirds width or height) only using hotkeys:
Install
-
Go to Releases and download the suitable binary for your architecture (typically x64).
-
Launch the
.exe
file. Now the program icon should be visible on system tray! -
Click on the icon and mark as "Run on startup" to make sure you don't have to run it every time you reboot your PC.
Keyboard Bindings
-
Snap to edges (left/right/top/bottom ยฝ, โ , โ ):
- Win + Alt + โโโโ
- Press multiple times to alternate between ยฝ, โ and โ .
-
Corner snapping
- Win + Ctrl + Alt + โ: top-left ยฝ, โ and โ
- Win + Ctrl + Alt + โ: top-right ยฝ, โ and โ
- Win + Ctrl + Alt + โ: bottom-left ยฝ, โ and โ
- Win + Ctrl + Alt + โ: bottom-right ยฝ, โ and โ
-
Center window on the display: Win+Alt+C
-
Maximize window: Win+Shift+F (Obsolete since Windows natively supports Win+โ)
-
Always On Top (toggle): Win+Alt+A
Why?
It seems that no window snapping utility for Windows is capable of letting user snap windows to edges or corners in {half, two-thirds, one-third} sizes using configurable shortcut keys, and center windows in a screen like Rectangle.app does, so I wrote this small utility for myself.
I've tried the native Windows shortcuts and PowerToys FancyZones and they are not supporting corners, alternating between half and one/two thirds, and are not offering enough hotkey support.
Roadmap
- Configurable shortcuts: I don't need these and it will likely require a pop-up UI, so I will probably not get to this.
Development (Install from source)
With Go 1.17+ installed, clone this repository and run:
go generate
GOOS=windows go build -ldflags -H=windowsgui .
The RectangleWin.exe
will be available in the same directory.
License
This project is distributed as-is under the Apache 2.0 license. See LICENSE.
If you see bugs, please open issues. I can't promise any fixes.