enBoxer/docs/VIDEO.md
en 936f123b18 Three routing modes: maps, mirror, off.
Mirror clones the real key to the other clients (passthrough still skipped).
Off leaves the front window alone except the mode-toggle hotkey.
2026-09-15 08:14:08 +02:00

20 lines
1.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Live crop (Video FX)
This is a picture-in-picture of **another** game window, drawn on top of the one you are playing.
Example: your main character fills the monitor. A rectangle in the corner shows your second characters party frames or bags. When the mouse is in that rectangle, clicks and keys go to the second client, not to the main.
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 windows 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.