summaryrefslogtreecommitdiffhomepage
path: root/src/Plugins/Monitors/Mem.hs
diff options
context:
space:
mode:
Diffstat (limited to 'src/Plugins/Monitors/Mem.hs')
-rw-r--r--src/Plugins/Monitors/Mem.hs14
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 _ =