#!/bin/bash
GHW=$(echo /sys/class/drm/card0/device/hwmon/hwmon*)
hw(){ for h in /sys/class/hwmon/hwmon*; do [ "$(cat "$h/name" 2>/dev/null)" = "$1" ] && { echo "$h"; return; }; done; }
# locale: it* -> Italian labels, anything else -> English
_loc="${LC_ALL:-${LC_MESSAGES:-${LANG:-$LANGUAGE}}}"; case "$_loc" in it*) IT=1;; *) IT=0;; esac
case "$1" in
  lbl_use)  [ "$IT" = 1 ] && echo "uso"   || echo "use"  ;;
  lbl_disk) [ "$IT" = 1 ] && echo "DISCO" || echo "DISK" ;;
  cpu_temp) awk '{printf "%.0f",$1/1000}' "$(hw k10temp)/temp1_input" 2>/dev/null ;;
  gpu_freq) awk '/\*/{print $2}' /sys/class/drm/card0/device/pp_dpm_sclk 2>/dev/null ;;
  gpu_util) cat /run/skillfish-gpu-util 2>/dev/null || echo 0 ;;
  gpu_temp) awk '{printf "%.0f",$1/1000}' "$GHW/temp1_input" 2>/dev/null ;;
  gpu_power) awk '{printf "%.0f",$1/1000000}' "$GHW/power1_average" 2>/dev/null ;;
  gpu_mv) cat "$GHW/in0_input" 2>/dev/null ;;
  vram) awk '{printf "%.0f",$1/1048576}' /sys/class/drm/card0/device/mem_info_vram_used 2>/dev/null ;;
  fan) cat "$(hw nct6686)/fan2_input" 2>/dev/null ;;
  cu) cat /run/skillfish/cu_active 2>/dev/null || echo "?" ;;
  cpu_mhz) awk -F: '/cpu MHz/{printf "%d",$2; exit}' /proc/cpuinfo 2>/dev/null ;;
esac
