Contain

Everything it does

Contain gathers, holds and lets go — and does nothing you did not ask for. This is the whole list, including the parts that only matter once you have lived with it for a week.

01

One tab per window, not per app

Three documents from the same editor are three separate tabs, so you can move between them directly. Clicking a tab brings that window to the front and moves the rest out of the way.

02

Pick from a grid of what is open

Click the empty Contain window — or + in the tab bar — and every open window appears as a tile you can recognise at a glance, four to a row. Pick one and it is a tab. No relaunching, no setup.

03

Reaches the windows you left on another desktop

Windows parked on another desktop or display are in the picker too, not just the ones in front of you. Pick one and Contain switches over, collects it and brings you straight back — no hunting through Mission Control first.

04

Fills the screen when you want the room

The green button — or ⌃⌘F — drops the title bar and takes the whole display, resizing every window you have contained to match. Press Esc and everything goes back to the size it was.

05

Windows stay where you put them

Apps sometimes move their own windows, and drags go astray. Contain puts a window that has drifted back within a second, so the layout you set up in the morning is still there in the afternoon.

06

Move it, resize it — the window comes too

Drag the container across the screen or pull an edge, and the window it holds travels with it, in front and in step. Zoom it big and back down again and the window follows all the way, instead of keeping the size it had at the widest point.

07

One window contained, the rest left alone

Contain one of three documents from the same app and the other two carry on as they were, out on the desktop. Contain only tucks an app away when it holds every window that app has open.

08

Put back exactly as found

Contain remembers the position, size and screen a window had before you contained it, and puts it back there the moment you release it — or when you quit. It never closes an app for you, and leaves nothing behind.

09

The real window, still live

Nothing is copied, mirrored or streamed. What you see inside the container is the genuine app window: type in it, scroll it, drop files onto it, exactly as before.

10

Tells you when something is missing

Contain needs one macOS permission to move windows, and that permission is easy to lose after an update. Settings (⌘,) shows you at a glance whether it is still granted, with a button straight to the place to fix it.

11

Explains its own edges, where you hit them

The handful of behaviours macOS forces on Contain read as bugs without an explanation. A Limitations pane in Settings, and a ? beside the version in the tab bar, give you the same list you will find further down this page — right where you met the behaviour.

12

Keeps itself up to date

New versions arrive quietly in the background and install with a click, and you can check whenever you like. Every update is verified before it is installed.

13

What you have open stays with you

The list of apps and windows you contain never leaves your Mac — no app names, no window titles, nothing. Contain collects no usage data at all: there is no analytics in the app, so there is nothing to switch off. Settings → Privacy says so, and names the one thing that does leave your Mac — your licence check.

14

Live previews, only if you ask

Picker tiles can show a live thumbnail of each window instead of an icon. That needs a much broader permission, so Contain never asks for it on its own — and works perfectly well on icons if you would rather not.

The picker

Everything open, as tiles

This is what you get when you click the empty Contain window, four tiles to a row.

Picking a window

Everything open, shown as tiles you can recognise rather than a long list to read. Windows you have already contained drop out, and an app you hid yourself is offered as one entry that brings it back first.

Click the empty window — or + in the tab bar

TextEditNotes.txt
SafariRelease notes
Terminalcontain — zsh
Musicshow windows…

A few of these behave differently to what you might expect, because macOS itself allows nothing else — those are set out on Limitations, and what Contain needs from your Mac is on Requirements.

€6 once · 3 Macs

Try it on a window you already have open

Contain is at v1.2.4 — one price, no subscription, no account. Download it, paste in a key, and the windows you already have open become tabs in a single window.