yappla is a small, fast GTK4 launcher for Linux written in Rust using Relm4. It provides a minimal, keyboard-driven UI for searching and launching items in different "modes" (applications, echoing stdin). The app is lightweight, supports theming using CSS, and uses fuzzy search to rank results.
- Multiple modes:
apps— discover and launch.desktopapplications (parses XDG application directories)echo— read lines from stdin and present them as selectable entries
- Fuzzy search using
strsim(Jaro–Winkler and normalized Levenshtein) - Simple keyboard navigation (arrow keys, Enter, Escape)
- Themable via CSS (
yappla.css, or fallback bundled CSS) - Planned:
jsonmode — read structured JSON from stdin to present custom items (not implemented yet) - Planned: mapping non-English symbols to English equivalents during search to improve matching for users with several keyboard layouts (not implemented yet)
- Rust toolchain
- GTK4 development libraries available on your platform
Build release binary with Cargo:
cargo build --release -p yappla- Run the
appsmode (search installed desktop apps):
yappla apps- Run the
echomode — feed lines on stdin and then search/select them:
printf "first\nsecond\nthird\n" | yappla echoyappla tries to load CSS in this order:
$HOME/.config/yappla/yappla.css./yappla.css(in the current working directory)- Built-in fallback
theme.cssincluded in the binary
A default theme file is included as yappla/theme.css. To override appearance, create the configuration file in your home config directory above or drop a yappla.css next to the binary when running.
- Escape — exit
- Up / Down — move selection
- Enter — run the selected item
- Typing in the entry updates the search query