diff options
author | Clement Tsang <34804052+ClementTsang@users.noreply.github.com> | 2024-08-01 06:45:57 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-08-01 02:45:57 -0400 |
commit | 8afae3fbe8fbcc83a2e64146024f11ad5298fe54 (patch) | |
tree | 4089e0f7538c7843d74cd69305ea12776ce838a1 | |
parent | a6e1ea3bd8fc9f6f4a8f4e0096619b383624a269 (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.yml | 2 | ||||
-rw-r--r-- | CHANGELOG.md | 4 | ||||
-rw-r--r-- | Cargo.lock | 49 | ||||
-rw-r--r-- | Cargo.toml | 6 | ||||
-rw-r--r-- | README.md | 24 | ||||
-rw-r--r-- | schema/README.md | 19 | ||||
-rw-r--r-- | schema/v0.10/bottom.json | 1023 | ||||
-rw-r--r-- | schema/v0.9/bottom.json | 385 | ||||
-rw-r--r-- | schema/v1.0/README.md | 3 | ||||
-rw-r--r-- | src/main.rs | 3 |
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 @@ -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", ] @@ -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" @@ -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" + } + |