brightness

Crates.iobrightness
lib.rsbrightness
version0.5.0
sourcesrc
created_at2021-07-28 05:03:50.871185
updated_at2022-09-10 20:04:59.121234
descriptionGet and set display brightness
homepagehttps://github.com/stephaneyfx/brightness
repositoryhttps://github.com/stephaneyfx/brightness.git
max_upload_size
id428185
size77,228
crate-publishers (github:osmosis-labs:crate-publishers)

documentation

https://docs.rs/brightness

README

Overview

This crate provides definitions to get and set display brightness.

Linux and Windows are supported.

Example

use brightness::Brightness;
use futures::TryStreamExt;

async fn show_brightness() -> Result<(), brightness::Error> {
    brightness::brightness_devices().try_for_each(|dev| async move {
        let name = dev.device_name().await?;
        let value = dev.get().await?;
        println!("Brightness of device {} is {}%", name, value);
        Ok(())
    }).await
}

Linux

This crate interacts with devices found at /sys/class/backlight. This means that the ddcci-backlight kernel driver is required to control external displays (via DDC/CI).

Setting brightness is attempted using D-Bus and logind, which requires systemd 243 or newer. If this fails because the method is not available, the desired brightness is written to /sys/class/backlight/$DEVICE/brightness, which requires permission (udev rules can help with that).

Contribute

All contributions shall be licensed under the 0BSD license.

Commit count: 27

cargo fmt