mirror of
https://github.com/LGUG2Z/komorebi.git
synced 2026-03-19 16:21:17 +01:00
Previously, current input method was retrieved via the Language::CurrentInputMethodLanguageTag() call, which is inaccurate as it is retrieving the current input method of the bar itself, so it will only be updated when the bar is in focus. The fix is getting the TID of the currently focused window and read its input method.
169 lines
8.3 KiB
JSON
169 lines
8.3 KiB
JSON
{
|
||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||
"title": "ApplicationSpecificConfiguration",
|
||
"type": "object",
|
||
"additionalProperties": {
|
||
"$ref": "#/definitions/AscApplicationRulesOrSchema"
|
||
},
|
||
"definitions": {
|
||
"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": "#/definitions/MatchingRule"
|
||
}
|
||
},
|
||
"ignore": {
|
||
"description": "Rules to ignore specific windows",
|
||
"type": [
|
||
"array",
|
||
"null"
|
||
],
|
||
"items": {
|
||
"$ref": "#/definitions/MatchingRule"
|
||
}
|
||
},
|
||
"layered": {
|
||
"description": "Rules to identify applications which have the `WS_EX_LAYERED` Extended Window Style",
|
||
"type": [
|
||
"array",
|
||
"null"
|
||
],
|
||
"items": {
|
||
"$ref": "#/definitions/MatchingRule"
|
||
}
|
||
},
|
||
"manage": {
|
||
"description": "Rules to forcibly manage specific windows",
|
||
"type": [
|
||
"array",
|
||
"null"
|
||
],
|
||
"items": {
|
||
"$ref": "#/definitions/MatchingRule"
|
||
}
|
||
},
|
||
"object_name_change": {
|
||
"description": "Rules to identify applications which send the `EVENT_OBJECT_NAMECHANGE` event on launch",
|
||
"type": [
|
||
"array",
|
||
"null"
|
||
],
|
||
"items": {
|
||
"$ref": "#/definitions/MatchingRule"
|
||
}
|
||
},
|
||
"slow_application": {
|
||
"description": "Rules to identify applications which are slow to send initial event notifications",
|
||
"type": [
|
||
"array",
|
||
"null"
|
||
],
|
||
"items": {
|
||
"$ref": "#/definitions/MatchingRule"
|
||
}
|
||
},
|
||
"transparency_ignore": {
|
||
"description": "Rules to ignore specific windows from the transparency feature",
|
||
"type": [
|
||
"array",
|
||
"null"
|
||
],
|
||
"items": {
|
||
"$ref": "#/definitions/MatchingRule"
|
||
}
|
||
},
|
||
"tray_and_multi_window": {
|
||
"description": "Rules to identify applications which minimize to the tray or have multiple windows",
|
||
"type": [
|
||
"array",
|
||
"null"
|
||
],
|
||
"items": {
|
||
"$ref": "#/definitions/MatchingRule"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"AscApplicationRulesOrSchema": {
|
||
"anyOf": [
|
||
{
|
||
"$ref": "#/definitions/AscApplicationRules"
|
||
},
|
||
{
|
||
"type": "string"
|
||
}
|
||
]
|
||
},
|
||
"IdWithIdentifier": {
|
||
"type": "object",
|
||
"required": [
|
||
"id",
|
||
"kind"
|
||
],
|
||
"properties": {
|
||
"id": {
|
||
"type": "string"
|
||
},
|
||
"kind": {
|
||
"$ref": "#/definitions/ApplicationIdentifier"
|
||
},
|
||
"matching_strategy": {
|
||
"anyOf": [
|
||
{
|
||
"$ref": "#/definitions/MatchingStrategy"
|
||
},
|
||
{
|
||
"type": "null"
|
||
}
|
||
]
|
||
}
|
||
}
|
||
},
|
||
"MatchingRule": {
|
||
"anyOf": [
|
||
{
|
||
"$ref": "#/definitions/IdWithIdentifier"
|
||
},
|
||
{
|
||
"type": "array",
|
||
"items": {
|
||
"$ref": "#/definitions/IdWithIdentifier"
|
||
}
|
||
}
|
||
]
|
||
},
|
||
"MatchingStrategy": {
|
||
"type": "string",
|
||
"enum": [
|
||
"Legacy",
|
||
"Equals",
|
||
"StartsWith",
|
||
"EndsWith",
|
||
"Contains",
|
||
"Regex",
|
||
"DoesNotEndWith",
|
||
"DoesNotStartWith",
|
||
"DoesNotEqual",
|
||
"DoesNotContain"
|
||
]
|
||
}
|
||
}
|
||
}
|