Skip to content

Commands reference

A command binds one launchable thing to one monitor. This page is the field-by-field reference for the command editor.

Field Notes
Name Label for the command.
Preset Chrome kiosk, Edge kiosk, or Generic application — see below.
Executable path The app to launch (generic preset). Must be an absolute path. Kiosk presets take a URL instead.
Arguments Passed to the app. Supports {{monitor.*}} template vars. Quotes are honoured when splitting.
Working directory Optional. Hidden for the Chromium kiosk presets.
Placement Where the window goes — see Placement modes.
Launch at startup Start this command on boot / apply.
Restart if it exits The watchdog. Off = launch once, don’t restart.
Max restarts Crash-loop threshold (default 5). More exits than this within ~60s → crash-looping.
Launch delay (s) Wait before launching — for apps that need the desktop to settle.
Enabled Disabled commands are kept but never launched or watched.
Preset Use for
Chrome kiosk A URL in fullscreen Chrome.
Edge kiosk A URL in fullscreen Edge.
Generic application Any executable; arguments passed through untouched (template vars still rendered).

The Chromium kiosk presets encode the reliable “signage recipe” for you:

  • A separate per-monitor browser profile (--user-data-dir) so a second Chrome window doesn’t hand its URL to the first and exit.
  • Your URL is launched as an app window (--app=), positioned and sized to the resolved placement rect.
  • Noise is suppressed (no first-run bubble, no “restore session” prompt, no translate bar, autoplay allowed).
Mode Result
Fullscreen The whole monitor.
Maximized Maximized within the work area (respects the taskbar).
Left / Right / Top / Bottom half Half the work area, so tiled windows avoid the taskbar.
Custom rect X / Y / Width / Height as percentages of the monitor.

Use these in Arguments (and generic executable args). They expand to the command’s resolved placement rect — a left-half command gets left-half geometry, not the whole monitor. The set is fixed; unknown placeholders are left as-is.

Variable Value
{{monitor.x}} Left edge (virtual-desktop pixels).
{{monitor.y}} Top edge.
{{monitor.width}} Width of the placement rect.
{{monitor.height}} Height of the placement rect.
{{monitor.index}} Monitor’s position in detection order.
{{monitor.label}} The label you gave the monitor.

Example — a generic app told to size itself to its monitor:

--window-position={{monitor.x}},{{monitor.y}} --window-size={{monitor.width}}x{{monitor.height}}

Once a command is saved, its panel shows a status strip: Run, Stop, Restart, the current PID, and the live process state. If a window is launched but Panes can’t find it (some apps never show one where expected), the command reports “launched, but its window was never found” rather than failing outright.