Designing a window-first macOS switcher in Swift
Description and use
Designing a macOS window switcher that lists each window separately, supports task grouping, and provides in‑switcher search and clear interaction contracts.
Problem
macOS Command‑Tab shows only one icon per app, making it hard to switch to a specific window among several open windows of the same application.
Outcome
The switcher improves window‑level navigation by presenting each window separately, supporting recent‑order and task‑group organization, and providing in‑switcher search and clear interaction contracts.
Workflow
- 1. Hold Command and press Tab to activate the switcher.
- 2. Use arrow keys or reverse switching to navigate the list of windows.
- 3. Release Command to activate the selected window.
- 4. Optionally use Escape to cancel or use the shortcut modifier to filter by app name or window title.
Evidence
With two browser windows open, macOS still gives me one browser icon in Command-Tab. That is enough to select the application, but my next action usually concerns a particular window: the documentation, the page I am editing, or the terminal beside it.
Open Contexts lists individual windows in most recently used order. Each item includes the app name, icon, and window title.
Replacing a familiar global shortcut creates an expectation about when the replacement is active. The current app requires Accessibility permission before it takes over Command-Tab.
Open Contexts lets users create and rename groups, drag windows between groups, and pin a window's position in its group.
The project's documented state file is ~/Library/Application Support/OpenContexts/groups.json.
- Record date: 2026-10-26T04:26:20.886Z