feat: reapply frosted glass feature

This commit is contained in:
Ashley Wulber 2026-07-10 13:06:17 -04:00 committed by GitHub
parent ae5c750662
commit fff1485876
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
125 changed files with 1883 additions and 424 deletions

View file

@ -32,7 +32,7 @@ pub mod device {
Ok((upower, device_path))
}
async fn events() -> zbus::Result<impl Stream<Item = DeviceDbusEvent>> {
async fn events() -> zbus::Result<Box<dyn Stream<Item = DeviceDbusEvent> + Unpin + Send>> {
let (upower, device) = display_device().await?;
let devices = upower.enumerate_devices().await?;
let mut has_battery = false;
@ -51,11 +51,11 @@ pub mod device {
}
}
let initial = futures::stream::iter(if has_battery {
None
} else {
Some(DeviceDbusEvent::NoBattery)
});
if !has_battery {
return Ok(Box::new(futures::stream::iter(Some(
DeviceDbusEvent::NoBattery,
))));
};
let stream = futures::stream_select!(
upower.receive_on_battery_changed().await.map(|_| ()),
@ -63,7 +63,7 @@ pub mod device {
device.receive_time_to_empty_changed().await.map(|_| ()),
);
Ok(initial.chain(stream.map(move |_| {
Ok(Box::new(stream.map(move |_| {
DeviceDbusEvent::Update {
on_battery: upower
.cached_on_battery()