mirror of
https://github.com/NotAShelf/microfetch.git
synced 2026-04-13 13:23:52 +00:00
treewide: going no_std
Signed-off-by: NotAShelf <raf@notashelf.dev> Change-Id: Ia1c001eb099ea8cae9bdf76642b873376a6a6964
This commit is contained in:
parent
1b0e3070bb
commit
472dbfc7e7
14 changed files with 856 additions and 143 deletions
|
|
@ -1,18 +1,15 @@
|
|||
use std::{ffi::OsStr, fmt::Write};
|
||||
use alloc::string::String;
|
||||
|
||||
use crate::getenv_str;
|
||||
|
||||
#[must_use]
|
||||
#[cfg_attr(feature = "hotpath", hotpath::measure)]
|
||||
pub fn get_desktop_info() -> String {
|
||||
let desktop_os = std::env::var_os("XDG_CURRENT_DESKTOP");
|
||||
let session_os = std::env::var_os("XDG_SESSION_TYPE");
|
||||
let desktop_raw = getenv_str("XDG_CURRENT_DESKTOP").unwrap_or("Unknown");
|
||||
let session_raw = getenv_str("XDG_SESSION_TYPE").unwrap_or("");
|
||||
|
||||
let desktop_raw = desktop_os
|
||||
.as_deref()
|
||||
.and_then(OsStr::to_str)
|
||||
.unwrap_or("Unknown");
|
||||
let desktop_str = desktop_raw.strip_prefix("none+").unwrap_or(desktop_raw);
|
||||
|
||||
let session_raw = session_os.as_deref().and_then(OsStr::to_str).unwrap_or("");
|
||||
let backend_str = if session_raw.is_empty() {
|
||||
"Unknown"
|
||||
} else {
|
||||
|
|
@ -27,9 +24,15 @@ pub fn get_desktop_info() -> String {
|
|||
result.push_str(" (");
|
||||
|
||||
// Capitalize first character of backend
|
||||
if let Some(first_char) = backend_str.chars().next() {
|
||||
let _ = write!(result, "{}", first_char.to_ascii_uppercase());
|
||||
result.push_str(&backend_str[first_char.len_utf8()..]);
|
||||
if let Some(first_byte) = backend_str.as_bytes().first() {
|
||||
// Convert first byte to uppercase if it's ASCII lowercase
|
||||
let upper = if first_byte.is_ascii_lowercase() {
|
||||
(first_byte - b'a' + b'A') as char
|
||||
} else {
|
||||
*first_byte as char
|
||||
};
|
||||
result.push(upper);
|
||||
result.push_str(&backend_str[1..]);
|
||||
}
|
||||
|
||||
result.push(')');
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue