298 lines
8.1 KiB
JSON
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"
|
|
}
|
|
}
|