# Live crop (Video FX) You pick **two rectangles**: 1. **Source** — which part of another client to copy, and how large that crop is. 2. **Viewer** — where that crop is drawn on the primary client, and how large it is shown. Numbers `0`–`1` are fractions of that window. Numbers **greater than 1** are pixels inside the window. In the GUI, **Pick source / Pick viewer** uses `slurp` and stores pixels. When the mouse is over the viewer, **clicks and keys go only to the source client**, not to the primary and not to the rest of the team. Configure this in the **Video FX** page of the control panel (`enboxer` with no arguments). It is not a second monitor and not a window swap. The other client can sit behind the main one; you still see the cropped piece. ## What Hyprland can actually do | Method | Sees a window that is fully covered? | What we use | | --- | --- | --- | | `grim` of a screen rectangle | No — only pixels currently on the output | **Yes, today** | | `hyprland-toplevel-export` | Yes — compositor copy of that window’s buffer | Not wired yet | | Desktop portal / PipeWire | Yes, heavier | No | So: keep the source window **on a visible output** (another monitor, or a slice of the same one). If you stack every client on the same pixels, the crop will show whatever is on top, not the hidden client. Wiring toplevel-export is the next capture step when you want a stacked layout. The overlay itself is an `mpv` window (`class: enboxer-vfx`) that reloads each `grim` frame.