diff --git a/lact-gui/src/app/root_stack/software_page.rs b/lact-gui/src/app/root_stack/software_page.rs index 48e8e7e..1119296 100644 --- a/lact-gui/src/app/root_stack/software_page.rs +++ b/lact-gui/src/app/root_stack/software_page.rs @@ -1,10 +1,10 @@ use gtk::prelude::*; use gtk::*; +use std::process::Command; #[derive(Debug, Clone)] pub struct SoftwarePage { pub container: Grid, - lact_version_label: Label, } impl SoftwarePage { @@ -16,12 +16,12 @@ impl SoftwarePage { container.set_margin_bottom(5); container.set_margin_top(5); - container.set_column_spacing(10); + container.set_column_spacing(5); container.attach( &{ let label = Label::new(None); - label.set_markup("LACT Version:"); + label.set_markup("LACT Version:"); label.set_halign(Align::End); label.set_hexpand(true); label @@ -39,16 +39,40 @@ impl SoftwarePage { false => "release", }; - lact_version_label.set_markup(&format!("{}-{}", lact_version, lact_release_type)); + lact_version_label.set_markup(&format!("{}-{}", lact_version, lact_release_type)); lact_version_label.set_hexpand(true); lact_version_label.set_halign(Align::Start); container.attach(&lact_version_label, 1, 0, 1, 1); - Self { - container, - lact_version_label, - } + container.attach( + &Label::builder() + .label("Kernel version:") + .halign(Align::End) + .hexpand(true) + .build(), + 0, + 1, + 1, + 1, + ); + let kernel_version_label = Label::builder() + .use_markup(true) + .label(&format!("{}", get_kernel_version().trim())) + .hexpand(true) + .halign(Align::Start) + .build(); + container.attach(&kernel_version_label, 1, 1, 1, 1); + + Self { container } } } + +fn get_kernel_version() -> String { + let output = Command::new("uname") + .arg("-r") + .output() + .expect("Could not run uname"); + String::from_utf8(output.stdout).expect("Invalid uname output") +}