mirror of
https://github.com/ClementTsang/bottom.git
synced 2024-10-26 11:20:08 +03:00
* other: add json schema (#1382) * docs: add some screenshots * other: move around schema files * docs: move around some docs around config files --------- Co-authored-by: ClementTsang <34804052+ClementTsang@users.noreply.github.com>
This commit is contained in:
parent
59b7650999
commit
98d4c4498b
@ -1,6 +1,10 @@
|
|||||||
# Default Config
|
# Config File
|
||||||
|
|
||||||
A default config file is automatically generated at the following locations that bottom checks by default:
|
For persistent configuration, and for certain configuration options, bottom supports config files.
|
||||||
|
|
||||||
|
## Default Config File
|
||||||
|
|
||||||
|
If no config file argument is given, it will automatically look for a config file at these locations:
|
||||||
|
|
||||||
| OS | Default Config Location |
|
| OS | Default Config Location |
|
||||||
| ------- | -------------------------------------------------------------------------------------------------------------------------------------- |
|
| ------- | -------------------------------------------------------------------------------------------------------------------------------------- |
|
||||||
@ -8,4 +12,10 @@ A default config file is automatically generated at the following locations that
|
|||||||
| Linux | `~/.config/bottom/bottom.toml` <br/> `$XDG_CONFIG_HOME/bottom/bottom.toml` |
|
| Linux | `~/.config/bottom/bottom.toml` <br/> `$XDG_CONFIG_HOME/bottom/bottom.toml` |
|
||||||
| Windows | `C:\Users\<USER>\AppData\Roaming\bottom\bottom.toml` |
|
| Windows | `C:\Users\<USER>\AppData\Roaming\bottom\bottom.toml` |
|
||||||
|
|
||||||
Furthermore, if a custom config path that does not exist is given (using `-C` or `--config`), bottom will attempt to create a default config file at that location.
|
Like if a path is passed with `-C`/`--config`, if a file doesn't exist at the path, bottom will automatically create a
|
||||||
|
new, default config file at that location.
|
||||||
|
|
||||||
|
## JSON Schema
|
||||||
|
|
||||||
|
The configuration file also has [JSON Schema](https://json-schema.org/) support to make it easier to manage, if your
|
||||||
|
IDE/editor supports it.
|
@ -20,6 +20,7 @@ theme:
|
|||||||
- content.action.edit
|
- content.action.edit
|
||||||
- navigation.expand
|
- navigation.expand
|
||||||
- navigation.footer
|
- navigation.footer
|
||||||
|
- navigation.indexes
|
||||||
- navigation.instant
|
- navigation.instant
|
||||||
- navigation.instant.progress
|
- navigation.instant.progress
|
||||||
- navigation.sections
|
- navigation.sections
|
||||||
@ -28,6 +29,7 @@ theme:
|
|||||||
- search.highlight
|
- search.highlight
|
||||||
- search.suggest
|
- search.suggest
|
||||||
- toc.integrate
|
- toc.integrate
|
||||||
|
- toc.follow
|
||||||
icon:
|
icon:
|
||||||
edit: material/pencil
|
edit: material/pencil
|
||||||
palette:
|
palette:
|
||||||
@ -39,12 +41,16 @@ theme:
|
|||||||
name: Switch to light mode
|
name: Switch to light mode
|
||||||
# Light mode
|
# Light mode
|
||||||
- media: "(prefers-color-scheme: light)"
|
- media: "(prefers-color-scheme: light)"
|
||||||
|
primary: indigo
|
||||||
|
accent: indigo
|
||||||
toggle:
|
toggle:
|
||||||
icon: material/weather-sunny
|
icon: material/weather-sunny
|
||||||
name: Switch to dark mode
|
name: Switch to dark mode
|
||||||
# Dark mode
|
# Dark mode
|
||||||
- media: "(prefers-color-scheme: dark)"
|
- media: "(prefers-color-scheme: dark)"
|
||||||
scheme: slate
|
scheme: slate
|
||||||
|
primary: black
|
||||||
|
accent: indigo
|
||||||
toggle:
|
toggle:
|
||||||
icon: material/weather-night
|
icon: material/weather-night
|
||||||
name: Switch to system preference
|
name: Switch to system preference
|
||||||
@ -158,7 +164,7 @@ nav:
|
|||||||
- "Configuration":
|
- "Configuration":
|
||||||
- "Command-line Options": configuration/command-line-options.md
|
- "Command-line Options": configuration/command-line-options.md
|
||||||
- "Config File":
|
- "Config File":
|
||||||
- "Default Config": configuration/config-file/default-config.md
|
- configuration/config-file/index.md
|
||||||
- "Flags": configuration/config-file/flags.md
|
- "Flags": configuration/config-file/flags.md
|
||||||
- "Theming": configuration/config-file/theming.md
|
- "Theming": configuration/config-file/theming.md
|
||||||
- "Layout": configuration/config-file/layout.md
|
- "Layout": configuration/config-file/layout.md
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
mkdocs == 1.5.3
|
mkdocs == 1.5.3
|
||||||
mkdocs-material == 9.5.3
|
mkdocs-material == 9.5.6
|
||||||
mdx_truly_sane_lists == 1.3
|
mdx_truly_sane_lists == 1.3
|
||||||
mike == 2.0.0
|
mike == 2.0.0
|
||||||
mkdocs-git-revision-date-localized-plugin == 1.2.2
|
mkdocs-git-revision-date-localized-plugin == 1.2.2
|
||||||
|
7
schema/README.md
Normal file
7
schema/README.md
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
# Config Schema
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
|
||||||
|
## Development
|
||||||
|
|
||||||
|
### How to add a new version
|
385
schema/nightly/bottom.json
Normal file
385
schema/nightly/bottom.json
Normal file
@ -0,0 +1,385 @@
|
|||||||
|
{
|
||||||
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||||
|
"$id": "https://github.com/ClementTsang/bottom/tree/main/schema/nightly/schema.json",
|
||||||
|
"$comment": "https://clementtsang.github.io/bottom/nightly/configuration/config-file",
|
||||||
|
"title": "Schema for bottom's configs (nightly)",
|
||||||
|
"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"
|
||||||
|
},
|
||||||
|
"mem_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"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user