A blazing-fast, beautiful application launcher for Linux
Built natively for Wayland with GTK4 ยท Designed for speed and elegance
Features โข Quick Install โข Themes โข Documentation
- โก Lightning Fast - <35ms startup, <10ms search, optimized for responsive typing
- โญ Pins/Favorites - Pin apps with Ctrl+P; pinned apps show โ indicator
- ๐จ Theme System - 6 themes + 7 accent colors (coral, teal, violet, blue, green, orange, pink)
- ๐ Smart Search - Enhanced fuzzy matching with acronym support and query highlighting
- ๐ฏ Usage Learning - Hour-of-day boost and time-decay ranking (learns your patterns)
- ๐จ Density Modes - Compact or comfortable UI spacing (configurable)
- ๐ผ๏ธ Smart Icons - Category-based fallback for 150+ app types (all apps get appropriate icons)
- ๐ Session Switcher -
@switch- Switch between windows and VS Code workspaces (Hyprland/Sway) - ๐ช Window Management -
@wm- Move, center, fullscreen, float, pin windows (Hyprland/Sway) - ๐ Recent Documents -
@recent- Access recently opened files with timestamps
- ๐ง Git Projects -
@git- Find and open git repositories in your editor - ๐ป VS Code Workspaces -
@code- Quick access to coding projects - ๐ SSH Manager -
@ssh- Connect to configured SSH hosts
- ๐งฎ Advanced Calculator -
@cal- Math, units, currency, time, timezone conversions - ๐ File Search -
@files- System-wide file indexing with plocate/fd/find - ๐ Web Search - Instant web search with Ctrl+Enter (5+ search engines)
- ๐ Browser History -
@tabs/@history- Search across 6 browsers (Chrome, Brave, Firefox, Edge, Vivaldi, Opera) - ๐ Clipboard History -
@clip- Paste recent items (cliphist integration) - ๐ Emoji Picker -
@emoji- Search and copy 3000+ emojis
- ๐ท Screenshots -
@ss- Capture screen/window/area - โ๏ธ Screenshot Annotate -
@ss annotate- Edit screenshots with Swappy
Alt+Enter- Open containing folder (file results)Ctrl+Enter- Copy path to clipboard (doesn't close window)Ctrl+P- Pin/unpin selected appCtrl+1- Execute first result instantly
- ๐ท๏ธ Icon Badges - Visual indicators (terminal๐ฅ๏ธ, web๐, file๐, folder๐)
- โจ Match Highlighting - Coral-colored query matches in results
- ๐ญ Smooth Animations - 60fps+ transitions with cubic-bezier easing
- ๐ Plugin System - Extensible with dynamic plugins and script support
- ๐ช Wayland Native - Built on gtk4-layer-shell
- ๐ Auto-Updates - Background version checking
- ๐ 150 Tests - Comprehensive test coverage
- ๐ฏ Performance First - Every feature optimized for speed
One-line installation (recommended):
curl -fsSL https://raw.githubusercontent.com/ArunPrakashG/native-launcher/main/install.sh | bashSystem-wide installation (optional - creates symlink for all users):
curl -fsSL https://raw.githubusercontent.com/ArunPrakashG/native-launcher/main/install.sh | bash -s -- --linkThe installer will:
- โ Backup existing installation (if found)
- โ Detect your system and compositor
- โ Install required dependencies
- โ
Download the latest release to
~/.local/bin - โ Let you choose a theme interactively
- โ Configure compositor keybinds (Hyprland/Sway)
- โ
Install man page to
~/.local/share/man - โ
(Optional) Create system-wide symlink with
--link
| Option | Description | Requires Sudo |
|---|---|---|
| (default) | Install to ~/.local/bin with absolute paths in config |
No |
--link |
Create symlink in /usr/local/bin for system-wide use |
Yes (once) |
--help |
Show installation help and all available options | No |
Why use --link?
- Makes
native-launcheravailable system-wide (all users) - Simpler compositor configs (uses
native-launcherinstead of full path) - Binary updates don't require sudo (only the initial symlink creation does)
- Configs automatically updated to use short command name
Choose from 6 beautiful themes during installation:
| Theme | Accent | Background |
|---|---|---|
| Default | Coral #FF6363 |
Charcoal #1C1C1E |
| Nord | Frost #88C0D0 |
Polar #2E3440 |
| Dracula | Purple #BD93F9 |
Dark #282A36 |
| Catppuccin | Lavender #B4BEFE |
Mocha #1E1E2E |
| Gruvbox | Orange #FE8019 |
Dark #282828 |
| Tokyo Night | Blue #7AA2F7 |
Night #1A1B26 |
- โ Arch Linux / Manjaro / EndeavourOS (primary support)
- โ Ubuntu / Debian / Pop!_OS
- โ Fedora
- โ openSUSE
- โ Hyprland (automatic setup)
- โ Sway (automatic setup)
- โ KDE Plasma (Wayland)
- โ GNOME (Wayland)
- โ River, Wayfire, etc.
- GTK4
- gtk4-layer-shell
- wl-clipboard
- Press Super+Space (default keybind)
- Type to search applications
- Use โ/โ to navigate
- Press Enter to launch
- Press Ctrl+1 to execute first result (fast workflow - no navigation needed)
- Press Ctrl+Enter for web search
- Press Ctrl+P to Pin/Unpin selected app (appears first in default results)
- Press Escape to close
| Prefix | Plugin | Example |
|---|---|---|
@app |
Applications | @app firefox |
@switch / @sw |
Session Switcher | @switch code |
@wm / @window |
Window Management | @wm workspace 2 |
@git / @repo |
Git Projects | @git my-project |
@recent / @r |
Recent Documents | @recent config |
@tabs / @history |
Browser History | @tabs github |
@clip |
Clipboard History | @clip password |
@emoji |
Emoji Picker | @emoji smile |
@cal |
Calculator | @cal 2+2 |
@convert |
Unit Conversion | @convert 10kg to lbs |
@time |
Time/Timezone | @time Tokyo |
@files |
File Search | @files config |
$ or @shell |
Shell Commands | $ ls -la |
@ssh |
SSH Connections | @ssh server |
@code |
VS Code Workspaces | @code my-project |
@screenshot / @ss |
Screenshots & Annotate | @ss annotate |
- Use
@screenshotor the short@ssprefix to list capture options (full screen, active window, selection) - Images are saved to
~/Pictures/Screenshots(the folder is created automatically) - Launcher detects common tools automatically (
grimshot,hyprshot,gnome-screenshot,spectacle,maim,scrot,grim+slurp)
Man Page - Comprehensive reference manual (installed with launcher):
man native-launcherOnline Wiki - Detailed guides and tutorials:
- ๐ Full Documentation
- โ๏ธ Configuration Guide
- ๐ Plugin Development
- ๐จ UI Design
- ๐ Performance
- โญ Pins & Favorites
Build from Source
# Install Rust
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
# Clone and build
git clone https://github.com/ArunPrakashG/native-launcher.git
cd native-launcher
cargo build --release
# Install
cp target/release/native-launcher ~/.local/bin/Manual Compositor Setup
Hyprland (~/.config/hypr/hyprland.conf):
# If installed with --link
bind = SUPER, SPACE, exec, native-launcher
# If installed without --link (default)
bind = SUPER, SPACE, exec, ~/.local/bin/native-launcherSway (~/.config/sway/config):
# If installed with --link
bindsym Mod4+Space exec native-launcher
# If installed without --link (default)
bindsym Mod4+Space exec ~/.local/bin/native-launcherRiver (~/.config/river/init):
# If installed with --link
riverctl map normal Super Space spawn native-launcher
# If installed without --link (default)
riverctl map normal Super Space spawn ~/.local/bin/native-launcherRestore from Backup
If you need to restore from a previous backup:
# Run the restore script
./restore.sh
# Or if downloaded separately
curl -fsSL https://raw.githubusercontent.com/ArunPrakashG/native-launcher/main/restore.sh | bashThe restore script will:
- ๐ List all available backups with timestamps
- ๐ Show what's included in each backup
- โ Let you select which backup to restore
- ๐ Restore binary, config, plugins, cache, and data
Backups are stored in: ~/.local/share/native-launcher/backups/
Uninstall
curl -fsSL https://raw.githubusercontent.com/ArunPrakashG/native-launcher/main/uninstall.sh | bashThe uninstaller will remove:
- โ
Binary from
~/.local/bin - โ
System-wide symlink (if created with
--link) - โ
Man page from
~/.local/share/man - โ Configuration files (with confirmation)
- โ Cache and data (with confirmation)
- โ Compositor keybinds (with confirmation)
Contributions are welcome! See our Contributing Guide for details.
MIT License - see LICENSE file
โญ Star this repo if you find it useful!
Report Bug ยท Request Feature ยท Wiki