{ "$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" ] } } }