summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorClement Tsang <34804052+ClementTsang@users.noreply.github.com>2024-08-01 06:45:57 +0000
committerGitHub <noreply@github.com>2024-08-01 02:45:57 -0400
commit8afae3fbe8fbcc83a2e64146024f11ad5298fe54 (patch)
tree4089e0f7538c7843d74cd69305ea12776ce838a1
parenta6e1ea3bd8fc9f6f4a8f4e0096619b383624a269 (diff)
uptick: 0.10.0 (#1510)0.10.0
* uptick: 0.10.0 * docs: fix changelog * bump lockfile * match clap * add/update schema * add note
-rw-r--r--.github/ISSUE_TEMPLATE/bug_report.yml2
-rw-r--r--CHANGELOG.md4
-rw-r--r--Cargo.lock49
-rw-r--r--Cargo.toml6
-rw-r--r--README.md24
-rw-r--r--schema/README.md19
-rw-r--r--schema/v0.10/bottom.json1023
-rw-r--r--schema/v0.9/bottom.json385
-rw-r--r--schema/v1.0/README.md3
-rw-r--r--src/main.rs3
10 files changed, 1471 insertions, 47 deletions
diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml
index 5eb473f2..85c79338 100644
--- a/.github/ISSUE_TEMPLATE/bug_report.yml
+++ b/.github/ISSUE_TEMPLATE/bug_report.yml
@@ -79,7 +79,7 @@ body:
It would also be helpful if you are not running [the latest version](https://github.com/ClementTsang/bottom/releases/latest)
to try that as well to see if the issue has already been resolved.
- placeholder: 0.9.7
+ placeholder: 0.10.0
- type: textarea
id: install
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 6f3bdb4e..568be5d7 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -5,7 +5,7 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
-## [0.10.0] - Unreleased
+## [0.10.0] - 2024-08-01
### Features
@@ -47,7 +47,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- [#1355](https://github.com/ClementTsang/bottom/pull/1355): Reduce chances of non-D0 devices waking up due to temperature checks on Linux.
- [#1410](https://github.com/ClementTsang/bottom/pull/1410): Fix uptime calculation for Linux.
-## [0.9.7] - 2023-08-26
+## [0.9.7] - 2024-07-26
## Bug Fixes
diff --git a/Cargo.lock b/Cargo.lock
index fc2f75b1..d41e3825 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -243,9 +243,9 @@ dependencies = [
[[package]]
name = "cc"
-version = "1.1.6"
+version = "1.1.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2aba8f4e9906c7ce3c73463f62a7f0c65183ada1a2d47e397cc8810827f9694f"
+checksum = "26a5c3fd7bfa1ce3897a3a3501d362b2d87b7f2583ebcb4a949ec25911025cbc"
[[package]]
name = "cfg-if"
@@ -267,9 +267,9 @@ checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724"
[[package]]
name = "clap"
-version = "4.5.11"
+version = "4.5.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "35723e6a11662c2afb578bcf0b88bf6ea8e21282a953428f240574fcc3a2b5b3"
+checksum = "0fbb260a053428790f3de475e304ff84cdbc4face759ea7a3e64c1edd938a7fc"
dependencies = [
"clap_builder",
"clap_derive",
@@ -277,9 +277,9 @@ dependencies = [
[[package]]
name = "clap_builder"
-version = "4.5.11"
+version = "4.5.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "49eb96cbfa7cfa35017b7cd548c75b14c3118c98b423041d70562665e07fb0fa"
+checksum = "64b17d7ea74e9f833c7dbf2cbe4fb12ff26783eda4782a8975b72f895c9b4d99"
dependencies = [
"anstream",
"anstyle",
@@ -290,9 +290,9 @@ dependencies = [
[[package]]
name = "clap_complete"
-version = "4.5.11"
+version = "4.5.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c6ae69fbb0833c6fcd5a8d4b8609f108c7ad95fc11e248d853ff2c42a90df26a"
+checksum = "a8670053e87c316345e384ca1f3eba3006fc6355ed8b8a1140d104e109e3df34"
dependencies = [
"clap",
]
@@ -319,9 +319,9 @@ dependencies = [
[[package]]
name = "clap_derive"
-version = "4.5.11"
+version = "4.5.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5d029b67f89d30bbb547c89fd5161293c0aec155fc691d7924b64550662db93e"
+checksum = "501d359d5f3dcaf6ecdeee48833ae73ec6e42723a1e52419c79abf9507eec0a0"
dependencies = [
"heck 0.5.0",
"proc-macro2",
@@ -657,9 +657,9 @@ checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39"
[[package]]
name = "indexmap"
-version = "2.2.6"
+version = "2.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26"
+checksum = "de3fc2e30ba82dd1b3911c8de1ffc143c74a914a14e99514d7637e3099df5ea0"
dependencies = [
"equivalent",
"hashbrown",
@@ -763,9 +763,9 @@ checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24"
[[package]]
name = "lru"
-version = "0.12.3"
+version = "0.12.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d3262e75e648fce39813cb56ac41f3c3e3f65217ebf3844d818d1f9398cfb0dc"
+checksum = "37ee39891760e7d94734f6f63fedc29a2e4a152f836120753a72503f09fcf904"
dependencies = [
"hashbrown",
]
@@ -1267,11 +1267,12 @@ dependencies = [
[[package]]
name = "serde_json"
-version = "1.0.120"
+version = "1.0.121"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4e0d21c9a8cae1235ad58a00c11cb40d4b1e5c784f1ef2c537876ed6ffd8b7c5"
+checksum = "4ab380d7d9f22ef3f21ad3e6c1ebe8e4fc7a2000ccba2e4d71fc96f15b2cb609"
dependencies = [
"itoa",
+ "memchr",
"ryu",
"serde",
]
@@ -1355,9 +1356,9 @@ dependencies = [
[[package]]
name = "signal-hook-mio"
-version = "0.2.3"
+version = "0.2.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "29ad2e15f37ec9a6cc544097b78a1ec90001e9f71b81338ca39f430adaca99af"
+checksum = "34db1a06d485c9142248b7a054f034b349b212551f3dfd19c94d45a754a217cd"
dependencies = [
"libc",
"mio",
@@ -1561,18 +1562,18 @@ dependencies = [
[[package]]
name = "toml_datetime"
-version = "0.6.7"
+version = "0.6.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f8fb9f64314842840f1d940ac544da178732128f1c78c21772e876579e0da1db"
+checksum = "0dd7358ecb8fc2f8d014bf86f6f638ce72ba252a2c3a2572f2a795f1d23efb41"
dependencies = [
"serde",
]
[[package]]
name = "toml_edit"
-version = "0.22.17"
+version = "0.22.20"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8d9f8729f5aea9562aac1cc0441f5d6de3cff1ee0c5d67293eeca5eb36ee7c16"
+checksum = "583c44c02ad26b0c3f3066fe629275e50627026c51ac2e595cca4c230ce1ce1d"
dependencies = [
"indexmap",
"serde",
@@ -1928,9 +1929,9 @@ checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec"
[[package]]
name = "winnow"
-version = "0.6.16"
+version = "0.6.18"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b480ae9340fc261e6be3e95a1ba86d54ae3f9171132a73ce8d4bbaf68339507c"
+checksum = "68a9bda4691f099d435ad181000724da8e5899daa10713c2d432552b9ccd3a6f"
dependencies = [
"memchr",
]
diff --git a/Cargo.toml b/Cargo.toml
index 9f269318..f15c4452 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -82,7 +82,7 @@ generate_schema = ["schemars", "serde_json", "strum"]
anyhow = "1.0.86"
backtrace = "0.3.73"
cfg-if = "1.0.0"
-clap = { version = "4.5.11", features = ["default", "cargo", "wrap_help", "derive"] }
+clap = { version = "4.5.13", features = ["default", "cargo", "wrap_help", "derive"] }
concat-string = "1.0.1"
crossterm = "0.27.0"
ctrlc = { version = "3.4.4", features = ["termination"] }
@@ -148,8 +148,8 @@ predicates = "3.1.0"
portable-pty = "0.8.1"
[build-dependencies]
-clap = { version = "4.5.11", features = ["default", "cargo", "wrap_help", "derive"] }
-clap_complete = "4.5.11"
+clap = { version = "4.5.13", features = ["default", "cargo", "wrap_help", "derive"] }
+clap_complete = "4.5.12"
clap_complete_nushell = "4.5.3"
clap_complete_fig = "4.5.2"
clap_mangen = "0.2.23"
diff --git a/README.md b/README.md
index 6392958e..d8e02c41 100644
--- a/README.md
+++ b/README.md
@@ -175,16 +175,16 @@ A `.deb` file is provided on each [stable release](https://github.com/ClementTsa
```bash
# x86-64
-curl -LO https://github.com/ClementTsang/bottom/releases/download/0.9.7/bottom_0.9.7_amd64.deb
-sudo dpkg -i bottom_0.9.7_amd64.deb
+curl -LO https://github.com/ClementTsang/bottom/releases/download/0.10.0/bottom_0.10.0_amd64.deb
+sudo dpkg -i bottom_0.10.0_amd64.deb
# ARM64
-curl -LO https://github.com/ClementTsang/bottom/releases/download/0.9.7/bottom_0.9.7_arm64.deb
-sudo dpkg -i bottom_0.9.7_arm64.deb
+curl -LO https://github.com/ClementTsang/bottom/releases/download/0.10.0/bottom_0.10.0_arm64.deb
+sudo dpkg -i bottom_0.10.0_arm64.deb
# ARM
-curl -LO https://github.com/ClementTsang/bottom/releases/download/0.9.7/bottom_0.9.7_armhf.deb
-sudo dpkg -i bottom_0.9.7_armhf.deb
+curl -LO https://github.com/ClementTsang/bottom/releases/download/0.10.0/bottom_0.10.0_armhf.deb
+sudo dpkg -i bottom_0.10.0_armhf.deb
```
### Exherbo Linux
@@ -210,12 +210,12 @@ something like:
```bash
# x86-64
-curl -LO https://github.com/ClementTsang/bottom/releases/download/0.9.7/bottom-0.9.7-1.x86_64.rpm
-sudo rpm -i bottom-0.9.7-1.x86_64.rpm
+curl -LO https://github.com/ClementTsang/bottom/releases/download/0.10.0/bottom-0.10.0-1.x86_64.rpm
+sudo rpm -i bottom-0.10.0-1.x86_64.rpm
# Nightly x86-64
-curl -LO https://github.com/ClementTsang/bottom/releases/download/nightly/bottom-0.9.7-1.x86_64.rpm
-sudo rpm -i bottom-0.9.7-1.x86_64.rpm
+curl -LO https://github.com/ClementTsang/bottom/releases/download/nightly/bottom-0.10.0-1.x86_64.rpm
+sudo rpm -i bottom-0.10.0-1.x86_64.rpm
```
### Gentoo
@@ -326,8 +326,8 @@ to do so using the most recent version of stable Rust, which is how the binaries
rustup update stable
# Option 1 - Download from releases and install
-curl -LO https://github.com/ClementTsang/bottom/archive/0.9.7.tar.gz
-tar -xzvf 0.9.7.tar.gz
+curl -LO https://github.com/ClementTsang/bottom/archive/0.10.0.tar.gz
+tar -xzvf 0.10.0.tar.gz
cargo install --path . --locked
# Option 2 - Clone the repo and install manually
diff --git a/schema/README.md b/schema/README.md
index 2f767f8b..b365e4f0 100644
--- a/schema/README.md
+++ b/schema/README.md
@@ -1,7 +1,18 @@
-# Config Schema
+# Config JSON Schema
-## Usage
+## Generation
-## Development
+These are automatically generated from code using [`schemars`](https://github.com/GREsau/schemars). They're locked
+behind a feature flag to avoid building unnecessary code for release builds, and you can generate them like so:
-### How to add a new version
+```bash
+cargo run --features="generate_schema" -- --generate_schema > schema/nightly/bottom.json
+```
+
+## Publication
+
+To publish these schemas, cut a new version by copying `nightly` to a new folder with a version number matching bottom's
+(e.g. v0.10 if bottom is on v0.10.x bottom). Then, make a PR to [schemastore](https://github.com/SchemaStore/schemastore)
+updating the catalog.
+
+For more info, see the schemastore repo. An example PR can be found [here](https://github.com/SchemaStore/schemastore/pull/3571).
diff --git a/schema/v0.10/bottom.json b/schema/v0.10/bottom.json
new file mode 100644
index 00000000..d109e011
--- /dev/null
+++ b/schema/v0.10/bottom.json
@@ -0,0 +1,1023 @@
+{
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "$id": "https://github.com/ClementTsang/bottom/blob/main/schema/nightly/bottom.json",
+ "title": "Schema for bottom's configs (nightly)",
+ "description": "https://clementtsang.github.io/bottom/nightly/configuration/config-file",
+ "type": "object",
+ "properties": {
+ "cpu": {
+ "anyOf": [
+ {
+ "$ref": "#/definitions/CpuConfig"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "disk": {
+ "anyOf": [
+ {
+ "$ref": "#/definitions/DiskConfig"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "flags": {
+ "anyOf": [
+ {
+ "$ref": "#/definitions/FlagConfig"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "network": {
+ "anyOf": [
+ {
+ "$ref": "#/definitions/NetworkConfig"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "processes": {
+ "anyOf": [
+ {
+ "$ref": "#/definitions/ProcessesConfig"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "row": {
+ "type": [
+ "array",
+ "null"
+ ],
+ "items": {
+ "$ref": "#/definitions/row"
+ }
+ },
+ "styles": {
+ "anyOf": [
+ {
+ "$ref": "#/definitions/StyleConfig"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "temperature": {
+ "anyOf": [
+ {
+ "$ref": "#/definitions/TempConfig"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "definitions": {
+ "BatteryStyle": {
+ "description": "Styling specific to the battery widget.",
+ "type": "object",
+ "properties": {
+ "high_battery_color": {
+ "description": "The colour of the battery widget bar when the battery is over 50%.",
+ "anyOf": [
+ {
+ "$ref": "#/definitions/ColorStr"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "low_battery_color": {
+ "description": "The colour of the battery widget bar when the battery is under 10%.",
+ "anyOf": [
+ {
+ "$ref": "#/definitions/ColorStr"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "medium_battery_color": {
+ "description": "The colour of the battery widget bar when the battery between 10% to 50%.",
+ "anyOf": [
+ {
+ "$ref": "#/definitions/ColorStr"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ }
+ },
+ "ColorStr": {
+ "type": "string"
+ },
+ "CpuConfig": {
+ "description": "CPU column settings.",
+ "type": "object",
+ "properties": {
+ "default": {
+ "$ref": "#/definitions/CpuDefault"
+ }
+ }
+ },
+ "CpuDefault": {
+ "description": "The default selection of the CPU widget. If the given selection is invalid, we will fall back to all.",
+ "type": "string",
+ "enum": [
+ "all",
+ "average"
+ ]
+ },
+ "CpuStyle": {
+ "description": "Styling specific to the CPU widget.",
+ "type": "object",
+ "properties": {
+ "all_entry_color": {
+ "description": "The colour of the \"All\" CPU label.",
+ "anyOf": [
+ {
+ "$ref": "#/definitions/ColorStr"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "avg_entry_color": {
+ "description": "The colour of the average CPU label and graph line.",
+ "anyOf": [
+ {
+ "$ref": "#/definitions/ColorStr"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "cpu_core_colors": {
+ "description": "Colour of each CPU threads' label and graph line. Read in order.",
+ "type": [
+ "array",
+ "null"
+ ],
+ "items": {
+ "$ref": "#/definitions/ColorStr"
+ }
+ }
+ }
+ },
+ "DiskConfig": {
+ "description": "Disk configuration.",
+ "type": "object",
+ "properties": {
+ "mount_filter": {
+ "description": "A filter over the mount names.",
+ "anyOf": [
+ {
+ "$ref": "#/definitions/IgnoreList"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "name_filter": {
+ "description": "A filter over the disk names.",
+ "anyOf": [
+ {
+ "$ref": "#/definitions/IgnoreList"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ }
+ },
+ "FinalWidget": {
+ "description": "Represents a widget.",
+ "type": "object",
+ "required": [
+ "type"
+ ],
+ "properties": {
+ "default": {
+ "type": [
+ "boolean",
+ "null"
+ ]
+ },
+ "ratio": {
+ "type": [
+ "integer",
+ "null"
+ ],
+ "format": "uint32",
+ "minimum": 0.0
+ },
+ "type": {
+ "type": "string"
+ }
+ }
+ },
+ "FlagConfig": {
+ "type": "object",
+ "properties": {
+ "autohide_time": {
+ "type": [
+ "boolean",
+ "null"
+ ]
+ },
+ "basic": {
+ "type": [
+ "boolean",
+ "null"
+ ]
+ },
+ "battery": {
+ "type": [
+ "boolean",
+ "null"
+ ]
+ },
+ "case_sensitive": {
+ "type": [
+ "boolean",
+ "null"
+ ]
+ },
+ "cpu_left_legend": {
+ "type": [
+ "boolean",
+ "null"
+ ]
+ },
+ "current_usage": {
+ "type": [
+ "boolean",
+ "null"
+ ]
+ },
+ "default_time_value": {
+ "anyOf": [
+ {
+ "$ref": "#/definitions/StringOrNum"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "default_widget_count": {
+ "type": [
+ "integer",
+ "null"
+ ],
+ "format": "uint64",
+ "minimum": 0.0
+ },
+ "default_widget_type": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "disable_advanced_kill": {
+ "type": [
+ "boolean",
+ "null"
+ ]
+ },
+ "disable_click": {
+ "type": [
+ "boolean",
+ "null"
+ ]
+ },
+ "dot_marker": {
+ "type": [
+ "boolean",
+ "null"
+ ]
+ },
+ "enable_cache_memory": {
+ "type": [
+ "boolean",
+ "null"
+ ]
+ },
+ "enable_gpu": {
+ "type": [
+ "boolean",
+ "null"
+ ]
+ },
+ "expanded": {
+ "type": [
+ "boolean",
+ "null"
+ ]
+ },
+ "group_processes": {
+ "type": [
+ "boolean",
+ "null"
+ ]
+ },
+ "hide_avg_cpu": {
+ "type": [
+ "boolean",
+ "null"
+ ]
+ },
+ "hide_table_gap": {
+ "type": [
+ "boolean",
+ "null"
+ ]
+ },
+ "hide_time": {
+ "type": [
+ "boolean",
+ "null"
+ ]
+ },
+ "memory_legend": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "network_legend": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "network_use_binary_prefix": {
+ "type": [
+ "boolean",
+ "null"
+ ]
+ },
+ "network_use_bytes": {
+ "type": [
+ "boolean",
+ "null"
+ ]
+ },
+ "network_use_log": {
+ "type": [
+ "boolean",
+ "null"
+ ]
+ },
+ "no_write": {
+ "type": [
+ "boolean",
+ "null"
+ ]
+ },
+ "process_command": {
+ "type": [
+ "boolean",
+ "null"
+ ]
+ },
+ "process_memory_as_value": {
+ "type": [
+ "boolean",
+ "null"
+ ]
+ },
+ "rate": {
+ "anyOf": [
+ {
+ "$ref": "#/definitions/StringOrNum"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "regex": {
+ "type": [
+ "boolean",
+ "null"
+ ]
+ },
+ "retention": {
+ "anyOf": [
+ {
+ "$ref": "#/definitions/StringOrNum"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "show_table_scroll_position": {
+ "type": [
+ "boolean",
+ "null"
+ ]
+ },
+ "temperature_type": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "time_delta": {
+ "anyOf": [
+ {
+ "$ref": "#/definitions/StringOrNum"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "tree": {
+ "type": [
+ "boolean",
+ "null"
+ ]
+ },
+ "unnormalized_cpu": {
+ "type": [
+ "boolean",
+ "null"
+ ]
+ },
+ "use_old_network_legend": {
+ "type": [
+ "boolean",
+ "null"
+ ]
+ },
+ "whole_word": {
+ "type": [
+ "boolean",
+ "null"
+ ]
+ }
+ }
+ },
+ "GraphStyle": {
+ "description": "General styling for graph widgets.",
+ "type": "object",
+ "properties": {
+ "graph_color": {
+ "description": "The general colour of the parts of the graph.",
+ "anyOf": [
+ {
+ "$ref": "#/definitions/ColorStr"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "legend_text": {
+ "description": "Text styling for graph's legend text.",
+ "anyOf": [
+ {
+ "$ref": "#/definitions/TextStyleConfig"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ }
+ },
+ "IgnoreList": {
+ "type": "object",
+ "required": [
+ "list"
+ ],
+ "properties": {
+ "case_sensitive": {
+ "default": false,
+ "type": "boolean"
+ },
+ "is_list_ignored": {
+ "default": true,
+ "type": "boolean"
+ },
+ "list": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "regex": {
+ "default": false,
+ "type": "boolean"
+ },
+ "whole_word": {
+ "default": false,
+ "type": "boolean"
+ }
+ }
+ },
+ "MemoryStyle": {
+ "description": "Styling specific to the memory widget.",
+ "type": "object",
+ "properties": {
+ "arc_color": {
+ "description": "The colour of the ARC label and graph line.",
+ "anyOf": [
+ {
+ "$ref": "#/definitions/ColorStr"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "cache_color": {
+ "description": "The colour of the cache label and graph line. Does not do anything on Windows.",
+ "anyOf": [
+ {
+ "$ref": "#/definitions/ColorStr"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "gpu_colors": {
+ "description": "Colour of each GPU's memory label and graph line. Read in order.",
+ "type": [
+ "array",
+ "null"
+ ],
+ "items": {
+ "$ref": "#/definitions/ColorStr"
+ }
+ },
+ "ram_color": {
+ "description": "The colour of the RAM label and graph line.",
+ "anyOf": [
+ {
+ "$ref": "#/definitions/ColorStr"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "swap_color": {
+ "description": "The colour of the swap label and graph line.",
+ "anyOf": [
+ {
+ "$ref": "#/definitions/ColorStr"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ }
+ },
+ "NetworkConfig": {
+ "description": "Network configuration.",
+ "type": "object",
+ "properties": {
+ "interface_filter": {
+ "description": "A filter over the network interface names.",
+ "anyOf": [
+ {
+ "$ref": "#/definitions/IgnoreList"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ }
+ },
+ "NetworkStyle": {
+ "description": "Styling specific to the network widget.",
+ "type": "object",
+ "properties": {
+ "rx_color": {
+ "description": "The colour of the RX (download) label and graph line.",
+ "anyOf": [
+ {
+ "$ref": "#/definitions/ColorStr"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "rx_total_color": {
+ "description": "he colour of the total RX (download) label in basic mode.",
+ "anyOf": [
+ {
+ "$ref": "#/definitions/ColorStr"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "tx_color": {
+ "description": "The colour of the TX (upload) label and graph line.",
+ "anyOf": [
+ {
+ "$ref": "#/definitions/ColorStr"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "tx_total_color": {
+ "description": "The colour of the total TX (upload) label in basic mode.",
+ "anyOf": [
+ {
+ "$ref": "#/definitions/ColorStr"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ }
+ },
+ "ProcColumn": {
+ "description": "A column in the process widget.",
+ "type": "string",
+ "enum": [
+ "PID",
+ "Count",
+ "Name",
+ "Command",
+ "CPU%",
+ "Mem",
+ "Mem%",
+ "R/s",
+ "Read",
+ "Rps",
+ "W/s",
+ "Write",
+ "Wps",
+ "T.Read",
+ "TWrite",
+ "T.Write",
+ "TRead",
+ "State",
+ "User",
+ "Time",
+ "GMem",
+ "GMem%",
+ "GPU%"
+ ]
+ },
+ "ProcessesConfig": {
+ "description": "Process configuration.",
+ "type": "object",
+ "properties": {
+ "columns": {
+ "description": "A list of process widget columns.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ProcColumn"
+ }
+ }
+ }
+ },
+ "RowChildren": {
+ "description": "Represents a child of a Row - either a Col (column) or a FinalWidget.\n\nA Col can also have an optional length and children. We only allow columns to have FinalWidgets as children, lest we get some amount of mutual recursion between Row and Col.",
+ "anyOf": [
+ {
+ "$ref": "#/definitions/FinalWidget"
+ },
+ {
+ "type": "object",
+ "required": [
+ "child"
+ ],
+ "properties": {
+ "child": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/FinalWidget"
+ }
+ },
+ "ratio": {
+ "type": [
+ "integer",
+ "null"
+ ],
+ "format": "uint32",
+ "minimum": 0.0
+ }
+ }
+ }
+ ]
+ },
+ "StringOrNum": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "integer",
+ "format": "uint64",
+ "minimum": 0.0
+ }
+ ]
+ },
+ "StyleConfig": {
+ "description": "Style-related configs.",
+ "type": "object",
+ "properties": {
+ "battery": {
+ "description": "Styling for the battery widget.",
+ "anyOf": [
+ {
+ "$ref": "#/definitions/BatteryStyle"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "cpu": {
+ "description": "Styling for the CPU widget.",
+ "anyOf": [
+ {
+ "$ref": "#/definitions/CpuStyle"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "graphs": {
+ "description": "Styling for graph widgets.",
+ "anyOf": [
+ {
+ "$ref": "#/definitions/GraphStyle"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "memory": {
+ "description": "Styling for the memory widget.",
+ "anyOf": [
+ {
+ "$ref": "#/definitions/MemoryStyle"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "network": {
+ "description": "Styling for the network widget.",
+ "anyOf": [
+ {
+ "$ref": "#/definitions/NetworkStyle"
+ },
+ {
+ "type": "null"
+ }
+