change: Add decimal to disk values larger than 1GB (#451)

A bit of a followup to #449, this adds decimal places for values over 1GB in regards to disk usage. This affects the disk widget (for the read/write per second) and process widgets (total read, total write, read/write per second).
This commit is contained in:
Clement Tsang 2021-04-09 16:14:01 -04:00 committed by GitHub
parent 8c7e85b923
commit cc03d57f37
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 39 additions and 10 deletions

View file

@ -51,6 +51,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- [#450](https://github.com/ClementTsang/bottom/pull/450): Tweak `default-light` colour scheme to look less terrible on white terminals.
- [#451](https://github.com/ClementTsang/bottom/pull/451): Add decimal place to disk values larger than 1GB for total read/write in process widgets, and read/write per second in process widgets and disk widgets.
## Bug Fixes
- [#416](https://github.com/ClementTsang/bottom/pull/416): Fixes grouped vs ungrouped modes in the processes widget having inconsistent spacing.

View file

@ -19,7 +19,7 @@ use std::{time::Instant, vec::Vec};
use crate::app::data_harvester::load_avg::LoadAvgHarvest;
use crate::{
data_harvester::{batteries, cpu, disks, load_avg, mem, network, processes, temperature, Data},
utils::gen_util::get_decimal_bytes,
utils::gen_util::{get_decimal_bytes, GIGA_LIMIT},
};
use regex::Regex;
@ -296,8 +296,16 @@ impl DataCollection {
let converted_read = get_decimal_bytes(r_rate);
let converted_write = get_decimal_bytes(w_rate);
*io_labels = (
format!("{:.*}{}/s", 0, converted_read.0, converted_read.1),
format!("{:.*}{}/s", 0, converted_write.0, converted_write.1),
if r_rate >= GIGA_LIMIT {
format!("{:.*}{}/s", 1, converted_read.0, converted_read.1)
} else {
format!("{:.*}{}/s", 0, converted_read.0, converted_read.1)
},
if w_rate >= GIGA_LIMIT {
format!("{:.*}{}/s", 1, converted_write.0, converted_write.1)
} else {
format!("{:.*}{}/s", 0, converted_write.0, converted_write.1)
},
);
}
}

View file

@ -586,13 +586,32 @@ fn get_disk_io_strings(
let converted_total_write = get_decimal_bytes(total_write);
(
format!("{:.*}{}/s", 0, converted_rps.0, converted_rps.1),
format!("{:.*}{}/s", 0, converted_wps.0, converted_wps.1),
format!("{:.*}{}", 0, converted_total_read.0, converted_total_read.1),
format!(
"{:.*}{}",
0, converted_total_write.0, converted_total_write.1
),
if rps >= GIGA_LIMIT {
format!("{:.*}{}/s", 1, converted_rps.0, converted_rps.1)
} else {
format!("{:.*}{}/s", 0, converted_rps.0, converted_rps.1)
},
if wps >= GIGA_LIMIT {
format!("{:.*}{}/s", 1, converted_wps.0, converted_wps.1)
} else {
format!("{:.*}{}/s", 0, converted_wps.0, converted_wps.1)
},
if total_read >= GIGA_LIMIT {
format!("{:.*}{}", 1, converted_total_read.0, converted_total_read.1)
} else {
format!("{:.*}{}", 0, converted_total_read.0, converted_total_read.1)
},
if total_write >= GIGA_LIMIT {
format!(
"{:.*}{}",
1, converted_total_write.0, converted_total_write.1
)
} else {
format!(
"{:.*}{}",
0, converted_total_write.0, converted_total_write.1
)
},
)
}