Highly customizable shortcut-based window manager for macOS
Position windows according to Layouts, or interact with them using Actions.
Check the step-by-step in the latest release.
Layouts define the window's new position and size relative to the screen they're on.
| Layout | Default shortcut |
|---|---|
| Full screen | control + option + return |
| Top half | control + option + ▲ |
| Bottom half | control + option + ▼ |
| Left half | control + option + ◀ |
| Right half | control + option + ▶ |
| Top left corner | control + option + U |
| Top right corner | control + option + I |
| Bottom left corner | control + option + J |
| Bottom right corner | control + option + K |
| Vertical center half | control + option + V |
| Horizontal center half | control + option + H |
| Peek left | control + option + O |
| Peek right | control + option + P |
All default layouts support Stage Manager. By holding shift along with the rest of the shortcut keys, the layout is applied, but it leaves space on the left side of the screen for the stage manager.
Custom layouts can be created and assigned to shortcuts.
An inset configuration is required. Once the linked shortcut is triggered, the window's new position and size are defined by taking the available screen frame and applying the inset configuration.
Each inset side is an expression. To assist, the following variables are available:
| Variable | Description |
|---|---|
width |
The width of the available screen frame |
height |
The height of the available screen frame |
padding |
The configured padding size |
gap |
The configured gap size |
halfGap |
Half the configured gap size |
stageManager |
The configured stage manager size |
peek |
The configured peek size |
While layouts are relative to the available screen frame, actions are meant to interact with the window's position and size relative to the window's current position and size.
| Action | Default shortcut |
|---|---|
| + All sides | control + option + command + = |
| + Horizontal | control + option + command + D |
| + Vertical | control + option + command + W |
| - All sides | control + option + command + – |
| - Horizontal | control + option + command + A |
| - Vertical | control + option + command + S |
| Move up | control + option + command + ▲ |
| Move down | control + option + command + ▼ |
| Move left | control + option + command + ◀ |
| Move right | control + option + command + ▶ |
Custom actions can be created and assigned to shortcuts.
An action configuration is required. Once the linked shortcut is triggered, the window's new position and size are defined by taking the window's current position and size and applying the action configuration.
Each action side is an expression. To assist, the following variables are available:
| Variable | Description |
|---|---|
width |
The width of the window |
height |
The height of the window |
padding |
The configured padding size |
gap |
The configured gap size |
halfGap |
Half the configured gap size |
stageManager |
The configured stage manager size |
peek |
The configured peek size |
step |
The configured step size |
| Description | Default value | Range | |
|---|---|---|---|
| Padding | The space between the edge of the screen and the window's available space | 16 |
0...50 |
| Gap | The space between windows | 16 |
0...50 |
| Stage manager | The left margin for the stage manager, between the edge of the screen and the window's available space | 180 |
0...250 |
| Peek | The space left on either left or right to peek the window behind | 80 |
0...100 |
| Step | A configurable size that can be used as a step size for repeating actions | 16 |
0...200 |