120Hz ProMotion Launchpad for macOS Tahoe
Languages: English | 中文
Apple removed Launchpad in macOS Tahoe. The new Applications view is slow, uncustomizable, and doesn't support folders.
LauncherTurbo brings back everything you loved — and makes it even better.
Unlike other Launchpad alternatives that use SwiftUI's declarative rendering (which rebuilds the entire view tree on every frame), LauncherTurbo uses the same rendering technology as Apple's original Launchpad:
| Technology | Frame Rate | Frame Time | Smoothness |
|---|---|---|---|
| SwiftUI (Other Apps) | ~30-40 FPS | 25-33ms | Choppy |
| Core Animation (LauncherTurbo) | 120+ FPS | <8ms | Butter Smooth |
We completely rewrote the rendering engine using Core Animation + CADisplayLink, the same low-level APIs that Apple uses. This means:
- True 120Hz ProMotion support on MacBook Pro displays
- Zero frame drops during page scrolling
- Instant response to touch/trackpad input
- GPU-accelerated compositing with no CPU bottleneck
- 120Hz ProMotion — Silky smooth scrolling on supported displays
- Core Animation Rendering — Same technology as Apple's native apps
- Smart Icon Caching — Pre-loaded textures for instant display
- Zero Lag Animations — Spring physics calculated on GPU
- One-Click Import — Reads your existing Launchpad database directly
- Drag & Drop Folders — Create folders by dragging apps together
- Instant Search — Type to filter apps immediately
- Keyboard Navigation — Full arrow key and tab support
- Multi-Page Grid — Swipe or scroll to navigate pages
- Glass Morphism UI — Beautiful translucent backgrounds
- Customizable Icons — Adjust size from 30% to 120%
- Hide Labels — Clean minimalist mode
- Dark/Light Mode — Follows system appearance
- 12 Languages — English, Chinese, Japanese, Korean, French, Spanish, German, Russian, and more
- Adjustable Grid — Change rows and columns
- Custom Search Paths — Add your own application folders
- Import/Export — Backup and restore your layout
If macOS blocks the app (unsigned), run:
sudo xattr -r -d com.apple.quarantine /Applications/LauncherTurbo.app- macOS 26 (Tahoe) or later
- Apple Silicon or Intel processor
- ProMotion display recommended for 120Hz
# Clone
git clone https://github.com/Turbo1123/LauncherTurbo.git
cd LauncherTurbo
# Build
xcodebuild -project LaunchNext.xcodeproj -scheme LaunchNext -configuration Release
# Universal Binary (Intel + Apple Silicon)
xcodebuild -project LaunchNext.xcodeproj -scheme LaunchNext -configuration Release \
ARCHS="arm64 x86_64" ONLY_ACTIVE_ARCH=NO clean buildWe benchmarked LauncherTurbo against other Launchpad alternatives:
Scrolling Performance (Page Transition)
═══════════════════════════════════════════════════
LauncherTurbo (Core Animation)
████████████████████████████████████████ 120 FPS
8.3ms/frame
SwiftUI-based Alternatives
████████████████ 40 FPS
25ms/frame
Electron-based Apps
████████ 20 FPS
50ms/frame
Why the difference?
SwiftUI rebuilds its view hierarchy on every state change. For a grid of 35+ app icons, this means:
- Diffing 35 views × multiple properties
- Recalculating layouts
- Recreating view bodies
- ~25-30ms per frame
Core Animation simply transforms pre-rendered layers:
- GPU-native matrix operations
- No view diffing
- No layout recalculation
- ~3-5ms per frame
┌─────────────────────────────────────────────────────┐
│ LauncherTurbo │
├─────────────────────────────────────────────────────┤
│ SwiftUI Shell (Settings, Search, Overlays) │
├─────────────────────────────────────────────────────┤
│ CAGridView - Core Animation Renderer │
│ ├─ CADisplayLink (120Hz sync) │
│ ├─ CALayer Grid (GPU-composited icons) │
│ ├─ CATextLayer Labels (Retina text) │
│ └─ Spring Animation Engine │
├─────────────────────────────────────────────────────┤
│ AppStore - State Management │
│ ├─ SwiftData Persistence │
│ ├─ Icon Cache Manager │
│ └─ Launchpad Database Reader │
└─────────────────────────────────────────────────────┘
~/Library/Application Support/LaunchNext/Data.store
Reads native Launchpad database from:
/private$(getconf DARWIN_USER_DIR)com.apple.dock.launchpad/db/db
We welcome contributions!
- Fork the repository
- Create a feature branch (
git checkout -b feature/awesome) - Commit changes (
git commit -m 'Add awesome feature') - Push to branch (
git push origin feature/awesome) - Open a Pull Request
- Originally based on LaunchNow by ggkevinnnn
- Forked from LaunchNext
- 120Hz Core Animation rendering engine rewritten with assistance from Claude Code
- Thanks to the original authors for their excellent work!
GPL-3.0 License — Following the original LaunchNow licensing terms.
This means you can freely use, modify, and distribute this software, but any derivative works must also be open-sourced under GPL-3.0.
LauncherTurbo — Performance Matters
Built for users who demand smoothness.
