otter-overview is a one-shot overlay. Bind it to a hotkey. Workspace cards, window thumbnails, search, and an app grid. Click a tile to jump there. Type to launch an app. Escape closes.
The same package ships otter-switcher, an Alt-Tab strip for the current workspace only. See that page for binds and input.
The overlay uses zwlr_layer_shell_v1 on the output under the cursor. It is not a compositor.
Niri has its own overview. That one uses otter-wallpaper overview_enabled for a blurred backdrop. otter-overview is a separate app.
Usage
What you can do
- Click a window tile to focus it. The overlay closes first so it cannot steal focus back.
- Click a workspace card to switch to it.
- Click a mini workspace in the bottom strip to scroll that card to the center without closing.
- While the overlay is open, Ctrl+1 through Ctrl+9 jump to workspaces 1 to 9. Ctrl+0 is the tenth. Same as the mini strip. Digit keys without Ctrl still type into search.
- Drag a tile onto another card to move that window. Drag onto another tile in the same card to swap them. Drop on empty space snaps back.
- Hover a tile and click the close chip to close that window.
- Click the search bar, or type, for the application grid. Enter launches. Escape clears search, then closes.
- Wheel or trackpad scrolls the card strip, or pages the app grid. Page Up / Page Down and the
< n / m >chips change pages. Arrows and Tab move between tiles or app cells.
zwp_pointer_gestures_v1, a three-finger vertical swipe tracks overlay progress 1:1 while it is open. Touchpad motion on the card strip stays 1:1 until you lift, then snaps to the nearest card.
Only that output’s workspaces show.
If tiled windows sit past the output edge (Hyprland scrolling layout, niri columns, mango scrolling tags), the card becomes a sideways lane. Wheel pans that lane. A niri floating window stays on the card instead of joining the lane.
Configuration
Config:~/.config/otter-shell/otter-overview.conf (fallback: /etc/otter-shell/otter-overview.conf). Created on first run.
Omit color keys (
overlay_color, card_color, card_active_color, card_border_color, tile_color, search_color, text_color, muted_color, accent_color) to inherit from theme.conf. font_path, font_size, and border_radius are optional the same way.
Thumbnails
On startup it captures every window before the first paint, active workspace first. If capture is missing, tiles use a stable per-app tint. Hyprland can also usehyprland_toplevel_export. Other compositors use ext-image-copy-capture when present.
Compositor support
Needs
zwlr_layer_shell_v1.
Keyboard
Dependencies
- Wayland compositor with
zwlr_layer_shell_v1 - Window thumbnails need a capture protocol (
ext_image_copy_captureor Hyprland export)

