mirror of
https://github.com/LGUG2Z/komorebi.git
synced 2026-11-13 12:23:38 +01:00
The schema and the help of komorebic described the Class identifier as 'Role or subrole'. It is the accessibility subrole of the window, or its role when it has no subrole, and a rule matches either.
202 lines
5.0 KiB
JSON
202 lines
5.0 KiB
JSON
{
|
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
"title": "ApplicationSpecificConfiguration",
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"$ref": "#/$defs/AscApplicationRulesOrSchema"
|
|
},
|
|
"$defs": {
|
|
"ApplicationIdentifier": {
|
|
"description": "Application identifier",
|
|
"oneOf": [
|
|
{
|
|
"description": "Executable name",
|
|
"type": "string",
|
|
"const": "Exe"
|
|
},
|
|
{
|
|
"description": "Accessibility subrole or role, such as AXStandardWindow",
|
|
"type": "string",
|
|
"const": "Class"
|
|
},
|
|
{
|
|
"description": "Window title",
|
|
"type": "string",
|
|
"const": "Title"
|
|
},
|
|
{
|
|
"description": "Executable path",
|
|
"type": "string",
|
|
"const": "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"
|
|
}
|
|
},
|
|
"manage": {
|
|
"description": "Rules to forcibly manage specific windows",
|
|
"type": [
|
|
"array",
|
|
"null"
|
|
],
|
|
"items": {
|
|
"$ref": "#/$defs/MatchingRule"
|
|
}
|
|
},
|
|
"tabbed": {
|
|
"description": "Rules to identify applications which are title-less - only accepts Simple Exe rules",
|
|
"type": [
|
|
"array",
|
|
"null"
|
|
],
|
|
"items": {
|
|
"$ref": "#/$defs/MatchingRule"
|
|
}
|
|
},
|
|
"titleless": {
|
|
"description": "Rules to identify applications which are title-less - only accepts Simple Exe rules",
|
|
"type": [
|
|
"array",
|
|
"null"
|
|
],
|
|
"items": {
|
|
"$ref": "#/$defs/MatchingRule"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"AscApplicationRulesOrSchema": {
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/$defs/AscApplicationRules"
|
|
},
|
|
{
|
|
"type": "string"
|
|
}
|
|
]
|
|
},
|
|
"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"
|
|
]
|
|
},
|
|
"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"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|