58 lines
2.1 KiB
Diff
58 lines
2.1 KiB
Diff
diff --git a/readme.md b/readme.md
|
|
index f4f07e8..de679c7 100644
|
|
--- a/readme.md
|
|
+++ b/readme.md
|
|
@@ -645,7 +645,7 @@ something like:
|
|
- Args: default monitor arguments
|
|
- Variables that can be used with the `-t`/`--template` argument:
|
|
`total`, `free`, `buffer`, `cache`, `rest`, `used`,
|
|
- `usedratio`, `usedbar`, `freebar`
|
|
+ `usedratio`, `usedbar`, `freeratio`, `freebar`
|
|
- Default template: `Mem: <usedratio>% (<cache>M)`
|
|
|
|
### `Swap Args RefreshRate`
|
|
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 _ =
|