> ## Documentation Index
> Fetch the complete documentation index at: https://docs.otter-shell.org/llms.txt
> Use this file to discover all available pages before exploring further.

# otter-launcher

> App launcher with fuzzy search, IME, and calculator, emoji, clipboard, and desktop file search modes.

`otter-launcher` is a centered search overlay. Like fuzzel, rofi, or wofi, on the shared Otter UI stack.

## Usage

```bash theme={null}
otter-launcher
```

Bind to a compositor hotkey, for example `Super+D`:

```ini theme={null}
# Hyprland
bind = $mainMod, D, exec, otter-launcher
```

One shot per run: open, search, launch (or Escape), exit. A socket prevents duplicate overlays. Launch again to close the open one.

## Launcher extensions

Extensions appear above app matches:

| Input                         | Action                                                       |
| ----------------------------- | ------------------------------------------------------------ |
| `=2+3*4` or `calc 2+3*4`      | Calculator via [otter-calc](/apps/otter-calc)                |
| `:heart` or `emoji heart`     | Emoji search via [otter-emoji](/apps/otter-emoji)            |
| `clip` or `clip query`        | Clipboard history via [otter-clip](/apps/otter-clip)         |
| `file invoice` or `f invoice` | Fuzzy path search via [otter-search](/apps/otter-search)     |
| `grep TODO` or `g TODO`       | Content (grep) search via [otter-search](/apps/otter-search) |

File and grep modes talk to the `otter-search` daemon over its runtime socket. Start the daemon first (session autostart is enough). Queries are debounced so typing does not flood the daemon. Selecting a path opens it with `xdg-open` (or a matching handler).

## Keyboard shortcuts

| Key                 | Action                                        |
| ------------------- | --------------------------------------------- |
| Escape              | Close launcher                                |
| Enter               | Launch selected item or copy extension result |
| Up / Down           | Move selection                                |
| Tab / Shift+Tab     | Next / previous                               |
| Page Up / Page Down | Scroll by page                                |
| Home / End          | First / last item                             |
| Ctrl+U              | Clear search                                  |
| Ctrl+W              | Delete last word                              |
| Backspace           | Delete character                              |

During IME composition, Escape and Enter go to the IME.

## Configuration

Config: `~/.config/otter-shell/otter-launcher.conf`. Created on first run.

<Tip>
  Size, colors, and placeholder text: [otter-settings](/desktop/otter-settings), **Launcher** tab.
</Tip>

```conf theme={null}
width_percent = 30
height_percent = 35
border_width = 2
icon_size = 32
item_height = 48
input_height = 40
font_size = 16
placeholder_text = " Search applications..."
overlay_color = "#1b1b1b99"
```

Most color fields inherit from [theme.conf](/configuration/themes) when omitted.

## Terminal detection

For `.desktop` entries with `Terminal=true`, the launcher picks a terminal:

1. `$TERMINAL` environment variable
2. Probes `$PATH` for `xdg-terminal-exec`, `foot`, `otter-term`, `ghostty`, `kitty`, `alacritty`, and others

Each terminal uses its correct exec flag (`-e`, `--`, etc.).
