Panes
Panes is a per-machine background agent that launches applications on the specific physical monitors you assign them to, every boot — and keeps them there through reboots, monitor power-off, re-cabling, port changes, and GPU-driver reinstalls. You configure it from a local web UI showing a to-scale, pannable canvas of your physical display layout.
The problem it solves
Windows has no supported "start this process on monitor 2." Window managers only reposition
already-open windows; signage platforms only run their own player. And Windows display
indices (\\.\DISPLAY1) renumber on reboot with a panel off, a cable swap, or a driver
update — so position-remembering tools put the wrong app on the wrong screen.
Panes fixes this with three ideas:
- EDID-based stable hardware identity — a monitor is matched by its EDID (manufacturer, product, serial), not by an OS index that renumbers.
- Launch as a first-class primitive — Panes starts the app on the right screen; it doesn't just move a window you already opened.
- A watchdog — anything that dies is restarted; anything on the wrong screen is re-placed.
Who it's for
Kiosk, signage, and control-room operators running unattended Windows (and Linux/X11) boxes with 2–8 displays. Also handy for desktop power users who want a fixed launch-and-arrange layout.
Core objects
- Monitor layout canvas — drag to-scale display nodes to match the physical arrangement.
- Commands — per monitor: a preset (Chrome/Edge kiosk or generic application), executable,
args (with
{{monitor.*}}template vars), placement, startup toggle, and watchdog.
Next steps
- Getting started — arrange your monitors and assign an app.
- Setup & installation — install, ports, first run.
- Concepts — monitor identity, watchdog, reconcile.
- Commands reference — presets, placement, template vars.
- Public API — set commands from an external app.