finds.dev← search

// the find

lwouis/alt-tab-macos

★ 15,767 · Swift · GPL-3.0 · updated May 2026

Windows alt-tab on macOS

AltTab brings Windows-style Alt+Tab window switching to macOS, showing live window thumbnails for all open windows rather than just app icons. It's a mature, well-adopted utility (7.4M downloads) aimed at developers and power users who find macOS's default Cmd+Tab frustrating. Recently moved to a freemium model with a Pro tier.

- Extremely well-structured Swift codebase with clear separation of concerns: events, state, switcher UI, preferences, and macOS API wrappers all in distinct directories rather than one giant pile

- Professional release pipeline: semantic-release for versioning, Sparkle for auto-updates, AppCenter for crash reporting, notarization scripts, and a full CI/CD workflow — this isn't a weekend project that ships zip files

- Localized into 20+ languages with a dedicated script to extract and apply translations, plus Claude/AI skills defined for translation automation

- The experimentations directory is honest documentation of things that didn't work (ghost window detection, tabbed window detection) — useful for contributors and shows the author understands the hard edges of macOS private APIs

- The freemium conversion funnel is baked deep into the source (Day1Welcome, Day4Tour, Day12HeadsUp, Day15HardGate, Day21Reminder, Day35Final schedulers) — if you fork this for personal use you'll need to rip all that out, and it's not trivially isolated

- Relies on private macOS APIs (SkyLight.framework, undocumented CGWindow functions) which is unavoidable for this functionality but means any macOS update can silently break things, and the experimentations README acknowledges several already-broken approaches

- Test coverage appears thin — only one test file visible (AXUIElementTests.swift) for a codebase of this complexity, which is a real risk given how much relies on timing and macOS event handling

- Node.js/npm toolchain mixed into a Swift project for formatting, commit linting, and release management adds non-obvious onboarding friction for Swift developers who just want to build and contribute

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →