feat(about): show kernel version

This commit is contained in:
Fred 2025-11-07 19:41:26 +01:00 committed by GitHub
parent e700589e17
commit b49f1d4bfe
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 20 additions and 0 deletions

View file

@ -244,6 +244,7 @@ fn os() -> Section<crate::pages::Message> {
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<crate::pages::Message> {
&*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),

View file

@ -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

View file

@ -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

View file

@ -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) {