# IPC tarmac exposes a full IPC (inter-process communication) interface over a Unix domain socket. External tools, scripts, and the `tarmacctl` CLI can send commands and receive events. ## Overview The IPC system provides: - **Command execution** — focus, swap, resize, workspace management, etc. - **State queries** — get windows, workspaces, monitors, layout trees - **Event subscription** — real-time stream of workspace changes, window focus, etc. ## Sections - [Socket & Protocol](/docs/ipc/socket-protocol) — socket location, JSON wire format, permissions - [tarmacctl](/docs/ipc/tarmacctl) — the CLI control tool - [Commands](/docs/ipc/commands) — complete command reference - [Events & Subscribe](/docs/ipc/events-subscribe) — subscribing to real-time events