A sleek, pill-shaped application launcher for Linux, built with Rust and GTK4. Designed with strict adherence to "Tree Architecture" for stability and maintainability.
- Sleek Design: Transparent, pill-shaped UI (
border-radius: 30px). - Fast Search: Fuzzy search through your installed applications (
.desktopfiles). - Visual Feedback: Displays application icons.
- Keyboard Navigation:
Up/Down: Navigate results.Enter: Launch selected application (or Enter directory).Right Arrow: Enter highlighted directory (File Browser).Left Arrow: Go up one directory level (File Browser).Ctrl + 1-9: Quick launch the Nth result.Escape: Close the launcher.
- Overview Grid: Press
Downto reveal a sectioned, horizontally scrollable grid of your apps, folders, shortcuts, and more. - Favorites System: Pin your most used apps and folders to the top of the list by pressing
Space. - Status Indicators: Highlights running applications with a blue notification dot.
Launch uses strict prefixes to route your queries to different providers:
| Prefix | Name | Description | Example |
|---|---|---|---|
? |
AI | Local LLM search & assistant (supports RAG/File Awareness). | ? where is my project? |
x |
Execute | Run a shell command in a terminal wrapper. | x top (runs gnome-terminal -- top) |
f |
Files | Browse the filesystem. Use Left/Right keys to navigate. |
f /home/user/ |
ss |
Shortcuts | Run a saved shortcut. | ss term |
m |
Macros | Execute a sequence of commands (Macro). | m dev-setup |
c |
Calc | Solve math expressions (supports complex LaTeX: \sin, \log, 2\pi e, \frac{1}{2}, infinite/NaN handling). |
c \sqrt{16} * 2 |
d |
Dict | Smart Dictionary. Offline lookup (Webster) + Online Fallback (Google). | d rust |
w |
Window | Switch to open windows. Shows [Workspace] and [Screen] indicators. | w term |
! |
System | Power operations (suspend, reboot, poweroff). | ! reboot |
l |
Launch | Internal commands (Settings, About, Quit). | l settings |
Launch features a built-in AI assistant powered by Ollama. It is private, local, and aware of your files.
- File Awareness (RAG): The assistant automatically indexes your home directory (up to 4 levels) to answer context-specific questions about your files and projects.
- Local & Private: No data leaves your machine. Everything runs via your local Ollama instance.
- Streaming Progress: Integrated download progress bar when switching models.
To use the AI features, you need to have Ollama installed on your Linux system.
-
Install Ollama:
curl -fsSL https://ollama.com/install.sh | sh -
Pull a Default Model: Launch defaults to
llama3. You can pull it manually or use the Settings UI:ollama pull llama3
-
Automatic Start: Launch will attempt to start the Ollama server (
ollama serve) automatically if it's not running when you send a query. -
Configure Models:
- Type
l settingsand go to the AI tab. - Select your preferred model (e.g.,
llama3,mistral, ortinyllamafor speed). - Launch will handle the download and setup for you!
- Type
Launch is fully configurable via an interactive UI.
- Type
l settings(orl set) and hit Enter. - Use the Tabs to switch between Shortcuts, Macros, and AI.
- Add: Click "Add" to define a new item.
- Delete: Select an item and click "Delete" to remove it.
Changes are persisted to ~/.config/launch/settings.json.
{
"shortcuts": {
"term": "gnome-terminal",
"web": "firefox"
},
"macros": [
{
"name": "morning",
"actions": [
"notify-send 'Good Morning'",
"firefox https://news.ycombinator.com"
]
}
]
}Launch runs as a background daemon.
- Run
launch toggleto show/hide the window. - Bind
launch toggleto a global shortcut in your Desktop Environment (e.g.,Super+Space). - The window automatically hides when it loses focus or when an app is launched.
When the search bar is empty, press Down to open the Overview Grid. This view gives you quick access to all your content categorized into horizontal sections:
- Applications: All installed apps. Scroll horizontally to see more.
- Folders: Your home directory folders.
- Shortcuts / Macros: Quick access to your defined actions.
- AI: Ask the assistant.
- Settings / System: Quick toggles and configuration.
Navigation:
Up/Down: Jump between sections.Left/Right: Scroll through items within a section.
Favoriting:
- Navigate to any item (App or Folder).
- Press
Spaceto toggle Favorite status. - Favorites are marked with
★and always appear at the start of the list.
- Language: Rust (2024 Edition)
- GUI: GTK4
- Architecture: Tree Architecture (Domain -> Application -> Interface -> Infrastructure)
- Rust & Cargo
- GTK4 development libraries (e.g.,
libgtk-4-devon Debian/Ubuntu,gtk4-develon Fedora)
git clone https://github.com/leechristophermurray/launch.git
cd launch
cargo run --releaseThe project includes a helper script to generate Linux packages.
./build_packages.shArtifacts will be output to:
target/debian/*.debtarget/generate-rpm/*.rpm
This project follows the Tree Architecture pattern:
- 🔴 Domain: Pure business entities (
App,Shortcut). - 🟡 Application: Use cases (
SearchApps,ExecuteCommand). - 🟢 Interface: abstract Ports (
IAppRepository). - 🔵 Infrastructure: Concrete Adapters (
LinuxAppRepoAdapter,AppWindow).
MIT License. See LICENSE for details.
