From fc79ec5cb9a9d63e189d32aa0a0cb0bf3c065e37 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Fri, 8 Mar 2013 11:58:15 +0100 Subject: Introduce variable into the memory monitor. --- src/Plugins/Monitors/Mem.hs | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) (limited to 'src') diff --git a/src/Plugins/Monitors/Mem.hs b/src/Plugins/Monitors/Mem.hs index 5c55ee2..3cf46c7 100644 --- a/src/Plugins/Monitors/Mem.hs +++ b/src/Plugins/Monitors/Mem.hs @@ -19,8 +19,8 @@ import Plugins.Monitors.Common memConfig :: IO MConfig memConfig = mkMConfig "Mem: % (M)" -- template - ["usedbar", "freebar", "usedratio", "total", - "free", "buffer", "cache", "rest", "used"] -- available replacements + ["usedbar", "freebar", "usedratio", "freeratio", "total", + "free", "buffer", "cache", "rest", "used"] -- available replacements fileMEM :: IO String fileMEM = readFile "/proc/meminfo" @@ -33,7 +33,8 @@ parseMEM = rest = free + buffer + cache used = total - rest usedratio = used / total - return [usedratio, total, free, buffer, cache, rest, used] + freeratio = free / total + return [usedratio, freeratio, total, free, buffer, cache, rest, used, freeratio] totalMem :: IO Float totalMem = fmap ((*1024) . (!!1)) parseMEM @@ -42,15 +43,16 @@ usedMem :: IO Float usedMem = fmap ((*1024) . (!!6)) parseMEM formatMem :: [Float] -> Monitor [String] -formatMem (r:xs) = +formatMem (r:fr:xs) = do let f = showDigits 0 rr = 100 * r ub <- showPercentBar rr r fb <- showPercentBar (100 - rr) (1 - r) rs <- showPercentWithColors r + fs <- showPercentWithColors fr s <- mapM (showWithColors f) xs - return (ub:fb:rs:s) -formatMem _ = return $ replicate 9 "N/A" + return (ub:fb:rs:fs:s) +formatMem _ = return $ replicate 10 "N/A" runMem :: [String] -> Monitor String runMem _ = -- cgit v1.2.3