Introduction
Albert is a keyboard-driven launcher for Linux that lets you search and launch applications, find files, perform calculations, and run custom scripts from a single input box. Inspired by Alfred on macOS, it brings the same fast-launch workflow to the Linux desktop. Its Qt-based interface is snappy, and its Python plugin system makes it straightforward to extend.
What Albert Does
- Launches applications and opens files with fuzzy search matching
- Performs inline calculations, unit conversions, and dictionary lookups
- Searches browser bookmarks, SSH hosts, and system settings
- Runs shell commands and custom scripts directly from the input box
- Supports Python and C++ plugins for extending functionality
Architecture Overview
Albert is written in C++ with Qt 6 for the frontend. The core maintains an index of installed applications and file metadata that it queries using a fuzzy-matching algorithm. Plugins register query handlers that receive user input and return ranked results. The query pipeline runs asynchronously so the UI never blocks, even when plugins fetch external data.
Self-Hosting & Configuration
- Install from official repos on Ubuntu, Fedora, Arch, or build from source
- Configure the global trigger hotkey and input behavior in settings
- Enable or disable individual plugins from the plugin manager
- Customize the appearance with built-in themes or custom QSS stylesheets
- Set file indexing paths and exclusion patterns for the files plugin
Key Features
- Sub-50ms response time for application and file search
- Python plugin API for rapid extension development
- Theme system with several built-in looks and custom CSS support
- Frecency-based ranking that learns from your usage patterns
- Clipboard history and snippet management via plugins
Comparison with Similar Tools
- Wox — cross-platform Go launcher; Albert is Linux-native with deeper desktop integration
- Ulauncher — Python-based Linux launcher; Albert is faster due to C++ core
- Rofi — X11 window switcher and launcher; more minimal, less plugin support
- dmenu — ultra-minimal X11 menu; no fuzzy search or plugins
- KRunner — KDE's built-in launcher; tightly coupled to KDE Plasma
FAQ
Q: Does Albert work on Wayland? A: Yes. Albert supports both X11 and Wayland display protocols via Qt 6.
Q: Can I write my own plugins? A: Yes. Python plugins are the easiest way to extend Albert. Place a plugin file in the designated directory and enable it in settings.
Q: How does Albert compare to Alfred? A: Albert brings the core Alfred workflow to Linux — quick launch, search, and extensibility — though Alfred's macOS-specific features like Apple Script integration are not replicated.
Q: Is Albert resource-heavy? A: No. Albert uses minimal memory and CPU when idle, activating only on the trigger hotkey.