From 88906113038c1b4986cfc3bf6afc0fb35c5e4127 Mon Sep 17 00:00:00 2001 From: sommerfeld Date: Tue, 21 Apr 2026 01:24:42 +0100 Subject: waybar: heat-colour CPU/memory/wifi %/temperature values via pango --- dot_config/waybar/executable_memory-status.sh | 29 +++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100755 dot_config/waybar/executable_memory-status.sh (limited to 'dot_config/waybar/executable_memory-status.sh') diff --git a/dot_config/waybar/executable_memory-status.sh b/dot_config/waybar/executable_memory-status.sh new file mode 100755 index 0000000..c68f5a4 --- /dev/null +++ b/dot_config/waybar/executable_memory-status.sh @@ -0,0 +1,29 @@ +#!/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 -- cgit v1.2.3-70-g09d2