98 lines
2.6 KiB
Bash
Executable File
98 lines
2.6 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
[[ "$BLOCK_BUTTON" == 2 ]] && i3-sensible-terminal -e htop
|
|
|
|
[[ "$BLOCK_INSTANCE" =~ "long" || "$BLOCK_BUTTON" == 1 ]] && LONG=true
|
|
|
|
if [[ "$BLOCK_INSTANCE" =~ "ram" ]]; then
|
|
TYPE='ram'
|
|
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 = 100 - mfg / mtg * 100
|
|
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
|