diff options
Diffstat (limited to 'src/Plugins/Monitors')
-rw-r--r-- | src/Plugins/Monitors/Mem.hs | 14 |
1 files changed, 8 insertions, 6 deletions
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: <usedratio>% (<cache>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 _ = |