Fuzzel Mode
External launcher integration with Wayland environments
Raffi supports two distinct user interface modes, each designed for different use cases and preferences.
Raffi can operate in two modes:
Fuzzel mode uses the external Fuzzel launcher and integrates naturally with Wayland environments.
Fuzzel appearance is configured through ~/.config/fuzzel/fuzzel.ini:
dpi-aware=yesfont=RobotoMonoNerdFont-Thin:size=16terminal=kittywidth=50layer=overlayexit-on-keyboard-focus-loss=noinner-pad=15fields=filename,name
[colors]background=282a36fftext=f8f8f2ffmatch=8be9fdffselection-match=8be9fdffselection=44475addselection-text=f8f8f2ffborder=bd93f9ffRefer to the Fuzzel manual for full configuration details.
raffi -u fuzzelgeneral: ui_type: fuzzelFor a significantly smaller binary (1.1 MB vs 15 MB), you can build without the native UI:
cargo build --release --no-default-featuresThis removes the iced GUI dependency while maintaining full Fuzzel functionality.
Native mode uses an internal iced-based graphical interface with fuzzy search, keyboard navigation, and theme support.
raffi -u nativeraffi -u native -i "firefox"raffi -u native -t lightgeneral: ui_type: native theme: dark font_size: 20 font_family: "Inter" window_width: 900 window_height: 500set $menu raffi -pset $super Mod4bindsym $super+Space exec $menu | xargs swaymsg exec --$super = SUPERbind = $super, R, exec, (val=$(raffi -pI); echo $val | grep -q . && hyprctl dispatch exec "$val")| Feature | Fuzzel Mode | Native Mode |
|---|---|---|
| Size | 1.1 MB (no-default-features) | 15 MB |
| Dependencies | Requires Fuzzel | Self-contained |
| Calculator | ❌ | ✅ |
| Currency Converter | ❌ | ✅ |
| File Browser | ❌ | ✅ |
| Script Filters | ❌ | ✅ |
| Web Search | ❌ | ✅ |
| Text Snippets | ❌ | ✅ |
| Theme Support | System Fuzzel config | Built-in dark/light |
| Configuration | fuzzel.ini | raffi.yaml |
If no UI type is specified, Raffi automatically chooses:
fuzzel binary is found in PATHwayland feature)