about summary refs log blame commit diff stats
path: root/pkgs/by-name/br/brightness/brightness.sh
blob: 887dbb1ef858c5233e19f02e3e30cd61f1fc38ba (plain) (tree)


















                                                            
                                                                               





                                                                                             
                                                
              
             
                                          
 
                                                                     

                                                                                       
                                           













                       
                                                                                                              
            
      
           


                        
                                

                       





                                                                  
#!/usr/bin/env dash

# shellcheck source=/dev/null
SHELL_LIBRARY_VERSION="2.1.2" . %SHELL_LIBRARY_PATH

help() {
    cat <<EOF
This is a system brightness manager

USAGE:
    $NAME up [VALUE] | down [VALUE]

OPTIONS:
    --help   | -h
                                Output this help and exit.

    --version   | -v
                                Output the version and exit.

COMMANDS:
    set [VALUE]
                                Set the brightness to the specified percentage.

ARGUMENTS:
    VALUE := [[seq 0 100]]
                                The amount to increase/decrease the brightness. In percentage
EOF
}

BACKLIGHT="/sys/class/backlight/%BACKLIGHT_NAME"

brightness() {
    perc="$1"

    max="$(cat $BACKLIGHT/max_brightness)"

    new="$(echo | awk --assign=perc="$perc" '{printf (perc / 100)}')"

    output="$(echo | awk --assign=new="$new" --assign=max="$max" '{printf max * new}')"

    echo "$output" >"$BACKLIGHT/brightness"
}

for arg in "$@"; do
    case "$arg" in
    "--help" | "-h")
        help
        exit 0
        ;;
    "--version" | "-v")
        version
        exit 0
        ;;
    esac
done

[ "$(id --user)" != 0 ] && die "This script requires root (as it needs to write into '$BACKLIGHT/brightness')"

case "$1" in
"set")
    shift 1

    if [ -n "$1" ]; then
        value="$1"
    else
        die "No value specified"
    fi

    brightness "$value"
    ;;
*)
    die "The command '$1' does not exist! See '--help' for a list"
    ;;
esac

# vim: ft=sh