Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- DEVICE=00:02.0
- VALUES=(02 04 06 08 0c 10 20 40 60 80 a0 d0 f0)
- DEFAULT=11
- current=$(setpci -s $DEVICE F4.B)
- current=${current,,}
- case "$1" in
- set|reset)
- if [ -n "$2" ]; then
- new=${2,,}
- if [ "${#new}" -eq 1 ]; then
- new=0$new
- fi
- else
- new=${VALUES[DEFAULT]}
- fi
- tmp=$((0x$new))
- if [ $tmp -gt 1 ] && [ $tmp -lt 256 ]; then
- if setpci -s $DEVICE F4.B=$new >/dev/null 2>&1; then
- echo "Brightness set from 0x$current to 0x$new"
- else
- exit 2
- fi
- else
- echo "Incorrect brightness value: $new" >&2
- exit 1
- fi
- ;;
- up|down)
- for i in $(seq 0 $((${#VALUES[*]}-1))); do
- if [ "${VALUES[$i]}" == "$current" ]; then
- break
- fi
- done
- if [ "${VALUES[$i]}" != "$current" ]; then
- i=$DEFAULT
- fi
- case "$1" in
- up)
- i=$((i+1))
- if [ "$i" -eq "${#VALUES[*]}" ]; then
- echo "Brightness is already maximum"
- else
- new=${VALUES[$i]}
- $0 set $new >/dev/null 2>&1 && echo "Brightness increased from 0x$current to 0x$new"
- fi
- ;;
- down)
- i=$((i-1))
- if [ "$i" -eq "-1" ]; then
- echo "Brightness is already minimum"
- else
- new=${VALUES[$i]}
- $0 set $new >/dev/null 2>&1 && echo "Brightness decreased from 0x$current to 0x$new"
- fi
- ;;
- esac
- ;;
- *)
- echo "Current brightness is 0x$current"
- ;;
- esac
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement