5 个不稳定版本
0.3.2 | 2023年1月9日 |
---|---|
0.3.1 | 2022年12月5日 |
0.3.0 | 2022年10月3日 |
0.2.0 | 2022年1月5日 |
0.1.0 | 2018年5月9日 |
#3 in #logind
2,442 每月下载量
在 3 crates 中使用
15KB
118 代码行
upower-dbus
一个通过 dbus 与 UPower 状态信息交互的 Rust 库。
示例
检测系统是否正在运行在电池上
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(())
})
}
获取当前电池状态作为百分比
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(())
})
}
依赖项
~13–27MB
~387K SLoC