mmsg(1) mmsg manual mmsg(1)

mmsg - send commands to the mango Wayland compositor and receive JSON responses

mmsg <command> [args...]
mmsg --help | -h | help

mmsg connects to a running mango(1) compositor via the UNIX domain socket specified by the MANGO_INSTANCE_SIGNATURE environment variable. It sends the given command and prints the JSON reply to standard output. In watch mode it keeps the connection open and prints a stream of updates as they occur.

If --help, -h or help is given, a complete usage summary is printed and the program exits with success.

All get commands print a single JSON object and then close the connection.

Return compositor version.
Return the global pointer position (x, y) and the monitor under it (null if over no output).
Return current keymode.
Return current keyboard layout.
Return the last open surface (application) for the given monitor. If monitor is omitted the focused monitor is used.
Return details of the named monitor.
Return details of the currently focused client.
Return details of the client with the given numeric ID.
Return details of a specific tag (1-based index) on the named monitor.
List all clients.
List all monitors.
List physical input devices, grouped by device, with their types, vendor/product IDs, interface count and matched device rule, if any.
List all open layer surfaces with their monitor, layer and namespace name.
List tags for all monitors.
List all available window layouts (symbol and name).
List tags for a specific monitor.
Invoke an internal compositor function. The function name and its arguments are separated by commas. Optionally add client,<id> (before or after the function) to target a specific client.
Examples:
  • mmsg dispatch togglefloating
  • mmsg dispatch movewin,10,100
  • mmsg dispatch movewin,10,100 client,4

Watch commands keep the connection open and continuously output JSON updates. The initial state is sent immediately, followed by updates whenever relevant changes occur.

Stream updates for the named monitor.
Stream updates for the focused client.
Stream updates for the client with the given ID.
Stream tag updates for the named monitor.
Stream updates for all monitors.
Stream updates for all tags.
Stream updates for all clients.
Stream the last input device that triggered an event.
Stream keymode changes.
Stream keyboard layout changes.
Stream last open surface changes for a specific monitor (or the focused one).

Path to the compositor's IPC socket. Set automatically by mango(1). If unset, mmsg prints an error and exits.

0
Success (or help message printed).
An error occurred (connection refused, send/receive error, etc.).

mango(1)

Report issues at the project's issue tracker.

2026-05-31 mmsg 0.17.4