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. - [#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 ## Bug Fixes
- [#416](https://github.com/ClementTsang/bottom/pull/416): Fixes grouped vs ungrouped modes in the processes widget having inconsistent spacing. - [#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::app::data_harvester::load_avg::LoadAvgHarvest;
use crate::{ use crate::{
data_harvester::{batteries, cpu, disks, load_avg, mem, network, processes, temperature, Data}, 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; use regex::Regex;
@ -296,8 +296,16 @@ impl DataCollection {
let converted_read = get_decimal_bytes(r_rate); let converted_read = get_decimal_bytes(r_rate);
let converted_write = get_decimal_bytes(w_rate); let converted_write = get_decimal_bytes(w_rate);
*io_labels = ( *io_labels = (
format!("{:.*}{}/s", 0, converted_read.0, converted_read.1), if r_rate >= GIGA_LIMIT {
format!("{:.*}{}/s", 0, converted_write.0, converted_write.1), 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); let converted_total_write = get_decimal_bytes(total_write);
( (
format!("{:.*}{}/s", 0, converted_rps.0, converted_rps.1), if rps >= GIGA_LIMIT {
format!("{:.*}{}/s", 0, converted_wps.0, converted_wps.1), format!("{:.*}{}/s", 1, converted_rps.0, converted_rps.1)
format!("{:.*}{}", 0, converted_total_read.0, converted_total_read.1), } else {
format!( format!("{:.*}{}/s", 0, converted_rps.0, converted_rps.1)
"{:.*}{}", },
0, converted_total_write.0, converted_total_write.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
)
},
) )
} }