Q7 Launcher — Fast Rust-based Linux and Windows App Launcher and App Menu

██████   ███████        ██       █████  ██    ██ ███    ██  ██████ ██   ██ ███████ ██████  
██    ██        ██      ██      ██   ██ ██    ██ ████   ██ ██      ██   ██ ██      ██   ██ 
██    ██        ██      ██      ██   ██ ██    ██ ██ ██  ██ ██      ██   ██ ██      ██   ██ 
██    ██       ██  ████ ██      ███████ ██    ██ ██ ██  ██ ██      ███████ █████   ██████  
██ ▄▄ ██      ██        ██      ██   ██ ██    ██ ██  ██ ██ ██      ██   ██ ██      ██   ██ 
 ██████      ██         ███████ ██   ██  ██████  ██   ████  ██████ ██   ██ ███████ ██   ██ 
    ▀▀▀▀     
                                      Q7-LAUNCHER                                         

        

A minimal, fast cross-platform launcher for Linux and Windows, built in Rust using eframe/egui. Features fuzzy search, file search, configurable web prefixes, and theme switching for a snappy desktop experience.

? search g query yt video so question gh repo f filename theme
Download Pre-built Binaries

Download from GitHub Releases:

Linux: q7-launcher-linux-x86_64.tar.gz
Windows: q7-launcher-windows-x86_64.zip
Build from Source
git clone https://github.com/quadeer2003/q7-rust-launcher.git
cd q7-rust-launcher
cargo build --release

# Run
./target/release/q7-launcher              # Linux
target\\release\\q7-launcher.exe         # Windows
Requires Rust toolchain. Linux: optional fd and rsvg-convert for enhanced features.

Setup Hotkeys

Configure a global hotkey to launch Q7 Launcher instantly from anywhere on your system. Common choice: Super + Space

Linux

i3 / sway

Add to your i3/sway config:

bindsym $mod+space exec --no-startup-id /absolute/path/to/q7-launcher/target/release/q7-launcher

# Optional: Floating window rules
for_window [title="^q7 launcher$"] floating enable, focus, move position center, sticky enable, border pixel 0
GNOME (via gsettings)

Create a custom keybinding:

gsettings set org.gnome.settings-daemon.plugins.media-keys custom-keybindings "['/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/q7launcher/']"
gsettings set org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/q7launcher/ name 'q7 Launcher'
gsettings set org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/q7launcher/ command '/home/you/bin/q7-launcher'
gsettings set org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/q7launcher/ binding '<Super>space'
KDE Plasma

System Settings → Shortcuts → Custom Shortcuts → Add Command:

Trigger: Meta+Space
Action: /path/to/q7-launcher
XFCE

Settings → Keyboard → Application Shortcuts → Add:

/path/to/q7-launcher/target/release/q7-launcher

Bind to Super+Space or your preferred combination

Windows

AutoHotkey (Recommended)

Create q7-hotkey.ahk:

; Launch q7 launcher with Win+Space
#Space::
Run, C:\\Path\\To\\q7-launcher.exe
return

Run AutoHotkey and double-click the script. For autostart, place in %AppData%\Microsoft\Windows\Start Menu\Programs\Startup

Windows Shortcut

Alternative method:

1. Create a shortcut to q7-launcher.exe
2. Right-click → Properties → Set "Shortcut key" (e.g., Ctrl+Alt+Space)
Note: Windows reserves Win+Space for layout switching

Usage

App Search

Simply type the name of any installed application. Use fuzzy search - type partial names and Q7 will find matching apps.

File Search

Prefix with f to search files:

f document.pdf - Find document.pdf
f *.txt - Find all text files

Web Search

Use built-in search prefixes:

? rust programming - DuckDuckGo
g rust programming - Google
yt rust tutorial - YouTube
gh rust-lang/rust - GitHub
so rust error - Stack Overflow
w rust language - Wikipedia

Themes & Commands

Type theme to browse and switch between built-in color schemes. Any unrecognized input will be executed as a system command.

Custom Search Engines

Configuration

Create ~/.config/q7-launcher/config.json to define custom search engines:

{
  "search_engines": [
    { "name": "DuckDuckGo", "prefix": "?",  "url": "https://duckduckgo.com/?q=%s" },
    { "name": "Google",     "prefix": "g ", "url": "https://www.google.com/search?q=%s" },
    { "name": "StackOverflow","prefix": "so ","url": "https://stackoverflow.com/search?q=%s" },
    { "name": "Rust Docs",  "prefix": "rs ", "url": "https://doc.rust-lang.org/std/?search=%s" }
  ]
}

The %s placeholder is replaced with your search term. First matching prefix wins.

Features

Cross-platform app launcher: Linux (.desktop entries) + Windows (Start Menu shortcuts)
Fuzzy search over app names with intelligent matching
File search: Linux (fd) + Windows (PowerShell scan)
Web search prefixes: ?, g, yt, w, gh, so and more
Theme switching: Type theme to browse built-in color schemes
Minimal UI: Borderless, always-on-top, with icon caching for speed

Screenshot

Single input bar with fuzzy search and keyboard navigation

Q7 Launcher screenshot showing the main interface

Troubleshooting & Tips

Performance Tips

  • • Always build with --release flag for optimal speed
  • • On Linux, install fd (fd-find) for faster file search
  • • Install rsvg-convert for better SVG icon rendering
  • • Consider stripping debug symbols to reduce binary size

Window Positioning Issues (Linux)

If the launcher window doesn't center properly, check the window title:

xprop | grep -E 'WM_NAME|_NET_WM_NAME'

Update your window manager rules to match the actual title if needed.

Windows Notes

  • • Start Menu scan happens at startup - large environments may see slight delay
  • • Icon extraction for .exe files is planned but not yet implemented
  • • PowerShell search depth is limited for performance - adjust in source if needed

Requirements

Mandatory:

Optional (Linux):

  • fd (fd-find) for enhanced file search
  • rsvg-convert for SVG icon rendering