{ "$schema": "http://json-schema.org/draft-07/schema#", "description": "The JSON schema for the Terminal.Gui Configuration Manager (https://gui-cs.github.io/Terminal.GuiV2Docs/schemas/tui-config-schema.json).", "type": "object", "properties": { "Application.ArrangeKey": { "description": "Key eanable arrange mode (move/size with keyboard).", "$ref": "#/definitions/Key" }, "Application.Force16Colors": { "description": "Force the application to use 16 colors.", "type": "boolean" }, "Application.ForceDriver": { "description": "Force the application to use a specific driver.", "type": "string" }, "Application.IsMouseDisabled": { "description": "Disable or enable the mouse. The mouse is enabled by default.", "type": "boolean" }, "Application.NextTabGroupKey": { "description": "Key to navigate to the next tab group.", "$ref": "#/definitions/Key" }, "Application.NextTabKey": { "description": "Key to navigate to the next tab.", "$ref": "#/definitions/Key" }, "Application.PrevTabGroupKey": { "description": "Key to navigate to the previous tab group.", "$ref": "#/definitions/Key" }, "Application.PrevTabKey": { "description": "Key to navigate to the previous tab.", "$ref": "#/definitions/Key" }, "Application.QuitKey": { "description": "The key to quit the application. Esc is the default.", "$ref": "#/definitions/Key" }, "AppSettings": { "description": "Application-specific settings.", "type": "object", "properties": { "ConfigurationEditor.EditorColorScheme": { "description": "Color scheme for the configuration editor.", "$ref": "#/definitions/ColorScheme" }, "UICatalog.StatusBar": { "description": "Enable or disable the status bar in the UI catalog.", "type": "boolean" } } }, "Colors16": { "description": "Mapping of 16 colors to their names.", "type": "object", "additionalProperties": { "$ref": "#/definitions/Color" } }, "ConfigurationManager.ThrowOnJsonErrors": { "description": "Throw exceptions on JSON errors.", "type": "boolean" }, "ContextMenu.DefaultKey": { "description": "Default key for the context menu.", "$ref": "#/definitions/Key" }, "FileDialog.MaxSearchResults": { "description": "Maximum number of search results in the file dialog.", "type": "integer" }, "FileDialogStyle.DefaultUseColors": { "description": "Use colors in the file dialog by default.", "type": "boolean" }, "FileDialogStyle.DefaultUseUnicodeCharacters": { "description": "Use Unicode characters in the file dialog by default.", "type": "boolean" }, "Glyphs": { "description": "Custom glyphs used in the application.", "type": "object", "additionalProperties": { "type": "string" } }, "Key.Separator": { "description": "Separator used in key combinations.", "type": "string" }, "Theme": { "description": "The currently selected theme. The default is 'Default'.", "type": "string" }, "Themes": { "description": "An array of Theme objects. Each Theme specifies a set of settings for an application. Set Theme to the name of the active theme.", "type": "array", "items": { "$ref": "#/definitions/Theme" } } }, "definitions": { "Theme": { "description": "A Theme is a collection of settings that are named.", "type": "object", "properties": { "Button.DefaultHighlightStyle": { "description": "Default highlight style for buttons.", "type": "string" }, "Button.DefaultShadow": { "description": "Default shadow style for buttons.", "type": "string" }, "CheckBox.DefaultHighlightStyle": { "description": "Default highlight style for checkboxes.", "type": "string" }, "ColorSchemes": { "description": "The ColorSchemes defined for this Theme.", "type": "array", "items": { "$ref": "#/definitions/ColorScheme" } }, "Dialog.DefaultBorderStyle": { "description": "Default border style for dialogs.", "type": "string" }, "Dialog.DefaultButtonAlignment": { "description": "Default button alignment for dialogs.", "type": "string" }, "Dialog.DefaultButtonAlignmentModes": { "description": "Default button alignment modes for dialogs.", "type": "string" }, "Dialog.DefaultMinimumHeight": { "description": "Default minimum height for dialogs.", "type": "integer" }, "Dialog.DefaultMinimumWidth": { "description": "Default minimum width for dialogs.", "type": "integer" }, "Dialog.DefaultShadow": { "description": "Default shadow style for dialogs.", "type": "string" }, "FrameView.DefaultBorderStyle": { "description": "Default border style for frame views.", "type": "string" }, "MessageBox.DefaultBorderStyle": { "description": "Default border style for message boxes.", "type": "string" }, "MessageBox.DefaultButtonAlignment": { "description": "Default button alignment for message boxes.", "type": "string" }, "MessageBox.DefaultMinimumHeight": { "description": "Default minimum height for message boxes.", "type": "integer" }, "MessageBox.DefaultMinimumWidth": { "description": "Default minimum width for message boxes.", "type": "integer" }, "NerdFonts.Enable": { "description": "Enable or disable Nerd Fonts.", "type": "boolean" }, "Window.DefaultBorderStyle": { "description": "Default border style for windows.", "type": "string" }, "Window.DefaultShadow": { "description": "Default shadow style for windows.", "type": "string" } } }, "ColorScheme": { "description": "A Terminal.Gui ColorScheme. Specifies the Foreground & Background colors for modes of an Terminal.Gui app.", "type": "object", "properties": { "Normal": { "description": "The foreground and background color for text when the view is not focused, hot, or disabled.", "$ref": "#/definitions/Attribute" }, "Focus": { "description": "The foreground and background color for text when the view has focus.", "$ref": "#/definitions/Attribute" }, "HotNormal": { "description": "The foreground and background color for text when the view is highlighted (hot).", "$ref": "#/definitions/Attribute" }, "HotFocus": { "description": "The foreground and background color for text when the view is highlighted (hot) and has focus.", "$ref": "#/definitions/Attribute" }, "Disabled": { "description": "The foreground and background color for text when the view is disabled.", "$ref": "#/definitions/Attribute" } } }, "Attribute": { "description": "A Terminal.Gui color attribute. Specifies the Foreground & Background colors for Terminal.Gui output.", "type": "object", "properties": { "Foreground": { "$ref": "#/definitions/Color" }, "Background": { "$ref": "#/definitions/Color" } }, "required": [ "Foreground", "Background" ] }, "Color": { "description": "One be either one of the W3C standard color names, an rgb(r,g,b) tuple, or a hex color string in the format #RRGGBB.", "$schema": "http://json-schema.org/draft-07/schema#", "type": "string", "oneOf": [ { "type": "string", "enum": [ "AliceBlue", "AntiqueWhite", "Aqua", "Aquamarine", "Azure", "Beige", "Bisque", "Black", "BlanchedAlmond", "Blue", "BlueViolet", "Brown", "BurlyWood", "CadetBlue", "Chartreuse", "Chocolate", "Coral", "CornflowerBlue", "Cornsilk", "Crimson", "Cyan", "DarkBlue", "DarkCyan", "DarkGoldenRod", "DarkGray", "DarkGreen", "DarkKhaki", "DarkMagenta", "DarkOliveGreen", "DarkOrange", "DarkOrchid", "DarkRed", "DarkSalmon", "DarkSeaGreen", "DarkSlateBlue", "DarkSlateGray", "DarkTurquoise", "DarkViolet", "DeepPink", "DeepSkyBlue", "DimGray", "DodgerBlue", "FireBrick", "FloralWhite", "ForestGreen", "Fuchsia", "Gainsboro", "GhostWhite", "Gold", "GoldenRod", "Gray", "Green", "GreenYellow", "HoneyDew", "HotPink", "IndianRed", "Indigo", "Ivory", "Khaki", "Lavender", "LavenderBlush", "LawnGreen", "LemonChiffon", "LightBlue", "LightCoral", "LightCyan", "LightGoldenRodYellow", "LightGray", "LightGreen", "LightPink", "LightSalmon", "LightSeaGreen", "LightSkyBlue", "LightSlateGray", "LightSteelBlue", "LightYellow", "Lime", "LimeGreen", "Linen", "Magenta", "Maroon", "MediumAquaMarine", "MediumBlue", "MediumOrchid", "MediumPurple", "MediumSeaGreen", "MediumSlateBlue", "MediumSpringGreen", "MediumTurquoise", "MediumVioletRed", "MidnightBlue", "MintCream", "MistyRose", "Moccasin", "NavajoWhite", "Navy", "OldLace", "Olive", "OliveDrab", "Orange", "OrangeRed", "Orchid", "PaleGoldenRod", "PaleGreen", "PaleTurquoise", "PaleVioletRed", "PapayaWhip", "PeachPuff", "Peru", "Pink", "Plum", "PowderBlue", "Purple", "RebeccaPurple", "Red", "RosyBrown", "RoyalBlue", "SaddleBrown", "Salmon", "SandyBrown", "SeaGreen", "SeaShell", "Sienna", "Silver", "SkyBlue", "SlateBlue", "SlateGray", "Snow", "SpringGreen", "SteelBlue", "Tan", "Teal", "Thistle", "Tomato", "Turquoise", "Violet", "Wheat", "White", "WhiteSmoke", "Yellow", "YellowGreen" ] }, { "type": "string", "pattern": "^rgb\\(\\s*\\d{1,3}\\s*,\\s*\\d{1,3}\\s*,\\s*\\d{1,3}\\s*\\)$" }, { "type": "string", "pattern": "^#[0-9a-fA-F]{6}$" } ] }, "Key": { "description": "A key pressed on the keyboard (e.g. \"Ctrl+Q\")", "type": "string" } } }