# omni-launcher A Wayland application launcher overlay built on [Quickshell](https://quickshell.org). Beyond app search it supports inline calculator, unit/currency conversion, unicode lookup and Giphy search — each picked by a single-character prefix. ## Features - `query` — fuzzy app search across `.desktop` entries - `= expr` — calculator + unit conversion (length, mass, volume, time, temperature, area, energy, data, …) - `= 100 usd to eur` — live currency conversion via [Frankfurter](https://frankfurter.dev) - `. name` — unicode search by character name (e.g. `. heart`) - `! query` — animated GIF search via Giphy (requires API key) - Theme follows `xdg-desktop-portal` appearance (dark/light + accent) and Qt's platform palette/font. - Optional Hyprland integration: close on workspace switch and focus-grab dismissal. ## Install From the AUR: ```sh yay -S omni-launcher ``` Or build from a clone: ```sh makepkg -si ``` ## Usage Start the daemon once per session (e.g. in `~/.config/hypr/hyprland.conf`): ``` exec-once = omni-launcher ``` Bind a key to toggle the overlay: ``` bind = SUPER, SPACE, exec, omni-launcher-toggle ``` `omni-launcher-toggle` calls the running instance over Quickshell IPC. The launcher closes on `Esc`, click-outside, or workspace switch (Hyprland). ## Configuration `~/.config/omni-launcher/config.json` — any missing key falls back to a built-in default, so the file can be omitted entirely: ```json { "fontFamily": "JetBrainsMono Nerd Font Propo", "fontSize": 16, "giphyApiKey": "", "panelWidth": 720, "panelHeight": 520, "padding": 5, "spacing": 5, "radius": 10, "colors": { "background": "#101010", "foreground": "#e6e6e6", "idle": "#a0a0a0", "accent": "#5e9eff", "overlayStrong": "#2b5f96", "overlayWeak": "#202020", "border": "#3a3a3a" } } ``` Changes take effect on restart (`omni-launcher`). ### Theming The launcher reads `org.freedesktop.appearance` from `xdg-desktop-portal` for color-scheme and accent, and falls back to Qt's `SystemPalette` (qt6ct / KDE / qgnomeplatform) for everything else. Values under `colors` are optional overrides for users or theme managers that want a fixed palette. ## Dependencies - `quickshell`, `wl-clipboard`, `curl`, `python`, `glib2` - Optional: `hyprland` for workspace-switch dismissal and focus grab ## License GPL-3.0-or-later. See `LICENSE`.