1
0
mirror of https://github.com/Foltik/dotfiles synced 2024-11-28 05:27:06 -05:00
dotfiles/cfg/i3blocks/laptop/blocks/temperature
2017-07-26 11:05:09 -07:00

35 lines
918 B
Bash
Executable File

#!/bin/bash
TEMP_DEVICE="${BLOCK_INSTANCE:-Core}"
TEMP_OUTPUT=$(sensors | grep "${TEMP_DEVICE}")
IS_URGENT=0
TOTAL_TEMP=0
TOTAL_COUNT=0
while read RESULT_LINE; do
TOTAL_COUNT=$((TOTAL_COUNT +1))
CURRENT_TEMP=$(echo "${RESULT_LINE}" | grep -o -E "[\+\-]?[0-9]*.[0-9]*°C" | sed -n '1p' | tr -d '+°C')
URGENT_VALUE=$(echo "${RESULT_LINE}" | grep -o -E "[\+\-]?[0-9]*.[0-9]*°C" | sed -n '2p' | tr -d '+°C')
TOTAL_TEMP=$(echo "scale=2;${TOTAL_TEMP}+${CURRENT_TEMP}" | bc -l)
IS_CRITICAL=$(echo "scale=0;${CURRENT_TEMP}-${URGENT_VALUE} >= 0" | bc -l)
if [[ "${IS_CRITICAL}" -eq 1 ]]; then
IS_URGENT=1
fi
done <<< "$(echo -e "$TEMP_OUTPUT")"
AVERAGE_TEMP=$(echo "scale=0;${TOTAL_TEMP}/${TOTAL_COUNT}" | bc -l)
if [[ "${TOTAL_COUNT}" -gt 1 ]]; then
AVERAGE_TEMP="~ ${AVERAGE_TEMP}"
fi
echo "${AVERAGE_TEMP}°C"
echo "${AVERAGE_TEMP}°C"
echo ""
if [[ "${IS_URGENT}" -eq 1 ]]; then
exit 33
fi