Contain
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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
This is what you get when you click the empty Contain window, four tiles to a row.
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
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
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.