A fast, cross-platform application launcher with fuzzy search that helps you quickly find and launch applications from anywhere on your system.
- Cross-Platform: Works on Windows, Linux, and macOS
- Daemon Architecture: Lightweight background service for instant response
- Smart Fuzzy Search: Intelligent character matching with proximity-based scoring
- Custom Hotkeys: Configure any key combination to show the launcher
- Auto-Discovery: Automatically finds applications in standard system directories
- Clean Interface: Minimal, distraction-free design
- Icon Support: Platform-specific icon loading with smart fallbacks
- System Integration: Works with your OS's application management
Ensure you have Rust 1.89+ installed on your system.
git clone https://github.com/qa3-tech/launchdock.git
cd launchdock
cargo build --release
cargo install --path .Download the latest release for your platform from the releases page.
Add LaunchDock to your system startup so it runs automatically:
launchdock startSet up your preferred keyboard shortcut in your OS hotkey settings to run: launchdock show
Platform-specific instructions:
- Windows: Settings → System → Keyboard → Advanced keyboard settings → App shortcuts
- macOS: System Preferences → Keyboard → Shortcuts → App Shortcuts
- Linux (GNOME): Settings → Keyboard → Custom Shortcuts
- Linux (KDE): System Settings → Shortcuts → Custom Shortcuts
Suggested hotkey combinations:
Super+SpaceCtrl+Alt+SpaceSuper+Escape- Any combination that works for your workflow
# Check daemon status
launchdock status
# Test your configured hotkey
# Should show the launcher interface# Start/stop the daemon
launchdock start
launchdock stop
# Show the launcher
launchdock show
# Check status
launchdock status
# View logs
launchdock logs
launchdock logs clear- Press your configured hotkey to show the launcher
- Type to search for applications (fuzzy matching supported)
- Use arrow keys or number shortcuts (1-7) to select
- Press Enter to launch, or Escape to close
Search Examples:
- Type
fxto find Firefox - Type
gvto find applications like "Gnome Video" or "GoodVibes" - Type
codeto find VS Code, Visual Studio Code, etc.
LaunchDock uses intelligent fuzzy search that matches characters in order but not necessarily consecutively. The search algorithm considers:
- Character proximity: Closer matches rank higher
- Application name length: Shorter names get slight preference
- Early matches: Matches at the beginning of names score higher
- Consecutive characters: Sequential character matches get bonus points
This means typing psg will find "Photoshop Graphics" before "Photo Studio Gallery" because the characters are closer together.
- Scans
/usr/share/applications/, user applications, and desktop entries - Supports
.desktopfiles, AppImages, and executables - Icon loading from standard theme directories
- Scans
/Applications/, system apps, and user applications - Supports
.appbundles with comprehensive icon discovery - Searches multiple icon naming patterns and formats
- Includes system commands: Shutdown, Logout, Restart, Lock Screen
LaunchDock works out of the box with zero configuration. It automatically:
- Discovers applications in standard system directories
- Finds and loads application icons
- Generates fallback icons for apps without icons
git clone https://github.com/qa3-tech/launchdock.git
cd launchdock
# Build debug version
cargo build
# Run tests
cargo test
# Build optimized release
cargo build --release
# Install locally
cargo install --path .# Format code
cargo fmt
# Lint code
cargo clippy
# Run with debug logging
RUST_LOG=debug cargo run -- start# Check if running
launchdock status
# View error logs
launchdock logs
# Restart daemon
launchdock stop && launchdock start- Ensure apps are installed in standard directories
- Restart daemon to refresh:
launchdock stop && launchdock start - Check logs to see scan results:
launchdock logs - Verify system permissions for application directories
- Clear large log files:
launchdock logs clear - Check for repeated errors:
launchdock logs | grep ERROR
Linux: Ensure desktop entries are properly installed
macOS:
-
Grant permissions in System Settings → Privacy & Security if needed
-
Lock Screen Command: The Lock Screen system command requires Accessibility permissions to work properly:
- Try using Lock Screen from LaunchDock
- macOS will prompt you to grant Accessibility permissions (or the command will fail silently)
- Open System Settings → Privacy & Security → Accessibility
- Find LaunchDock in the list and enable it (you may need to click the + button to add it manually)
- You may need to restart LaunchDock:
launchdock stop && launchdock start
Note: Shutdown and Restart commands will always prompt for your password as they require administrator privileges. This is a macOS security requirement.
LaunchDock uses a clean client-server architecture:
- CLI Client: Handles commands and communicates with daemon
- Background Daemon: Manages application discovery and UI lifecycle
- UI Module: Cross-platform launcher interface with Iced framework
- Model Layer: Application data structures and fuzzy search logic
Contributions are welcome! Please see our dual licensing model below.
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature - Make your changes and add tests
- Ensure code quality:
cargo fmt && cargo clippy - Commit:
git commit -m 'Add amazing feature' - Push:
git push origin feature/amazing-feature - Open a Pull Request
This project uses a dual licensing model:
- Open Source: Licensed under GPL-3.0 for open source projects
- Commercial: Separate commercial license required for proprietary use
Contact contact@qa3.tech for commercial licensing inquiries.
See LICENSE for complete terms.