This repository has been archived on 2019-02-28. You can view files and clone it, but cannot push or open issues or pull requests.

47 lines
1.9 KiB
Bash

[[ "$BLOCK_BUTTON" == 2 ]] && i3-sensible-terminal -e htop
[[ $BLOCK_INSTANCE =~ (phys|swap) ]] && TYPE=${BASH_REMATCH[1]}
MEMINFO=$(cat /proc/meminfo)
[[ $MEMINFO =~ MemTotal:[[:space:]]+([0-9]+) ]] && PHYS_TOTAL=$((${BASH_REMATCH[1]} / 1024**2))
if [[ $MEMINFO =~ MemAvailable:[[:space:]]+([0-9]+) ]]; then
[[ ${BASH_REMATCH[1]} -gt 2000000 ]] && PHYS_AVAILABLE=$((${BASH_REMATCH[1]} / 1024**2)) || PHYS_AVAILABLE=$((${BASH_REMATCH[1]} / 1024))
fi
[[ $MEMINFO =~ SwapTotal:[[:space:]]+([0-9]+) ]] && SWAP_TOTAL=$((${BASH_REMATCH[1]} / 1024**2))
if [[ $MEMINFO =~ SwapFree:[[:space:]]+([0-9]+) ]]; then
[[ ${BASH_REMATCH[1]} -gt 2000000 ]] && SWAP_AVAILABLE=$((${BASH_REMATCH[1]} / 1024**2)) || SWAP_AVAILABLE=$((${BASH_REMATCH[1]} / 1024))
fi
[[ ! $PHYS_AVAILABLE || ! $PHYS_TOTAL || ! $SWAP_AVAILABLE || ! $SWAP_TOTAL ]] && printf "Ram not found\nn/a\n" && exit 33
if [[ "$TYPE" == "" ]]; then
MEM_FREE=$((${PHYS_AVAILABLE} + ${SWAP_AVAILABLE}))
MEM_TOTAL=$((${PHYS_TOTAL} + ${SWAP_TOTAL}))
if [[ "$MEM_FREE" -gt 2 ]]; then
LONG_TEXT="${PHYS_AVAILABLE}+${SWAP_AVAILABLE}G"
SHORT_TEXT="${PHYS_AVAILABLE}+${SWAP_AVAILABLE}G"
else
LONG_TEXT="${PHYS_AVAILABLE}+${SWAP_AVAILABLE}M"
SHORT_TEXT="${PHYS_AVAILABLE}+${SWAP_AVAILABLE}M"
fi
elif [[ "$TYPE" == "phys" ]]; then
MEM_FREE=${PHYS_AVAILABLE}
MEM_TOTAL=${PHYS_TOTAL}
if [[ "$MEM_FREE" -gt 2 ]]; then
LONG_TEXT="${PHYS_AVAILABLE}G"
SHORT_TEXT="${PHYS_AVAILABLE}G"
else
LONG_TEXT="${PHYS_AVAILABLE}M"
SHORT_TEXT="${PHYS_AVAILABLE}M"
fi
elif [[ "$TYPE" == "swap" ]]; then
MEM_FREE=${SWAP_AVAILABLE}
MEM_TOTAL=${SWAP_TOTAL}
if [[ "$MEM_FREE" -gt 2 ]]; then
LONG_TEXT="${SWAP_AVAILABLE}G"
SHORT_TEXT="${SWAP_AVAILABLE}G"
else
LONG_TEXT="${SWAP_AVAILABLE}M"
SHORT_TEXT="${SWAP_AVAILABLE}M"
fi
fi
LOAD=$(((${MEM_TOTAL} - ${MEM_FREE}) * 100 / ${MEM_TOTAL}))