IPC Command Reference
Complete list of commands accepted by the tarmac IPC server.
Action commands
These commands perform an action and return a success/error response with no data.
focus
Move focus to a neighboring window.
tarmacctl focus left|right|up|down
swap
Swap the focused window with its neighbor.
tarmacctl swap left|right|up|down
resize
Adjust the split ratio of the nearest divider.
tarmacctl resize left|right|up|down
close
Close the focused window.
tarmacctl close
equalize
Reset all split ratios in the active workspace to 50/50.
tarmacctl equalize
toggle-floating
Toggle the focused window between tiled and floating.
tarmacctl toggle-floating
workspace
Switch to a numbered workspace.
tarmacctl workspace 1 # workspace 1-10
tarmacctl workspace next # cycle forward
tarmacctl workspace prev # cycle backward
move-to-workspace
Move the focused window to a numbered workspace.
tarmacctl move-to-workspace 3
toggle-special
Toggle a named special workspace's visibility.
tarmacctl toggle-special term
move-to-special
Move the focused window to a named special workspace.
tarmacctl move-to-special term
focus-monitor
Focus the next or previous monitor.
tarmacctl focus-monitor next
tarmacctl focus-monitor prev
move-to-monitor
Move the focused window to the next or previous monitor.
tarmacctl move-to-monitor next
tarmacctl move-to-monitor prev
reload
Hot reload the configuration file.
tarmacctl reload
exec
Execute a shell command.
tarmacctl exec "open -a Safari"
Query commands
These commands return JSON data about the current state.
get-workspaces
Get all workspaces with their window count and assignment.
tarmacctl get-workspaces
Response:
{
"success": true,
"data": [
{ "id": 1, "monitor": 0, "windows": 3, "focused": true },
{ "id": 2, "monitor": 0, "windows": 1, "focused": false }
]
}
get-focused
Get details about the focused window.
tarmacctl get-focused
Response:
{
"success": true,
"data": {
"window_id": 1234,
"app_name": "Firefox",
"app_bundle": "org.mozilla.firefox",
"title": "GitHub",
"floating": false
}
}
get-windows
Get all managed windows.
tarmacctl get-windows
Response:
{
"success": true,
"data": [
{ "window_id": 1234, "app_name": "Firefox", "title": "GitHub", "workspace": 1, "floating": false },
{ "window_id": 5678, "app_name": "WezTerm", "title": "~", "workspace": 1, "floating": false }
]
}
get-monitors
Get monitor list with geometry.
tarmacctl get-monitors
Response:
{
"success": true,
"data": [
{ "index": 0, "x": 0, "y": 0, "width": 2560, "height": 1440, "focused": true }
]
}
get-tree
Get the BSP layout tree for a workspace. Optionally specify a workspace number (defaults to the active workspace).
tarmacctl get-tree # active workspace
tarmacctl get-tree 2 # workspace 2
Response includes the tree structure with split directions, ratios, and window IDs at leaf nodes.
Subscribe
See Events & Subscribe.