64 lines
1.8 KiB
Bash
Executable File
64 lines
1.8 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
DIR="/sys/class/backlight"
|
|
|
|
[[ "$BLOCK_INSTANCE" =~ "color" ]] && MODE="color" || MODE="bw"
|
|
[[ "$BLOCK_INSTANCE" =~ "long" || "$BLOCK_BUTTON" == 1 ]] && LONG=true
|
|
|
|
if [[ -d "$DIR/acpi_video0" ]]; then
|
|
DIR="$DIR/acpi_video0"
|
|
elif [[ -d "$DIR/intel_backlight" ]]; then
|
|
DIR="$DIR/intel_backlight"
|
|
else
|
|
echo " no backlight "
|
|
echo "n/a"
|
|
exit 33
|
|
fi
|
|
|
|
cat "$DIR/brightness" "$DIR/max_brightness" | gawk -v MODE="$MODE" -v LONG="$LONG" '
|
|
NR==1 { cbr = $1 }
|
|
NR==2 { mbr = $1 }
|
|
END {
|
|
load = ( cbr / mbr ) * 100
|
|
if (LONG == "true") {
|
|
printf("%d%\n", load)
|
|
printf("%d%\n", load)
|
|
} else {
|
|
if (load < 100 / 9) {
|
|
printf("▁\n▁\n")
|
|
} else if (load < 100 / 9 * 2 ) {
|
|
printf("▁\n▁\n")
|
|
} else if (load < 100 / 9 * 3 ) {
|
|
printf("▂\n▂\n")
|
|
} else if (load < 100 / 9 * 4 ) {
|
|
printf("▃\n▃\n")
|
|
} else if (load < 100 / 9 * 5 ) {
|
|
printf("▄\n▄\n")
|
|
} else if (load < 100 / 9 * 6 ) {
|
|
printf("▅\n▅\n")
|
|
} else if (load < 100 / 9 * 7 ) {
|
|
printf("▆\n▆\n")
|
|
} else if (load < 100 / 9 * 8 ) {
|
|
printf("▇\n▇\n")
|
|
} else {
|
|
printf("█\n█\n")
|
|
}
|
|
}
|
|
if (MODE == "color") {
|
|
if (load < 60) {
|
|
print("#04B431\n")
|
|
} else if (load < 50) {
|
|
print("#A8FF00\n")
|
|
} else if (load < 80) {
|
|
print("#FFF600\n")
|
|
} else if (load < 90) {
|
|
print("#FFAE00\n")
|
|
} else {
|
|
print("#FF0000\n")
|
|
}
|
|
} else {
|
|
printf("\n")
|
|
}
|
|
}
|
|
'
|