Rectangle’s Hidden Settings: Every Terminal Command Explained

Rectangle’s Hidden Settings: Every Terminal Command Explained

Rectangle app‘s preferences window is deliberately minimal. A much longer list of settings exists but is only reachable through defaults write commands, documented in the project’s own TerminalCommands.md. This covers the categories that matter most, verified against that file directly. Every command below needs Rectangle mac restarted afterward, since these values load at startup — and if you use Rectangle Pro instead of the free app, replace com.knollsoft.Rectangle with com.knollsoft.Hookshot in any command.

Almost Maximize: adjusting the size

By default, Almost Maximize resizes a window to 90% of the screen’s width and height — a near-fullscreen view that still leaves a hint of desktop visible at the edges. Both dimensions are independently adjustable:

defaults write com.knollsoft.Rectangle almostMaximizeHeight -float 
defaults write com.knollsoft.Rectangle almostMaximizeWidth -float 

A value of 0.8, for instance, would resize to 80% instead of the 90% default.

Gaps between windows

A pixel gap can be added between tiled windows and the screen edges. Per the documentation, this setting applies to Maximize and Maximize Height by default, and gaps at the screen edges specifically are configured as a separate setting from gaps between windows. Each edge margin is set independently, with a default value of 5:

defaults write com.knollsoft.Rectangle snapEdgeMarginTop -int 10
defaults write com.knollsoft.Rectangle snapEdgeMarginBottom -int 10
defaults write com.knollsoft.Rectangle snapEdgeMarginLeft -int 10
defaults write com.knollsoft.Rectangle snapEdgeMarginRight -int 10

There’s also a documented toggle to disable gaps specifically when maximizing, if you want gaps for tiled layouts but a true edge-to-edge fill when a window is maximized.

Resize on directional move

By default, the Move Left/Right/Up/Down commands (movement without resizing) don’t change a window’s size at all. Enabling resizeOnDirectionalMove changes this: moving left or right instead cycles the window’s width through halves → two-thirds → one-third, and moving up or down does the same for height.

defaults write com.knollsoft.Rectangle resizeOnDirectionalMove -bool true

The documentation notes an interaction worth knowing: if your “subsequent execution” mode is set to cycle displays, enabling this specifically makes Move Left/Right always resize to half first, with a second press moving to the next display — the two settings interact rather than operating fully independently.

Snap-area behavior: sixths, margins, and ignored zones

Several settings adjust how drag-to-edge snapping works rather than keyboard shortcuts:

  • Enabling snap areas for sixths — not active in the default drag-to-edge zones, but can be turned on so dragging toward a corner and continuing along the edge reaches a sixth rather than stopping at a quarter or third.
  • Changing the margin for snap areas — how close to an edge the cursor needs to be before the snap preview appears.
  • Ignoring specific drag-to-snap areas — disabling particular zones (say, top-edge maximize) if you trigger them accidentally while repositioning a window normally.
  • Modifying the “footprint” displayed during drag-to-snap, for anyone who wants the preview to look or behave differently than the default.
  • Requiring a modifier key held down before drag-to-snap activates at all, for people who want dragging near an edge to behave normally unless a key is also pressed.

Make Smaller / Make Larger: limits and increments

The size step used by Make Smaller and Make Larger, and the minimum size a window can shrink to via those commands, are both documented as separately configurable — worth adjusting if the default increment feels too coarse or too fine for how precisely you want to resize. A related “curtain resize with gaps” setting affects how these commands behave specifically when a gap setting is also active, since gapped windows don’t have edges that literally touch the screen boundary, which otherwise creates ambiguity about what “smaller” means at an edge.

Window restore behavior

By default, moving a window (through Rectangle app or otherwise) after resizing it doesn’t reset an internal record used for the Restore action — this can be disabled if you want moving a window to also clear what Restore would return it to.

Double-click title bar behavior

Rectangle app documents a way to change what happens when you double-click a window’s title bar, which is otherwise a macOS-level behavior most window managers don’t touch at all.

Cursor-follows-window

A documented option moves the mouse cursor along with the window when a Rectangle action repositions it — useful if you rely on cursor position for focus-follows-mouse-style workflows and don’t want the cursor left behind after a window moves out from under it.

Extra sizing commands beyond the defaults

The file documents several ways to add entirely new actions beyond Rectangle’s built-in catalog, each bindable to its own shortcut once added: additional ninths, additional eighths, additional thirds beyond the standard set, a custom-size centering command, and doubling/halving window-size commands. These extend what’s available in the action list itself, not just how existing actions behave.

Preventing accidental Mission Control triggers

A documented setting addresses a specific annoyance: quickly dragging a window above the menu bar can trigger macOS’s Mission Control rather than completing the drag as intended. This can be adjusted so a fast drag toward the top of the screen doesn’t accidentally invoke Mission Control mid-snap.

Restoring defaults, or switching shortcut sets entirely

If you’ve changed shortcuts and want to reset them, Settings → Restore Default Shortcuts in the preferences window does this without Terminal. The same switch is available as a command — true for Rectangle’s own recommended defaults, false for the Spectacle-compatible set:

defaults write com.knollsoft.Rectangle alternateDefaultShortcuts -bool true

A note on using these safely

None of these settings are dangerous to experiment with — worst case, restart Rectangle with the corresponding value removed (defaults delete com.knollsoft.Rectangle ) to return to default behavior for that one setting. The file itself is actively maintained alongside the app’s releases, so if a setting described in an older blog post or forum thread doesn’t seem to exist anymore, check the current TerminalCommands.md directly rather than assuming your Terminal command was wrong — settings do occasionally get renamed, added, or removed as the underlying app evolves.

contact