diff --git a/daemon/src/main.rs b/daemon/src/main.rs index b15e6f0..8410b16 100644 --- a/daemon/src/main.rs +++ b/daemon/src/main.rs @@ -109,6 +109,7 @@ impl GreeterProxy { full_name_opt: user .gecos .as_ref() + .filter(|s| !s.is_empty()) .map(|gecos| gecos.split(',').next().unwrap_or_default().to_string()), icon_opt, theme_opt: None, diff --git a/src/greeter.rs b/src/greeter.rs index 5448fb9..909c6fb 100644 --- a/src/greeter.rs +++ b/src/greeter.rs @@ -105,6 +105,7 @@ fn user_data_fallback() -> Vec { name: user.name, full_name_opt: user .gecos + .filter(|s| !s.is_empty()) .map(|gecos| gecos.split(',').next().unwrap_or_default().to_string()), icon_opt, theme_opt: None, diff --git a/src/locker.rs b/src/locker.rs index e892d4e..71a0dde 100644 --- a/src/locker.rs +++ b/src/locker.rs @@ -642,9 +642,9 @@ impl cosmic::Application for App { } None => {} } - match &self.flags.current_user.gecos { + match self.flags.current_user.gecos.as_ref().filter(|s| !s.is_empty()) { Some(gecos) => { - let full_name = gecos.split(",").next().unwrap_or(""); + let full_name = gecos.split(",").next().unwrap_or_default(); column = column.push( widget::container(widget::text::title4(full_name)) .width(Length::Fill)