Rectangle on Mac: how to set it up
Rectangle is installed, the shortcut gets pressed, and nothing moves. Or something moves, but not where it was supposed to go. Both are first day problems, and both trace back to decisions made in the first few minutes after launch.
This guide covers those decisions in order: the permission the app cannot work without, which shortcut set to adopt before any muscle memory forms, what happens when the same shortcut is pressed twice, how the drag areas map to positions, what to do when another application already owns a key combination, and finally what to do about the icon it parks in the menu bar.
The permission that decides everything
Rectangle moves windows that belong to other applications. macOS treats that as a privileged operation, so the app is inert until it is granted accessibility access. On first launch a prompt appears; the destination is System Settings, then Privacy and Security, then Accessibility, where Rectangle needs its toggle switched on.
When shortcuts still do nothing after that, the permission record is usually in a half broken state. This happens most often right after a macOS update or a reinstall of the app. The documented repair sequence is specific about ordering: disable Rectangle in the Accessibility list first, then remove the entry with the minus button, then restart the Mac, then launch the app and grant access again. Doing the removal before the disable tends not to clear the entry properly. There is also a terminal route that resets the permission record for the bundle identifier com.knollsoft.Rectangle directly.
Before any of that, the project documentation suggests something faster: lock the screen and unlock it. That alone resolves a surprising share of cases, particularly after a system update. It takes fifteen seconds, so it belongs at the top of the list rather than the bottom.
One more thing to check up front is the operating system. The free app targets macOS 10.15 and later. On anything older, an archived build is the supported route.
Choose a shortcut set before building muscle memory
Rectangle was built as a successor to Spectacle, and on first run it offers a choice between its own recommended shortcuts and the set Spectacle used. Anyone arriving from Spectacle should take the second option and keep years of finger memory intact. Anyone starting fresh can take the default.
Changing the answer later is possible from the settings tab, using the button that restores default shortcuts. There is also a documented preference, alternateDefaultShortcuts, that selects between the two sets from the terminal. Preferences of this kind are read at launch, so the app has to be restarted before a change takes effect. That single detail explains most reports of a terminal command appearing to do nothing.
The important part is to settle this on day one. Relearning a set of positional shortcuts after two weeks costs more attention than picking correctly at the start.
Three shortcuts, then stop
The full command list is long. Halves, quarters, thirds, fourths, sixths, ninths, maximize, almost maximize, maximize height, center, restore, move to the next display. Trying to absorb all of it is how people end up not using any of it.
A workable start is three: left half, right half, maximize. Everything else can wait, and much of it turns out to be unnecessary because of how repeated presses behave. Press left half once and the window takes half the screen. Press it again and the width cycles to two thirds, then to one third. Three widths from one key combination, with nothing extra to memorise.
That cycling behaviour is configurable through a preference named subsequentExecutionMode, which accepts values from 0 to 4. The options cover cycling widths, moving the window to the adjacent display instead when the action is left or right, disabling the cycle entirely, and mixed variants of those. Setting it to the disabled value is worth considering for anyone who finds the resizing unpredictable, because a shortcut that always produces exactly one result is easier to trust than one that produces three.
Where each screen edge sends a window
Dragging works alongside the keyboard. Pick up a window, move the pointer to an edge, and an outline shows where the window will land when the button is released.
| Drag the pointer to | The window becomes |
|---|---|
| Left or right edge | Left or right half |
| Top edge | Maximized |
| Any corner | A quarter in that corner |
| Left or right edge, just inside a corner | Top or bottom half |
| Bottom edge, left, center or right third | The matching third |
| Bottom left or right third, then toward the center | Two thirds |
Portrait displays are handled, with the orientation swapping which axis a third applies to. The behaviour of each area is configurable, so the top edge can be reassigned from maximize to top half, and unused corners can be switched off. There is also an option to require a modifier key while dragging, which stops windows from snapping every time the pointer brushes an edge during ordinary dragging.
Two known limits are worth reading before filing a bug report. Some applications enforce a minimum window width that is wider than a third of the display, in which case Rectangle keeps the window on screen and briefly reports that the size was limited rather than silently failing. And on a small number of systems, drag to snap has been associated with Notification Center becoming unresponsive; the documented workaround is to turn off snapping by dragging.
When another application already owns the key
Shortcut collisions are guaranteed on any machine running a full IDE, a virtual machine, or a remote desktop client. Rectangle handles this per application rather than asking for a global compromise. Bring the conflicting app to the front, open the Rectangle menu, and choose to ignore that app. While it is frontmost the shortcuts are unregistered from macOS entirely, and they are registered again the moment focus moves elsewhere.
The same toggle is reachable through a URL scheme, including a form that names the target application by bundle identifier rather than requiring it to be frontmost. Window actions themselves can be triggered the same way, which opens up a different setup style altogether:
open -g "rectangle://execute-action?name=left-half"
Dozens of action names are accepted, covering halves, thirds, fourths, sixths, ninths, eighths, centering, display movement, tiling and cascading. Anyone who would rather not hold another twelve key combinations in their head can bind the two or three positions they actually use inside a launcher or the Shortcuts app and leave Rectangle without any global keys at all.
When the cause of a problem is genuinely unclear, there is a log. Holding the option key with the Rectangle menu open replaces the about item with a logging view. If the calculated rectangle and the resulting rectangle match, the app did its job and something else moved the window afterwards, which usually means a second window manager is running.
The settings that are not in the settings window
The preferences window is deliberately small. A much longer list of options lives in documented terminal commands, and several of them change daily comfort more than anything in the visible interface.
Gaps between windows have a slider, with a separate option to skip the gap at the top edge. Stage Manager users can reserve space for the recent apps strip, which defaults to 190 points and also accepts a fraction of the screen width. There is a preference that makes the half actions behave the way tiling works on Windows and KDE, where left half followed by top half produces a top left quarter and each action only affects its own axis. For anyone whose habits came from those systems, that single setting removes most of the friction.
Other entries in that list are smaller but add up: moving the pointer along with the window, changing what a double click on a title bar does, ordering displays by their horizontal position so that next and previous display commands follow the physical layout, and keeping a maximized window at its size when it moves to a different screen. None of these are hidden behind a purchase, and each takes one command followed by a restart of the app.
Application specific quirks are documented too. Some terminal emulators only resize in whole character increments, which leaves a few pixels of mismatch against the requested frame, and the fix is a preference inside that application rather than inside Rectangle.
There is also a clear statement about what cannot be done at all:
Apple never released a public API for doing this.
That refers to moving a window to a different desktop or Space. No public interface exists, so the free app does not offer it. Anyone planning a workflow around moving windows between Spaces should know that before building the habit.
Decide what the menu bar icon is for
Rectangle places one icon in the menu bar while it runs. During the first week that icon earns its slot: the menu lists every action by name with its assigned shortcut beside it, which is the fastest way to learn the keys without printing a cheat sheet.
After the shortcuts are learned, the calculation changes. The menu is rarely opened, and the icon competes with everything else for a strip that does not scroll or wrap. On a MacBook with a notch, the overflow does not compress: it disappears. Rectangle includes an option to hide its own icon, and settings stay reachable afterwards by launching the app again from the Applications folder, so hiding it does not lock anything away.
Launch at login deserves a decision at the same time. On macOS 13 and later the app registers itself as a login item, which means it can also be turned off later from System Settings under General and Login Items rather than from inside the app.
Doing this app by app stops scaling once there are eight or ten residents, because each one hides its icon differently and some cannot hide it at all. The alternative is to manage the bar itself. What matters in that case is how a hidden icon behaves when it is needed again, which is the difference explained on Features and compared against other approaches on How it compares. Questions that come up when deciding which icons stay visible are collected on the FAQ.
Export the configuration before touching anything else
Once the shortcuts feel right, export them. The settings tab has buttons to write the configuration to a JSON file and to read one back, and the file transfers cleanly to another Mac. The underlying preferences live at ~/Library/Preferences/com.knollsoft.Rectangle.plist, which can be backed up directly instead.
The reason to do it now rather than later is that configuration accumulates invisibly. Six months of small adjustments cannot be reconstructed from memory when a machine is replaced, but they can be restored from one file in about ten seconds.
What to change first
Grant accessibility access, pick the shortcut set, and learn exactly three shortcuts before adding any more. Then decide whether the menu bar icon still earns its place, and if the answer is no for this app and several others, hide them all in one place with Koffret rather than hunting through eight separate preference windows.
Frequently asked questions
Shortcuts do nothing after installing. What is wrong?
Almost always the accessibility permission. Check System Settings, Privacy and Security, Accessibility, and confirm Rectangle is enabled there. If it is already enabled, lock and unlock the screen first, then update macOS, then disable and remove the entry with the minus button, restart, and grant it again in that order.
Can Spectacle keyboard shortcuts be used instead?
Yes. The choice is offered on first launch, and it can be changed later from the settings tab using the button that restores default shortcuts. A documented preference named alternateDefaultShortcuts selects between the two sets from the terminal, and the app must be restarted afterwards because these values are read at launch.
Why does the window get narrower when the same shortcut is pressed twice?
That is the cycling behaviour. Repeated presses of a half action move the width through one half, two thirds and one third. It is controlled by the subsequentExecutionMode preference, which accepts values from 0 to 4 and includes an option that disables cycling completely so each press produces the same result.
Can a window be sent to another desktop or Space?
Not with the free app. The documentation states that Apple has never released a public API for that operation, which is why the feature does not exist rather than it being held back. Workflows that depend on moving windows between Spaces need a different approach.