An open API service indexing awesome lists of open source software.

https://github.com/pop-os/upower-dbus

Migrated to https://github.com/pop-os/dbus-settings-bindings
https://github.com/pop-os/upower-dbus

Last synced: about 2 months ago
JSON representation

Migrated to https://github.com/pop-os/dbus-settings-bindings

Awesome Lists containing this project

README

        

# 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(())
})
}

```