56 lines
1.2 KiB
Markdown
56 lines
1.2 KiB
Markdown
# upower-dbus
|
|
|
|
A Rust library which interfaces with UPower status information through dbus.
|
|
|
|
## Examples
|
|
|
|
### Detecting if the system is running on battery
|
|
|
|
```rust,no_run
|
|
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
|
|
|
|
```rust,no_run
|
|
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(())
|
|
})
|
|
}
|
|
|
|
```
|