diff --git a/schema.asc.json b/schema.asc.json index fb5f2012..1dffd1c5 100644 --- a/schema.asc.json +++ b/schema.asc.json @@ -13,7 +13,10 @@ "name" ], "properties": { - "float_identifiers": { + "identifier": { + "$ref": "#/definitions/IdWithIdentifier" + }, + "ignore_identifiers": { "type": [ "array", "null" @@ -22,9 +25,6 @@ "$ref": "#/definitions/MatchingRule" } }, - "identifier": { - "$ref": "#/definitions/IdWithIdentifier" - }, "name": { "type": "string" }, diff --git a/schema.bar.json b/schema.bar.json index 3c0348de..dd176d34 100644 --- a/schema.bar.json +++ b/schema.bar.json @@ -73,6 +73,99 @@ "enable": { "description": "Enable the Battery widget", "type": "boolean" + }, + "label_prefix": { + "description": "Display label prefix", + "oneOf": [ + { + "description": "Show no prefix", + "type": "string", + "enum": [ + "None" + ] + }, + { + "description": "Show an icon", + "type": "string", + "enum": [ + "Icon" + ] + }, + { + "description": "Show text", + "type": "string", + "enum": [ + "Text" + ] + }, + { + "description": "Show an icon and text", + "type": "string", + "enum": [ + "IconAndText" + ] + } + ] + } + } + } + }, + "additionalProperties": false + }, + { + "type": "object", + "required": [ + "Cpu" + ], + "properties": { + "Cpu": { + "type": "object", + "required": [ + "enable" + ], + "properties": { + "data_refresh_interval": { + "description": "Data refresh interval (default: 10 seconds)", + "type": "integer", + "format": "uint64", + "minimum": 0.0 + }, + "enable": { + "description": "Enable the Cpu widget", + "type": "boolean" + }, + "label_prefix": { + "description": "Display label prefix", + "oneOf": [ + { + "description": "Show no prefix", + "type": "string", + "enum": [ + "None" + ] + }, + { + "description": "Show an icon", + "type": "string", + "enum": [ + "Icon" + ] + }, + { + "description": "Show text", + "type": "string", + "enum": [ + "Text" + ] + }, + { + "description": "Show an icon and text", + "type": "string", + "enum": [ + "IconAndText" + ] + } + ] } } } @@ -141,6 +234,39 @@ "additionalProperties": false } ] + }, + "label_prefix": { + "description": "Display label prefix", + "oneOf": [ + { + "description": "Show no prefix", + "type": "string", + "enum": [ + "None" + ] + }, + { + "description": "Show an icon", + "type": "string", + "enum": [ + "Icon" + ] + }, + { + "description": "Show text", + "type": "string", + "enum": [ + "Text" + ] + }, + { + "description": "Show an icon and text", + "type": "string", + "enum": [ + "IconAndText" + ] + } + ] } } } @@ -276,6 +402,39 @@ "enable": { "description": "Enable the Memory widget", "type": "boolean" + }, + "label_prefix": { + "description": "Display label prefix", + "oneOf": [ + { + "description": "Show no prefix", + "type": "string", + "enum": [ + "None" + ] + }, + { + "description": "Show an icon", + "type": "string", + "enum": [ + "Icon" + ] + }, + { + "description": "Show text", + "type": "string", + "enum": [ + "Text" + ] + }, + { + "description": "Show an icon and text", + "type": "string", + "enum": [ + "IconAndText" + ] + } + ] } } } @@ -306,6 +465,39 @@ "description": "Enable the Network widget", "type": "boolean" }, + "label_prefix": { + "description": "Display label prefix", + "oneOf": [ + { + "description": "Show no prefix", + "type": "string", + "enum": [ + "None" + ] + }, + { + "description": "Show an icon", + "type": "string", + "enum": [ + "Icon" + ] + }, + { + "description": "Show text", + "type": "string", + "enum": [ + "Text" + ] + }, + { + "description": "Show an icon and text", + "type": "string", + "enum": [ + "IconAndText" + ] + } + ] + }, "network_activity_fill_characters": { "description": "Characters to reserve for network activity data", "type": "integer", @@ -346,6 +538,39 @@ "enable": { "description": "Enable the Storage widget", "type": "boolean" + }, + "label_prefix": { + "description": "Display label prefix", + "oneOf": [ + { + "description": "Show no prefix", + "type": "string", + "enum": [ + "None" + ] + }, + { + "description": "Show an icon", + "type": "string", + "enum": [ + "Icon" + ] + }, + { + "description": "Show text", + "type": "string", + "enum": [ + "Text" + ] + }, + { + "description": "Show an icon and text", + "type": "string", + "enum": [ + "IconAndText" + ] + } + ] } } } @@ -400,6 +625,39 @@ "additionalProperties": false } ] + }, + "label_prefix": { + "description": "Display label prefix", + "oneOf": [ + { + "description": "Show no prefix", + "type": "string", + "enum": [ + "None" + ] + }, + { + "description": "Show an icon", + "type": "string", + "enum": [ + "Icon" + ] + }, + { + "description": "Show text", + "type": "string", + "enum": [ + "Text" + ] + }, + { + "description": "Show an icon and text", + "type": "string", + "enum": [ + "IconAndText" + ] + } + ] } } } @@ -461,6 +719,52 @@ } } }, + "position": { + "description": "Bar positioning options", + "type": "object", + "properties": { + "end": { + "description": "The desired size of the bar from the starting position (usually monitor width x desired height)", + "type": "object", + "required": [ + "x", + "y" + ], + "properties": { + "x": { + "description": "X coordinate", + "type": "number", + "format": "float" + }, + "y": { + "description": "Y coordinate", + "type": "number", + "format": "float" + } + } + }, + "start": { + "description": "The desired starting position of the bar (0,0 = top left of the screen)", + "type": "object", + "required": [ + "x", + "y" + ], + "properties": { + "x": { + "description": "X coordinate", + "type": "number", + "format": "float" + }, + "y": { + "description": "Y coordinate", + "type": "number", + "format": "float" + } + } + } + } + }, "right_widgets": { "description": "Right side widgets (ordered left-to-right)", "type": "array", @@ -487,6 +791,99 @@ "enable": { "description": "Enable the Battery widget", "type": "boolean" + }, + "label_prefix": { + "description": "Display label prefix", + "oneOf": [ + { + "description": "Show no prefix", + "type": "string", + "enum": [ + "None" + ] + }, + { + "description": "Show an icon", + "type": "string", + "enum": [ + "Icon" + ] + }, + { + "description": "Show text", + "type": "string", + "enum": [ + "Text" + ] + }, + { + "description": "Show an icon and text", + "type": "string", + "enum": [ + "IconAndText" + ] + } + ] + } + } + } + }, + "additionalProperties": false + }, + { + "type": "object", + "required": [ + "Cpu" + ], + "properties": { + "Cpu": { + "type": "object", + "required": [ + "enable" + ], + "properties": { + "data_refresh_interval": { + "description": "Data refresh interval (default: 10 seconds)", + "type": "integer", + "format": "uint64", + "minimum": 0.0 + }, + "enable": { + "description": "Enable the Cpu widget", + "type": "boolean" + }, + "label_prefix": { + "description": "Display label prefix", + "oneOf": [ + { + "description": "Show no prefix", + "type": "string", + "enum": [ + "None" + ] + }, + { + "description": "Show an icon", + "type": "string", + "enum": [ + "Icon" + ] + }, + { + "description": "Show text", + "type": "string", + "enum": [ + "Text" + ] + }, + { + "description": "Show an icon and text", + "type": "string", + "enum": [ + "IconAndText" + ] + } + ] } } } @@ -555,6 +952,39 @@ "additionalProperties": false } ] + }, + "label_prefix": { + "description": "Display label prefix", + "oneOf": [ + { + "description": "Show no prefix", + "type": "string", + "enum": [ + "None" + ] + }, + { + "description": "Show an icon", + "type": "string", + "enum": [ + "Icon" + ] + }, + { + "description": "Show text", + "type": "string", + "enum": [ + "Text" + ] + }, + { + "description": "Show an icon and text", + "type": "string", + "enum": [ + "IconAndText" + ] + } + ] } } } @@ -690,6 +1120,39 @@ "enable": { "description": "Enable the Memory widget", "type": "boolean" + }, + "label_prefix": { + "description": "Display label prefix", + "oneOf": [ + { + "description": "Show no prefix", + "type": "string", + "enum": [ + "None" + ] + }, + { + "description": "Show an icon", + "type": "string", + "enum": [ + "Icon" + ] + }, + { + "description": "Show text", + "type": "string", + "enum": [ + "Text" + ] + }, + { + "description": "Show an icon and text", + "type": "string", + "enum": [ + "IconAndText" + ] + } + ] } } } @@ -720,6 +1183,39 @@ "description": "Enable the Network widget", "type": "boolean" }, + "label_prefix": { + "description": "Display label prefix", + "oneOf": [ + { + "description": "Show no prefix", + "type": "string", + "enum": [ + "None" + ] + }, + { + "description": "Show an icon", + "type": "string", + "enum": [ + "Icon" + ] + }, + { + "description": "Show text", + "type": "string", + "enum": [ + "Text" + ] + }, + { + "description": "Show an icon and text", + "type": "string", + "enum": [ + "IconAndText" + ] + } + ] + }, "network_activity_fill_characters": { "description": "Characters to reserve for network activity data", "type": "integer", @@ -760,6 +1256,39 @@ "enable": { "description": "Enable the Storage widget", "type": "boolean" + }, + "label_prefix": { + "description": "Display label prefix", + "oneOf": [ + { + "description": "Show no prefix", + "type": "string", + "enum": [ + "None" + ] + }, + { + "description": "Show an icon", + "type": "string", + "enum": [ + "Icon" + ] + }, + { + "description": "Show text", + "type": "string", + "enum": [ + "Text" + ] + }, + { + "description": "Show an icon and text", + "type": "string", + "enum": [ + "IconAndText" + ] + } + ] } } } @@ -814,6 +1343,39 @@ "additionalProperties": false } ] + }, + "label_prefix": { + "description": "Display label prefix", + "oneOf": [ + { + "description": "Show no prefix", + "type": "string", + "enum": [ + "None" + ] + }, + { + "description": "Show an icon", + "type": "string", + "enum": [ + "Icon" + ] + }, + { + "description": "Show text", + "type": "string", + "enum": [ + "Text" + ] + }, + { + "description": "Show an icon and text", + "type": "string", + "enum": [ + "IconAndText" + ] + } + ] } } } @@ -1194,52 +1756,6 @@ } } ] - }, - "viewport": { - "description": "Viewport options (see: https://docs.rs/egui/latest/egui/viewport/struct.ViewportBuilder.html)", - "type": "object", - "properties": { - "inner_size": { - "description": "The desired size of the bar from the starting position (usually monitor width x desired height)", - "type": "object", - "required": [ - "x", - "y" - ], - "properties": { - "x": { - "description": "X coordinate", - "type": "number", - "format": "float" - }, - "y": { - "description": "Y coordinate", - "type": "number", - "format": "float" - } - } - }, - "position": { - "description": "The desired starting position of the bar (0,0 = top left of the screen)", - "type": "object", - "required": [ - "x", - "y" - ], - "properties": { - "x": { - "description": "X coordinate", - "type": "number", - "format": "float" - }, - "y": { - "description": "Y coordinate", - "type": "number", - "format": "float" - } - } - } - } } } } diff --git a/schema.json b/schema.json index e6673284..05ace759 100644 --- a/schema.json +++ b/schema.json @@ -69,6 +69,13 @@ "description": "Path to applications.yaml from komorebi-application-specific-configurations (default: None)", "type": "string" }, + "bar_configurations": { + "description": "Komorebi status bar configuration files for multiple instances on different monitors", + "type": "array", + "items": { + "type": "string" + } + }, "border": { "description": "Display an active window border (default: false)", "type": "boolean" @@ -77,6 +84,45 @@ "description": "Active window border colours for different container types", "type": "object", "properties": { + "floating": { + "description": "Border colour when the container is in floating mode", + "anyOf": [ + { + "description": "Colour represented as 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 + } + } + }, + { + "description": "Colour represented as Hex", + "type": "string", + "format": "color-hex" + } + ] + }, "monocle": { "description": "Border colour when the container is in monocle mode", "anyOf": [ @@ -445,8 +491,12 @@ "type": "string" } }, - "float_rules": { - "description": "Individual window floating rules", + "float_override": { + "description": "Enable or disable float override, which makes it so every new window opens in floating mode (default: false)", + "type": "boolean" + }, + "floating_applications": { + "description": "Identify applications which should be managed as floating windows", "type": "array", "items": { "anyOf": [ @@ -579,6 +629,89 @@ } } }, + "ignore_rules": { + "description": "Individual window floating rules", + "type": "array", + "items": { + "anyOf": [ + { + "type": "object", + "required": [ + "id", + "kind" + ], + "properties": { + "id": { + "type": "string" + }, + "kind": { + "type": "string", + "enum": [ + "Exe", + "Class", + "Title", + "Path" + ] + }, + "matching_strategy": { + "type": "string", + "enum": [ + "Legacy", + "Equals", + "StartsWith", + "EndsWith", + "Contains", + "Regex", + "DoesNotEndWith", + "DoesNotStartWith", + "DoesNotEqual", + "DoesNotContain" + ] + } + } + }, + { + "type": "array", + "items": { + "type": "object", + "required": [ + "id", + "kind" + ], + "properties": { + "id": { + "type": "string" + }, + "kind": { + "type": "string", + "enum": [ + "Exe", + "Class", + "Title", + "Path" + ] + }, + "matching_strategy": { + "type": "string", + "enum": [ + "Legacy", + "Equals", + "StartsWith", + "EndsWith", + "Contains", + "Regex", + "DoesNotEndWith", + "DoesNotStartWith", + "DoesNotEqual", + "DoesNotContain" + ] + } + } + } + } + ] + } + }, "invisible_borders": { "description": "DEPRECATED from v0.1.22: no longer required", "type": "object", @@ -929,44 +1062,91 @@ "type": "string" } }, + "float_override": { + "description": "Enable or disable float override, which makes it so every new window opens in floating mode (default: false)", + "type": "boolean" + }, "initial_workspace_rules": { "description": "Initial workspace application rules", "type": "array", "items": { - "type": "object", - "required": [ - "id", - "kind" - ], - "properties": { - "id": { - "type": "string" + "anyOf": [ + { + "type": "object", + "required": [ + "id", + "kind" + ], + "properties": { + "id": { + "type": "string" + }, + "kind": { + "type": "string", + "enum": [ + "Exe", + "Class", + "Title", + "Path" + ] + }, + "matching_strategy": { + "type": "string", + "enum": [ + "Legacy", + "Equals", + "StartsWith", + "EndsWith", + "Contains", + "Regex", + "DoesNotEndWith", + "DoesNotStartWith", + "DoesNotEqual", + "DoesNotContain" + ] + } + } }, - "kind": { - "type": "string", - "enum": [ - "Exe", - "Class", - "Title", - "Path" - ] - }, - "matching_strategy": { - "type": "string", - "enum": [ - "Legacy", - "Equals", - "StartsWith", - "EndsWith", - "Contains", - "Regex", - "DoesNotEndWith", - "DoesNotStartWith", - "DoesNotEqual", - "DoesNotContain" - ] + { + "type": "array", + "items": { + "type": "object", + "required": [ + "id", + "kind" + ], + "properties": { + "id": { + "type": "string" + }, + "kind": { + "type": "string", + "enum": [ + "Exe", + "Class", + "Title", + "Path" + ] + }, + "matching_strategy": { + "type": "string", + "enum": [ + "Legacy", + "Equals", + "StartsWith", + "EndsWith", + "Contains", + "Regex", + "DoesNotEndWith", + "DoesNotStartWith", + "DoesNotEqual", + "DoesNotContain" + ] + } + } + } } - } + ] } }, "layout": { @@ -1004,6 +1184,25 @@ "description": "Name", "type": "string" }, + "window_container_behaviour": { + "description": "Determine what happens when a new window is opened (default: Create)", + "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" + ] + } + ] + }, "workspace_padding": { "description": "Container padding (default: global)", "type": "integer", @@ -1013,40 +1212,83 @@ "description": "Permanent workspace application rules", "type": "array", "items": { - "type": "object", - "required": [ - "id", - "kind" - ], - "properties": { - "id": { - "type": "string" - }, - "kind": { - "type": "string", - "enum": [ - "Exe", - "Class", - "Title", - "Path" - ] + "anyOf": [ + { + "type": "object", + "required": [ + "id", + "kind" + ], + "properties": { + "id": { + "type": "string" + }, + "kind": { + "type": "string", + "enum": [ + "Exe", + "Class", + "Title", + "Path" + ] + }, + "matching_strategy": { + "type": "string", + "enum": [ + "Legacy", + "Equals", + "StartsWith", + "EndsWith", + "Contains", + "Regex", + "DoesNotEndWith", + "DoesNotStartWith", + "DoesNotEqual", + "DoesNotContain" + ] + } + } }, - "matching_strategy": { - "type": "string", - "enum": [ - "Legacy", - "Equals", - "StartsWith", - "EndsWith", - "Contains", - "Regex", - "DoesNotEndWith", - "DoesNotStartWith", - "DoesNotEqual", - "DoesNotContain" - ] + { + "type": "array", + "items": { + "type": "object", + "required": [ + "id", + "kind" + ], + "properties": { + "id": { + "type": "string" + }, + "kind": { + "type": "string", + "enum": [ + "Exe", + "Class", + "Title", + "Path" + ] + }, + "matching_strategy": { + "type": "string", + "enum": [ + "Legacy", + "Equals", + "StartsWith", + "EndsWith", + "Contains", + "Regex", + "DoesNotEndWith", + "DoesNotStartWith", + "DoesNotEqual", + "DoesNotContain" + ] + } + } + } } - } + ] } } } @@ -1147,6 +1389,95 @@ "type": "integer", "format": "int32" }, + "slow_application_compensation_time": { + "description": "How long to wait when compensating for slow applications, in milliseconds (default: 20)", + "type": "integer", + "format": "uint64", + "minimum": 0.0 + }, + "slow_application_identifiers": { + "description": "Identify applications which are slow to send initial event notifications", + "type": "array", + "items": { + "anyOf": [ + { + "type": "object", + "required": [ + "id", + "kind" + ], + "properties": { + "id": { + "type": "string" + }, + "kind": { + "type": "string", + "enum": [ + "Exe", + "Class", + "Title", + "Path" + ] + }, + "matching_strategy": { + "type": "string", + "enum": [ + "Legacy", + "Equals", + "StartsWith", + "EndsWith", + "Contains", + "Regex", + "DoesNotEndWith", + "DoesNotStartWith", + "DoesNotEqual", + "DoesNotContain" + ] + } + } + }, + { + "type": "array", + "items": { + "type": "object", + "required": [ + "id", + "kind" + ], + "properties": { + "id": { + "type": "string" + }, + "kind": { + "type": "string", + "enum": [ + "Exe", + "Class", + "Title", + "Path" + ] + }, + "matching_strategy": { + "type": "string", + "enum": [ + "Legacy", + "Equals", + "StartsWith", + "EndsWith", + "Contains", + "Regex", + "DoesNotEndWith", + "DoesNotStartWith", + "DoesNotEqual", + "DoesNotContain" + ] + } + } + } + } + ] + } + }, "stackbar": { "description": "Stackbar configuration options", "type": "object", @@ -1355,6 +1686,38 @@ "Crust" ] }, + "floating_border": { + "description": "Border colour when the window is floating (default: Yellow)", + "type": "string", + "enum": [ + "Rosewater", + "Flamingo", + "Pink", + "Mauve", + "Red", + "Maroon", + "Peach", + "Yellow", + "Green", + "Teal", + "Sky", + "Sapphire", + "Blue", + "Lavender", + "Text", + "Subtext1", + "Subtext0", + "Overlay2", + "Overlay1", + "Overlay0", + "Surface2", + "Surface1", + "Surface0", + "Base", + "Mantle", + "Crust" + ] + }, "monocle_border": { "description": "Border colour when the container is in monocle mode (default: Pink)", "type": "string", @@ -1627,6 +1990,28 @@ "Base0F" ] }, + "floating_border": { + "description": "Border colour when the window is floating (default: Base09)", + "type": "string", + "enum": [ + "Base00", + "Base01", + "Base02", + "Base03", + "Base04", + "Base05", + "Base06", + "Base07", + "Base08", + "Base09", + "Base0A", + "Base0B", + "Base0C", + "Base0D", + "Base0E", + "Base0F" + ] + }, "monocle_border": { "description": "Border colour when the container is in monocle mode (default: Base0F)", "type": "string",