Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tweak System Information #1445

Merged
merged 2 commits into from
Sep 26, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions examples/system_information/src/main.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand Down Expand Up @@ -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));

Expand Down Expand Up @@ -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),
Expand Down
25 changes: 16 additions & 9 deletions native/src/system/information.rs
Original file line number Diff line number Diff line change
@@ -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,
}
1 change: 1 addition & 0 deletions winit/src/system.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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(),
Expand Down