> ## 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-shot

> Frame window screenshots with gradients, shadows, corner radius, and custom chrome. Export PNG to file or clipboard.

otter-shot frames window screenshots with a gradient background, drop shadow, rounded corners, padding, and optional synthetic window chrome. Capture a live window, a hand-drawn region, or your entire desktop. Export as PNG through the portal save picker or to the clipboard.

## Launching

Run `otter-shot` from the app launcher or a terminal. The composer window opens immediately. No arguments required.

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

otter-shot ships a `.desktop` file so it appears in the app launcher. Bind it to a compositor shortcut if you use it often.

<Note>
  otter-shot appears in your application launcher through its installed `.desktop` entry. No manual PATH setup needed.
</Note>

## Capture Sources

Four ways to bring content into the composer.

<CardGroup cols={2}>
  <Card title="Focused Window" icon="window-maximize">
    Captures the currently focused window when you click the source button. No selection step.
  </Card>

  <Card title="Selected Window" icon="list-ul">
    Opens a live list of all toplevels reported by the compositor. Click a row to capture that window.
  </Card>

  <Card title="All Screens" icon="display">
    Captures the full desktop across every connected output in one frame.
  </Card>

  <Card title="Dragged Selection" icon="crop">
    Same drag-to-select UI as otter-screenshot and otter-rec. Drag to define a rectangular region.
  </Card>
</CardGroup>

<Note>
  If your compositor exposes `ext_foreign_toplevel_list_v1` metadata but not the full capture protocol, the window list still appears in the inspector. Those rows are marked metadata-only instead of failing silently when you try to capture them.
</Note>

## Composer Controls

After capture, the right-hand inspector panel controls the framing. Scroll the inspector if the controls exceed the visible height.

* **Source** re-captures using any of the four source modes without closing the composer.
* **Background** uses gradient swatches from the current capture first, then preset gradients, a portal-picked wallpaper, or your live `otter-wallpaper` state. Click the wallpaper field to open the file picker.
* **Frame** adjusts padding around the captured content, corner radius, drop shadow intensity and offset, and border color.
* **Options** toggles synthetic window chrome to add a mock title bar or control buttons.
* **Size** sets the output canvas dimensions. Controls update the preview in real time.
* **Export** saves to a file or copies to clipboard (see [Exporting](#exporting) below).

## Exporting

Two export paths once the composition looks right.

<Steps>
  <Step title="Export PNG to file">
    Click **Export PNG** in the inspector. The xdg-desktop-portal save picker opens so you can choose a filename and destination directory. otter-shot writes the framed PNG only after you confirm the picker.
  </Step>

  <Step title="Copy to clipboard">
    Click **Clipboard** to copy the framed PNG as `image/png`. Paste it into any application that accepts image data.
  </Step>
</Steps>

## Compositor Requirements

<Warning>
  otter-shot requires the `ext_image_copy_capture_v1` protocol for all capture operations. Screen and dragged-selection capture also require output capture source support from the compositor. Window capture requires both `ext_image_copy_capture_v1` and `ext_foreign_toplevel_list_v1`. If your compositor does not expose these protocols, the affected capture sources will be unavailable.
</Warning>
