MERDECTL(1) General Commands Manual MERDECTL(1)

merdectlcontrol a running MERDE session

merdectl [--socket path] command [argument ...]

merdectl sends one datagram command to a running merde(1) session. The default socket is $XDG_RUNTIME_DIR/merde/session.sock. Except for list, successful delivery produces no output and does not wait for the command to finish.

The control endpoint is an AF_UNIX SOCK_DGRAM socket. One datagram contains one command of at most 1023 bytes. Arguments are joined with single ASCII spaces; the protocol has no quoting or escaping layer. For notify and launch, the session passes the complete text after the verb to the requested operation. Other commands split arguments on ASCII whitespace.

The protocol has no reply or acknowledgement. A zero exit status means the datagram was delivered to the socket, not that the session accepted or completed the operation. Malformed and unknown commands are logged by the session and ignored. list with the default socket is different: it reads $XDG_RUNTIME_DIR/merde/state.txt directly and fails if that file cannot be opened.

Print the current state file.
Start the configured terminal.
next |
Focus another window on the active workspace.
next | |
Switch the active output to a workspace.
id next | |
Move a window to a workspace.
id
Ask a window to close.
id x [y]
Place a window at absolute coordinates.
id dx [dy]
Move a window relative to its current position.
id width [height]
Set a window size.
id dw [dh]
Resize a window relative to its current size.
id
Toggle fullscreen for a window.
text ...
Send a notification through the configured notifier.
[path [output=primary [region=WIDTHxHEIGHT+X+Y]]]
Start the configured screenshot tool.
bar | | |
Restart one or all long-lived companions.
command ...
Run a shell command inside the session.
End the MERDE session.

Window identifiers are positive integers assigned in mapping order. They are unique and are not reused during one MERDE session, but numbering starts again at 1 in the next session. Read the current identifiers from merdectl list. An identifier from an earlier session is invalid.

Selects the default runtime directory. On MOUSE the fallback is /var/run/user/uid.

The merdectl utility exits 0 on success, and >0 if an error occurs.

Socket creation and delivery failures are written to standard error. Commands longer than 1023 bytes are rejected before delivery. Because the protocol has no response, inspect $XDG_RUNTIME_DIR/merde-session.log when a delivered command has no visible effect.

merde(1), merde-screenshot(1), merde-config(5)

MOUSE August 17, 2026 MERDECTL(1)