mirror of
https://github.com/LGUG2Z/komorebi.git
synced 2026-01-11 22:12:53 +01:00
169 lines
3.9 KiB
JSON
169 lines
3.9 KiB
JSON
{
|
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
"title": "ApplicationSpecificConfiguration",
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"$ref": "#/$defs/AscApplicationRulesOrSchema"
|
|
},
|
|
"$defs": {
|
|
"ApplicationIdentifier": {
|
|
"type": "string",
|
|
"enum": [
|
|
"Exe",
|
|
"Class",
|
|
"Title",
|
|
"Path"
|
|
]
|
|
},
|
|
"AscApplicationRules": {
|
|
"description": "Rules that determine how an application is handled",
|
|
"type": "object",
|
|
"properties": {
|
|
"floating": {
|
|
"description": "Rules to manage specific windows as floating windows",
|
|
"type": [
|
|
"array",
|
|
"null"
|
|
],
|
|
"items": {
|
|
"$ref": "#/$defs/MatchingRule"
|
|
}
|
|
},
|
|
"ignore": {
|
|
"description": "Rules to ignore specific windows",
|
|
"type": [
|
|
"array",
|
|
"null"
|
|
],
|
|
"items": {
|
|
"$ref": "#/$defs/MatchingRule"
|
|
}
|
|
},
|
|
"layered": {
|
|
"description": "Rules to identify applications which have the `WS_EX_LAYERED` Extended Window Style",
|
|
"type": [
|
|
"array",
|
|
"null"
|
|
],
|
|
"items": {
|
|
"$ref": "#/$defs/MatchingRule"
|
|
}
|
|
},
|
|
"manage": {
|
|
"description": "Rules to forcibly manage specific windows",
|
|
"type": [
|
|
"array",
|
|
"null"
|
|
],
|
|
"items": {
|
|
"$ref": "#/$defs/MatchingRule"
|
|
}
|
|
},
|
|
"object_name_change": {
|
|
"description": "Rules to identify applications which send the `EVENT_OBJECT_NAMECHANGE` event on launch",
|
|
"type": [
|
|
"array",
|
|
"null"
|
|
],
|
|
"items": {
|
|
"$ref": "#/$defs/MatchingRule"
|
|
}
|
|
},
|
|
"slow_application": {
|
|
"description": "Rules to identify applications which are slow to send initial event notifications",
|
|
"type": [
|
|
"array",
|
|
"null"
|
|
],
|
|
"items": {
|
|
"$ref": "#/$defs/MatchingRule"
|
|
}
|
|
},
|
|
"transparency_ignore": {
|
|
"description": "Rules to ignore specific windows from the transparency feature",
|
|
"type": [
|
|
"array",
|
|
"null"
|
|
],
|
|
"items": {
|
|
"$ref": "#/$defs/MatchingRule"
|
|
}
|
|
},
|
|
"tray_and_multi_window": {
|
|
"description": "Rules to identify applications which minimize to the tray or have multiple windows",
|
|
"type": [
|
|
"array",
|
|
"null"
|
|
],
|
|
"items": {
|
|
"$ref": "#/$defs/MatchingRule"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"AscApplicationRulesOrSchema": {
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/$defs/AscApplicationRules"
|
|
},
|
|
{
|
|
"type": "string"
|
|
}
|
|
]
|
|
},
|
|
"IdWithIdentifier": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"kind": {
|
|
"$ref": "#/$defs/ApplicationIdentifier"
|
|
},
|
|
"matching_strategy": {
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/$defs/MatchingStrategy"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"kind",
|
|
"id"
|
|
]
|
|
},
|
|
"MatchingRule": {
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/$defs/IdWithIdentifier"
|
|
},
|
|
{
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/$defs/IdWithIdentifier"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"MatchingStrategy": {
|
|
"type": "string",
|
|
"enum": [
|
|
"Legacy",
|
|
"Equals",
|
|
"StartsWith",
|
|
"EndsWith",
|
|
"Contains",
|
|
"Regex",
|
|
"DoesNotEndWith",
|
|
"DoesNotStartWith",
|
|
"DoesNotEqual",
|
|
"DoesNotContain"
|
|
]
|
|
}
|
|
}
|
|
}
|