From b49f1d4bfef9e8a28a414ae3b902bc7721b92500 Mon Sep 17 00:00:00 2001 From: Fred <27208977+FreddyFunk@users.noreply.github.com> Date: Fri, 7 Nov 2025 19:41:26 +0100 Subject: [PATCH] feat(about): show kernel version --- cosmic-settings/src/pages/system/about.rs | 5 +++++ i18n/de/cosmic_settings.ftl | 1 + i18n/en/cosmic_settings.ftl | 1 + pages/system/src/about.rs | 13 +++++++++++++ 4 files changed, 20 insertions(+) diff --git a/cosmic-settings/src/pages/system/about.rs b/cosmic-settings/src/pages/system/about.rs index 9838b35..fa27df6 100644 --- a/cosmic-settings/src/pages/system/about.rs +++ b/cosmic-settings/src/pages/system/about.rs @@ -244,6 +244,7 @@ fn os() -> Section { let os = descriptions.insert(fl!("about-os", "os")); let os_arch = descriptions.insert(fl!("about-os", "os-architecture")); + let kernel = descriptions.insert(fl!("about-os", "kernel")); let desktop = descriptions.insert(fl!("about-os", "desktop-environment")); let windowing_system = descriptions.insert(fl!("about-os", "windowing-system")); @@ -262,6 +263,10 @@ fn os() -> Section { &*desc[os_arch], text::body(&page.info.os_architecture), )) + .add(settings::flex_item( + &*desc[kernel], + text::body(&page.info.kernel_version), + )) .add(settings::flex_item( &*desc[desktop], text::body(&page.info.desktop_environment), diff --git a/i18n/de/cosmic_settings.ftl b/i18n/de/cosmic_settings.ftl index c2f1028..9f1f63d 100644 --- a/i18n/de/cosmic_settings.ftl +++ b/i18n/de/cosmic_settings.ftl @@ -785,6 +785,7 @@ about-hardware = Hardware about-os = Betriebssystem .os = Betriebssystem .os-architecture = Betriebssystemarchitektur + .kernel = Kernel Version .desktop-environment = Desktopumgebung .windowing-system = Fenstersystem about-related = Zugehörige Einstellungen diff --git a/i18n/en/cosmic_settings.ftl b/i18n/en/cosmic_settings.ftl index eaa153c..4d89fd6 100644 --- a/i18n/en/cosmic_settings.ftl +++ b/i18n/en/cosmic_settings.ftl @@ -882,6 +882,7 @@ about-hardware = Hardware about-os = Operating system .os = Operating system .os-architecture = Operating system architecture + .kernel = Kernel version .desktop-environment = Desktop environment .windowing-system = Windowing system diff --git a/pages/system/src/about.rs b/pages/system/src/about.rs index 73c571c..ed1ef22 100644 --- a/pages/system/src/about.rs +++ b/pages/system/src/about.rs @@ -25,6 +25,7 @@ pub struct Info { pub memory: String, pub operating_system: String, pub os_architecture: String, + pub kernel_version: String, pub processor: String, pub windowing_system: String, } @@ -37,6 +38,9 @@ impl Info { architecture(&bump, &mut info.os_architecture); bump.reset(); + kernel_version(&bump, &mut info.kernel_version); + bump.reset(); + hardware_model(&bump, &mut info.hardware_model); bump.reset(); @@ -116,6 +120,15 @@ pub fn architecture(bump: &Bump, arch: &mut String) { } } +pub fn kernel_version(bump: &Bump, kernel: &mut String) { + let buffer = &mut bumpalo::collections::Vec::new_in(bump); + if let Some(value) = read_to_string("/proc/version", buffer) { + if let Some(version) = value.split_whitespace().nth(2) { + kernel.push_str(version.trim()); + } + } +} + pub fn hardware_model(bump: &Bump, hardware_model: &mut String) { let buffer = &mut bumpalo::collections::Vec::new_in(bump); if let Some(mut sys_vendor) = read_to_string(SYS_VENDOR, buffer) {