#!/bin/sh # Module showing GPU load as a changing bar. case $BLOCK_BUTTON in 2) setsid -f "$TERMINAL" -e gpuwatch ;; 3) notify-send "󰢮 GPU load module" "The bars represents GPU utilization and memory allocation" ;; 6) "$TERMINAL" -e "$EDITOR" "$0" ;; esac memutil=$(nvidia-smi --query-gpu=utilization.gpu --format=csv | awk 'FNR == 2 {print $1}') gpuutil=$(nvidia-smi --query-gpu=utilization.memory --format=csv | awk 'FNR == 2 {print $1}') temp=$(nvidia-smi --query-gpu=temperature.gpu --format=csv | awk 'FNR == 2 {print $1}') printf "" for var in $memutil $gpuutil; do case "$var" in [0-9] | 1[0-9]) printf "▁" ;; 2[0-9]) printf "▂" ;; 3[0-9]) printf "▃" ;; 4[0-9]) printf "▄" ;; 5[0-9]) printf "▅" ;; 6[0-9]) printf "▆" ;; 7[0-9]) printf "▇" ;; 8[0-9]) printf "█" ;; *) printf "█" ;; esac done printf " 󰔏$temp°C" printf "\\n"