Merge pull request #1445 from clarkmoody/tweak-sysinfo

Tweak System Information
This commit is contained in:
Héctor Ramón 2022-09-26 13:48:34 +02:00 committed by GitHub
commit 3c2a8b70ad
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 28 additions and 9 deletions

View file

@ -9,12 +9,14 @@ pub fn main() -> iced::Result {
Example::run(Settings::default())
}
#[allow(clippy::large_enum_variant)]
enum Example {
Loading,
Loaded { information: system::Information },
}
#[derive(Clone, Debug)]
#[allow(clippy::large_enum_variant)]
enum Message {
InformationReceived(system::Information),
Refresh,
@ -80,6 +82,14 @@ impl Application for Example {
.unwrap_or(&"unknown".to_string())
));
let system_short_version = text(format!(
"System short version: {}",
information
.system_short_version
.as_ref()
.unwrap_or(&"unknown".to_string())
));
let cpu_brand =
text(format!("Processor brand: {}", information.cpu_brand));
@ -126,6 +136,7 @@ impl Application for Example {
system_name.size(30),
system_kernel.size(30),
system_version.size(30),
system_short_version.size(30),
cpu_brand.size(30),
cpu_cores.size(30),
memory_total.size(30),

View file

@ -1,22 +1,29 @@
/// Contains informations about the system (e.g. system name, processor, memory, graphics adapter).
#[derive(Clone, Debug)]
pub struct Information {
/// Contains the system name.
/// The operating system name
pub system_name: Option<String>,
/// Contains the kernel version.
/// Operating system kernel version
pub system_kernel: Option<String>,
/// Contains the systme version.
/// Long operating system version
///
/// Examples:
/// - MacOS 10.15 Catalina
/// - Windows 10 Pro
/// - Ubuntu 20.04 LTS (Focal Fossa)
pub system_version: Option<String>,
/// Contains the processor brand.
/// Short operating system version number
pub system_short_version: Option<String>,
/// Detailed processor model information
pub cpu_brand: String,
/// Contains the number of physical cores on the processor.
/// The number of physical cores on the processor
pub cpu_cores: Option<usize>,
/// Contains the total RAM size in KB.
/// Total RAM size, KB
pub memory_total: u64,
/// Contains the system used RAM size in KB.
/// Memory used by this process, KB
pub memory_used: Option<u64>,
/// Contains the graphics backend.
/// Underlying graphics backend for rendering
pub graphics_backend: String,
/// Contains the graphics adapter.
/// Model information for the active graphics adapter
pub graphics_adapter: String,
}

View file

@ -31,6 +31,7 @@ pub(crate) fn information(
system_name: system.name(),
system_kernel: system.kernel_version(),
system_version: system.long_os_version(),
system_short_version: system.os_version(),
cpu_brand: cpu.brand().into(),
cpu_cores: system.physical_core_count(),
memory_total: system.total_memory(),