polygon icon indicating copy to clipboard operation
polygon copied to clipboard

A Mac Rectangle inspired window manager for Windows 10/11 powered by AutoHotkey.

Polygon

A Mac Rectangle inspired window manager for Windows 10/11 powered by AutoHotkey.

Release

[!NOTE] Polygon is still a work in progress and aims to have 100% feature compatibility with Rectangle.

System Requirements

Polygon supports Windows 10/11.

Installation

Installer

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.

Manual

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 the polygon.ini that you downloaded from the previous step and copy them to the shell:startup directory.

If you followed everything correctly, Polygon should start at Windows logon.

Usage

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
:white_check_mark: CTRL+WIN+C Center
:white_check_mark: CTRL+WIN+/ Center HD
:white_check_mark: CTRL+WIN+W Center Half
:white_check_mark: CTRL+WIN+[ Left Half
:white_check_mark: CTRL+WIN+] Right Half
:white_check_mark: CTRL+WIN+R Center Two Third
:white_check_mark: CTRL+WIN+D First Third Virtual Desktop
:white_check_mark: CTRL+WIN+F Center Third Feedback Hub
:white_check_mark: CTRL+WIN+G Last Third
:white_check_mark: CTRL+WIN+Z Top Left Sixth
:white_check_mark: CTRL+WIN+X Bottom Left Sixth
:white_check_mark: CTRL+WIN+V Top Right Sixth
:white_check_mark: CTRL+WIN+B Bottom Right Sixth
:white_check_mark: CTRL+WIN+N Top Center Sixth Narrator
:white_check_mark: CTRL+WIN+M Bottom Center Sixth Magnifier
:white_check_mark: CTRL+WIN+- Top Half
:white_check_mark: CTRL+WIN+= Bottom Half
:construction: First Two Thirds
:construction: Last Two Thirds
:white_check_mark: CTRL+WIN+U Top Left
:white_check_mark: CTRL+WIN+I Top Right
:white_check_mark: CTRL+WIN+J Bottom Left
:white_check_mark: CTRL+WIN+K Bottom Right
:white_check_mark: CTRL+WIN+; First Fourth
:white_check_mark: CTRL+WIN+' Second Fourth
:white_check_mark: CTRL+WIN+, Third Fourth
:white_check_mark: CTRL+WIN+. Last Fourth
:construction: Next Display
:construction: Previous Display

Bugs and feature requests

Have a bug or a feature request, please open a new issue.

Contributing

Contributions are most welcome to fix bugs or to add new features.

Environment

  • 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 the thqby.vscode-autohotkey2-lsp extension ID.
  • If AutoHotkey is located in a different location other than C:\Program Files\AutoHotkey\v2\AutoHotkey.exe, then set the AutoHotkey2.InterpreterPath setting to point to the correct location.
  • You need to have the EditorConfig for VS Code extension installed by searching with the EditorConfig.EditorConfig extension ID.
  • You need to have the Prettier - Code formatter extension installed by searching with the esbenp.prettier-vscode extension ID.

Structure

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.

Commit Convention

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 features
  • fix: 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 feature
  • docs: 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 dependencies
  • ci: 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

Release

Please follow the following release checklist and convention.

  • :exclamation: The changes for the new version have been added to the CHANGELOG.md file.
  • :exclamation: The new version has been updated in the polygon.ahk file.
  • :exclamation: 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.

License

Licensed under the MIT license.