A Mac Rectangle inspired window manager for Windows 10/11 powered by AutoHotkey.
Note
Polygon is still a work in progress and aims to have 100% feature compatibility with Rectangle.
Polygon supports Windows 10/11.
You can grab the latest Polygon installer from the latest release. The installer will place a shortcut to your user startup folder to ensure that Polygon start at Windows logon.
If you rather want to install Polygon manually, please follow the steps outlined below.
- Download the compiled executable zip file based on your OS architecture from the latest release.
- Extract the
polygon-x[64|86].zipinto a location of your choice. - Right click the executable and unblock it if Windows complain about security.
- Open the user startup folder by running the
shell:startupcommand in the run (WIN+R) window. - Copy the
polygon-x[64|86].exeand thepolygon.inithat you downloaded from the previous step and copy them to theshell:startupdirectory.
If you followed everything correctly, Polygon should start at Windows logon.
Here are the shortcuts available in Polygon.
Note
Some of the shortcuts Polygon uses conflicts with Window in-built shortcuts and has been mentioned below. If you want to avoid these conflicts, please use the polygon.ini file to configure a different shortcut of your choosing by referring to the AutoHotkey v2 List of Keys documentation.
| Status | Shortcut | Layout | Conflicts |
|---|---|---|---|
| ✅ | CTRL+WIN+C | Center | |
| ✅ | CTRL+WIN+/ | Center HD | |
| ✅ | CTRL+WIN+W | Center Half | |
| ✅ | CTRL+WIN+[ | Left Half | |
| ✅ | CTRL+WIN+] | Right Half | |
| ✅ | CTRL+WIN+R | Center Two Third | |
| ✅ | CTRL+WIN+D | First Third | Virtual Desktop |
| ✅ | CTRL+WIN+F | Center Third | Feedback Hub |
| ✅ | CTRL+WIN+G | Last Third | |
| ✅ | CTRL+WIN+Z | Top Left Sixth | |
| ✅ | CTRL+WIN+X | Bottom Left Sixth | |
| ✅ | CTRL+WIN+V | Top Right Sixth | |
| ✅ | CTRL+WIN+B | Bottom Right Sixth | |
| ✅ | CTRL+WIN+N | Top Center Sixth | Narrator |
| ✅ | CTRL+WIN+M | Bottom Center Sixth | Magnifier |
| ✅ | CTRL+WIN+- | Top Half | |
| ✅ | CTRL+WIN+= | Bottom Half | |
| ✅ | CTRL+WIN+A | First Two Thirds | |
| ✅ | CTRL+WIN+H | Last Two Thirds | |
| ✅ | CTRL+WIN+U | Top Left | |
| ✅ | CTRL+WIN+I | Top Right | |
| ✅ | CTRL+WIN+J | Bottom Left | |
| ✅ | CTRL+WIN+K | Bottom Right | |
| ✅ | CTRL+WIN+; | First Fourth | |
| ✅ | CTRL+WIN+' | Second Fourth | |
| ✅ | CTRL+WIN+, | Third Fourth | |
| ✅ | CTRL+WIN+. | Last Fourth | |
| 🚧 | Next Display | ||
| 🚧 | Previous Display |
Have a bug or a feature request, please open a new issue.
Contributions are most welcome to fix bugs or to add new features.
- You need to have AutoHotkey v2 installed.
- I recommend using Visual Studio Code or other VS Code based editors like Cursor.
- You need to have the
AutoHotkey v2 Language Supportextension installed by searching with thethqby.vscode-autohotkey2-lspextension ID. - If AutoHotkey is located in a different location other than
C:\Program Files\AutoHotkey\v2\AutoHotkey.exe, then set theAutoHotkey2.InterpreterPathsetting to point to the correct location. - You need to have the
EditorConfig for VS Codeextension installed by searching with theEditorConfig.EditorConfigextension ID. - You need to have the
Prettier - Code formatterextension installed by searching with theesbenp.prettier-vscodeextension ID. - Add the following lines to your VS Code settings.json file to enable AutoHotkey v2 language support.
{ "AutoHotkey2.InterpreterPath": "<path to AutoHotkey.exe>", "AutoHotkey2.Warn.LocalSameAsGlobal": true, "AutoHotkey2.Warn.CallWithoutParentheses": "On" }
The repository is structured pretty flat to keep things simple and find all necessary files easily. Polygon is developed as a single AHK file named polygon.ahk for now. I may in the future refactor it into multiple files if the push comes to shove.
Before you create a Pull Request, please check whether your commits comply with the commit conventions used in this repository.
When you create a commit I kindly ask you to follow the convention category(scope): message in your commit message while using one of the following categories:
feat: all changes that introduce completely new code or new featuresfix: changes that fix a bug (ideally you will additionally reference an issue if present)refactor: any code related change that is not a fix nor a featuredocs: changing existing or creating new documentation (i.e. README, docs for usage of a lib or cli usage)build: all changes regarding the build of the software, changes to dependencies or the addition of new dependenciesci: all changes regarding the configuration of continuous integration (i.e. github actions, ci system)chore: all changes to the repository that do not fit into any of the above categories
Please follow the following release checklist and convention.
- ❗ The changes for the new version have been added to the
CHANGELOG.mdfile. - ❗ The new version has been updated in the
polygon.ahkfile. - ❗ When cutting a release, please use tags with semver like
v*.*.*format.
Use the following release note body for each release.
Please refer to [CHANGELOG.md](https://github.com/thesobercoder/polygon/blob/main/CHANGELOG.md) for details.Licensed under the MIT license.