diff --git a/cpu.tmux b/cpu.tmux index 62135ae..6e8a0dc 100755 --- a/cpu.tmux +++ b/cpu.tmux @@ -9,12 +9,14 @@ cpu_interpolation=( "\#{cpu_icon}" "\#{cpu_bg_color}" "\#{cpu_fg_color}" + "\#{gpu_percentage}" ) cpu_commands=( "#($CURRENT_DIR/scripts/cpu_percentage.sh)" "#($CURRENT_DIR/scripts/cpu_icon.sh)" "#($CURRENT_DIR/scripts/cpu_bg_color.sh)" "#($CURRENT_DIR/scripts/cpu_fg_color.sh)" + "#($CURRENT_DIR/scripts/gpu_percentage.sh)" ) set_tmux_option() { diff --git a/scripts/gpu_percentage.sh b/scripts/gpu_percentage.sh new file mode 100755 index 0000000..0515ffa --- /dev/null +++ b/scripts/gpu_percentage.sh @@ -0,0 +1,21 @@ +#!/usr/bin/env bash + +CURRENT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" + +source "$CURRENT_DIR/helpers.sh" + +print_gpu_percentage() { + if command_exists "nvidia-smi"; then + loads=$(nvidia-smi | sed -nr 's/.*\s([0-9]+)%.*/\1/p') + gpus=$(echo "$loads" | wc -l) + load=$(echo "$loads" | awk '{count+=$1} END {print count}') + echo "$load $gpus" | awk '{printf "%2.0f%%", $1/$2}' + else + echo "nvidia-smi not found" + fi +} + +main() { + print_gpu_percentage +} +main