bottom/schema/v1.0/bottom.json

385 lines
12 KiB
JSON

{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "https://github.com/ClementTsang/bottom/blob/main/schema/v1.0/bottom.json",
"$comment": "https://clementtsang.github.io/bottom/0.9.6/configuration/config-file",
"title": "Schema for bottom's configs (v1.0)",
"type": "object",
"definitions": {
"row": {
"items": {
"properties": {
"ratio": {
"default": 1,
"type": "integer"
},
"type": {
"enum": ["cpu", "mem", "proc", "net", "temp", "disk", "empty"],
"type": "string"
},
"default": {
"default": true,
"type": "boolean"
}
},
"patternProperties": {
"row(.child)+": {
"$ref": "#/definitions/row"
}
},
"type": "object"
},
"type": "array"
},
"filter": {
"description": "hide specific temperature sensors, network interfaces, and disks using filters",
"properties": {
"is_list_ignored": {
"default": true,
"type": "boolean"
},
"list": {
"type": "array"
},
"regex": {
"default": true,
"type": "boolean"
},
"case_sensitive": {
"default": false,
"type": "boolean"
},
"whole_word": {
"default": false,
"type": "boolean"
}
},
"type": "object"
}
},
"properties": {
"flags": {
"description": "This group of options represents a command-line flag/option. Flags explicitly added when running (ie: btm -a) will override this config file if an option is also set here",
"properties": {
"hide_avg_cpu": {
"default": false,
"description": "Whether to hide the average cpu entry",
"type": "boolean"
},
"dot_marker": {
"default": false,
"description": "Whether to use dot markers rather than braille",
"type": "boolean"
},
"rate": {
"default": 1000,
"description": "The update rate of the application",
"type": "integer"
},
"left_legend": {
"default": false,
"description": "Whether to put the CPU legend to the left",
"type": "boolean"
},
"current_usage": {
"default": false,
"description": "Whether to set CPU% on a process to be based on the total CPU or just current usage",
"type": "boolean"
},
"unnormalized_cpu": {
"default": false,
"description": "Whether to set CPU% on a process to be based on the total CPU or per-core CPU% (not divided by the number of cpus)",
"type": "boolean"
},
"group_processes": {
"default": false,
"description": "Whether to group processes with the same name together by default",
"type": "boolean"
},
"case_sensitive": {
"default": false,
"description": "Whether to make process searching case sensitive by default",
"type": "boolean"
},
"whole_word": {
"default": false,
"description": "Whether to make process searching look for matching the entire word by default",
"type": "boolean"
},
"regex": {
"default": false,
"description": "Whether to make process searching use regex by default",
"type": "boolean"
},
"temperature_type": {
"default": "k",
"enum": ["k", "f", "c", "kelvin", "fahrenheit", "celsius"],
"description": "Defaults to Celsius",
"type": "string"
},
"default_time_value": {
"default": 60000,
"description": "The default time interval in milliseconds",
"type": "integer"
},
"time_delta": {
"default": 15000,
"description": "The time delta on each zoom in/out action in milliseconds",
"type": "integer"
},
"hide_time": {
"default": false,
"description": "Hides the time scale",
"type": "boolean"
},
"default_widget_type": {
"default": "proc",
"description": "Override layout default widget",
"type": "string"
},
"default_widget_count": {
"default": 1,
"description": "Override layout default widget",
"type": "integer"
},
"expanded_on_startup": {
"default": true,
"description": "Expand selected widget upon starting the app",
"type": "boolean"
},
"basic": {
"default": false,
"description": "Use basic mode",
"type": "boolean"
},
"use_old_network_legend": {
"default": false,
"description": "Use the old network legend style",
"type": "boolean"
},
"hide_table_gap": {
"default": false,
"description": "Remove space in tables",
"type": "boolean"
},
"battery": {
"default": false,
"description": "Show the battery widgets",
"type": "boolean"
},
"disable_click": {
"default": false,
"description": "Disable mouse clicks",
"type": "boolean"
},
"color": {
"default": "default",
"enum": [
"default",
"default-light",
"gruvbox",
"gruvbox-light",
"nord",
"nord-light"
],
"description": "Built-in themes",
"type": "string"
},
"process_memory_as_value": {
"default": false,
"description": "Show memory values in the processes widget as values by default",
"type": "boolean"
},
"tree": {
"default": false,
"description": "Show tree mode by default in the processes widget",
"type": "boolean"
},
"show_table_scroll_position": {
"default": false,
"description": "Shows an indicator in table widgets tracking where in the list you are",
"type": "boolean"
},
"process_command": {
"default": false,
"description": "Show processes as their commands by default in the process widget",
"type": "boolean"
},
"network_use_binary_prefix": {
"default": false,
"description": "Displays the network widget with binary prefixes",
"type": "boolean"
},
"network_use_bytes": {
"default": false,
"description": "Displays the network widget using bytes",
"type": "boolean"
},
"network_use_log": {
"default": false,
"description": "Displays the network widget with a log scale",
"type": "boolean"
},
"disable_advanced_kill": {
"default": false,
"description": "Hides advanced options to stop a process on Unix-like systems",
"type": "boolean"
},
"enable_gpu_memory": {
"default": false,
"description": "Shows GPU(s) memory",
"type": "boolean"
},
"retention": {
"default": "10m",
"description": "How much data is stored at once in terms of time",
"type": "string"
}
},
"type": "object"
},
"colors": {
"description": "These are all the components that support custom theming. Note that colour support will depend on terminal support",
"properties": {
"table_header_color": {
"default": "LightBlue",
"description": "Represents the colour of table headers (processes, CPU, disks, temperature)",
"type": "string"
},
"widget_title_color": {
"default": "Gray",
"description": "Represents the colour of the label each widget has",
"type": "string"
},
"avg_cpu_color": {
"default": "Red",
"description": "Represents the average CPU color",
"type": "string"
},
"cpu_core_colors": {
"items": {
"uniqueItems": true,
"minItems": 1,
"type": "string"
},
"default": [
"LightMagenta",
"LightYellow",
"LightCyan",
"LightGreen",
"LightBlue",
"LightRed",
"Cyan",
"Green",
"Blue",
"Red"
],
"description": "Represents the colour the core will use in the CPU legend and graph",
"type": "array"
},
"ram_color": {
"default": "LightMagenta",
"description": "Represents the colour RAM will use in the memory legend and graph",
"type": "string"
},
"swap_color": {
"default": "LightYellow",
"description": "Represents the colour SWAP will use in the memory legend and graph",
"type": "string"
},
"arc_color": {
"default": "LightCyan",
"description": "Represents the colour ARC will use in the memory legend and graph",
"type": "string"
},
"gpu_core_colors": {
"items": {
"uniqueItems": true,
"minItems": 1,
"type": "string"
},
"default": [
"LightGreen",
"LightBlue",
"LightRed",
"Cyan",
"Green",
"Blue",
"Red"
],
"description": "Represents the colour the GPU will use in the memory legend and graph",
"type": "array"
},
"rx_color": {
"default": "LightCyan",
"description": "Represents the colour rx will use in the network legend and graph",
"type": "string"
},
"tx_color": {
"default": "LightGreen",
"description": "Represents the colour tx will use in the network legend and graph",
"type": "string"
},
"border_color": {
"default": "Gray",
"description": "Represents the colour of the border of unselected widgets",
"type": "string"
},
"highlighted_border_color": {
"default": "LightBlue",
"description": "Represents the colour of the border of selected widgets",
"type": "string"
},
"text_color": {
"default": "Gray",
"description": "Represents the colour of most text",
"type": "string"
},
"selected_text_color": {
"default": "Black",
"description": "Represents the colour of text that is selected",
"type": "string"
},
"selected_bg_color": {
"default": "LightBlue",
"description": "Represents the background colour of text that is selected",
"type": "string"
},
"graph_color": {
"default": "Gray",
"description": "Represents the colour of the lines and text of the graph",
"type": "string"
},
"high_battery_color": {
"default": "green",
"description": "Represents the colours of the battery based on charge",
"type": "string"
},
"medium_battery_color": {
"default": "yellow",
"description": "Represents the colours of the battery based on charge",
"type": "string"
},
"low_battery_color": {
"default": "red",
"description": "Represents the colours of the battery based on charge",
"type": "string"
}
}
},
"row": {
"$ref": "#/definitions/row"
},
"disk_filter": {
"$ref": "#/definitions/filter"
},
"mount_filter": {
"$ref": "#/definitions/filter"
},
"temp_filter": {
"$ref": "#/definitions/filter"
},
"net_filter": {
"$ref": "#/definitions/filter"
}
}
}