mirror of
https://github.com/LGUG2Z/komorebi.git
synced 2026-01-16 22:13:22 +01:00
622 lines
15 KiB
JSON
622 lines
15 KiB
JSON
{
|
|
"$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"
|
|
}
|
|
]
|
|
},
|
|
"active_window_border_offset": {
|
|
"description": "Offset of the active window border (default: None)",
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"format": "int32"
|
|
},
|
|
"active_window_border_width": {
|
|
"description": "Width of the active window border (default: 20)",
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"format": "int32"
|
|
},
|
|
"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": "DEPRECATED from v0.1.19: use active_window_border_offset instead",
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/definitions/Rect"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"border_overflow_applications": {
|
|
"description": "Identify border overflow applications",
|
|
"type": [
|
|
"array",
|
|
"null"
|
|
],
|
|
"items": {
|
|
"$ref": "#/definitions/IdWithIdentifier"
|
|
}
|
|
},
|
|
"border_width": {
|
|
"description": "DEPRECATED from v0.1.19: use active_window_border_width instead",
|
|
"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"
|
|
},
|
|
"float_rules": {
|
|
"description": "Individual window floating rules",
|
|
"type": [
|
|
"array",
|
|
"null"
|
|
],
|
|
"items": {
|
|
"$ref": "#/definitions/IdWithIdentifier"
|
|
}
|
|
},
|
|
"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"
|
|
}
|
|
]
|
|
},
|
|
"layered_applications": {
|
|
"description": "Identify applications that have the WS_EX_LAYERED extended window style",
|
|
"type": [
|
|
"array",
|
|
"null"
|
|
],
|
|
"items": {
|
|
"$ref": "#/definitions/IdWithIdentifier"
|
|
}
|
|
},
|
|
"manage_rules": {
|
|
"description": "Individual window force-manage rules",
|
|
"type": [
|
|
"array",
|
|
"null"
|
|
],
|
|
"items": {
|
|
"$ref": "#/definitions/IdWithIdentifier"
|
|
}
|
|
},
|
|
"monitor_index_preferences": {
|
|
"description": "Set monitor index preferences",
|
|
"type": [
|
|
"object",
|
|
"null"
|
|
],
|
|
"additionalProperties": {
|
|
"$ref": "#/definitions/Rect"
|
|
}
|
|
},
|
|
"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"
|
|
]
|
|
},
|
|
"object_name_change_applications": {
|
|
"description": "Identify applications that send EVENT_OBJECT_NAMECHANGE on launch (very rare)",
|
|
"type": [
|
|
"array",
|
|
"null"
|
|
],
|
|
"items": {
|
|
"$ref": "#/definitions/IdWithIdentifier"
|
|
}
|
|
},
|
|
"resize_delta": {
|
|
"description": "Delta to resize windows by (default 50)",
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"format": "int32"
|
|
},
|
|
"tray_and_multi_window_applications": {
|
|
"description": "Identify tray and multi-window applications",
|
|
"type": [
|
|
"array",
|
|
"null"
|
|
],
|
|
"items": {
|
|
"$ref": "#/definitions/IdWithIdentifier"
|
|
}
|
|
},
|
|
"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"
|
|
},
|
|
"matching_strategy": {
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/definitions/MatchingStrategy"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"MatchingStrategy": {
|
|
"type": "string",
|
|
"enum": [
|
|
"Legacy",
|
|
"Equals",
|
|
"StartsWith",
|
|
"EndsWith",
|
|
"Contains",
|
|
"Regex"
|
|
]
|
|
},
|
|
"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"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|