brightness 0.8.0

Get and set display brightness
Documentation
use brightness::blocking::{Brightness, BrightnessDevice};
use std::env;

fn main() {
    let percentage = env::args()
        .nth(1)
        .and_then(|a| a.parse().ok())
        .expect("Desired brightness percentage must be given as parameter");
    run(percentage);
}

fn run(percentage: u32) {
    brightness::blocking::brightness_devices()
        .try_for_each(|dev| {
            let dev = dev?;
            show_brightness(&dev)?;
            dev.set(percentage)?;
            show_brightness(&dev)
        })
        .unwrap()
}

fn show_brightness(dev: &BrightnessDevice) -> Result<(), brightness::Error> {
    println!(
        "Brightness of device {} is {}%",
        dev.friendly_device_name()?,
        dev.get()?
    );
    Ok(())
}