A modern replacement for the system "Applications" view (Tahoe style) that I didn’t like.
Compatibility: Requires macOS Tahoe 26+ (older versions are no longer supported).
A modern, customizable application launcher for macOS
Features • Installation • Usage • Localization • Contributing
- Custom grid layout with configurable rows, columns, and icon size
- Fast app search with live filtering
- Favorites section
- Keyboard, mouse wheel, and gesture navigation
- Glass, solid color, and HTML background modes
- Built-in HTML themes and support for custom themes
- Configurable label font, color, and icon hover effects
- Localized interface for 15 languages
- macOS 26.0.1 or newer
- Xcode 26.0.1 or newer for building from source
- Swift 6.2 or newer
Download the latest release from Releases, then move BetterLaunchpad.app to your Applications folder.
To build from source:
git clone https://github.com/Alien4042x/BetterLaunchpad.git
cd BetterLaunchpad
open BetterLaunchpad.xcodeprojIn Xcode, select the BetterLaunchpad scheme and run with Cmd + R.
- Launch BetterLaunchpad to show the app grid
- Type to search applications
- Click an app icon to launch it
- Use arrow keys, mouse wheel, or swipe gestures to change pages
- Press
Escto quit - Press
Cmd + ,to open Settings - Press
Cmd + Fto focus search
Settings include:
- Grid rows and columns
- Icon size
- Background type and opacity
- Built-in or custom HTML themes
- Label font, size, weight, color, and opacity
- Icon hover effect
Changes apply immediately.
Custom themes live here:
~/Library/Application Support/BetterLaunchpad/CustomThemes/
Each theme needs its own folder. The folder and file names must match:
CustomThemes/
└── mytheme/
├── mytheme.html
├── mytheme.css
└── mytheme.js
Only the HTML file is required. CSS and JavaScript are optional.
Recommended theme rules:
- Use relative paths for CSS and JavaScript
- Set
overflow: hiddento avoid scrollbars - Use
requestAnimationFrame()for animation - Handle window resize if you use canvas
After adding a theme, open Settings, choose HTML background mode, and refresh the theme list.
Supports 15 languages covering 60%+ of the global population:
🇺🇸 English • 🇪🇸 Spanish • 🇫🇷 French • 🇩🇪 German • 🇷🇺 Russian • 🇺🇦 Ukrainian • 🇨🇳 Chinese • 🇯🇵 Japanese • 🇰🇷 Korean • 🇮🇹 Italian • 🇵🇹 Portuguese • 🇳🇱 Dutch • 🇵🇱 Polish • 🇨🇿 Czech • 🇸🇰 Slovak
| Language | Code | Status |
|---|---|---|
| English | en | ✅ Complete |
| Czech | cs | ✅ Complete |
| Slovak | sk | ✅ Complete |
| German | de | ✅ Complete |
| French | fr | ✅ Complete |
| Spanish | es | ✅ Complete |
| Italian | it | ✅ Complete |
| Dutch | nl | ✅ Complete |
| Portuguese | pt | ✅ Complete |
| Polish | pl | ✅ Complete |
| Russian | ru | ✅ Complete |
| Ukrainian | uk | ✅ Complete |
| Japanese | ja | ✅ Complete |
| Korean | ko | ✅ Complete |
| Chinese (Simplified) | zh-Hans | ✅ Complete |
To add a language, create a new [language-code].lproj/Localizable.strings file, translate the keys from en.lproj/Localizable.strings, and add the localization in Xcode.
BetterLaunchpad/
├── BetterLaunchpadApp.swift
├── ContentView.swift
├── Settings.swift
├── AboutView.swift
├── GlassBackground.swift
├── GlassSearchBar.swift
├── HTMLThemeManager.swift
├── FavoritesManager.swift
├── FavoritesModal.swift
├── Resources/
│ └── HTMLThemes/
└── *.lproj/
Issues and pull requests are welcome. Keep changes focused and include screenshots for UI changes when possible.
BetterLaunchpad is licensed under the MIT License. See LICENSE.