Zones for your Mac.

Draw the zones you want, then drop windows into them with the mouse or the keyboard. Every window lands at exactly the right size.

Each display keeps a layout of its own.

Free · Open source · macOS 14 or later

An open, steaming lunchbox with an app window packed neatly into each compartment
marmita (n., Portuguese): a lunchbox. Everything in its own compartment, and nothing spills into the rest.

Try it right here.

This is the real behaviour, on a pretend desktop. Grab the Notes window and have a go.

⇧ Drag the title bar with Shift held, and drop it on a zone.
⌃⌥←→ Move it to the previous or next zone.
⌃⌥123 Jump straight to a zone.
1
2
3
Notes

Draw a layout that fits.

Start from columns, grids or a main window with a stack beside it, or draw your own zones on a grid that keeps them aligned. Move them, resize them, keep as many layouts as you like.

The layout editor: drag across the grid to draw a zone.

Or never touch the mouse.

Send the active window to the next zone with ⌃ ⌥ →, or straight to zone 1 to 9 with its number. Prefer another key for dragging? Pick Option, Control or Command.

Each press moves the window to the next zone, and back round to the first.

One layout per screen.

A wide monitor wants columns and a vertical one wants rows. Marmita remembers a layout for each display, and ⌃ ⌥ ⌘ → moves a window across, into the same zone.

Columns on the wide display, rows on the portrait one.

Small, native and yours to read.

Marmita is written in Swift with the frameworks that ship with macOS. It is free, and every line is on GitHub.

Menu bar only

No Dock icon and nothing in the way.

Offline

It never connects to the internet. Layouts are a small file on your Mac.

No dependencies

Just AppKit, SwiftUI and the Accessibility API.

MIT licence

Use it, change it, build on it.

Shortcuts.

Previous or next zone⌃⌥←→
Jump to zone 1 to 9⌃⌥1…9
Previous or next display⌃⌥⌘←→
Show the zones while dragging⇧

Questions.

Is Marmita free?

Yes. It is free and open source under the MIT licence.

Why does it ask for Accessibility access?

macOS only lets an app move and resize other apps' windows through the Accessibility API, so Marmita needs that permission to do its job. It uses it for nothing else, and it never connects to the internet.

Does it work with several displays?

Yes. Each display keeps its own layout, the zones of every screen appear while you drag, and a shortcut moves the active window to the next display.

I already use Rectangle. Will they clash?

Both use Control and Option with the arrow keys by default, so keep only one of them active for those shortcuts.

Free. Yours to keep.

For now, Marmita is built from source. You need macOS 14 and Xcode 16, or the Command Line Tools with Swift 6.

# clone, build and open
git clone https://github.com/gustavos00/marmita.git
cd marmita
./scripts/build-app.sh
open build/Marmita.app

On first launch, macOS asks for Accessibility access. Grant it in System Settings › Privacy & Security › Accessibility.