Snap Windows windows with the keyboard. Fit for Windows is the Windows counterpart of Fit for macOS.
The repository is named fit-windows; the installed application is simply Fit.
This repository contains the first working foundation. It currently provides:
Win + Left/Right/Up/Downoverride while Fit is running- half, two-thirds, and one-third size cycling
- quarter snapping by pressing perpendicular directions in sequence
- work-area-aware placement (taskbar excluded)
- multiple-monitor support for the active window
- a notification-area menu with pause, About, and Quit
- no third-party runtime or library dependencies
Settings UI, drag-to-edge previews, login startup, and signed releases are planned next.
| Action | Shortcut |
|---|---|
| Left / right sizing cycle | Win + Left / Win + Right |
| Top / bottom sizing cycle | Win + Up / Win + Down |
| Quarter | Press horizontal and vertical directions in sequence |
Each directional shortcut cycles through 1/2 → 2/3 → 1/3. For example, press Win + Left, then Win + Up, to move the focused window to the top-left quarter.
Fit intercepts only Win + Arrow. Other Windows shortcuts, including Win + Shift + Arrow, remain available. Pause the override from the notification-area menu to restore the standard Windows Snap behavior without quitting Fit.
Requirements:
- Windows 10 version 2004 or later, or Windows 11
- .NET 8 SDK
git clone https://github.com/EitaroY/fit-windows.git
cd fit-windows
dotnet build Fit.sln --configuration ReleaseRun:
dotnet run --project src/Fit/Fit.csprojRun the dependency-free core tests:
dotnet run --project tests/Fit.Core.Tests/Fit.Core.Tests.csprojFit uses public Windows APIs only:
WH_KEYBOARD_LLto intercept the four Windows Snap shortcutsGetForegroundWindowto select the active windowMonitorFromWindowandGetMonitorInfoto obtain the usable screen areaSetWindowPosto move and resize the window
The keyboard hook performs no window work itself; it immediately queues the action onto the application dispatcher. Closing Fit removes the hook and leaves Windows settings unchanged.
Windows prevents a normal process from controlling some elevated applications. Fit intentionally does not request administrator privileges by default.
The intended model matches Fit for macOS:
- developers may clone and build the GPL source themselves
- signed binaries may be published on GitHub Releases
- an official packaged build may be sold through Microsoft Store
Microsoft Store packaging and commerce do not change the name shown by the installed application: it remains Fit. The Store listing may need a longer unique product name if Fit is unavailable for reservation.
src/Fit.Core/ Platform-independent layout calculations
src/Fit/ WPF application and Win32 integration
tests/Fit.Core.Tests/ Dependency-free executable test suite
docs/DESIGN.md Architecture and implementation decisions
GPL-3.0-only. See LICENSE.
Copyright © 2026 Eitaro Y.