#!/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" ' BEGIN { bar[1] = "▁"; color[1] = "#64bc01"; bw[1] = "#565656" bar[2] = "▂"; color[2] = "#77a601"; bw[2] = "#6d6d6d" bar[3] = "▃"; color[3] = "#8a9101"; bw[3] = "#848485" bar[4] = "▄"; color[4] = "#9d7b00"; bw[4] = "#9c9c9c" bar[5] = "▅"; color[5] = "#b06701"; bw[5] = "#b1b1b1" bar[6] = "▆"; color[6] = "#c45100"; bw[6] = "#c7c7c7" bar[7] = "▇"; color[7] = "#d63c00"; bw[7] = "#dcdcdc" bar[8] = "█"; color[8] = "#e92700"; bw[8] = "#f5f5f6" step = 100 / length(bar) } NR==1 { cbr = $1 } NR==2 { mbr = $1 } END { load = ( cbr / mbr ) * 100 if (LONG == "true") { printf("%d%\n%d\n", load, load) } else { for (i in bar) { if (load <= i * step) { printf("%s\n%s\n", bar[i], bar[i]) break } } } for (i in color) { if (load <= i * step) { if (MODE == "color") { printf("%s\n", color[i]) } else { printf("%s\n", bw[i]) } break } } } '