{"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://raw.githubusercontent.com/cinnamon-spice-settings.json","definitions":{"string-property-partial":{"type":"string","minLength":1,"pattern":"\\S"},"type-property":{"title":"type","description":"A type of the widget\nhttps://projects.linuxmint.com/reference/git/cinnamon-tutorials/xlet-settings-ref.html","type":"string","enum":["checkbox","entry","colorchooser","keybinding","radiogroup","filechooser","iconfilechooser","combobox","spinbutton","scale","generic","header","separator","button"]},"checkbox-definition":{"title":"checkbox","description":"A checkbox widget\nhttps://projects.linuxmint.com/reference/git/cinnamon-tutorials/xlet-settings-ref.html","type":"object","properties":{"type":{"$ref":"#/definitions/type-property"},"description":{"$ref":"#/definitions/string-property-partial","title":"description","description":"A description of the checkbox\nhttps://projects.linuxmint.com/reference/git/cinnamon-tutorials/xlet-settings-ref.html"},"tooltip":{"$ref":"#/definitions/string-property-partial","title":"tooltip","description":"A tooltip of the the checkbox\nhttps://projects.linuxmint.com/reference/git/cinnamon-tutorials/xlet-settings-ref.html"},"default":{"title":"default","description":"A default value of the checkbox\nhttps://projects.linuxmint.com/reference/git/cinnamon-tutorials/xlet-settings-ref.html","type":"boolean"},"indent":{"title":"indent","description":"Whether to indent the checkbox\nhttps://projects.linuxmint.com/reference/git/cinnamon-tutorials/xlet-settings-ref.html","type":"boolean"},"dependency":{"$ref":"#/definitions/string-property-partial","title":"dependency","description":"A checkbox or combobox the checkbox depends on\nhttps://projects.linuxmint.com/reference/git/cinnamon-tutorials/xlet-settings-ref.html"}},"additionalProperties":false},"entry-definition":{"title":"entry","description":"A text entry widget\nhttps://projects.linuxmint.com/reference/git/cinnamon-tutorials/xlet-settings-ref.html","type":"object","properties":{"type":{"$ref":"#/definitions/type-property"},"description":{"$ref":"#/definitions/string-property-partial","title":"description","description":"A description of the the text entry\nhttps://projects.linuxmint.com/reference/git/cinnamon-tutorials/xlet-settings-ref.html"},"tooltip":{"$ref":"#/definitions/string-property-partial","title":"tooltip","description":"A tooltip of the the text entry\nhttps://projects.linuxmint.com/reference/git/cinnamon-tutorials/xlet-settings-ref.html"},"default":{"title":"default","description":"A default value of the text entry\nhttps://projects.linuxmint.com/reference/git/cinnamon-tutorials/xlet-settings-ref.html","type":"string"},"indent":{"title":"indent","description":"Whether to indent the text entry\nhttps://projects.linuxmint.com/reference/git/cinnamon-tutorials/xlet-settings-ref.html","type":"boolean"},"dependency":{"$ref":"#/definitions/string-property-partial","title":"dependency","description":"A checkbox or combobox the text entry depends on\nhttps://projects.linuxmint.com/reference/git/cinnamon-tutorials/xlet-settings-ref.html"}},"additionalProperties":false},"colorchooser-definition":{"title":"color chooser","description":"A color chooser widget\nhttps://projects.linuxmint.com/reference/git/cinnamon-tutorials/xlet-settings-ref.html","type":"object","properties":{"type":{"$ref":"#/definitions/type-property"},"description":{"$ref":"#/definitions/string-property-partial","title":"description","description":"A description of the the color chooser\nhttps://projects.linuxmint.com/reference/git/cinnamon-tutorials/xlet-settings-ref.html"},"tooltip":{"$ref":"#/definitions/string-property-partial","title":"tooltip","description":"A tooltip of the the color chooser\nhttps://projects.linuxmint.com/reference/git/cinnamon-tutorials/xlet-settings-ref.html"},"default":{"title":"default","description":"A default value of the color chooser\nhttps://projects.linuxmint.com/reference/git/cinnamon-tutorials/xlet-settings-ref.html","type":"string","minLength":1,"examples":["rgba(RED, GREEN, BLUE, ALPHA)","rgb(RED, GREEN, BLUE)","red"]},"indent":{"title":"indent","description":"Whether to indent the color chooser\nhttps://projects.linuxmint.com/reference/git/cinnamon-tutorials/xlet-settings-ref.html","type":"boolean"},"dependency":{"$ref":"#/definitions/string-property-partial","title":"dependency","description":"A checkbox or combobox the color chooser depends on\nhttps://projects.linuxmint.com/reference/git/cinnamon-tutorials/xlet-settings-ref.html"}},"additionalProperties":false},"keybinding-definition":{"title":"keybinding","description":"A keybinding widget\nhttps://projects.linuxmint.com/reference/git/cinnamon-tutorials/xlet-settings-ref.html","type":"object","properties":{"type":{"$ref":"#/definitions/type-property"},"description":{"$ref":"#/definitions/string-property-partial","title":"description","description":"A description of the the keybinding\nhttps://projects.linuxmint.com/reference/git/cinnamon-tutorials/xlet-settings-ref.html"},"tooltip":{"$ref":"#/definitions/string-property-partial","title":"tooltip","description":"A tooltip of the the keybinding\nhttps://projects.linuxmint.com/reference/git/cinnamon-tutorials/xlet-settings-ref.html"},"default":{"title":"default","description":"A default value of the keybinding\nhttps://projects.linuxmint.com/reference/git/cinnamon-tutorials/xlet-settings-ref.html","type":"string","examples":["&lt;Control&gt;F8"]},"indent":{"title":"indent","description":"Whether to indent the keybinding\nhttps://projects.linuxmint.com/reference/git/cinnamon-tutorials/xlet-settings-ref.html","type":"boolean"},"dependency":{"$ref":"#/definitions/string-property-partial","title":"dependency","description":"A checkbox or combobox the keybinding depends on\nhttps://projects.linuxmint.com/reference/git/cinnamon-tutorials/xlet-settings-ref.html"}},"additionalProperties":false},"radiogroup-definition":{"title":"radiogroup","description":"A radiogroup widget\nhttps://projects.linuxmint.com/reference/git/cinnamon-tutorials/xlet-settings-ref.html","type":"object","properties":{"type":{"$ref":"#/definitions/type-property"},"description":{"$ref":"#/definitions/string-property-partial","title":"description","description":"A description of the the radiogroup\nhttps://projects.linuxmint.com/reference/git/cinnamon-tutorials/xlet-settings-ref.html"},"tooltip":{"$ref":"#/definitions/string-property-partial","title":"tooltip","description":"A tooltip of the the radiogroup\nhttps://projects.linuxmint.com/reference/git/cinnamon-tutorials/xlet-settings-ref.html"},"default":{"title":"default","description":"A default value of the radiogroup from `options`\nhttps://projects.linuxmint.com/reference/git/cinnamon-tutorials/xlet-settings-ref.html","type":["string","number"]},"options":{"title":"options","description":"Options of the the radiogroup\nhttps://projects.linuxmint.com/reference/git/cinnamon-tutorials/xlet-settings-ref.html","type":"object","patternProperties":{"\\S":{"title":"option","description":"An option of the the radiogroup\nhttps://projects.linuxmint.com/reference/git/cinnamon-tutorials/xlet-settings-ref.html","type":["string","number"]}},"minProperties":1,"additionalProperties":false},"indent":{"title":"indent","description":"Whether to indent the radiogroup\nhttps://projects.linuxmint.com/reference/git/cinnamon-tutorials/xlet-settings-ref.html","type":"boolean"},"dependency":{"$ref":"#/definitions/string-property-partial","title":"dependency","description":"A checkbox or combobox the radiogroup depends on\nhttps://projects.linuxmint.com/reference/git/cinnamon-tutorials/xlet-settings-ref.html"}},"additionalProperties":false},"filechooser-definition":{"title":"file chooser","description":"A file chooser widget\nhttps://projects.linuxmint.com/reference/git/cinnamon-tutorials/xlet-settings-ref.html","type":"object","properties":{"type":{"$ref":"#/definitions/type-property"},"description":{"$ref":"#/definitions/string-property-partial","title":"description","description":"A description of the the file chooser\nhttps://projects.linuxmint.com/reference/git/cinnamon-tutorials/xlet-settings-ref.html"},"tooltip":{"$ref":"#/definitions/string-property-partial","title":"tooltip","description":"A tooltip of the the file chooser\nhttps://projects.linuxmint.com/reference/git/cinnamon-tutorials/xlet-settings-ref.html"},"default":{"title":"default","description":"A default value of the file chooser\nhttps://projects.linuxmint.com/reference/git/cinnamon-tutorials/xlet-settings-ref.html","type":"string"},"select-dir":{"title":"select directory","description":"Whether to allow select just directories for the the file chooser\nhttps://projects.linuxmint.com/reference/git/cinnamon-tutorials/xlet-settings-ref.html","type":"boolean"},"indent":{"title":"indent","description":"Whether to indent the file chooser\nhttps://projects.linuxmint.com/reference/git/cinnamon-tutorials/xlet-settings-ref.html","type":"boolean"},"dependency":{"$ref":"#/definitions/string-property-partial","title":"dependency","description":"A checkbox or combobox the file chooser depends on\nhttps://projects.linuxmint.com/reference/git/cinnamon-tutorials/xlet-settings-ref.html"}},"additionalProperties":false},"iconfilechooser-definition":{"title":"icon file chooser","description":"An icon file chooser widget\nhttps://projects.linuxmint.com/reference/git/cinnamon-tutorials/xlet-settings-ref.html","type":"object","properties":{"type":{"$ref":"#/definitions/type-property"},"description":{"$ref":"#/definitions/string-property-partial","title":"description","description":"A description of the the icon file chooser\nhttps://projects.linuxmint.com/reference/git/cinnamon-tutorials/xlet-settings-ref.html"},"tooltip":{"$ref":"#/definitions/string-property-partial","title":"tooltip","description":"A tooltip of the the icon file chooser\nhttps://projects.linuxmint.com/reference/git/cinnamon-tutorials/xlet-settings-ref.html"},"default":{"title":"default","description":"A default value of the icon file chooser\nhttps://projects.linuxmint.com/reference/git/cinnamon-tutorials/xlet-settings-ref.html","type":"string"},"indent":{"title":"indent","description":"Whether to indent the icon file chooser\nhttps://projects.linuxmint.com/reference/git/cinnamon-tutorials/xlet-settings-ref.html","type":"boolean"},"dependency":{"$ref":"#/definitions/string-property-partial","title":"dependency","description":"A checkbox or combobox the icon file chooser depends on\nhttps://projects.linuxmint.com/reference/git/cinnamon-tutorials/xlet-settings-ref.html"}},"additionalProperties":false},"combobox-definition":{"title":"combobox","description":"A combobox widget\nhttps://projects.linuxmint.com/reference/git/cinnamon-tutorials/xlet-settings-ref.html","type":"object","properties":{"type":{"$ref":"#/definitions/type-property"},"description":{"$ref":"#/definitions/string-property-partial","title":"description","description":"A description of the the combobox\nhttps://projects.linuxmint.com/reference/git/cinnamon-tutorials/xlet-settings-ref.html"},"tooltip":{"$ref":"#/definitions/string-property-partial","title":"tooltip","description":"A tooltip of the the combobox\nhttps://projects.linuxmint.com/reference/git/cinnamon-tutorials/xlet-settings-ref.html"},"default":{"title":"default","description":"A default value of the combobox from `options`\nhttps://projects.linuxmint.com/reference/git/cinnamon-tutorials/xlet-settings-ref.html","type":["string","number","boolean"]},"options":{"title":"options","description":"Options of the the combobox\nhttps://projects.linuxmint.com/reference/git/cinnamon-tutorials/xlet-settings-ref.html","type":"object","patternProperties":{"\\S":{"title":"option","description":"An option of the the combobox\nhttps://projects.linuxmint.com/reference/git/cinnamon-tutorials/xlet-settings-ref.html","type":["string","number","boolean"]}},"minProperties":1,"additionalProperties":false},"indent":{"title":"indent","description":"Whether to indent the combobox\nhttps://projects.linuxmint.com/reference/git/cinnamon-tutorials/xlet-settings-ref.html","type":"boolean"},"dependency":{"$ref":"#/definitions/string-property-partial","title":"dependency","description":"A checkbox or combobox the combobox depends on\nhttps://projects.linuxmint.com/reference/git/cinnamon-tutorials/xlet-settings-ref.html"}},"additionalProperties":false},"spinbutton-definition":{"title":"spinbutton","description":"A spinbutton widget\nhttps://projects.linuxmint.com/reference/git/cinnamon-tutorials/xlet-settings-ref.html","type":"object","properties":{"type":{"$ref":"#/definitions/type-property"},"description":{"$ref":"#/definitions/string-property-partial","title":"description","description":"A description of the the spinbutton\nhttps://projects.linuxmint.com/reference/git/cinnamon-tutorials/xlet-settings-ref.html"},"tooltip":{"$ref":"#/definitions/string-property-partial","title":"tooltip","description":"A tooltip of the the spinbutton\nhttps://projects.linuxmint.com/reference/git/cinnamon-tutorials/xlet-settings-ref.html"},"default":{"title":"default","description":"A default value of the spinbutton\nhttps://projects.linuxmint.com/reference/git/cinnamon-tutorials/xlet-settings-ref.html","type":"number"},"min":{"title":"minimum","description":"A minimum value of the spinbutton\nhttps://projects.linuxmint.com/reference/git/cinnamon-tutorials/xlet-settings-ref.html","type":"number"},"max":{"title":"maximum","description":"A maximum value of the spinbutton\nhttps://projects.linuxmint.com/reference/git/cinnamon-tutorials/xlet-settings-ref.html","type":"number"},"step":{"title":"step","description":"A step value of the spinbutton\nhttps://projects.linuxmint.com/reference/git/cinnamon-tutorials/xlet-settings-ref.html","type":"number","exclusiveMinimum":0},"units":{"$ref":"#/definitions/string-property-partial","title":"units","description":"Units of the spinbutton\nhttps://projects.linuxmint.com/reference/git/cinnamon-tutorials/xlet-settings-ref.html","examples":["px"]},"indent":{"title":"indent","description":"Whether to indent the spinbutton\nhttps://projects.linuxmint.com/reference/git/cinnamon-tutorials/xlet-settings-ref.html","type":"boolean"},"dependency":{"$ref":"#/definitions/string-property-partial","title":"dependency","description":"A checkbox or combobox the spinbutton depends on\nhttps://projects.linuxmint.com/reference/git/cinnamon-tutorials/xlet-settings-ref.html"}},"additionalProperties":false},"scale-definition":{"title":"spinbutton","description":"A scale widget\nhttps://projects.linuxmint.com/reference/git/cinnamon-tutorials/xlet-settings-ref.html","type":"object","properties":{"type":{"$ref":"#/definitions/type-property"},"description":{"$ref":"#/definitions/string-property-partial","title":"description","description":"A description of the the scale\nhttps://projects.linuxmint.com/reference/git/cinnamon-tutorials/xlet-settings-ref.html"},"tooltip":{"$ref":"#/definitions/string-property-partial","title":"tooltip","description":"A tooltip of the the scale\nhttps://projects.linuxmint.com/reference/git/cinnamon-tutorials/xlet-settings-ref.html"},"default":{"title":"default","description":"A default value of the scale\nhttps://projects.linuxmint.com/reference/git/cinnamon-tutorials/xlet-settings-ref.html","type":"number"},"min":{"title":"minimum","description":"A minimum value of the scale\nhttps://projects.linuxmint.com/reference/git/cinnamon-tutorials/xlet-settings-ref.html","type":"number"},"max":{"title":"maximum","description":"A maximum value of the scale\nhttps://projects.linuxmint.com/reference/git/cinnamon-tutorials/xlet-settings-ref.html","type":"number"},"step":{"title":"step","description":"A step value of the scale\nhttps://projects.linuxmint.com/reference/git/cinnamon-tutorials/xlet-settings-ref.html","type":"number","exclusiveMinimum":0},"indent":{"title":"indent","description":"Whether to indent the scale\nhttps://projects.linuxmint.com/reference/git/cinnamon-tutorials/xlet-settings-ref.html","type":"boolean"},"dependency":{"$ref":"#/definitions/string-property-partial","title":"dependency","description":"A checkbox or combobox the scale depends on\nhttps://projects.linuxmint.com/reference/git/cinnamon-tutorials/xlet-settings-ref.html"}},"additionalProperties":false},"generic-definition":{"title":"generic","description":"A header widget\nhttps://projects.linuxmint.com/reference/git/cinnamon-tutorials/xlet-settings-ref.html","type":"object","properties":{"type":{"$ref":"#/definitions/type-property"},"description":{"$ref":"#/definitions/string-property-partial","title":"description","description":"A description of the generic widget\nhttps://projects.linuxmint.com/reference/git/cinnamon-tutorials/xlet-settings-ref.html"},"tooltip":{"$ref":"#/definitions/string-property-partial","title":"tooltip","description":"A tooltip of the the generic widget\nhttps://projects.linuxmint.com/reference/git/cinnamon-tutorials/xlet-settings-ref.html"},"default":{"title":"default","description":"A default value of the generic widget\nhttps://projects.linuxmint.com/reference/git/cinnamon-tutorials/xlet-settings-ref.html"},"indent":{"title":"indent","description":"Whether to indent the generic widget\nhttps://projects.linuxmint.com/reference/git/cinnamon-tutorials/xlet-settings-ref.html","type":"boolean"},"dependency":{"$ref":"#/definitions/string-property-partial","title":"dependency","description":"A checkbox or combobox the generic widget depends on\nhttps://projects.linuxmint.com/reference/git/cinnamon-tutorials/xlet-settings-ref.html"}},"additionalProperties":false},"header-definition":{"title":"header","description":"A header widget\nhttps://projects.linuxmint.com/reference/git/cinnamon-tutorials/xlet-settings-ref.html","type":"object","properties":{"type":{"$ref":"#/definitions/type-property"},"description":{"$ref":"#/definitions/string-property-partial","title":"description","description":"A content of the header\nhttps://projects.linuxmint.com/reference/git/cinnamon-tutorials/xlet-settings-ref.html"},"indent":{"title":"indent","description":"Whether to indent the header\nhttps://projects.linuxmint.com/reference/git/cinnamon-tutorials/xlet-settings-ref.html","type":"boolean"},"dependency":{"$ref":"#/definitions/string-property-partial","title":"dependency","description":"A checkbox or combobox the header depends on\nhttps://projects.linuxmint.com/reference/git/cinnamon-tutorials/xlet-settings-ref.html"}},"additionalProperties":false},"separator-definition":{"title":"separator","description":"A separator widget\nhttps://projects.linuxmint.com/reference/git/cinnamon-tutorials/xlet-settings-ref.html","type":"object","properties":{"type":{"$ref":"#/definitions/type-property"},"indent":{"title":"indent","description":"Whether to indent the separator\nhttps://projects.linuxmint.com/reference/git/cinnamon-tutorials/xlet-settings-ref.html","type":"boolean"},"dependency":{"$ref":"#/definitions/string-property-partial","title":"dependency","description":"A checkbox or combobox the separator depends on\nhttps://projects.linuxmint.com/reference/git/cinnamon-tutorials/xlet-settings-ref.html"}},"additionalProperties":false},"button-definition":{"title":"button","description":"A button widget\nhttps://projects.linuxmint.com/reference/git/cinnamon-tutorials/xlet-settings-ref.html","type":"object","properties":{"type":{"$ref":"#/definitions/type-property"},"description":{"$ref":"#/definitions/string-property-partial","title":"description","description":"A description of the button\nhttps://projects.linuxmint.com/reference/git/cinnamon-tutorials/xlet-settings-ref.html"},"tooltip":{"$ref":"#/definitions/string-property-partial","title":"tooltip","description":"A tooltip of the the button\nhttps://projects.linuxmint.com/reference/git/cinnamon-tutorials/xlet-settings-ref.html"},"callback":{"$ref":"#/definitions/string-property-partial","title":"callback","description":"A callback of the button without `.this`\nhttps://projects.linuxmint.com/reference/git/cinnamon-tutorials/xlet-settings-ref.html"},"indent":{"title":"indent","description":"Whether to indent the button\nhttps://projects.linuxmint.com/reference/git/cinnamon-tutorials/xlet-settings-ref.html","type":"boolean"},"dependency":{"$ref":"#/definitions/string-property-partial","title":"dependency","description":"A checkbox or combobox the button depends on\nhttps://projects.linuxmint.com/reference/git/cinnamon-tutorials/xlet-settings-ref.html"}},"additionalProperties":false}},"title":"gui structure","description":"GUI structure of Cinnamon extension\nhttps://projects.linuxmint.com/reference/git/cinnamon-tutorials/xlet-settings-ref.html","type":"object","patternProperties":{"\\S":{"title":"widget","description":"A widget identifier\nhttps://projects.linuxmint.com/reference/git/cinnamon-tutorials/xlet-settings-ref.html","type":"object","required":["type"],"allOf":[{"if":{"properties":{"type":{"const":"checkbox"}}},"then":{"$ref":"#/definitions/checkbox-definition"}},{"if":{"properties":{"type":{"const":"entry"}}},"then":{"$ref":"#/definitions/entry-definition"}},{"if":{"properties":{"type":{"const":"colorchooser"}}},"then":{"$ref":"#/definitions/colorchooser-definition"}},{"if":{"properties":{"type":{"const":"keybinding"}}},"then":{"$ref":"#/definitions/keybinding-definition"}},{"if":{"properties":{"type":{"const":"radiogroup"}}},"then":{"$ref":"#/definitions/radiogroup-definition"}},{"if":{"properties":{"type":{"const":"filechooser"}}},"then":{"$ref":"#/definitions/filechooser-definition"}},{"if":{"properties":{"type":{"const":"iconfilechooser"}}},"then":{"$ref":"#/definitions/iconfilechooser-definition"}},{"if":{"properties":{"type":{"const":"combobox"}}},"then":{"$ref":"#/definitions/combobox-definition"}},{"if":{"properties":{"type":{"const":"spinbutton"}}},"then":{"$ref":"#/definitions/spinbutton-definition"}},{"if":{"properties":{"type":{"const":"scale"}}},"then":{"$ref":"#/definitions/scale-definition"}},{"if":{"properties":{"type":{"const":"generic"}}},"then":{"$ref":"#/definitions/generic-definition"}},{"if":{"properties":{"type":{"const":"header"}}},"then":{"$ref":"#/definitions/header-definition"}},{"if":{"properties":{"type":{"const":"separator"}}},"then":{"$ref":"#/definitions/separator-definition"}},{"if":{"properties":{"type":{"const":"button"}}},"then":{"$ref":"#/definitions/button-definition"}}]}},"additionalProperties":false}