#!/bin/sh
# Emit waybar JSON with memory usage. Used% uses a heat scale (green → red),
# available% uses the inverse (red → green). Values embedded via Pango span.
set -eu
awk '
function heat(p) {
if (p < 30) return "#b8bb26"
if (p < 60) return "#fabd2f"
if (p < 80) return "#fe8019"
return "#fb4934"
}
function cool(p) {
if (p < 20) return "#fb4934"
if (p < 40) return "#fe8019"
if (p < 70) return "#fabd2f"
return "#b8bb26"
}
/^MemTotal:/ { t = $2 }
/^MemAvailable:/ { a = $2 }
END {
u = t - a
up = u * 100 / t
ap = a * 100 / t
printf "{\"text\":\"MEM %.1fG (%d%%) / %.1fG (%d%%)\"}\n", \
u / 1048576, heat(up), up, \
a / 1048576, cool(ap), ap
}
' /proc/meminfo