Files
yabai-raycast/package.json
2026-02-06 15:43:34 -05:00

298 lines
8.1 KiB
JSON

{
"$schema": "https://www.raycast.com/schemas/extension.json",
"name": "yabai",
"title": "Yabai",
"description": "Control Yabai using Raycast. Requires yabai to be installed.",
"icon": "yabai-icon-512px.png",
"author": "krzysztoff1",
"contributors": [
"rubentsirunyan",
"webdesus",
"d34dh0r53",
"lhy-a",
"joshuafhiggins"
],
"categories": [
"Developer Tools",
"Productivity"
],
"license": "MIT",
"commands": [
{
"name": "custom-yabai-command",
"title": "Run Custom Yabai Command",
"description": "Run custom Yabai command",
"mode": "no-view",
"arguments": [
{
"name": "command",
"placeholder": "Command",
"type": "text",
"required": false
}
]
},
{
"name": "screens-menu-bar",
"title": "Show Current Screen",
"description": "Update the status information about the currently selected screen.",
"mode": "menu-bar"
},
{
"name": "windows-list-current-space",
"title": "Windows List by Current Space",
"description": "Show the application of the current space.",
"mode": "view"
},
{
"name": "toggle",
"title": "Toggle Yabai",
"description": "This command will start Yabai using `yabai --start-service` or stop it using `yabai --stop-service`.",
"mode": "no-view"
},
{
"name": "toggle-bsp",
"title": "Toggle BSP Layout",
"description": "Toggle BSP layout for the current space.",
"mode": "no-view"
},
{
"name": "rotate",
"title": "Rotate",
"description": "Rotate the tree 90 degrees clockwise.",
"mode": "no-view"
},
{
"name": "mirror-x",
"title": "Mirror X",
"description": "Mirror the tree on the X axis.",
"mode": "no-view"
},
{
"name": "mirror-y",
"title": "Mirror Y",
"description": "Mirror the tree on the Y axis.",
"mode": "no-view"
},
{
"name": "balance",
"title": "Balance",
"description": "Balance the windows.",
"mode": "no-view"
},
{
"name": "restart",
"title": "Restart",
"description": "Restart yabai service.",
"mode": "no-view"
},
{
"name": "start",
"title": "Start",
"description": "Start yabai service.",
"mode": "no-view"
},
{
"name": "stop",
"title": "Stop",
"description": "Stop yabai service.",
"mode": "no-view"
},
{
"name": "layout-bsp",
"title": "Layout BSP",
"description": "Switch to BSP layout for the current space.",
"mode": "no-view"
},
{
"name": "layout-stack",
"title": "Layout Stack",
"description": "Switch to stack layout for the current space.",
"mode": "no-view"
},
{
"name": "layout-float",
"title": "Layout Float",
"description": "Switch to float layout for the current space.",
"mode": "no-view"
},
{
"name": "create-space-and-focus",
"title": "Create & Focus New Space",
"subtitle": "Yabai",
"description": "Creates a new workspace and focuses it.",
"mode": "no-view"
},
{
"name": "focus-space",
"title": "Focus Space",
"subtitle": "Yabai",
"description": "Focuses the specified space.",
"mode": "no-view",
"arguments": [
{
"type": "text",
"placeholder": "Space Number",
"required": true,
"name": "spaceIndex"
}
]
},
{
"name": "destroy-space",
"title": "Destroy Current Space",
"subtitle": "Yabai",
"description": "Destroys the currently focused space.",
"mode": "no-view"
},
{
"name": "move-window-next",
"title": "Move Window to Next Space",
"subtitle": "Yabai",
"description": "Moves the currently focused window to the next space.",
"mode": "no-view"
},
{
"name": "move-window-prev",
"title": "Move Window to Previous Space",
"subtitle": "Yabai",
"description": "Moves the currently focused window to the previous space.",
"mode": "no-view"
},
{
"name": "focus-window-north",
"title": "Focus Active Window North",
"subtitle": "Yabai",
"description": "Focus the window to the north of the currently focused window.",
"mode": "no-view"
},
{
"name": "focus-window-south",
"title": "Focus Active Window South",
"subtitle": "Yabai",
"description": "Focus the window to the south of the currently focused window.",
"mode": "no-view"
},
{
"name": "focus-window-east",
"title": "Focus Active Window East",
"subtitle": "Yabai",
"description": "Focus the window to the east of the currently focused window.",
"mode": "no-view"
},
{
"name": "focus-window-west",
"title": "Focus Active Window West",
"subtitle": "Yabai",
"description": "Focus the window to the west of the currently focused window.",
"mode": "no-view"
},
{
"name": "swap-window-north",
"title": "Swap Active Window North",
"subtitle": "Yabai",
"description": "Swap window position and size with window to the north of the active window.",
"mode": "no-view"
},
{
"name": "swap-window-south",
"title": "Swap Active Window South",
"subtitle": "Yabai",
"description": "Swap window position and size with window to the south of the active window.",
"mode": "no-view"
},
{
"name": "swap-window-east",
"title": "Swap Active Window East",
"subtitle": "Yabai",
"description": "Swap window position and size with window to the east of the active window.",
"mode": "no-view"
},
{
"name": "swap-window-west",
"title": "Swap Active Window West",
"subtitle": "Yabai",
"description": "Swap window position and size with window to the west of the active window.",
"mode": "no-view"
},
{
"name": "warp-window-north",
"title": "Warp Active Window North",
"subtitle": "Yabai",
"description": "Warp at window to the north of the focused window.",
"mode": "no-view"
},
{
"name": "warp-window-south",
"title": "Warp Active Window South",
"subtitle": "Yabai",
"description": "Warp at window to the south of the focused window.",
"mode": "no-view"
},
{
"name": "warp-window-east",
"title": "Warp Active Window East",
"subtitle": "Yabai",
"description": "Warp at window to the east of the focused window.",
"mode": "no-view"
},
{
"name": "warp-window-west",
"title": "Warp Active Window West",
"subtitle": "Yabai",
"description": "Warp at window to the west of the focused window.",
"mode": "no-view"
},
{
"name": "search-windows",
"title": "Search Windows",
"subtitle": "Yabai",
"description": "Search and focus Yabai managed windows",
"mode": "view",
"keywords": [
"s",
"window",
"search"
]
},
{
"name": "focus-next-same-app",
"title": "Focus Next Window of Same App",
"subtitle": "Yabai",
"description": "Focus the next window of the current application",
"mode": "no-view"
}
],
"preferences": [
{
"name": "yabaiPath",
"title": "Yabai installation path",
"required": false,
"type": "textfield",
"description": "Location to the Yabai installation (Defaults to `/opt/homebrew/bin/yabai` on M1 Macs, and `/usr/local/bin/yabai` otherwise)"
}
],
"dependencies": {
"@raycast/api": "^1.64.4",
"@raycast/utils": "^1.10.1",
"execa": "^8.0.1",
"ray": "^0.0.1",
"tiny-pinyin": "^1.3.2"
},
"devDependencies": {
"@raycast/eslint-config": "1.0.8",
"@types/node": "20.10.5",
"@types/react": "18.2.45",
"eslint": "^8.56.0",
"prettier": "^3.1.1",
"typescript": "^5.3.3"
},
"scripts": {
"build": "ray build -e dist",
"dev": "ray develop",
"fix-lint": "ray lint --fix",
"lint": "ray lint",
"publish": "npx @raycast/api@latest publish"
}
}