5 unstable releases
0.3.2 | Jan 9, 2023 |
---|---|
0.3.1 | Dec 5, 2022 |
0.3.0 | Oct 3, 2022 |
0.2.0 | Jan 5, 2022 |
0.1.0 | May 9, 2018 |
#21 in #zbus
1,205 downloads per month
Used in 3 crates
15KB
118 lines
upower-dbus
A Rust library which interfaces with UPower status information through dbus.
Examples
Detecting if the system is running on battery
extern crate upower_dbus;
use futures::stream::StreamExt;
use upower_dbus::UPowerProxy;
fn main() -> zbus::Result<()> {
futures::executor::block_on(async move {
let connection = zbus::Connection::system().await?;
let upower = UPowerProxy::new(&connection).await?;
println!("On Battery: {:?}", upower.on_battery().await);
let mut stream = upower.receive_on_battery_changed().await;
while let Some(event) = stream.next().await {
println!("On Battery: {:?}", event.get().await);
}
Ok(())
})
}
Getting the current battery status as a percentage
extern crate upower_dbus;
use upower_dbus::UPowerProxy;
fn main() -> zbus::Result<()> {
futures::executor::block_on(async move {
let connection = zbus::Connection::system().await?;
let upower = UPowerProxy::new(&connection).await?;
let device = upower.get_display_device().await?;
println!("Battery: {:?}", device.percentage().await);
Ok(())
})
}
Dependencies
~12–26MB
~364K SLoC