73 lines
2.0 KiB
Markdown
73 lines
2.0 KiB
Markdown
# 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:
|
|
|
|
```json
|
|
{
|
|
"fontFamily": "JetBrainsMono Nerd Font Propo",
|
|
"fontSize": 16,
|
|
"giphyApiKey": "",
|
|
"panelWidth": 720,
|
|
"panelHeight": 520
|
|
}
|
|
```
|
|
|
|
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. No app-side config is required for theming.
|
|
|
|
## Dependencies
|
|
|
|
- `quickshell`, `wl-clipboard`, `curl`, `python`, `glib2`
|
|
- Optional: `hyprland` for workspace-switch dismissal and focus grab
|
|
|
|
## License
|
|
|
|
GPL-3.0-or-later. See `LICENSE`.
|