raffi 0.22.0

A simple fuzzel launcher based on YAML file
Documentation
---
title: Hyprland Integration
description: Configure Raffi as your application launcher in Hyprland
---

Raffi works perfectly with Hyprland, providing a fast and elegant application launcher for your Wayland environment.

## Configuration

Add the following to your Hyprland configuration file (typically `~/.config/hypr/hyprland.conf`):

```ini
$super = SUPER
bind = $super, R, exec, (val=$(raffi -pI); [ -n "$val" ] && hyprctl dispatch exec "$val")
```

## How It Works

- `raffi -pI` runs Raffi in print-only mode with icons disabled for faster startup
- The selected command is stored in the `$val` variable
- `[ -n "$val" ]` checks that the output is non-empty (the user did not cancel)
- `hyprctl dispatch exec` launches the selected application through Hyprland's IPC
- The keybinding is `Super+R`

## Customization

### Using a Different Keybinding

You can bind Raffi to any key combination:

```ini
# Use Super+Space
bind = $super, Space, exec, (val=$(raffi -pI); [ -n "$val" ] && hyprctl dispatch exec "$val")

# Use Super+D (like dmenu/rofi)
bind = $super, D, exec, (val=$(raffi -pI); [ -n "$val" ] && hyprctl dispatch exec "$val")

# Use Alt+Space
bind = ALT, Space, exec, (val=$(raffi -pI); [ -n "$val" ] && hyprctl dispatch exec "$val")
```

### Enable Icons

If you prefer to use icons (slightly slower startup):

```ini
bind = $super, R, exec, (val=$(raffi -p); [ -n "$val" ] && hyprctl dispatch exec "$val")
```

### Use Native UI

To use Raffi's built-in native interface instead of Fuzzel:

```ini
bind = $super, R, exec, (val=$(raffi -p -u native); [ -n "$val" ] && hyprctl dispatch exec "$val")
```

### Use Custom Config

Specify a custom configuration file:

```ini
bind = $super, R, exec, (val=$(raffi -pI -c ~/.config/raffi/custom.yaml); [ -n "$val" ] && hyprctl dispatch exec "$val")
```

## Testing

After adding the configuration:

1. Reload Hyprland: `hyprctl reload`
2. Press `Super+R` to launch Raffi
3. Select an application and press Enter to launch it

## Troubleshooting

### Launcher doesn't appear

- Verify Raffi is installed: `which raffi`
- If using Fuzzel mode (default), ensure Fuzzel is installed
- Check Hyprland logs: `journalctl --user -xe`

### Applications launch multiple times or don't launch

- The `[ -n "$val" ]` check prevents execution when you cancel the launcher
- Ensure you're using the full command including the conditional check
- Test manually: `val=$(raffi -pI); [ -n "$val" ] && hyprctl dispatch exec "$val"`

### Command line appears in launcher

- This is normal when using Fuzzel mode with complex shell commands
- Consider using the native UI with `-u native` for a cleaner experience