Free for macOS 14 and later
Every window finds
its mooring.
Moorings is a menu bar app that puts windows where you want them. Shortcuts, drag snapping, tiling and saved layouts work on any display. On an ultrawide it also pins your apps to the edges.
Signed and notarized. No account, no analytics. Open source under Apache 2.0.
AppKit
Construct and manage a graphical, event-driven user interface for your macOS app.
Packing list
Passport and boarding pass
Laptop charger
Rain jacket
Sunscreen
Delta Your trip confirmation
GitHub [dcadolph/moorings] CI passed
Library Two holds are ready
# platform
GitHub CI passed on main
Deploys Rolling to prod at 11:00
Deploys Prod is done, change closed
Today
10:00 Standup
13:00 Design review
16:30 Dentist
% swift test
Building for debugging...
Executed 130 tests, with 0 failures
%
On an ultrawide
Pin the edges. Work in the middle.
Anchor up to four apps to the sides of the screen, a top and a bottom slot on each side. Everything else stays in the open middle, the channel. Nothing is anchored until you pick an app, so a first start moves no window.
Four slots
Pick widths and heights from presets or steppers. A side with nothing anchored gives its space to the channel.
Green button
Click an anchored app's green button to lift it over the channel, and again to lower it. A free window's green button fills the channel.
Let it go
Drag an anchored window away and Moorings lets it go, with a message that says how to bring it back.
The channel
The middle stays clear.
A window that strays into a strip is pushed back. One that is too wide is narrowed, and it grows back when the channel widens. Native fullscreen fills the channel instead of covering your anchored apps.
Cast off this window lets one window cover the strips until it closes. Tidy channel lines up the front windows, and Undo tidy puts everything back.
Snap by dragging
Drag to an edge. Let go.
Drag a window to an edge or a corner and a footprint shows where it will land. Let go and it snaps. Hold Option while dropping on an ultrawide strip and the app is anchored there.
Settings decides what each edge and corner does on landscape and portrait displays, which areas never snap, and which keys must be held. The footprint takes your color, opacity and fade, and a Force Touch trackpad taps as it crosses into a new zone.
Workspaces
Save a layout. Get it back.
Save where every window sits on every display under a name, then recall it from the menu, a shortcut or a link. Tie one to a set of displays and plugging into that desk recalls it.
Shortcuts
Every size, one key away.
Halves that step through 1/2, 2/3 and 1/3, quarters, thirds, maximize, center and next display are bound from the first launch. Sixths, eighths, twelfths, sixteenths and one-axis resizes wait in the Window folder for a key of your choice. Every action is also a moorings:// link, so anything that opens a URL can run it.
Displays
- MacBook screenShortcuts, snap, organize
- External monitorShortcuts, snap, organize
- UltrawideAll of that, plus anchored apps
- Several at onceNext display, workspaces
Ways to run an action
- Keyboard shortcutsRecord your own
- ChainsOne step per press
- Mouse buttonsBound to actions
- Menu under the pointerFrom a key or a button
- Launchers and Stream DeckThrough links
Behavior
Press again and it keeps going.
Seven choices decide what a second press does, from stepping the size to crossing to the next display. Set them in the settings file you export and import.
Press again
Press a half again to step its size. Or send it on to the next display, flip it to the other side, or walk a corner around the screen.
Drag it back
Drag a snapped window away and it gets its earlier size back at once, still under your pointer.
To the point
Apps that resize in steps land on the exact frame. A title bar double-click can maximize and restore, and the pointer can follow the window it moved.

Themes
Twelve themes.
Every theme is a color set checked for contrast. Pick one and this whole page changes, including the screen above. The app uses the same names.
Get moorings
It moves windows. Nothing else.
Moorings needs Accessibility access to move windows. No account, no server, no analytics. Once a day it checks GitHub for a new release and offers it in the menu. Nothing installs on its own. Read the privacy policy.
Coming from Rectangle
Your hands already know it.
Moorings starts with Rectangle's shortcuts and has every Rectangle action under the same name, so a Rectangle link or script works through moorings://action?name=. Rectangle's behavior preferences carry over at Rectangle's defaults, including all seven things a second press can do. Quit Rectangle before you start Moorings so the two do not fight over the same keys. See how Moorings compares with Rectangle, Rectangle Pro and every other Mac window manager.
Keymaps
- RectangleThe default
- SpectacleOne menu choice
- MagnetOne menu choice
- NoneA blank slate
Carried over
- Action namesFor links and scripts
- Second pressAll seven choices
- Drag snap mapSame edges and corners
- Title bar double-clickMaximize and restore