Files
dotfiles-violet-chaton/INSTALL/configs/waybar/scripts/gpu.sh
Tetardtek 53147fa5ec feat(waybar): island floating 3-pills + popups + deploy
- Config waybar 3-pills glassmorphism (left/center/right)
- Scripts : gpu, network, power-profile (toggle+luminosité/profil),
  cava daemon+reader, wob (volume/luminosité), rofi-launcher
- Popup media GTK3 : volume sortie+entrée + luminosité (vc-media-popup.py)
- Profil énergie : cycle balanced→low-power→performance avec brightnessctl
- Autostart COSMIC : waybar.desktop + wob.desktop
- Thème COSMIC Light ajouté (accent violet-chaton)
- deploy : +autostart, +sudoers platform_profile, +udev platform_profile,
  +scripts .py waybar, +CosmicTheme.Light
2026-02-23 06:46:12 +01:00

27 lines
904 B
Bash
Executable File

#!/usr/bin/env bash
# gpu.sh — NVIDIA GPU stats → JSON waybar
DATA=$(nvidia-smi --query-gpu=utilization.gpu,temperature.gpu,memory.used,memory.total \
--format=csv,noheader,nounits 2>/dev/null)
if [[ -z "$DATA" ]]; then
echo '{"text":"","tooltip":"GPU non disponible","class":"","percentage":0}'
exit 0
fi
LOAD=$(echo "$DATA" | awk -F', ' '{print $1}')
TEMP=$(echo "$DATA" | awk -F', ' '{print $2}')
MEM_USED=$(echo "$DATA" | awk -F', ' '{print $3}')
MEM_TOTAL=$(echo "$DATA" | awk -F', ' '{print $4}')
if (( LOAD > 90 )); then CLASS="critical"
elif (( LOAD > 70 )); then CLASS="warning"
else CLASS="normal"
fi
TEXT="󰢮 ${LOAD}% ${TEMP}°"
TOOLTIP="󰢮 GPU\nCharge : ${LOAD}%\nTempérature : ${TEMP}°C\nVRAM : ${MEM_USED} / ${MEM_TOTAL} MiB"
printf '{"text":"%s","tooltip":"%s","class":"%s","percentage":%s}\n' \
"$TEXT" "$TOOLTIP" "$CLASS" "$LOAD"