mirror of
https://github.com/LGUG2Z/komorebi.git
synced 2026-01-11 22:12:53 +01:00
3172 lines
81 KiB
JSON
3172 lines
81 KiB
JSON
{
|
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
"title": "StaticConfig",
|
|
"description": "The `komorebi.json` static configuration file reference for `v0.1.40`",
|
|
"type": "object",
|
|
"properties": {
|
|
"animation": {
|
|
"description": "Animations configuration options",
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/$defs/AnimationsConfig"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"app_specific_configuration_path": {
|
|
"description": "Path to applications.json from komorebi-application-specific-configurations",
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/$defs/AppSpecificConfigurationPath"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"bar_configurations": {
|
|
"description": "Komorebi status bar configuration files for multiple instances on different monitors",
|
|
"type": [
|
|
"array",
|
|
"null"
|
|
],
|
|
"items": {
|
|
"$ref": "#/$defs/PathBuf"
|
|
}
|
|
},
|
|
"border": {
|
|
"description": "Display window borders",
|
|
"type": [
|
|
"boolean",
|
|
"null"
|
|
],
|
|
"default": true
|
|
},
|
|
"border_colours": {
|
|
"description": "Window border colours for different container types (has no effect if [`theme`] is defined)",
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/$defs/BorderColours"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"border_implementation": {
|
|
"description": "Window border implementation",
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/$defs/BorderImplementation"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"default": "Komorebi"
|
|
},
|
|
"border_offset": {
|
|
"description": "Offset of window borders",
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"format": "int32",
|
|
"default": -1
|
|
},
|
|
"border_overflow_applications": {
|
|
"description": "Identify border overflow applications",
|
|
"type": [
|
|
"array",
|
|
"null"
|
|
],
|
|
"items": {
|
|
"$ref": "#/$defs/MatchingRule"
|
|
}
|
|
},
|
|
"border_style": {
|
|
"description": "Window border style",
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/$defs/BorderStyle"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"default": "System"
|
|
},
|
|
"border_width": {
|
|
"description": "Width of window borders",
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"format": "int32",
|
|
"default": 8
|
|
},
|
|
"border_z_order": {
|
|
"description": "DEPRECATED from v0.1.31: no longer required",
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/$defs/ZOrder"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"deprecated": true
|
|
},
|
|
"cross_boundary_behaviour": {
|
|
"description": "Determine what happens when an action is called on a window at a monitor boundary",
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/$defs/CrossBoundaryBehaviour"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"default": "Monitor"
|
|
},
|
|
"cross_monitor_move_behaviour": {
|
|
"description": "Determine what happens when a window is moved across a monitor boundary",
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/$defs/MoveBehaviour"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"default": "Swap"
|
|
},
|
|
"default_container_padding": {
|
|
"description": "Global default container padding",
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"format": "int32",
|
|
"default": 10
|
|
},
|
|
"default_workspace_padding": {
|
|
"description": "Global default workspace padding",
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"format": "int32",
|
|
"default": 10
|
|
},
|
|
"display_index_preferences": {
|
|
"description": "Set display index preferences",
|
|
"type": [
|
|
"object",
|
|
"null"
|
|
],
|
|
"additionalProperties": false,
|
|
"patternProperties": {
|
|
"^\\d+$": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"float_override": {
|
|
"description": "Enable or disable float override, which makes it so every new window opens in floating mode",
|
|
"type": [
|
|
"boolean",
|
|
"null"
|
|
],
|
|
"default": false
|
|
},
|
|
"float_override_placement": {
|
|
"description": "Determines the `Placement` to be used when spawning a window with float override active",
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/$defs/Placement"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"float_rule_placement": {
|
|
"description": "Determines the `Placement` to be used when spawning a window that matches a\n`floating_applications` rule",
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/$defs/Placement"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"floating_applications": {
|
|
"description": "Identify applications which should be managed as floating windows",
|
|
"type": [
|
|
"array",
|
|
"null"
|
|
],
|
|
"items": {
|
|
"$ref": "#/$defs/MatchingRule"
|
|
}
|
|
},
|
|
"floating_layer_behaviour": {
|
|
"description": "Determines what happens on a new window when on the `FloatingLayer`",
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/$defs/FloatingLayerBehaviour"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"default": "Tile"
|
|
},
|
|
"floating_layer_placement": {
|
|
"description": "Determines the `Placement` to be used when spawning a window on the floating layer with the\n`FloatingLayerBehaviour` set to `FloatingLayerBehaviour::Float`",
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/$defs/Placement"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"default": "Center"
|
|
},
|
|
"floating_window_aspect_ratio": {
|
|
"description": "Aspect ratio to resize with when toggling floating mode for a window",
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/$defs/AspectRatio"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"focus_follows_mouse": {
|
|
"description": "END OF LIFE FEATURE: Use https://github.com/LGUG2Z/masir instead",
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/$defs/FocusFollowsMouseImplementation"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"deprecated": true
|
|
},
|
|
"global_work_area_offset": {
|
|
"description": "Global work area (space used for tiling) offset",
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/$defs/Rect"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"ignore_rules": {
|
|
"description": "Individual window floating rules",
|
|
"type": [
|
|
"array",
|
|
"null"
|
|
],
|
|
"items": {
|
|
"$ref": "#/$defs/MatchingRule"
|
|
}
|
|
},
|
|
"invisible_borders": {
|
|
"description": "DEPRECATED from v0.1.22: no longer required",
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/$defs/Rect"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"deprecated": true
|
|
},
|
|
"layered_applications": {
|
|
"description": "Identify applications that have the `WS_EX_LAYERED` extended window style",
|
|
"type": [
|
|
"array",
|
|
"null"
|
|
],
|
|
"items": {
|
|
"$ref": "#/$defs/MatchingRule"
|
|
}
|
|
},
|
|
"manage_rules": {
|
|
"description": "Individual window force-manage rules",
|
|
"type": [
|
|
"array",
|
|
"null"
|
|
],
|
|
"items": {
|
|
"$ref": "#/$defs/MatchingRule"
|
|
}
|
|
},
|
|
"minimum_window_height": {
|
|
"description": "DISCOURAGED: Minimum height for a window to be eligible for tiling",
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"format": "int32"
|
|
},
|
|
"minimum_window_width": {
|
|
"description": "DISCOURAGED: Minimum width for a window to be eligible for tiling",
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"format": "int32"
|
|
},
|
|
"monitor_index_preferences": {
|
|
"description": "Set monitor index preferences",
|
|
"type": [
|
|
"object",
|
|
"null"
|
|
],
|
|
"additionalProperties": false,
|
|
"patternProperties": {
|
|
"^\\d+$": {
|
|
"$ref": "#/$defs/Rect"
|
|
}
|
|
}
|
|
},
|
|
"monitors": {
|
|
"description": "Monitor and workspace configurations",
|
|
"type": [
|
|
"array",
|
|
"null"
|
|
],
|
|
"items": {
|
|
"$ref": "#/$defs/MonitorConfig"
|
|
}
|
|
},
|
|
"mouse_follows_focus": {
|
|
"description": "Enable or disable mouse follows focus",
|
|
"type": [
|
|
"boolean",
|
|
"null"
|
|
],
|
|
"default": true
|
|
},
|
|
"object_name_change_applications": {
|
|
"description": "Identify applications that send `EVENT_OBJECT_NAMECHANGE` on launch (very rare)",
|
|
"type": [
|
|
"array",
|
|
"null"
|
|
],
|
|
"items": {
|
|
"$ref": "#/$defs/MatchingRule"
|
|
}
|
|
},
|
|
"object_name_change_title_ignore_list": {
|
|
"description": "Do not process `EVENT_OBJECT_NAMECHANGE` events as Show events for identified applications matching these title regexes",
|
|
"type": [
|
|
"array",
|
|
"null"
|
|
],
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"remove_titlebar_applications": {
|
|
"description": "HEAVILY DISCOURAGED: Identify applications for which komorebi should forcibly remove title bars",
|
|
"type": [
|
|
"array",
|
|
"null"
|
|
],
|
|
"items": {
|
|
"$ref": "#/$defs/MatchingRule"
|
|
}
|
|
},
|
|
"resize_delta": {
|
|
"description": "Delta to resize windows by",
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"format": "int32",
|
|
"default": 50
|
|
},
|
|
"slow_application_compensation_time": {
|
|
"description": "How long to wait when compensating for slow applications, in milliseconds",
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"format": "uint64",
|
|
"default": 20,
|
|
"minimum": 0
|
|
},
|
|
"slow_application_identifiers": {
|
|
"description": "Identify applications which are slow to send initial event notifications",
|
|
"type": [
|
|
"array",
|
|
"null"
|
|
],
|
|
"items": {
|
|
"$ref": "#/$defs/MatchingRule"
|
|
}
|
|
},
|
|
"stackbar": {
|
|
"description": "Stackbar configuration options",
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/$defs/StackbarConfig"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"theme": {
|
|
"description": "Theme configuration options\n\nIf a theme is specified, `border_colours` will have no effect",
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/$defs/KomorebiTheme"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"toggle_float_placement": {
|
|
"description": "Determines the placement of a new window when toggling to float",
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/$defs/Placement"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"default": "CenterAndResize"
|
|
},
|
|
"transparency": {
|
|
"description": "Add transparency to unfocused windows",
|
|
"type": [
|
|
"boolean",
|
|
"null"
|
|
],
|
|
"default": false
|
|
},
|
|
"transparency_alpha": {
|
|
"description": "Alpha value for unfocused window transparency [[0-255]]",
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"format": "uint8",
|
|
"default": 200,
|
|
"maximum": 255,
|
|
"minimum": 0
|
|
},
|
|
"transparency_ignore_rules": {
|
|
"description": "Individual window transparency ignore rules",
|
|
"type": [
|
|
"array",
|
|
"null"
|
|
],
|
|
"items": {
|
|
"$ref": "#/$defs/MatchingRule"
|
|
}
|
|
},
|
|
"tray_and_multi_window_applications": {
|
|
"description": "Identify tray and multi-window applications",
|
|
"type": [
|
|
"array",
|
|
"null"
|
|
],
|
|
"items": {
|
|
"$ref": "#/$defs/MatchingRule"
|
|
}
|
|
},
|
|
"unmanaged_window_operation_behaviour": {
|
|
"description": "Determine what happens when commands are sent while an unmanaged window is in the foreground",
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/$defs/OperationBehaviour"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"default": "Op"
|
|
},
|
|
"window_container_behaviour": {
|
|
"description": "Determine what happens when a new window is opened",
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/$defs/WindowContainerBehaviour"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"default": "Create"
|
|
},
|
|
"window_handling_behaviour": {
|
|
"description": "Which Windows API behaviour to use when manipulating windows",
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/$defs/WindowHandlingBehaviour"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"default": "Sync"
|
|
},
|
|
"window_hiding_behaviour": {
|
|
"description": "Which Windows signal to use when hiding windows",
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/$defs/HidingBehaviour"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"default": "Cloak"
|
|
}
|
|
},
|
|
"$defs": {
|
|
"AnimationStyle": {
|
|
"description": "Mathematical function which describes the rate at which a value changes",
|
|
"oneOf": [
|
|
{
|
|
"description": "Linear",
|
|
"type": "string",
|
|
"const": "Linear"
|
|
},
|
|
{
|
|
"description": "Ease in sine",
|
|
"type": "string",
|
|
"const": "EaseInSine"
|
|
},
|
|
{
|
|
"description": "Ease out sine",
|
|
"type": "string",
|
|
"const": "EaseOutSine"
|
|
},
|
|
{
|
|
"description": "Ease in out sine",
|
|
"type": "string",
|
|
"const": "EaseInOutSine"
|
|
},
|
|
{
|
|
"description": "Ease in quad",
|
|
"type": "string",
|
|
"const": "EaseInQuad"
|
|
},
|
|
{
|
|
"description": "Ease out quad",
|
|
"type": "string",
|
|
"const": "EaseOutQuad"
|
|
},
|
|
{
|
|
"description": "Ease in out quad",
|
|
"type": "string",
|
|
"const": "EaseInOutQuad"
|
|
},
|
|
{
|
|
"description": "Ease in cubic",
|
|
"type": "string",
|
|
"const": "EaseInCubic"
|
|
},
|
|
{
|
|
"description": "Ease out cubic",
|
|
"type": "string",
|
|
"const": "EaseOutCubic"
|
|
},
|
|
{
|
|
"description": "Ease in out cubic",
|
|
"type": "string",
|
|
"const": "EaseInOutCubic"
|
|
},
|
|
{
|
|
"description": "Ease in quart",
|
|
"type": "string",
|
|
"const": "EaseInQuart"
|
|
},
|
|
{
|
|
"description": "Ease out quart",
|
|
"type": "string",
|
|
"const": "EaseOutQuart"
|
|
},
|
|
{
|
|
"description": "Ease in out quart",
|
|
"type": "string",
|
|
"const": "EaseInOutQuart"
|
|
},
|
|
{
|
|
"description": "Ease in quint",
|
|
"type": "string",
|
|
"const": "EaseInQuint"
|
|
},
|
|
{
|
|
"description": "Ease out quint",
|
|
"type": "string",
|
|
"const": "EaseOutQuint"
|
|
},
|
|
{
|
|
"description": "Ease in out quint",
|
|
"type": "string",
|
|
"const": "EaseInOutQuint"
|
|
},
|
|
{
|
|
"description": "Ease in expo",
|
|
"type": "string",
|
|
"const": "EaseInExpo"
|
|
},
|
|
{
|
|
"description": "Ease out expo",
|
|
"type": "string",
|
|
"const": "EaseOutExpo"
|
|
},
|
|
{
|
|
"description": "Ease in out expo",
|
|
"type": "string",
|
|
"const": "EaseInOutExpo"
|
|
},
|
|
{
|
|
"description": "Ease in circ",
|
|
"type": "string",
|
|
"const": "EaseInCirc"
|
|
},
|
|
{
|
|
"description": "Ease out circ",
|
|
"type": "string",
|
|
"const": "EaseOutCirc"
|
|
},
|
|
{
|
|
"description": "Ease in out circ",
|
|
"type": "string",
|
|
"const": "EaseInOutCirc"
|
|
},
|
|
{
|
|
"description": "Ease in back",
|
|
"type": "string",
|
|
"const": "EaseInBack"
|
|
},
|
|
{
|
|
"description": "Ease out back",
|
|
"type": "string",
|
|
"const": "EaseOutBack"
|
|
},
|
|
{
|
|
"description": "Ease in out back",
|
|
"type": "string",
|
|
"const": "EaseInOutBack"
|
|
},
|
|
{
|
|
"description": "Ease in elastic",
|
|
"type": "string",
|
|
"const": "EaseInElastic"
|
|
},
|
|
{
|
|
"description": "Ease out elastic",
|
|
"type": "string",
|
|
"const": "EaseOutElastic"
|
|
},
|
|
{
|
|
"description": "Ease in out elastic",
|
|
"type": "string",
|
|
"const": "EaseInOutElastic"
|
|
},
|
|
{
|
|
"description": "Ease in bounce",
|
|
"type": "string",
|
|
"const": "EaseInBounce"
|
|
},
|
|
{
|
|
"description": "Ease out bounce",
|
|
"type": "string",
|
|
"const": "EaseOutBounce"
|
|
},
|
|
{
|
|
"description": "Ease in out bounce",
|
|
"type": "string",
|
|
"const": "EaseInOutBounce"
|
|
},
|
|
{
|
|
"description": "Custom Cubic Bézier function",
|
|
"type": "object",
|
|
"properties": {
|
|
"CubicBezier": {
|
|
"type": "array",
|
|
"maxItems": 4,
|
|
"minItems": 4,
|
|
"prefixItems": [
|
|
{
|
|
"type": "number",
|
|
"format": "double"
|
|
},
|
|
{
|
|
"type": "number",
|
|
"format": "double"
|
|
},
|
|
{
|
|
"type": "number",
|
|
"format": "double"
|
|
},
|
|
{
|
|
"type": "number",
|
|
"format": "double"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"required": [
|
|
"CubicBezier"
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"AnimationsConfig": {
|
|
"description": "Animations configuration options",
|
|
"type": "object",
|
|
"properties": {
|
|
"duration": {
|
|
"description": "Set the animation duration in ms",
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/$defs/PerAnimationPrefixConfig2"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"enabled": {
|
|
"description": "Enable or disable animations",
|
|
"$ref": "#/$defs/PerAnimationPrefixConfig"
|
|
},
|
|
"fps": {
|
|
"description": "Set the animation FPS",
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"format": "uint64",
|
|
"default": 60,
|
|
"minimum": 0
|
|
},
|
|
"style": {
|
|
"description": "Set the animation style",
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/$defs/PerAnimationPrefixConfig3"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"enabled"
|
|
]
|
|
},
|
|
"AppSpecificConfigurationPath": {
|
|
"description": "Path(s) to application-specific configuration file(s)",
|
|
"anyOf": [
|
|
{
|
|
"description": "A single `applications.json` file",
|
|
"$ref": "#/$defs/PathBuf"
|
|
},
|
|
{
|
|
"description": "Multiple `applications.json` files",
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/$defs/PathBuf"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"ApplicationIdentifier": {
|
|
"description": "Application identifier",
|
|
"oneOf": [
|
|
{
|
|
"description": "Executable name",
|
|
"type": "string",
|
|
"const": "Exe"
|
|
},
|
|
{
|
|
"description": "Class",
|
|
"type": "string",
|
|
"const": "Class"
|
|
},
|
|
{
|
|
"description": "Window title",
|
|
"type": "string",
|
|
"const": "Title"
|
|
},
|
|
{
|
|
"description": "Executable path",
|
|
"type": "string",
|
|
"const": "Path"
|
|
}
|
|
]
|
|
},
|
|
"AspectRatio": {
|
|
"description": "Aspect ratio for temporarily floating windows",
|
|
"anyOf": [
|
|
{
|
|
"description": "Predefined aspect ratio",
|
|
"$ref": "#/$defs/PredefinedAspectRatio"
|
|
},
|
|
{
|
|
"description": "Custom W:H aspect ratio",
|
|
"type": "array",
|
|
"maxItems": 2,
|
|
"minItems": 2,
|
|
"prefixItems": [
|
|
{
|
|
"type": "integer",
|
|
"format": "int32"
|
|
},
|
|
{
|
|
"type": "integer",
|
|
"format": "int32"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"Axis": {
|
|
"description": "Axis on which to perform an operation",
|
|
"oneOf": [
|
|
{
|
|
"description": "Horizontal axis",
|
|
"type": "string",
|
|
"const": "Horizontal"
|
|
},
|
|
{
|
|
"description": "Vertical axis",
|
|
"type": "string",
|
|
"const": "Vertical"
|
|
},
|
|
{
|
|
"description": "Both horizontal and vertical axes",
|
|
"type": "string",
|
|
"const": "HorizontalAndVertical"
|
|
}
|
|
]
|
|
},
|
|
"Base16": {
|
|
"type": "string",
|
|
"enum": [
|
|
"3024",
|
|
"Apathy",
|
|
"Apprentice",
|
|
"Ashes",
|
|
"AtelierCaveLight",
|
|
"AtelierCave",
|
|
"AtelierDuneLight",
|
|
"AtelierDune",
|
|
"AtelierEstuaryLight",
|
|
"AtelierEstuary",
|
|
"AtelierForestLight",
|
|
"AtelierForest",
|
|
"AtelierHeathLight",
|
|
"AtelierHeath",
|
|
"AtelierLakesideLight",
|
|
"AtelierLakeside",
|
|
"AtelierPlateauLight",
|
|
"AtelierPlateau",
|
|
"AtelierSavannaLight",
|
|
"AtelierSavanna",
|
|
"AtelierSeasideLight",
|
|
"AtelierSeaside",
|
|
"AtelierSulphurpoolLight",
|
|
"AtelierSulphurpool",
|
|
"Atlas",
|
|
"AyuDark",
|
|
"AyuLight",
|
|
"AyuMirage",
|
|
"Aztec",
|
|
"Bespin",
|
|
"BlackMetalBathory",
|
|
"BlackMetalBurzum",
|
|
"BlackMetalDarkFuneral",
|
|
"BlackMetalGorgoroth",
|
|
"BlackMetalImmortal",
|
|
"BlackMetalKhold",
|
|
"BlackMetalMarduk",
|
|
"BlackMetalMayhem",
|
|
"BlackMetalNile",
|
|
"BlackMetalVenom",
|
|
"BlackMetal",
|
|
"Blueforest",
|
|
"Blueish",
|
|
"Brewer",
|
|
"Bright",
|
|
"Brogrammer",
|
|
"BrushtreesDark",
|
|
"Brushtrees",
|
|
"Caroline",
|
|
"CatppuccinFrappe",
|
|
"CatppuccinLatte",
|
|
"CatppuccinMacchiato",
|
|
"CatppuccinMocha",
|
|
"Chalk",
|
|
"Circus",
|
|
"ClassicDark",
|
|
"ClassicLight",
|
|
"Codeschool",
|
|
"Colors",
|
|
"Cupcake",
|
|
"Cupertino",
|
|
"DaOneBlack",
|
|
"DaOneGray",
|
|
"DaOneOcean",
|
|
"DaOnePaper",
|
|
"DaOneSea",
|
|
"DaOneWhite",
|
|
"DanqingLight",
|
|
"Danqing",
|
|
"Darcula",
|
|
"Darkmoss",
|
|
"Darktooth",
|
|
"Darkviolet",
|
|
"Decaf",
|
|
"DefaultDark",
|
|
"DefaultLight",
|
|
"Dirtysea",
|
|
"Dracula",
|
|
"EdgeDark",
|
|
"EdgeLight",
|
|
"Eighties",
|
|
"EmbersLight",
|
|
"Embers",
|
|
"Emil",
|
|
"EquilibriumDark",
|
|
"EquilibriumGrayDark",
|
|
"EquilibriumGrayLight",
|
|
"EquilibriumLight",
|
|
"Eris",
|
|
"Espresso",
|
|
"EvaDim",
|
|
"Eva",
|
|
"EvenokDark",
|
|
"EverforestDarkHard",
|
|
"Everforest",
|
|
"Flat",
|
|
"Framer",
|
|
"FruitSoda",
|
|
"Gigavolt",
|
|
"Github",
|
|
"GoogleDark",
|
|
"GoogleLight",
|
|
"Gotham",
|
|
"GrayscaleDark",
|
|
"GrayscaleLight",
|
|
"Greenscreen",
|
|
"Gruber",
|
|
"GruvboxDarkHard",
|
|
"GruvboxDarkMedium",
|
|
"GruvboxDarkPale",
|
|
"GruvboxDarkSoft",
|
|
"GruvboxLightHard",
|
|
"GruvboxLightMedium",
|
|
"GruvboxLightSoft",
|
|
"GruvboxMaterialDarkHard",
|
|
"GruvboxMaterialDarkMedium",
|
|
"GruvboxMaterialDarkSoft",
|
|
"GruvboxMaterialLightHard",
|
|
"GruvboxMaterialLightMedium",
|
|
"GruvboxMaterialLightSoft",
|
|
"Hardcore",
|
|
"Harmonic16Dark",
|
|
"Harmonic16Light",
|
|
"HeetchLight",
|
|
"Heetch",
|
|
"Helios",
|
|
"Hopscotch",
|
|
"HorizonDark",
|
|
"HorizonLight",
|
|
"HorizonTerminalDark",
|
|
"HorizonTerminalLight",
|
|
"HumanoidDark",
|
|
"HumanoidLight",
|
|
"IaDark",
|
|
"IaLight",
|
|
"Icy",
|
|
"Irblack",
|
|
"Isotope",
|
|
"Jabuti",
|
|
"Kanagawa",
|
|
"Katy",
|
|
"Kimber",
|
|
"Lime",
|
|
"Macintosh",
|
|
"Marrakesh",
|
|
"Materia",
|
|
"MaterialDarker",
|
|
"MaterialLighter",
|
|
"MaterialPalenight",
|
|
"MaterialVivid",
|
|
"Material",
|
|
"MeasuredDark",
|
|
"MeasuredLight",
|
|
"MellowPurple",
|
|
"MexicoLight",
|
|
"Mocha",
|
|
"Monokai",
|
|
"Moonlight",
|
|
"Mountain",
|
|
"Nebula",
|
|
"NordLight",
|
|
"Nord",
|
|
"Nova",
|
|
"Ocean",
|
|
"Oceanicnext",
|
|
"OneLight",
|
|
"OnedarkDark",
|
|
"Onedark",
|
|
"OutrunDark",
|
|
"OxocarbonDark",
|
|
"OxocarbonLight",
|
|
"Pandora",
|
|
"PapercolorDark",
|
|
"PapercolorLight",
|
|
"Paraiso",
|
|
"Pasque",
|
|
"Phd",
|
|
"Pico",
|
|
"Pinky",
|
|
"Pop",
|
|
"Porple",
|
|
"PreciousDarkEleven",
|
|
"PreciousDarkFifteen",
|
|
"PreciousLightWarm",
|
|
"PreciousLightWhite",
|
|
"PrimerDarkDimmed",
|
|
"PrimerDark",
|
|
"PrimerLight",
|
|
"Purpledream",
|
|
"Qualia",
|
|
"Railscasts",
|
|
"Rebecca",
|
|
"RosePineDawn",
|
|
"RosePineMoon",
|
|
"RosePine",
|
|
"Saga",
|
|
"Sagelight",
|
|
"Sakura",
|
|
"Sandcastle",
|
|
"SelenizedBlack",
|
|
"SelenizedDark",
|
|
"SelenizedLight",
|
|
"SelenizedWhite",
|
|
"Seti",
|
|
"ShadesOfPurple",
|
|
"ShadesmearDark",
|
|
"ShadesmearLight",
|
|
"Shapeshifter",
|
|
"SilkDark",
|
|
"SilkLight",
|
|
"Snazzy",
|
|
"SolarflareLight",
|
|
"Solarflare",
|
|
"SolarizedDark",
|
|
"SolarizedLight",
|
|
"Spaceduck",
|
|
"Spacemacs",
|
|
"Sparky",
|
|
"StandardizedDark",
|
|
"StandardizedLight",
|
|
"Stella",
|
|
"StillAlive",
|
|
"Summercamp",
|
|
"SummerfruitDark",
|
|
"SummerfruitLight",
|
|
"SynthMidnightDark",
|
|
"SynthMidnightLight",
|
|
"Tango",
|
|
"Tarot",
|
|
"Tender",
|
|
"TerracottaDark",
|
|
"Terracotta",
|
|
"TokyoCityDark",
|
|
"TokyoCityLight",
|
|
"TokyoCityTerminalDark",
|
|
"TokyoCityTerminalLight",
|
|
"TokyoNightDark",
|
|
"TokyoNightLight",
|
|
"TokyoNightMoon",
|
|
"TokyoNightStorm",
|
|
"TokyoNightTerminalDark",
|
|
"TokyoNightTerminalLight",
|
|
"TokyoNightTerminalStorm",
|
|
"TokyodarkTerminal",
|
|
"Tokyodark",
|
|
"TomorrowNightEighties",
|
|
"TomorrowNight",
|
|
"Tomorrow",
|
|
"Tube",
|
|
"Twilight",
|
|
"UnikittyDark",
|
|
"UnikittyLight",
|
|
"UnikittyReversible",
|
|
"Uwunicorn",
|
|
"Vesper",
|
|
"Vice",
|
|
"Vulcan",
|
|
"Windows10Light",
|
|
"Windows10",
|
|
"Windows95Light",
|
|
"Windows95",
|
|
"WindowsHighcontrastLight",
|
|
"WindowsHighcontrast",
|
|
"WindowsNtLight",
|
|
"WindowsNt",
|
|
"Woodland",
|
|
"XcodeDusk",
|
|
"Zenbones",
|
|
"Zenburn"
|
|
]
|
|
},
|
|
"Base16ColourPalette": {
|
|
"description": "Base16 colour palette: https://github.com/chriskempson/base16",
|
|
"type": "object",
|
|
"properties": {
|
|
"base_00": {
|
|
"description": "Base00",
|
|
"$ref": "#/$defs/Colour"
|
|
},
|
|
"base_01": {
|
|
"description": "Base01",
|
|
"$ref": "#/$defs/Colour"
|
|
},
|
|
"base_02": {
|
|
"description": "Base02",
|
|
"$ref": "#/$defs/Colour"
|
|
},
|
|
"base_03": {
|
|
"description": "Base03",
|
|
"$ref": "#/$defs/Colour"
|
|
},
|
|
"base_04": {
|
|
"description": "Base04",
|
|
"$ref": "#/$defs/Colour"
|
|
},
|
|
"base_05": {
|
|
"description": "Base05",
|
|
"$ref": "#/$defs/Colour"
|
|
},
|
|
"base_06": {
|
|
"description": "Base06",
|
|
"$ref": "#/$defs/Colour"
|
|
},
|
|
"base_07": {
|
|
"description": "Base07",
|
|
"$ref": "#/$defs/Colour"
|
|
},
|
|
"base_08": {
|
|
"description": "Base08",
|
|
"$ref": "#/$defs/Colour"
|
|
},
|
|
"base_09": {
|
|
"description": "Base09",
|
|
"$ref": "#/$defs/Colour"
|
|
},
|
|
"base_0a": {
|
|
"description": "Base0A",
|
|
"$ref": "#/$defs/Colour"
|
|
},
|
|
"base_0b": {
|
|
"description": "Base0B",
|
|
"$ref": "#/$defs/Colour"
|
|
},
|
|
"base_0c": {
|
|
"description": "Base0C",
|
|
"$ref": "#/$defs/Colour"
|
|
},
|
|
"base_0d": {
|
|
"description": "Base0D",
|
|
"$ref": "#/$defs/Colour"
|
|
},
|
|
"base_0e": {
|
|
"description": "Base0E",
|
|
"$ref": "#/$defs/Colour"
|
|
},
|
|
"base_0f": {
|
|
"description": "Base0F",
|
|
"$ref": "#/$defs/Colour"
|
|
}
|
|
},
|
|
"required": [
|
|
"base_00",
|
|
"base_01",
|
|
"base_02",
|
|
"base_03",
|
|
"base_04",
|
|
"base_05",
|
|
"base_06",
|
|
"base_07",
|
|
"base_08",
|
|
"base_09",
|
|
"base_0a",
|
|
"base_0b",
|
|
"base_0c",
|
|
"base_0d",
|
|
"base_0e",
|
|
"base_0f"
|
|
]
|
|
},
|
|
"Base16Value": {
|
|
"description": "Base16 value",
|
|
"oneOf": [
|
|
{
|
|
"description": "Base00",
|
|
"type": "string",
|
|
"const": "Base00"
|
|
},
|
|
{
|
|
"description": "Base01",
|
|
"type": "string",
|
|
"const": "Base01"
|
|
},
|
|
{
|
|
"description": "Base02",
|
|
"type": "string",
|
|
"const": "Base02"
|
|
},
|
|
{
|
|
"description": "Base03",
|
|
"type": "string",
|
|
"const": "Base03"
|
|
},
|
|
{
|
|
"description": "Base04",
|
|
"type": "string",
|
|
"const": "Base04"
|
|
},
|
|
{
|
|
"description": "Base05",
|
|
"type": "string",
|
|
"const": "Base05"
|
|
},
|
|
{
|
|
"description": "Base06",
|
|
"type": "string",
|
|
"const": "Base06"
|
|
},
|
|
{
|
|
"description": "Base07",
|
|
"type": "string",
|
|
"const": "Base07"
|
|
},
|
|
{
|
|
"description": "Base08",
|
|
"type": "string",
|
|
"const": "Base08"
|
|
},
|
|
{
|
|
"description": "Base09",
|
|
"type": "string",
|
|
"const": "Base09"
|
|
},
|
|
{
|
|
"description": "Base0A",
|
|
"type": "string",
|
|
"const": "Base0A"
|
|
},
|
|
{
|
|
"description": "Base0B",
|
|
"type": "string",
|
|
"const": "Base0B"
|
|
},
|
|
{
|
|
"description": "Base0C",
|
|
"type": "string",
|
|
"const": "Base0C"
|
|
},
|
|
{
|
|
"description": "Base0D",
|
|
"type": "string",
|
|
"const": "Base0D"
|
|
},
|
|
{
|
|
"description": "Base0E",
|
|
"type": "string",
|
|
"const": "Base0E"
|
|
},
|
|
{
|
|
"description": "Base0F",
|
|
"type": "string",
|
|
"const": "Base0F"
|
|
}
|
|
]
|
|
},
|
|
"BorderColours": {
|
|
"description": "Border colours for different container states",
|
|
"type": "object",
|
|
"properties": {
|
|
"floating": {
|
|
"description": "Border colour when the container is in floating mode",
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/$defs/Colour"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"monocle": {
|
|
"description": "Border colour when the container is in monocle mode",
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/$defs/Colour"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"single": {
|
|
"description": "Border colour when the container contains a single window",
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/$defs/Colour"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"stack": {
|
|
"description": "Border colour when the container contains multiple windows",
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/$defs/Colour"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"unfocused": {
|
|
"description": "Border colour when the container is unfocused",
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/$defs/Colour"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"unfocused_locked": {
|
|
"description": "Border colour when the container is unfocused and locked",
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/$defs/Colour"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"BorderImplementation": {
|
|
"description": "Border style",
|
|
"oneOf": [
|
|
{
|
|
"description": "Use the adjustable komorebi border implementation",
|
|
"type": "string",
|
|
"const": "Komorebi"
|
|
},
|
|
{
|
|
"description": "Use the thin Windows accent border implementation",
|
|
"type": "string",
|
|
"const": "Windows"
|
|
}
|
|
]
|
|
},
|
|
"BorderStyle": {
|
|
"description": "Border style",
|
|
"oneOf": [
|
|
{
|
|
"description": "Use the system border style",
|
|
"type": "string",
|
|
"const": "System"
|
|
},
|
|
{
|
|
"description": "Use the Windows 11-style rounded borders",
|
|
"type": "string",
|
|
"const": "Rounded"
|
|
},
|
|
{
|
|
"description": "Use the Windows 10-style square borders",
|
|
"type": "string",
|
|
"const": "Square"
|
|
}
|
|
]
|
|
},
|
|
"Catppuccin": {
|
|
"description": "Catppuccin palette",
|
|
"oneOf": [
|
|
{
|
|
"description": "Frappe",
|
|
"type": "string",
|
|
"const": "Frappe"
|
|
},
|
|
{
|
|
"description": "Latte",
|
|
"type": "string",
|
|
"const": "Latte"
|
|
},
|
|
{
|
|
"description": "Macchiato",
|
|
"type": "string",
|
|
"const": "Macchiato"
|
|
},
|
|
{
|
|
"description": "Mocha",
|
|
"type": "string",
|
|
"const": "Mocha"
|
|
}
|
|
]
|
|
},
|
|
"CatppuccinValue": {
|
|
"description": "Catppuccin Value",
|
|
"oneOf": [
|
|
{
|
|
"description": "Rosewater",
|
|
"type": "string",
|
|
"const": "Rosewater"
|
|
},
|
|
{
|
|
"description": "Flamingo",
|
|
"type": "string",
|
|
"const": "Flamingo"
|
|
},
|
|
{
|
|
"description": "Pink",
|
|
"type": "string",
|
|
"const": "Pink"
|
|
},
|
|
{
|
|
"description": "Mauve",
|
|
"type": "string",
|
|
"const": "Mauve"
|
|
},
|
|
{
|
|
"description": "Red",
|
|
"type": "string",
|
|
"const": "Red"
|
|
},
|
|
{
|
|
"description": "Maroon",
|
|
"type": "string",
|
|
"const": "Maroon"
|
|
},
|
|
{
|
|
"description": "Peach",
|
|
"type": "string",
|
|
"const": "Peach"
|
|
},
|
|
{
|
|
"description": "Yellow",
|
|
"type": "string",
|
|
"const": "Yellow"
|
|
},
|
|
{
|
|
"description": "Green",
|
|
"type": "string",
|
|
"const": "Green"
|
|
},
|
|
{
|
|
"description": "Teal",
|
|
"type": "string",
|
|
"const": "Teal"
|
|
},
|
|
{
|
|
"description": "Sky",
|
|
"type": "string",
|
|
"const": "Sky"
|
|
},
|
|
{
|
|
"description": "Sapphire",
|
|
"type": "string",
|
|
"const": "Sapphire"
|
|
},
|
|
{
|
|
"description": "Blue",
|
|
"type": "string",
|
|
"const": "Blue"
|
|
},
|
|
{
|
|
"description": "Lavender",
|
|
"type": "string",
|
|
"const": "Lavender"
|
|
},
|
|
{
|
|
"description": "Text",
|
|
"type": "string",
|
|
"const": "Text"
|
|
},
|
|
{
|
|
"description": "Subtext1",
|
|
"type": "string",
|
|
"const": "Subtext1"
|
|
},
|
|
{
|
|
"description": "Subtext0",
|
|
"type": "string",
|
|
"const": "Subtext0"
|
|
},
|
|
{
|
|
"description": "Overlay2",
|
|
"type": "string",
|
|
"const": "Overlay2"
|
|
},
|
|
{
|
|
"description": "Overlay1",
|
|
"type": "string",
|
|
"const": "Overlay1"
|
|
},
|
|
{
|
|
"description": "Overlay0",
|
|
"type": "string",
|
|
"const": "Overlay0"
|
|
},
|
|
{
|
|
"description": "Surface2",
|
|
"type": "string",
|
|
"const": "Surface2"
|
|
},
|
|
{
|
|
"description": "Surface1",
|
|
"type": "string",
|
|
"const": "Surface1"
|
|
},
|
|
{
|
|
"description": "Surface0",
|
|
"type": "string",
|
|
"const": "Surface0"
|
|
},
|
|
{
|
|
"description": "Base",
|
|
"type": "string",
|
|
"const": "Base"
|
|
},
|
|
{
|
|
"description": "Mantle",
|
|
"type": "string",
|
|
"const": "Mantle"
|
|
},
|
|
{
|
|
"description": "Crust",
|
|
"type": "string",
|
|
"const": "Crust"
|
|
}
|
|
]
|
|
},
|
|
"Colour": {
|
|
"description": "Colour representation",
|
|
"anyOf": [
|
|
{
|
|
"description": "Colour represented as RGB",
|
|
"$ref": "#/$defs/Rgb"
|
|
},
|
|
{
|
|
"description": "Colour represented as Hex",
|
|
"$ref": "#/$defs/Hex"
|
|
}
|
|
]
|
|
},
|
|
"CrossBoundaryBehaviour": {
|
|
"description": "Behaviour when an action would cross a monitor boundary",
|
|
"oneOf": [
|
|
{
|
|
"description": "Attempt to perform actions across a workspace boundary",
|
|
"type": "string",
|
|
"const": "Workspace"
|
|
},
|
|
{
|
|
"description": "Attempt to perform actions across a monitor boundary",
|
|
"type": "string",
|
|
"const": "Monitor"
|
|
}
|
|
]
|
|
},
|
|
"DefaultLayout": {
|
|
"description": "A predefined komorebi layout",
|
|
"oneOf": [
|
|
{
|
|
"description": "BSP Layout\n\n```\n+-------+-----+\n| | |\n| +--+--+\n| | |--|\n+-------+--+--+\n```",
|
|
"type": "string",
|
|
"const": "BSP"
|
|
},
|
|
{
|
|
"description": "Columns Layout\n\n```\n+--+--+--+--+\n| | | | |\n| | | | |\n| | | | |\n+--+--+--+--+\n```",
|
|
"type": "string",
|
|
"const": "Columns"
|
|
},
|
|
{
|
|
"description": "Rows Layout\n\n```\n+-----------+\n|-----------|\n|-----------|\n|-----------|\n+-----------+\n```",
|
|
"type": "string",
|
|
"const": "Rows"
|
|
},
|
|
{
|
|
"description": "Vertical Stack Layout\n\n```\n+-------+-----+\n| | |\n| +-----+\n| | |\n+-------+-----+\n```",
|
|
"type": "string",
|
|
"const": "VerticalStack"
|
|
},
|
|
{
|
|
"description": "Horizontal Stack Layout\n\n```\n+------+------+\n| |\n|------+------+\n| | |\n+------+------+\n```",
|
|
"type": "string",
|
|
"const": "HorizontalStack"
|
|
},
|
|
{
|
|
"description": "Ultrawide Vertical Stack Layout\n\n```\n+-----+-----------+-----+\n| | | |\n| | +-----+\n| | | |\n| | +-----+\n| | | |\n+-----+-----------+-----+\n```",
|
|
"type": "string",
|
|
"const": "UltrawideVerticalStack"
|
|
},
|
|
{
|
|
"description": "Grid Layout\n\n```\n+-----+-----+ +---+---+---+ +---+---+---+ +---+---+---+\n| | | | | | | | | | | | | | |\n| | | | | | | | | | | | | +---+\n+-----+-----+ | +---+---+ +---+---+---+ +---+---| |\n| | | | | | | | | | | | | +---+\n| | | | | | | | | | | | | | |\n+-----+-----+ +---+---+---+ +---+---+---+ +---+---+---+\n 4 windows 5 windows 6 windows 7 windows\n```",
|
|
"type": "string",
|
|
"const": "Grid"
|
|
},
|
|
{
|
|
"description": "Right Main Vertical Stack Layout\n\n```\n+-----+-------+\n| | |\n+-----+ |\n| | |\n+-----+-------+\n```",
|
|
"type": "string",
|
|
"const": "RightMainVerticalStack"
|
|
},
|
|
{
|
|
"description": "Scrolling Layout\n\n```\n+--+--+--+--+--+--+\n| | | |\n| | | |\n| | | |\n+--+--+--+--+--+--+\n```",
|
|
"type": "string",
|
|
"const": "Scrolling"
|
|
}
|
|
]
|
|
},
|
|
"FloatingLayerBehaviour": {
|
|
"description": "Floating layer behaviour when a new window is opened",
|
|
"oneOf": [
|
|
{
|
|
"description": "Tile new windows (unless they match a float rule or float override is active)",
|
|
"type": "string",
|
|
"const": "Tile"
|
|
},
|
|
{
|
|
"description": "Float new windows",
|
|
"type": "string",
|
|
"const": "Float"
|
|
}
|
|
]
|
|
},
|
|
"FocusFollowsMouseImplementation": {
|
|
"description": "Focus follows mouse implementation",
|
|
"oneOf": [
|
|
{
|
|
"description": "Custom FFM implementation (slightly more CPU-intensive)",
|
|
"type": "string",
|
|
"const": "Komorebi"
|
|
},
|
|
{
|
|
"description": "Native (legacy) Windows FFM implementation",
|
|
"type": "string",
|
|
"const": "Windows"
|
|
}
|
|
]
|
|
},
|
|
"GridLayoutOptions": {
|
|
"description": "Options for the Grid layout",
|
|
"type": "object",
|
|
"properties": {
|
|
"rows": {
|
|
"description": "Maximum number of rows per grid column",
|
|
"type": "integer",
|
|
"format": "uint",
|
|
"minimum": 0
|
|
}
|
|
},
|
|
"required": [
|
|
"rows"
|
|
]
|
|
},
|
|
"Hex": {
|
|
"description": "Colour represented as a Hex string",
|
|
"type": "string",
|
|
"format": "color-hex"
|
|
},
|
|
"HidingBehaviour": {
|
|
"description": "Window hiding behaviour",
|
|
"oneOf": [
|
|
{
|
|
"description": "END OF LIFE FEATURE: Use the `SW_HIDE` flag to hide windows when switching workspaces (has issues with Electron apps)",
|
|
"type": "string",
|
|
"const": "Hide",
|
|
"deprecated": true
|
|
},
|
|
{
|
|
"description": "Use the `SW_MINIMIZE` flag to hide windows when switching workspaces (has issues with frequent workspace switching)",
|
|
"type": "string",
|
|
"const": "Minimize"
|
|
},
|
|
{
|
|
"description": "Use the undocumented SetCloak Win32 function to hide windows when switching workspaces",
|
|
"type": "string",
|
|
"const": "Cloak"
|
|
}
|
|
]
|
|
},
|
|
"IdWithIdentifier": {
|
|
"description": "Rule for matching applications",
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"description": "Target identifier",
|
|
"type": "string"
|
|
},
|
|
"kind": {
|
|
"description": "Kind of identifier to target",
|
|
"$ref": "#/$defs/ApplicationIdentifier"
|
|
},
|
|
"matching_strategy": {
|
|
"description": "Matching strategy to use",
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/$defs/MatchingStrategy"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"kind",
|
|
"id"
|
|
]
|
|
},
|
|
"KomorebiTheme": {
|
|
"description": "Komorebi theme",
|
|
"oneOf": [
|
|
{
|
|
"description": "A theme from catppuccin-egui",
|
|
"type": "object",
|
|
"properties": {
|
|
"bar_accent": {
|
|
"description": "Komorebi status bar accent",
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/$defs/CatppuccinValue"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"default": "Blue"
|
|
},
|
|
"floating_border": {
|
|
"description": "Border colour when the window is floating",
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/$defs/CatppuccinValue"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"default": "Yellow"
|
|
},
|
|
"monocle_border": {
|
|
"description": "Border colour when the container is in monocle mode",
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/$defs/CatppuccinValue"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"default": "Pink"
|
|
},
|
|
"name": {
|
|
"description": "Name of the Catppuccin theme (theme previews: https://github.com/catppuccin/catppuccin)",
|
|
"$ref": "#/$defs/Catppuccin"
|
|
},
|
|
"palette": {
|
|
"type": "string",
|
|
"const": "Catppuccin"
|
|
},
|
|
"single_border": {
|
|
"description": "Border colour when the container contains a single window",
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/$defs/CatppuccinValue"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"default": "Blue"
|
|
},
|
|
"stack_border": {
|
|
"description": "Border colour when the container contains multiple windows",
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/$defs/CatppuccinValue"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"default": "Green"
|
|
},
|
|
"stackbar_background": {
|
|
"description": "Stackbar tab background colour",
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/$defs/CatppuccinValue"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"default": "Base"
|
|
},
|
|
"stackbar_focused_text": {
|
|
"description": "Stackbar focused tab text colour",
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/$defs/CatppuccinValue"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"default": "Green"
|
|
},
|
|
"stackbar_unfocused_text": {
|
|
"description": "Stackbar unfocused tab text colour",
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/$defs/CatppuccinValue"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"default": "Text"
|
|
},
|
|
"unfocused_border": {
|
|
"description": "Border colour when the container is unfocused",
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/$defs/CatppuccinValue"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"default": "Base"
|
|
},
|
|
"unfocused_locked_border": {
|
|
"description": "Border colour when the container is unfocused and locked",
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/$defs/CatppuccinValue"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"default": "Red"
|
|
}
|
|
},
|
|
"required": [
|
|
"palette",
|
|
"name"
|
|
]
|
|
},
|
|
{
|
|
"description": "A theme from base16-egui-themes",
|
|
"type": "object",
|
|
"properties": {
|
|
"bar_accent": {
|
|
"description": "Komorebi status bar accent",
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/$defs/Base16Value"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"default": "Base0D"
|
|
},
|
|
"floating_border": {
|
|
"description": "Border colour when the window is floating",
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/$defs/Base16Value"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"default": "Base09"
|
|
},
|
|
"monocle_border": {
|
|
"description": "Border colour when the container is in monocle mode",
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/$defs/Base16Value"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"default": "Base0F"
|
|
},
|
|
"name": {
|
|
"description": "Name of the Base16 theme (theme previews: https://tinted-theming.github.io/tinted-gallery/)",
|
|
"$ref": "#/$defs/Base16"
|
|
},
|
|
"palette": {
|
|
"type": "string",
|
|
"const": "Base16"
|
|
},
|
|
"single_border": {
|
|
"description": "Border colour when the container contains a single window",
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/$defs/Base16Value"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"default": "Base0D"
|
|
},
|
|
"stack_border": {
|
|
"description": "Border colour when the container contains multiple windows",
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/$defs/Base16Value"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"default": "Base0B"
|
|
},
|
|
"stackbar_background": {
|
|
"description": "Stackbar tab background colour",
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/$defs/Base16Value"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"default": "Base01"
|
|
},
|
|
"stackbar_focused_text": {
|
|
"description": "Stackbar focused tab text colour",
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/$defs/Base16Value"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"default": "Base0B"
|
|
},
|
|
"stackbar_unfocused_text": {
|
|
"description": "Stackbar unfocused tab text colour",
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/$defs/Base16Value"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"default": "Base05"
|
|
},
|
|
"unfocused_border": {
|
|
"description": "Border colour when the container is unfocused",
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/$defs/Base16Value"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"default": "Base01"
|
|
},
|
|
"unfocused_locked_border": {
|
|
"description": "Border colour when the container is unfocused and locked",
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/$defs/Base16Value"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"default": "Base08"
|
|
}
|
|
},
|
|
"required": [
|
|
"palette",
|
|
"name"
|
|
]
|
|
},
|
|
{
|
|
"description": "A custom Base16 theme",
|
|
"type": "object",
|
|
"properties": {
|
|
"bar_accent": {
|
|
"description": "Komorebi status bar accent",
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/$defs/Base16Value"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"default": "Base0D"
|
|
},
|
|
"colours": {
|
|
"description": "Colours of the custom Base16 theme palette",
|
|
"$ref": "#/$defs/Base16ColourPalette"
|
|
},
|
|
"floating_border": {
|
|
"description": "Border colour when the window is floating",
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/$defs/Base16Value"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"default": "Base09"
|
|
},
|
|
"monocle_border": {
|
|
"description": "Border colour when the container is in monocle mode",
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/$defs/Base16Value"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"default": "Base0F"
|
|
},
|
|
"palette": {
|
|
"type": "string",
|
|
"const": "Custom"
|
|
},
|
|
"single_border": {
|
|
"description": "Border colour when the container contains a single window",
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/$defs/Base16Value"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"default": "Base0D"
|
|
},
|
|
"stack_border": {
|
|
"description": "Border colour when the container contains multiple windows",
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/$defs/Base16Value"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"default": "Base0B"
|
|
},
|
|
"stackbar_background": {
|
|
"description": "Stackbar tab background colour",
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/$defs/Base16Value"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"default": "Base01"
|
|
},
|
|
"stackbar_focused_text": {
|
|
"description": "Stackbar focused tab text colour",
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/$defs/Base16Value"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"default": "Base0B"
|
|
},
|
|
"stackbar_unfocused_text": {
|
|
"description": "Stackbar unfocused tab text colour",
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/$defs/Base16Value"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"default": "Base05"
|
|
},
|
|
"unfocused_border": {
|
|
"description": "Border colour when the container is unfocused",
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/$defs/Base16Value"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"default": "Base01"
|
|
},
|
|
"unfocused_locked_border": {
|
|
"description": "Border colour when the container is unfocused and locked",
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/$defs/Base16Value"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"default": "Base08"
|
|
}
|
|
},
|
|
"required": [
|
|
"palette",
|
|
"colours"
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"LayoutOptions": {
|
|
"description": "Options for specific layouts",
|
|
"type": "object",
|
|
"properties": {
|
|
"grid": {
|
|
"description": "Options related to the Grid layout",
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/$defs/GridLayoutOptions"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"scrolling": {
|
|
"description": "Options related to the Scrolling layout",
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/$defs/ScrollingLayoutOptions"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"MatchingRule": {
|
|
"description": "Rule for matching applications",
|
|
"anyOf": [
|
|
{
|
|
"description": "Simple matching rule which must evaluate to true",
|
|
"$ref": "#/$defs/IdWithIdentifier"
|
|
},
|
|
{
|
|
"description": "Composite matching rule where all conditions must evaluate to true",
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/$defs/IdWithIdentifier"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"MatchingStrategy": {
|
|
"description": "Strategy for matching identifiers",
|
|
"oneOf": [
|
|
{
|
|
"description": "Should not be used, only kept for backward compatibility",
|
|
"type": "string",
|
|
"const": "Legacy"
|
|
},
|
|
{
|
|
"description": "Equals",
|
|
"type": "string",
|
|
"const": "Equals"
|
|
},
|
|
{
|
|
"description": "Starts With",
|
|
"type": "string",
|
|
"const": "StartsWith"
|
|
},
|
|
{
|
|
"description": "Ends With",
|
|
"type": "string",
|
|
"const": "EndsWith"
|
|
},
|
|
{
|
|
"description": "Contains",
|
|
"type": "string",
|
|
"const": "Contains"
|
|
},
|
|
{
|
|
"description": "Regex",
|
|
"type": "string",
|
|
"const": "Regex"
|
|
},
|
|
{
|
|
"description": "Does not end with",
|
|
"type": "string",
|
|
"const": "DoesNotEndWith"
|
|
},
|
|
{
|
|
"description": "Does not start with",
|
|
"type": "string",
|
|
"const": "DoesNotStartWith"
|
|
},
|
|
{
|
|
"description": "Does not equal",
|
|
"type": "string",
|
|
"const": "DoesNotEqual"
|
|
},
|
|
{
|
|
"description": "Does not contain",
|
|
"type": "string",
|
|
"const": "DoesNotContain"
|
|
}
|
|
]
|
|
},
|
|
"MonitorConfig": {
|
|
"description": "Monitor configuration",
|
|
"type": "object",
|
|
"properties": {
|
|
"container_padding": {
|
|
"description": "Container padding (default: global)",
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"format": "int32"
|
|
},
|
|
"floating_layer_behaviour": {
|
|
"description": "Determine what happens to a new window when the Floating workspace layer is active",
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/$defs/FloatingLayerBehaviour"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"default": "Tile"
|
|
},
|
|
"wallpaper": {
|
|
"description": "Specify a wallpaper for this monitor",
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/$defs/Wallpaper"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"window_based_work_area_offset": {
|
|
"description": "Window based work area offset",
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/$defs/Rect"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"window_based_work_area_offset_limit": {
|
|
"description": "Open window limit after which the window based work area offset will no longer be applied",
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"format": "int",
|
|
"default": 1
|
|
},
|
|
"work_area_offset": {
|
|
"description": "Monitor-specific work area offset",
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/$defs/Rect"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"workspace_padding": {
|
|
"description": "Workspace padding (default: global)",
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"format": "int32"
|
|
},
|
|
"workspaces": {
|
|
"description": "Workspace configurations",
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/$defs/WorkspaceConfig"
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"workspaces"
|
|
]
|
|
},
|
|
"MoveBehaviour": {
|
|
"description": "Move behaviour when the operation works across a monitor boundary",
|
|
"oneOf": [
|
|
{
|
|
"description": "Swap the window container with the window container at the edge of the adjacent monitor",
|
|
"type": "string",
|
|
"const": "Swap"
|
|
},
|
|
{
|
|
"description": "Insert the window container into the focused workspace on the adjacent monitor",
|
|
"type": "string",
|
|
"const": "Insert"
|
|
},
|
|
{
|
|
"description": "Do nothing if trying to move a window container in the direction of an adjacent monitor",
|
|
"type": "string",
|
|
"const": "NoOp"
|
|
}
|
|
]
|
|
},
|
|
"OperationBehaviour": {
|
|
"description": "Operation behaviour for temporarily unmanaged and floating windows",
|
|
"oneOf": [
|
|
{
|
|
"description": "Process commands on temporarily unmanaged/floated windows",
|
|
"type": "string",
|
|
"const": "Op"
|
|
},
|
|
{
|
|
"description": "Ignore commands on temporarily unmanaged/floated windows",
|
|
"type": "string",
|
|
"const": "NoOp"
|
|
}
|
|
]
|
|
},
|
|
"PathBuf": {
|
|
"type": "string"
|
|
},
|
|
"PerAnimationPrefixConfig": {
|
|
"description": "Animation configuration\n\nThis can be either global:\n```json\n{\n \"enabled\": true,\n \"style\": \"EaseInSine\",\n \"fps\": 60,\n \"duration\": 250\n}\n```\n\nOr scoped by an animation kind prefix:\n```json\n{\n \"movement\": {\n \"enabled\": true,\n \"style\": \"EaseInSine\",\n \"fps\": 60,\n \"duration\": 250\n }\n}\n```",
|
|
"anyOf": [
|
|
{
|
|
"description": "Animation configuration prefixed for a specific animation kind",
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
{
|
|
"description": "Animation configuration for all animation kinds",
|
|
"type": "boolean"
|
|
}
|
|
]
|
|
},
|
|
"PerAnimationPrefixConfig2": {
|
|
"description": "Animation configuration\n\nThis can be either global:\n```json\n{\n \"enabled\": true,\n \"style\": \"EaseInSine\",\n \"fps\": 60,\n \"duration\": 250\n}\n```\n\nOr scoped by an animation kind prefix:\n```json\n{\n \"movement\": {\n \"enabled\": true,\n \"style\": \"EaseInSine\",\n \"fps\": 60,\n \"duration\": 250\n }\n}\n```",
|
|
"anyOf": [
|
|
{
|
|
"description": "Animation configuration prefixed for a specific animation kind",
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"type": "integer",
|
|
"format": "uint64",
|
|
"minimum": 0
|
|
}
|
|
},
|
|
{
|
|
"description": "Animation configuration for all animation kinds",
|
|
"type": "integer",
|
|
"format": "uint64",
|
|
"minimum": 0
|
|
}
|
|
]
|
|
},
|
|
"PerAnimationPrefixConfig3": {
|
|
"description": "Animation configuration\n\nThis can be either global:\n```json\n{\n \"enabled\": true,\n \"style\": \"EaseInSine\",\n \"fps\": 60,\n \"duration\": 250\n}\n```\n\nOr scoped by an animation kind prefix:\n```json\n{\n \"movement\": {\n \"enabled\": true,\n \"style\": \"EaseInSine\",\n \"fps\": 60,\n \"duration\": 250\n }\n}\n```",
|
|
"anyOf": [
|
|
{
|
|
"description": "Animation configuration prefixed for a specific animation kind",
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"$ref": "#/$defs/AnimationStyle"
|
|
}
|
|
},
|
|
{
|
|
"description": "Animation configuration for all animation kinds",
|
|
"$ref": "#/$defs/AnimationStyle"
|
|
}
|
|
]
|
|
},
|
|
"Placement": {
|
|
"description": "Placement behaviour for floating windows",
|
|
"oneOf": [
|
|
{
|
|
"description": "Does not change the size or position of the window",
|
|
"type": "string",
|
|
"const": "None"
|
|
},
|
|
{
|
|
"description": "Center the window without changing the size",
|
|
"type": "string",
|
|
"const": "Center"
|
|
},
|
|
{
|
|
"description": "Center the window and resize it according to the `AspectRatio`",
|
|
"type": "string",
|
|
"const": "CenterAndResize"
|
|
}
|
|
]
|
|
},
|
|
"PredefinedAspectRatio": {
|
|
"description": "Predefined aspect ratio",
|
|
"oneOf": [
|
|
{
|
|
"description": "21:9",
|
|
"type": "string",
|
|
"const": "Ultrawide"
|
|
},
|
|
{
|
|
"description": "16:9",
|
|
"type": "string",
|
|
"const": "Widescreen"
|
|
},
|
|
{
|
|
"description": "4:3",
|
|
"type": "string",
|
|
"const": "Standard"
|
|
}
|
|
]
|
|
},
|
|
"Rect": {
|
|
"description": "Rectangle dimensions",
|
|
"type": "object",
|
|
"properties": {
|
|
"bottom": {
|
|
"description": "Height of the rectangle (from the top point)",
|
|
"type": "integer",
|
|
"format": "int32"
|
|
},
|
|
"left": {
|
|
"description": "Left point of the rectangle",
|
|
"type": "integer",
|
|
"format": "int32"
|
|
},
|
|
"right": {
|
|
"description": "Width of the recentangle (from the left point)",
|
|
"type": "integer",
|
|
"format": "int32"
|
|
},
|
|
"top": {
|
|
"description": "Top point of the rectangle",
|
|
"type": "integer",
|
|
"format": "int32"
|
|
}
|
|
},
|
|
"required": [
|
|
"left",
|
|
"top",
|
|
"right",
|
|
"bottom"
|
|
]
|
|
},
|
|
"Rgb": {
|
|
"description": "Colour represented as RGB",
|
|
"type": "object",
|
|
"properties": {
|
|
"b": {
|
|
"description": "Blue",
|
|
"type": "integer",
|
|
"format": "uint32",
|
|
"minimum": 0
|
|
},
|
|
"g": {
|
|
"description": "Green",
|
|
"type": "integer",
|
|
"format": "uint32",
|
|
"minimum": 0
|
|
},
|
|
"r": {
|
|
"description": "Red",
|
|
"type": "integer",
|
|
"format": "uint32",
|
|
"minimum": 0
|
|
}
|
|
},
|
|
"required": [
|
|
"r",
|
|
"g",
|
|
"b"
|
|
]
|
|
},
|
|
"ScrollingLayoutOptions": {
|
|
"description": "Options for the Scrolling layout",
|
|
"type": "object",
|
|
"properties": {
|
|
"center_focused_column": {
|
|
"description": "With an odd number of visible columns, keep the focused window column centered",
|
|
"type": [
|
|
"boolean",
|
|
"null"
|
|
]
|
|
},
|
|
"columns": {
|
|
"description": "Desired number of visible columns (default: 3)",
|
|
"type": "integer",
|
|
"format": "uint",
|
|
"minimum": 0
|
|
}
|
|
},
|
|
"required": [
|
|
"columns"
|
|
]
|
|
},
|
|
"StackbarConfig": {
|
|
"description": "Stackbar configuration",
|
|
"type": "object",
|
|
"properties": {
|
|
"height": {
|
|
"description": "Stackbar height",
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"format": "int32"
|
|
},
|
|
"label": {
|
|
"description": "Stackbar label",
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/$defs/StackbarLabel"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"mode": {
|
|
"description": "Stackbar mode",
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/$defs/StackbarMode"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"default": "Never"
|
|
},
|
|
"tabs": {
|
|
"description": "Stackbar tab configuration options",
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/$defs/TabsConfig"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"StackbarLabel": {
|
|
"description": "Starbar label",
|
|
"oneOf": [
|
|
{
|
|
"description": "Process name",
|
|
"type": "string",
|
|
"const": "Process"
|
|
},
|
|
{
|
|
"description": "Window title",
|
|
"type": "string",
|
|
"const": "Title"
|
|
}
|
|
]
|
|
},
|
|
"StackbarMode": {
|
|
"description": "Stackbar mode",
|
|
"oneOf": [
|
|
{
|
|
"description": "Always show",
|
|
"type": "string",
|
|
"const": "Always"
|
|
},
|
|
{
|
|
"description": "Never show",
|
|
"type": "string",
|
|
"const": "Never"
|
|
},
|
|
{
|
|
"description": "Show on stack",
|
|
"type": "string",
|
|
"const": "OnStack"
|
|
}
|
|
]
|
|
},
|
|
"TabsConfig": {
|
|
"description": "Stackbar tabs configuration",
|
|
"type": "object",
|
|
"properties": {
|
|
"background": {
|
|
"description": "Tab background colour",
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/$defs/Colour"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"focused_text": {
|
|
"description": "Focused tab text colour",
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/$defs/Colour"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"font_family": {
|
|
"description": "Font family",
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"font_size": {
|
|
"description": "Font size",
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"format": "int32"
|
|
},
|
|
"unfocused_text": {
|
|
"description": "Unfocused tab text colour",
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/$defs/Colour"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"width": {
|
|
"description": "Width of a stackbar tab",
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"format": "int32"
|
|
}
|
|
}
|
|
},
|
|
"ThemeOptions": {
|
|
"description": "Theme options",
|
|
"type": "object",
|
|
"properties": {
|
|
"bar_accent": {
|
|
"description": "Komorebi status bar accent",
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/$defs/Base16Value"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"default": "Base0D"
|
|
},
|
|
"floating_border": {
|
|
"description": "Border colour when the window is floating",
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/$defs/Base16Value"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"default": "Base09"
|
|
},
|
|
"monocle_border": {
|
|
"description": "Border colour when the container is in monocle mode",
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/$defs/Base16Value"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"default": "Base0F"
|
|
},
|
|
"single_border": {
|
|
"description": "Border colour when the container contains a single window",
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/$defs/Base16Value"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"default": "Base0D"
|
|
},
|
|
"stack_border": {
|
|
"description": "Border colour when the container contains multiple windows",
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/$defs/Base16Value"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"default": "Base0B"
|
|
},
|
|
"stackbar_background": {
|
|
"description": "Stackbar tab background colour",
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/$defs/Base16Value"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"default": "Base01"
|
|
},
|
|
"stackbar_focused_text": {
|
|
"description": "Stackbar focused tab text colour",
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/$defs/Base16Value"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"default": "Base0B"
|
|
},
|
|
"stackbar_unfocused_text": {
|
|
"description": "Stackbar unfocused tab text colour",
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/$defs/Base16Value"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"default": "Base05"
|
|
},
|
|
"theme_variant": {
|
|
"description": "Specify Light or Dark variant for theme generation",
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/$defs/ThemeVariant"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"default": "Dark"
|
|
},
|
|
"unfocused_border": {
|
|
"description": "Border colour when the container is unfocused",
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/$defs/Base16Value"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"default": "Base01"
|
|
},
|
|
"unfocused_locked_border": {
|
|
"description": "Border colour when the container is unfocused and locked",
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/$defs/Base16Value"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"default": "Base08"
|
|
}
|
|
}
|
|
},
|
|
"ThemeVariant": {
|
|
"description": "Theme variant",
|
|
"oneOf": [
|
|
{
|
|
"description": "Dark variant",
|
|
"type": "string",
|
|
"const": "Dark"
|
|
},
|
|
{
|
|
"description": "Light variant",
|
|
"type": "string",
|
|
"const": "Light"
|
|
}
|
|
]
|
|
},
|
|
"Wallpaper": {
|
|
"description": "Wallpaper configuration",
|
|
"type": "object",
|
|
"properties": {
|
|
"generate_theme": {
|
|
"description": "Generate and apply Base16 theme for this wallpaper",
|
|
"type": [
|
|
"boolean",
|
|
"null"
|
|
],
|
|
"default": true
|
|
},
|
|
"path": {
|
|
"description": "Path to the wallpaper image file",
|
|
"$ref": "#/$defs/PathBuf"
|
|
},
|
|
"theme_options": {
|
|
"description": "Specify Light or Dark variant for theme generation",
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/$defs/ThemeOptions"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"default": "Dark"
|
|
}
|
|
},
|
|
"required": [
|
|
"path"
|
|
]
|
|
},
|
|
"WindowContainerBehaviour": {
|
|
"description": "Window container behaviour when a new window is opened",
|
|
"oneOf": [
|
|
{
|
|
"description": "Create a new container for each new window",
|
|
"type": "string",
|
|
"const": "Create"
|
|
},
|
|
{
|
|
"description": "Append new windows to the focused window container",
|
|
"type": "string",
|
|
"const": "Append"
|
|
}
|
|
]
|
|
},
|
|
"WindowHandlingBehaviour": {
|
|
"description": "Window handling behaviour",
|
|
"oneOf": [
|
|
{
|
|
"description": "Synchronous",
|
|
"type": "string",
|
|
"const": "Sync"
|
|
},
|
|
{
|
|
"description": "Asynchronous",
|
|
"type": "string",
|
|
"const": "Async"
|
|
}
|
|
]
|
|
},
|
|
"WorkspaceConfig": {
|
|
"description": "Workspace configuration",
|
|
"type": "object",
|
|
"properties": {
|
|
"apply_window_based_work_area_offset": {
|
|
"description": "Apply this monitor's window-based work area offset",
|
|
"type": [
|
|
"boolean",
|
|
"null"
|
|
],
|
|
"default": true
|
|
},
|
|
"container_padding": {
|
|
"description": "Container padding (default: global)",
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"format": "int32"
|
|
},
|
|
"custom_layout": {
|
|
"description": "END OF LIFE FEATURE: Custom Layout",
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/$defs/PathBuf"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"deprecated": true
|
|
},
|
|
"custom_layout_rules": {
|
|
"description": "END OF LIFE FEATURE: Custom layout rules",
|
|
"type": [
|
|
"object",
|
|
"null"
|
|
],
|
|
"additionalProperties": false,
|
|
"deprecated": true,
|
|
"patternProperties": {
|
|
"^\\d+$": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"float_override": {
|
|
"description": "Enable or disable float override, which makes it so every new window opens in floating mode",
|
|
"type": [
|
|
"boolean",
|
|
"null"
|
|
],
|
|
"default": false
|
|
},
|
|
"floating_layer_behaviour": {
|
|
"description": "Determine what happens to a new window when the Floating workspace layer is active",
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/$defs/FloatingLayerBehaviour"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"default": "Tile"
|
|
},
|
|
"initial_workspace_rules": {
|
|
"description": "Initial workspace application rules",
|
|
"type": [
|
|
"array",
|
|
"null"
|
|
],
|
|
"items": {
|
|
"$ref": "#/$defs/MatchingRule"
|
|
}
|
|
},
|
|
"layout": {
|
|
"description": "Layout",
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/$defs/DefaultLayout"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"default": "BSP"
|
|
},
|
|
"layout_flip": {
|
|
"description": "Specify an axis on which to flip the selected layout",
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/$defs/Axis"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"layout_options": {
|
|
"description": "Layout-specific options",
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/$defs/LayoutOptions"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"layout_rules": {
|
|
"description": "Layout rules in the format of threshold => layout",
|
|
"type": [
|
|
"object",
|
|
"null"
|
|
],
|
|
"additionalProperties": false,
|
|
"patternProperties": {
|
|
"^\\d+$": {
|
|
"$ref": "#/$defs/DefaultLayout"
|
|
}
|
|
}
|
|
},
|
|
"name": {
|
|
"description": "Name",
|
|
"type": "string"
|
|
},
|
|
"tile": {
|
|
"description": "Enable or disable tiling for the workspace",
|
|
"type": [
|
|
"boolean",
|
|
"null"
|
|
],
|
|
"default": true
|
|
},
|
|
"wallpaper": {
|
|
"description": "Specify a wallpaper for this workspace",
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/$defs/Wallpaper"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"window_container_behaviour": {
|
|
"description": "Determine what happens when a new window is opened",
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/$defs/WindowContainerBehaviour"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"default": "Create"
|
|
},
|
|
"window_container_behaviour_rules": {
|
|
"description": "Window container behaviour rules in the format of threshold => behaviour",
|
|
"type": [
|
|
"object",
|
|
"null"
|
|
],
|
|
"additionalProperties": false,
|
|
"patternProperties": {
|
|
"^\\d+$": {
|
|
"$ref": "#/$defs/WindowContainerBehaviour"
|
|
}
|
|
}
|
|
},
|
|
"work_area_offset": {
|
|
"description": "Workspace specific work area offset",
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/$defs/Rect"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"workspace_padding": {
|
|
"description": "Workspace padding (default: global)",
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"format": "int32"
|
|
},
|
|
"workspace_rules": {
|
|
"description": "Permanent workspace application rules",
|
|
"type": [
|
|
"array",
|
|
"null"
|
|
],
|
|
"items": {
|
|
"$ref": "#/$defs/MatchingRule"
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"name"
|
|
]
|
|
},
|
|
"ZOrder": {
|
|
"description": "Z Order (https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-setwindowpos)",
|
|
"oneOf": [
|
|
{
|
|
"description": "HWND_TOP\n\nPlaces the window at the top of the Z order.",
|
|
"type": "string",
|
|
"const": "Top"
|
|
},
|
|
{
|
|
"description": "HWND_NOTOPMOST\n\nPlaces the window above all non-topmost windows (that is, behind all topmost windows).\nThis flag has no effect if the window is already a non-topmost window.",
|
|
"type": "string",
|
|
"const": "NoTopMost"
|
|
},
|
|
{
|
|
"description": "HWND_BOTTOM\n\nPlaces the window at the bottom of the Z order. If the hWnd parameter identifies a topmost window,\nthe window loses its topmost status and is placed at the bottom of all other windows.",
|
|
"type": "string",
|
|
"const": "Bottom"
|
|
},
|
|
{
|
|
"description": "HWND_TOPMOST\n\nPlaces the window above all non-topmost windows.\nThe window maintains its topmost position even when it is deactivated.",
|
|
"type": "string",
|
|
"const": "TopMost"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|