| name | niri-ipc |
| description | Control the Niri Wayland compositor on Linux via its IPC (`niri msg --json` / $NIRI_SOCKET). Use when you need to query Niri state (outputs/workspaces/windows/focused window) or perform actions (focus/move/close windows, switch workspaces, spawn commands, reload config) from an OpenClaw agent running on a Niri session. |
Niri IPC
Use Niri IPC through the niri msg CLI (preferred) or by writing JSON requests to $NIRI_SOCKET.
This skill assumes:
- You are on Linux with Niri running.
$NIRI_SOCKET is set (usually true inside the Niri session).
Quick start (recommended)
Use the bundled helper script (wrapper around niri msg --json):
./skills/niri-ipc/scripts/niri.py version
./skills/niri-ipc/scripts/niri.py outputs
./skills/niri-ipc/scripts/niri.py workspaces
./skills/niri-ipc/scripts/niri.py windows
./skills/niri-ipc/scripts/niri.py focused-window
Deeper control
1) High-level helpers (window matching)
Use scripts/niri_ctl.py when you want to refer to windows by title/app_id substring instead of ids:
./skills/niri-ipc/scripts/niri_ctl.py list-windows --query firefox
./skills/niri-ipc/scripts/niri_ctl.py focus firefox
./skills/niri-ipc/scripts/niri_ctl.py close firefox
./skills/niri-ipc/scripts/niri_ctl.py move-to-workspace firefox 3
./skills/niri-ipc/scripts/niri_ctl.py move-to-workspace firefox web
./skills/niri-ipc/scripts/niri_ctl.py focus-workspace 2
./skills/niri-ipc/scripts/niri_ctl.py focus-workspace web