mirror of
https://github.com/ClementTsang/bottom.git
synced 2026-07-08 05:30:47 +00:00
bug: accept process column aliases advertised by the config schema (#2131)
This commit is contained in:
+7
-1
@@ -20,11 +20,17 @@ That said, these are more guidelines rather than hard rules, though the project
|
||||
|
||||
---
|
||||
|
||||
## Unreleased
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- [#2131](https://github.com/ClementTsang/bottom/pull/2131): Fix the config not accepting `Memory`, `Memory%`, `Total Read`, and `Total Write` process column aliases that the config schema advertised.
|
||||
|
||||
## 0.14.3 - 2026-07-01
|
||||
|
||||
### Other
|
||||
|
||||
- [#2119](https://github.com/ClementTsang/bottom/pull/2119): Workaround change for draw behaviour that caused Kitty with `cursor_trail` to occasionally use more CPU.
|
||||
- [#2119](https://github.com/ClementTsang/bottom/pull/2119): Add workaround for draw behaviour that caused Kitty with `cursor_trail` to occasionally use more CPU.
|
||||
|
||||
## 0.14.2 - 2026-06-27
|
||||
|
||||
|
||||
@@ -175,4 +175,31 @@ mod test {
|
||||
vec![ProcWidgetColumn::WritePerSecond; 3]
|
||||
);
|
||||
}
|
||||
|
||||
/// The generated JSON schema advertises additional column name aliases
|
||||
/// (via `ProcColumn::get_schema_names`) that the deserializer must also
|
||||
/// accept, otherwise valid configs are rejected at runtime.
|
||||
#[test]
|
||||
fn valid_process_column_config_schema_aliases() {
|
||||
let config = r#"columns = ["Memory", "Memory%"]"#;
|
||||
let generated: ProcessesConfig = toml_edit::de::from_str(config).unwrap();
|
||||
assert_eq!(
|
||||
to_columns(generated.columns),
|
||||
vec![ProcWidgetColumn::Mem; 2]
|
||||
);
|
||||
|
||||
let config = r#"columns = ["Total Read"]"#;
|
||||
let generated: ProcessesConfig = toml_edit::de::from_str(config).unwrap();
|
||||
assert_eq!(
|
||||
to_columns(generated.columns),
|
||||
vec![ProcWidgetColumn::TotalRead]
|
||||
);
|
||||
|
||||
let config = r#"columns = ["Total Write"]"#;
|
||||
let generated: ProcessesConfig = toml_edit::de::from_str(config).unwrap();
|
||||
assert_eq!(
|
||||
to_columns(generated.columns),
|
||||
vec![ProcWidgetColumn::TotalWrite]
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -207,7 +207,7 @@ impl ProcColumn {
|
||||
pub fn parse_column_name(name: &str) -> Option<Self> {
|
||||
match name.to_lowercase().as_str() {
|
||||
"cpu%" => Some(ProcColumn::CpuPercent),
|
||||
"mem" | "mem%" => Some(ProcColumn::MemPercent),
|
||||
"mem" | "mem%" | "memory" | "memory%" => Some(ProcColumn::MemPercent),
|
||||
"virt" | "virtual" | "virtmem" | "virtual memory" => Some(ProcColumn::VirtualMem),
|
||||
"pid" => Some(ProcColumn::Pid),
|
||||
"count" => Some(ProcColumn::Count),
|
||||
@@ -215,8 +215,8 @@ impl ProcColumn {
|
||||
"command" => Some(ProcColumn::Command),
|
||||
"read" | "r/s" | "rps" => Some(ProcColumn::ReadPerSecond),
|
||||
"write" | "w/s" | "wps" => Some(ProcColumn::WritePerSecond),
|
||||
"tread" | "t.read" => Some(ProcColumn::TotalRead),
|
||||
"twrite" | "t.write" => Some(ProcColumn::TotalWrite),
|
||||
"tread" | "t.read" | "total read" => Some(ProcColumn::TotalRead),
|
||||
"twrite" | "t.write" | "total write" => Some(ProcColumn::TotalWrite),
|
||||
"state" => Some(ProcColumn::State),
|
||||
"user" => Some(ProcColumn::User),
|
||||
"time" => Some(ProcColumn::Time),
|
||||
|
||||
Reference in New Issue
Block a user