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].zip
into 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:startup
command in the run (WIN+R) window. - Copy the
polygon-x[64|86].exe
and thepolygon.ini
that you downloaded from the previous step and copy them to theshell:startup
directory.
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 Support
extension installed by searching with thethqby.vscode-autohotkey2-lsp
extension ID. - If AutoHotkey is located in a different location other than
C:\Program Files\AutoHotkey\v2\AutoHotkey.exe
, then set theAutoHotkey2.InterpreterPath
setting to point to the correct location. - You need to have the
EditorConfig for VS Code
extension installed by searching with theEditorConfig.EditorConfig
extension ID. - You need to have the
Prettier - Code formatter
extension installed by searching with theesbenp.prettier-vscode
extension 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.md
file. - ❗ The new version has been updated in the
polygon.ahk
file. - ❗ 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.