A macOS Cmd+Tab replacement that shows a circular wheel of applications.
- Circular wheel UI replaces the default Cmd+Tab app switcher
- Pin apps to specific wheel positions with customizable key bindings
- Single key press to instantly switch to a bound app
- Cmd+Tab cycling through wheel apps
- "All Apps" mode that auto-sizes the wheel to fit all running apps
- Settings UI with visual wheel preview and drag-to-slot configuration
- Configurable wheel diameter, icon size, and slot count
- Open at cursor or screen center
- Dark overlay toggle
- Custom icon support per app
- Hide/show app name labels
- Menu bar tray icon
- macOS 13.0 (Ventura) or later
- Accessibility permission (required for Cmd+Tab interception)
# Clone the repo
git clone https://github.com/niamleeson/wheelswitcher.git
cd wheelswitcher
# Build and install to /Applications
chmod +x build.sh
./build.sh
# Run
open /Applications/WheelSwitcher.appOn first launch, macOS will ask for Accessibility permission:
- Go to System Settings > Privacy & Security > Accessibility
- Enable WheelSwitcher
- Restart the app
The permission persists across rebuilds as long as you run from /Applications/.
| Action | Behavior |
|---|---|
| Cmd+Tab | Open the wheel |
| Cmd+Tab+Tab... | Cycle through apps on the wheel |
| Release Cmd | Switch to the highlighted app |
| Press bound key (e.g. J) | Instantly switch to that app |
| Mouse hover + click | Switch to the hovered app |
| Click "All Apps" | Show all running apps on the wheel |
| Escape / click outside | Dismiss without switching |
Click the menu bar icon (the symbol that looks like command+tab) and select Settings to configure:
- Left pane: Add, remove, and select pinned apps
- Right pane: Visual wheel preview with drag-to-slot positioning
- Bottom bar: Wheel diameter, icon size, slot count, and toggle options
Settings are saved to ~/Library/Application Support/WheelSwitcher/config.json.
swift build -c releaseThe binary will be at .build/release/WheelSwitcher.