-
-
Notifications
You must be signed in to change notification settings - Fork 6
Features Windows Workspaces
coe0718 edited this page May 23, 2026
·
3 revisions
Manage windows and virtual desktops programmatically.
deskbrid windows list{"action": "windows.list"}Response:
{
"type": "response",
"status": "ok",
"data": [
{
"id": "12345678",
"title": "deskbrid – ~/projects/deskbrid/docs/wiki",
"app_id": "org.gnome.Terminal",
"workspace": 1,
"x": 100,
"y": 50,
"width": 1280,
"height": 720,
"focused": false,
"minimized": false
}
]
}deskbrid windows focus --app code
deskbrid windows focus --window 12345678
deskbrid windows focus --title "VS Code" --exactProtocol:
{"action": "windows.focus", "window_id": "code"}deskbrid windows get 12345678Protocol:
{"action": "windows.get", "window_id": "12345678"}deskbrid windows close --app codeProtocol:
{"action": "windows.close", "window_id": "code"}deskbrid windows minimize 12345678
deskbrid windows maximize 12345678Protocol:
{"action": "windows.minimize", "window_id": "12345678"}
{"action": "windows.maximize", "window_id": "12345678"}deskbrid windows move-resize 12345678 --x 100 --y 100 --width 800 --height 600Protocol:
{
"action": "windows.move_resize",
"window_id": "12345678",
"x": 100,
"y": 100,
"width": 800,
"height": 600
}deskbrid windows tile 12345678 --preset left
deskbrid windows tile 12345678 --preset right --padding 10Presets:
-
left- Left half -
right- Right half -
max- Maximize -
center- Center on screen -
top-left,top-right,bottom-left,bottom-right
Protocol:
{
"action": "windows.tile",
"window_id": "12345678",
"preset": "left",
"monitor": 0,
"padding": 10
}deskbrid windows activate-or-launch code
deskbrid windows activate-or-launch firefox --command ["firefox", "--new-window"]Protocol:
{
"action": "windows.activate_or_launch",
"app_id": "code",
"command": ["code", "--new-window"],
"workdir": "/home/user/projects"
}deskbrid workspaces listProtocol:
{"action": "workspaces.list"}Response:
{
"type": "response",
"status": "ok",
"data": [
{"id": 1, "name": "1", "focused": true},
{"id": 2, "name": "2", "focused": false},
{"id": 3, "name": "3", "focused": false}
]
}deskbrid workspaces switch 2Protocol:
{"action": "workspaces.switch", "workspace_id": 2}deskbrid workspaces move-window 12345678 --workspace 3
deskbrid workspaces move-window 12345678 --workspace 3 --followProtocol:
{
"action": "workspaces.move_window",
"window_id": "12345678",
"workspace_id": 3,
"follow": true
}from deskbrid import Deskbrid
client = Deskbrid()
# List and focus VS Code
windows = client.list_windows()
code_window = next((w for w in windows if w.app_id == 'code'), None)
if code_window:
client.focus_window(app_id='code')
client.type_text("Fixed the issue!\n")→ {"action": "windows.list"}
← [{"id": "abc123", "title": "VS Code", "app_id": "code", ...}]
→ {"action": "windows.focus", "window_id": "abc123"}
← {"type": "response", "status": "ok"}
→ {"action": "input.keyboard", "action": "type", "text": "git status\n"}- Accessibility
- Apps
- Audio
- Backlight (LED driver)
- Bluetooth
- Clipboard
- Color Picker
- Desktop Portal
- Desktop Settings
- Files
- Hotkeys
- Input
- Keyboard Layouts
- Media (MPRIS)
- Monitors
- Network
- Notifications
- Print (CUPS)
- Screenshots
- Screen Recording
- Screencast
- Self-Update
- System
- System Tray
- Systemd Units & Timers
- Terminals (PTY)
- Windows & Workspaces