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.

98 lines
2.6 KiB
Bash
Executable File

#!/bin/bash
[[ "$BLOCK_BUTTON" == 1 ]] && i3-sensible-terminal -e htop
[[ "$BLOCK_INSTANCE" =~ "long" ]] && LONG=true
if [[ "$BLOCK_INSTANCE" =~ "ram" ]]; then
TYPE='swap'
elif [[ "$BLOCK_INSTANCE" =~ "swap" ]]; then
TYPE='swap'
fi
gawk -v TYPE="$TYPE" -v LONG="$LONG" '
/^MemTotal/ {
rtg = $2 / 1024^2
}
/^MemAvailable/ {
rfg = $2 / 1024^2
rfm = $2 / 1024
}
/^SwapTotal/ {
stg = $2 / 1024^2
}
/^SwapFree/ {
sfg = $2 / 1024^2
sfm = $2 / 1024
}
END {
if (TYPE == "") {
mfg = rfg + sfg
mfm = rfm + sfm
mtg = rtg + stg
} else if (TYPE == "ram") {
mfg = rfg
mfm = rfm
mtg = rtg
} else if (TYPE == "swap") {
mfg = sfg
mfm = sfm
rtg = stg
}
if (LONG == "true") {
if (TYPE == "") {
if (mfg > 2) {
printf("%d+%d G\n", rfg, sfg)
printf("%d+%dG\n", rfg, sfg)
} else {
printf("%d+%d M\n", rfm, sfm)
printf("%d+%dM\n", rfm, sfm)
}
} else {
if (mfg > 2) {
printf("%d G\n", mfg)
printf("%dG\n", mfg)
mfg = rfg
} else {
printf("%d M\n", mfm)
printf("%dM\n", mfm)
}
}
} else {
load = mfg / mtg
if (load < 100 / 9) {
printf("▁\n▁\n")
} else if (load < 100 / 9 * 2 ) {
printf("▁\n▁\n")
} else if (load < 100 / 9 * 3 ) {
printf("▂\n▂\n")
} else if (load < 100 / 9 * 4 ) {
printf("▃\n▃\n")
} else if (load < 100 / 9 * 5 ) {
printf("▄\n▄\n")
} else if (load < 100 / 9 * 6 ) {
printf("▅\n▅\n")
} else if (load < 100 / 9 * 7 ) {
printf("▆\n▆\n")
} else if (load < 100 / 9 * 8 ) {
printf("▇\n▇\n")
} else {
printf("█\n█\n")
}
}
if (mfg > 5) {
print("#04B431\n")
} else if (mfg > 4) {
print("#A8FF00\n")
} else if (mfg > 3) {
print("#FFF600\n")
} else if (mfg > 2) {
print("#FFAE00\n")
} else if (mfg > 1) {
print("#FF0000\n")
} else {
exit 33
}
}
' /proc/meminfo