{ "$schema": "http://json-schema.org/draft-07/schema#", "title": "StaticConfig", "type": "object", "properties": { "active_window_border": { "description": "Display an active window border (default: false)", "type": [ "boolean", "null" ] }, "active_window_border_colours": { "description": "Active window border colours for different container types", "anyOf": [ { "$ref": "#/definitions/ActiveWindowBorderColours" }, { "type": "null" } ] }, "alt_focus_hack": { "description": "Always send the ALT key when using focus commands (default: false)", "type": [ "boolean", "null" ] }, "app_specific_configuration_path": { "description": "Path to applications.yaml from komorebi-application-specific-configurations (default: None)", "type": [ "string", "null" ] }, "border_offset": { "description": "Offset of the active window border (default: None)", "anyOf": [ { "$ref": "#/definitions/Rect" }, { "type": "null" } ] }, "border_width": { "description": "Width of the active window border (default: 20)", "type": [ "integer", "null" ], "format": "int32" }, "cross_monitor_move_behaviour": { "description": "Determine what happens when a window is moved across a monitor boundary (default: Swap)", "anyOf": [ { "$ref": "#/definitions/MoveBehaviour" }, { "type": "null" } ] }, "default_container_padding": { "description": "Global default container padding (default: 10)", "type": [ "integer", "null" ], "format": "int32" }, "default_workspace_padding": { "description": "Global default workspace padding (default: 10)", "type": [ "integer", "null" ], "format": "int32" }, "focus_follows_mouse": { "description": "Determine focus follows mouse implementation (default: None)", "anyOf": [ { "$ref": "#/definitions/FocusFollowsMouseImplementation" }, { "type": "null" } ] }, "global_work_area_offset": { "description": "Global work area (space used for tiling) offset (default: None)", "anyOf": [ { "$ref": "#/definitions/Rect" }, { "type": "null" } ] }, "invisible_borders": { "description": "Dimensions of Windows' own invisible borders; don't set these yourself unless you are told to", "anyOf": [ { "$ref": "#/definitions/Rect" }, { "type": "null" } ] }, "monitors": { "description": "Monitor and workspace configurations", "type": [ "array", "null" ], "items": { "$ref": "#/definitions/MonitorConfig" } }, "mouse_follows_focus": { "description": "Enable or disable mouse follows focus (default: true)", "type": [ "boolean", "null" ] }, "resize_delta": { "description": "Delta to resize windows by (default 50)", "type": [ "integer", "null" ], "format": "int32" }, "unmanaged_window_operation_behaviour": { "description": "Determine what happens when commands are sent while an unmanaged window is in the foreground (default: Op)", "anyOf": [ { "$ref": "#/definitions/OperationBehaviour" }, { "type": "null" } ] }, "window_container_behaviour": { "description": "Determine what happens when a new window is opened (default: Create)", "anyOf": [ { "$ref": "#/definitions/WindowContainerBehaviour" }, { "type": "null" } ] }, "window_hiding_behaviour": { "description": "Which Windows signal to use when hiding windows (default: minimize)", "anyOf": [ { "$ref": "#/definitions/HidingBehaviour" }, { "type": "null" } ] } }, "definitions": { "ActiveWindowBorderColours": { "type": "object", "required": [ "monocle", "single", "stack" ], "properties": { "monocle": { "description": "Border colour when the container is in monocle mode", "allOf": [ { "$ref": "#/definitions/Rgb" } ] }, "single": { "description": "Border colour when the container contains a single window", "allOf": [ { "$ref": "#/definitions/Rgb" } ] }, "stack": { "description": "Border colour when the container contains multiple windows", "allOf": [ { "$ref": "#/definitions/Rgb" } ] } } }, "ApplicationIdentifier": { "type": "string", "enum": [ "Exe", "Class", "Title" ] }, "DefaultLayout": { "type": "string", "enum": [ "BSP", "Columns", "Rows", "VerticalStack", "HorizontalStack", "UltrawideVerticalStack" ] }, "FocusFollowsMouseImplementation": { "oneOf": [ { "description": "A custom FFM implementation (slightly more CPU-intensive)", "type": "string", "enum": [ "Komorebi" ] }, { "description": "The native (legacy) Windows FFM implementation", "type": "string", "enum": [ "Windows" ] } ] }, "HidingBehaviour": { "oneOf": [ { "description": "Use the SW_HIDE flag to hide windows when switching workspaces (has issues with Electron apps)", "type": "string", "enum": [ "Hide" ] }, { "description": "Use the SW_MINIMIZE flag to hide windows when switching workspaces (has issues with frequent workspace switching)", "type": "string", "enum": [ "Minimize" ] }, { "description": "Use the undocumented SetCloak Win32 function to hide windows when switching workspaces (has foregrounding issues)", "type": "string", "enum": [ "Cloak" ] } ] }, "IdWithIdentifier": { "type": "object", "required": [ "id", "kind" ], "properties": { "id": { "type": "string" }, "kind": { "$ref": "#/definitions/ApplicationIdentifier" } } }, "MonitorConfig": { "type": "object", "required": [ "workspaces" ], "properties": { "work_area_offset": { "description": "Monitor-specific work area offset (default: None)", "anyOf": [ { "$ref": "#/definitions/Rect" }, { "type": "null" } ] }, "workspaces": { "description": "Workspace configurations", "type": "array", "items": { "$ref": "#/definitions/WorkspaceConfig" } } } }, "MoveBehaviour": { "oneOf": [ { "description": "Swap the window container with the window container at the edge of the adjacent monitor", "type": "string", "enum": [ "Swap" ] }, { "description": "Insert the window container into the focused workspace on the adjacent monitor", "type": "string", "enum": [ "Insert" ] } ] }, "OperationBehaviour": { "oneOf": [ { "description": "Process komorebic commands on temporarily unmanaged/floated windows", "type": "string", "enum": [ "Op" ] }, { "description": "Ignore komorebic commands on temporarily unmanaged/floated windows", "type": "string", "enum": [ "NoOp" ] } ] }, "Rect": { "type": "object", "required": [ "bottom", "left", "right", "top" ], "properties": { "bottom": { "description": "The bottom point in a Win32 Rect", "type": "integer", "format": "int32" }, "left": { "description": "The left point in a Win32 Rect", "type": "integer", "format": "int32" }, "right": { "description": "The right point in a Win32 Rect", "type": "integer", "format": "int32" }, "top": { "description": "The top point in a Win32 Rect", "type": "integer", "format": "int32" } } }, "Rgb": { "type": "object", "required": [ "b", "g", "r" ], "properties": { "b": { "description": "Blue", "type": "integer", "format": "uint32", "minimum": 0.0 }, "g": { "description": "Green", "type": "integer", "format": "uint32", "minimum": 0.0 }, "r": { "description": "Red", "type": "integer", "format": "uint32", "minimum": 0.0 } } }, "WindowContainerBehaviour": { "oneOf": [ { "description": "Create a new container for each new window", "type": "string", "enum": [ "Create" ] }, { "description": "Append new windows to the focused window container", "type": "string", "enum": [ "Append" ] } ] }, "WorkspaceConfig": { "type": "object", "required": [ "name" ], "properties": { "container_padding": { "description": "Container padding (default: global)", "type": [ "integer", "null" ], "format": "int32" }, "custom_layout": { "description": "Custom Layout (default: None)", "type": [ "string", "null" ] }, "custom_layout_rules": { "description": "Layout rules (default: None)", "type": [ "object", "null" ], "additionalProperties": { "type": "string" } }, "initial_workspace_rules": { "description": "Initial workspace application rules", "type": [ "array", "null" ], "items": { "$ref": "#/definitions/IdWithIdentifier" } }, "layout": { "description": "Layout (default: BSP)", "anyOf": [ { "$ref": "#/definitions/DefaultLayout" }, { "type": "null" } ] }, "layout_rules": { "description": "Layout rules (default: None)", "type": [ "object", "null" ], "additionalProperties": { "$ref": "#/definitions/DefaultLayout" } }, "name": { "description": "Name", "type": "string" }, "workspace_padding": { "description": "Container padding (default: global)", "type": [ "integer", "null" ], "format": "int32" }, "workspace_rules": { "description": "Permanent workspace application rules", "type": [ "array", "null" ], "items": { "$ref": "#/definitions/IdWithIdentifier" } } } } } }