Releases: fad1/Switcher
Release list
Switcher v1.3.0
New
- Show only the N most recently used apps (optional, off by default): Preferences → "Show only the [N] most recently used apps" caps the switcher to your N most recent apps (2–12), keeping the panel small no matter how many apps are open.
- Cmd+Opt+Tab — show all: when the cap is on, opens (or expands) the switcher with the full uncapped list for that one press — the escape hatch for reaching an app older than the cap. One-shot: the next Cmd+Tab is capped again.
- Cmd+, opens Preferences from the switcher panel, following the macOS-wide convention.
Improved
- The most-recently-used order is now seeded from window stacking order at launch, so the switcher's ordering is sensible from the very first Cmd+Tab instead of only after you've switched around for a while.
Switcher v1.2.0
Hide apps whose windows are all minimized
Minimize an app and it now leaves the switcher, instead of sitting there as an icon that switches you to nothing. On by default; turn it off in Preferences → Hide apps with only minimized windows.
Apps on another Space are unaffected — they still appear, as they should. An app with a Dock badge (e.g. Mail with unread mail) also stays listed regardless.
This needs no new permissions. Accessibility only, exactly as before — the minimized state is read from the WindowServer in a single batched query (~0.3ms), not by querying each app.
New: M minimizes the selected app
While the switcher is open, M minimizes the selected app's windows on the current Space — alongside the existing H (hide) and Q (quit). Note that H is the instant one; minimizing is animated by macOS, one window at a time.
Fixes
H,QandMno longer make an app's icon briefly vanish and then reappear at the end of the grid. A background refresh was racing the action and re-adding the app as if it had just launched. Most visible withMon apps with many windows.- Corrected several stale claims in the in-repo documentation.
Also
--list-appsprints the computed app list with a per-app verdict (visible / other-Space / minimized-rejected / badge-rescued), for diagnosing why an app is or isn't showing.- Internals: the window filter, minimized decode, shift-tap gesture and grid navigation are now pure, separately tested units (132 checks), with the measured macOS behaviour they depend on written down beside them.
Install: brew install --cask fad1/tap/switcher, or download Switcher.zip below.
Switcher v1.1.11
What's New
⇧⌘Tab reverse switching. The native reverse gesture now works: press Cmd+Shift+Tab when the switcher is closed to open it on the last (least recently used) app, and press Shift+Tab while it's open to step backward. Previously Cmd+Shift+Tab did nothing at all. The existing "tap Shift to go back" gesture still works — it now fires when Shift is released, so the two gestures don't double-step.
Faster panel open with Dock badges. The notification-badge scan (Mail/Messages unread counts) is now cached for ~2 seconds instead of re-walking the Dock's accessibility tree on every Cmd+Tab press and every 300ms while the panel is open.
Fixes
- The occasional "support development" prompt no longer delays Cmd+Tab takeover at launch.
- Closed a shutdown race in the event-tap thread and a hover glitch when hiding several apps in quick succession (H pressed rapidly).
Requires Accessibility permission (System Settings → Privacy & Security → Accessibility).
Switcher v1.1.10
Fixes for grayscale rendering and panel input handling (includes v1.1.9 changes):
- Grayscale icons render correctly: fixed icons/badges subtly resizing ("wobbling") as the pointer moved in and out of the panel, and a bluish cast on grayscale icons on wide-gamut Retina displays. Grayscale is now baked into each icon in sRGB instead of a live layer filter.
- Hover selection works when Switcher itself is active: e.g. pressing Cmd+Tab right after using the Preferences window no longer leaves hover selection dead.
- Clicking outside the panel no longer clicks the app behind it: click-away now just dismisses the switcher (like Escape). Clicking app icons in the panel works as before.
Switcher v1.1.8
What's new in 1.1.8 — the declutter tip is now a button
The "⌥⌘H · Hide others" tip at the bottom of a cluttered switcher is no longer just a reminder — hover over it and it reveals itself as a clickable pill button (with a pointing-hand cursor). Click it to hide every app except the one you're in, same as pressing ⌥⌘H.
It stays out of the way: at rest it still looks like a plain caption, and a click only registers while the button is visibly highlighted — so a stray click that misses the bottom row of icons can't hide everything by accident.
Install via Homebrew: brew install --cask fad1/tap/switcher
Switcher is ad-hoc signed (not notarized). It needs Accessibility permission: System Settings → Privacy & Security → Accessibility → enable Switcher.
Switcher v1.1.7
What's new in 1.1.7 — declutter your switcher
Hide Other Apps. Press ⌥⌘H while the switcher is open (or use the new "Hide Other Apps" menu bar item) to hide every app except the one you're in — a lighter alternative to quitting apps when you want to focus. Fewer icons in the switcher, instantly.
A gentle reminder. When the switcher gets cluttered (wraps to a second row), a subtle tip appears at the bottom showing the shortcut. Don't want it? Turn it off in Preferences → "Show declutter tip in switcher".
Live refresh. Apps you launch while the switcher is open now appear as their windows load — no more missing icons when you open something and immediately Cmd+Tab. New apps are added at the end without moving the icons already on screen.
Install via Homebrew: brew install --cask fad1/tap/switcher
Switcher is ad-hoc signed (not notarized). It needs Accessibility permission: System Settings → Privacy & Security → Accessibility → enable Switcher.
Switcher v1.1.6
Clicking an app in the switcher now activates the app under the cursor, regardless of whether the pointer moved first.
Previously, the dead-zone hover (which correctly suppresses auto-selection until the mouse moves 3px) meant that clicking an app before moving the pointer activated the keyboard-selected app (usually the second app) instead of the one you clicked. A click is deliberate, so it now always activates whatever it lands on.
Switcher v1.1.5
Fix: unsupported Cmd+key combos no longer leak to the app behind the switcher.
Previously, while the switcher panel was open, only the supported keys (Tab, H, Q, arrows, Return, Escape) were intercepted. Any other Cmd+<key> combo — Cmd+W, Cmd+S, Cmd+T, etc. — fell through to the app underneath (e.g. pressing Cmd+W closed a browser tab behind the panel).
Now every ordinary Cmd+<key> combo is swallowed while the panel is open and does nothing, so keystrokes can no longer leak to the background app. Supported shortcuts are unchanged. Still Accessibility-only — no Input Monitoring required.
Switcher v1.1.4
What's new
- Quit Switcher button in the Preferences window — terminates the app and closes the window. Native Cmd+Tab is restored on the way out (via
applicationWillTerminate), same clean exit as the menu bar Quit.
Install
Download Switcher.zip, unzip, and move Switcher.app to /Applications. Grant Accessibility permission when prompted.
Or via Homebrew:
brew install --cask fad1/tap/switcher
Switcher v1.1.3
Improvements
- Lower memory footprint — the switcher now releases its on-screen item views (and their icon references) as soon as the panel closes, instead of keeping them resident between switches. No effect on how fast the panel opens.
Switcher needs Accessibility permission only (System Settings → Privacy & Security → Accessibility).