{
  "$schema": "https://json-schema.org/draft/2019-09/schema#",
  "title": "TranslucentTB Settings Schema",
  "$defs": {
    "TaskbarAppearance": {
      "properties": {
        "accent": {
          "enum": [
            "normal",
            "opaque",
            "clear",
            "blur",
            "acrylic"
          ],
          "type": "string"
        },
        "color": {
          "pattern": "^#([A-Fa-f0-9]{3}|[A-Fa-f0-9]{4}|[A-Fa-f0-9]{6}|[A-Fa-f0-9]{8})$",
          "type": "string",
          "format": "color"
        },
        "show_peek": {
          "type": "boolean"
        },
        "show_line": {
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "OptionalTaskbarAppearance": {
      "allOf": [
        {
          "properties": {
            "enabled": {
              "type": "boolean"
            }
          },
          "type": "object"
        },
        {
          "$ref": "#/$defs/TaskbarAppearance"
        }
      ]
    },
    "RuleSet": {
      "allOf": [
        {
          "properties": {
            "inactive": {
              "$ref": "#/$defs/TaskbarAppearance"
            }
          }
        },
        {
          "$ref": "#/$defs/TaskbarAppearance"
        }
      ]
    },
    "RuledTaskbarAppearance": {
      "allOf": [
        {
          "properties": {
            "rules": {
              "properties": {
                "window_class": {
                  "additionalProperties": {
                    "$ref": "#/$defs/RuleSet"
                  }
                },
                "window_title": {
                  "additionalProperties": {
                    "$ref": "#/$defs/RuleSet"
                  }
                },
                "process_name": {
                  "additionalProperties": {
                    "$ref": "#/$defs/RuleSet"
                  }
                }
              }
            }
          },
          "type": "object"
        },
        {
          "$ref": "#/$defs/OptionalTaskbarAppearance"
        }
      ]
    },
    "FilterSet": {
      "items": {
        "type": "string"
      },
      "uniqueItems": true,
      "type": "array"
    }
  },
  "properties": {
    "desktop_appearance": {
      "$ref": "#/$defs/TaskbarAppearance"
    },
    "visible_window_appearance": {
      "$ref": "#/$defs/RuledTaskbarAppearance"
    },
    "maximized_window_appearance": {
      "$ref": "#/$defs/RuledTaskbarAppearance"
    },
    "start_opened_appearance": {
      "$ref": "#/$defs/OptionalTaskbarAppearance"
    },
    "search_opened_appearance": {
      "$ref": "#/$defs/OptionalTaskbarAppearance"
    },
    "task_view_opened_appearance": {
      "$ref": "#/$defs/OptionalTaskbarAppearance"
    },
    "battery_saver_appearance": {
      "$ref": "#/$defs/OptionalTaskbarAppearance"
    },
    "ignored_windows": {
      "properties": {
        "window_class": {
          "$ref": "#/$defs/FilterSet"
        },
        "window_title": {
          "$ref": "#/$defs/FilterSet"
        },
        "process_name": {
          "$ref": "#/$defs/FilterSet"
        }
      },
      "type": "object"
    },
    "hide_tray": {
      "type": "boolean"
    },
    "disable_saving": {
      "type": "boolean"
    },
    "verbosity": {
      "enum": [
        "trace",
        "debug",
        "info",
        "warn",
        "err",
        "critical",
        "off"
      ],
      "type": "string"
    },
    "language": {
      "pattern": "^[a-z]{2}(-[A-Z]{2})?$",
      "type": "string"
    },
    "use_xaml_context_menu": {
      "type": "boolean"
    }
  },
  "type": "object"
}
