Skip to main content

Crate wayle_brightness

Crate wayle_brightness 

Source
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
BrightnessServiceBuilder for custom configuration.
core
BacklightDevice and monitoring.
error
Error variants for backlight operations.
service
BrightnessService entry point.
types
BacklightType, Percentage, DeviceName.