Expand description
Backlight control for internal displays.
All state is exposed via Property fields that
update automatically when brightness changes.
§Quick Start
use wayle_brightness::{BrightnessService, Percentage};
let Some(brightness) = BrightnessService::new().await? else {
return Ok(());
};
if let Some(device) = brightness.primary.get() {
println!("{}: {}", device.name, device.percentage());
device.set_percentage(Percentage::new(50.0)).await?;
}§Watching for Changes
use wayle_brightness::BrightnessService;
use futures::StreamExt;
let mut stream = brightness.primary.watch();
while let Some(maybe_device) = stream.next().await {
if let Some(device) = maybe_device {
println!("brightness: {}", device.percentage());
}
}§Non-systemd Systems
Direct sysfs writes require video group membership.
Re-exports§
pub use core::BacklightDevice;pub use builder::BrightnessServiceBuilder;pub use error::Error;pub use service::BrightnessService;pub use types::DeviceName;pub use types::Percentage;
Modules§
- builder
BrightnessServiceBuilderfor custom configuration.- core
BacklightDeviceand monitoring.- error
Errorvariants for backlight operations.- service
BrightnessServiceentry point.- types
BacklightType,Percentage,DeviceName.