diff options
author | Eric Mrak <mail@ericmrak.info> | 2014-03-15 14:44:27 -0700 |
---|---|---|
committer | Eric Mrak <mail@ericmrak.info> | 2014-03-15 14:56:05 -0700 |
commit | 2992cab82cbc1a30c6cdf2195b67a418bf63f8e9 (patch) | |
tree | dae252bd15603122cf16677c23775d9467952219 | |
parent | b1c1b938123b585ccdb66c69e1e7a2903a8e97ad (diff) | |
download | xmobar-2992cab82cbc1a30c6cdf2195b67a418bf63f8e9.tar.gz xmobar-2992cab82cbc1a30c6cdf2195b67a418bf63f8e9.tar.bz2 |
adding showLogVBar
-rw-r--r-- | src/Plugins/Monitors/Common.hs | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/Plugins/Monitors/Common.hs b/src/Plugins/Monitors/Common.hs index ecc9db4..70f1b5f 100644 --- a/src/Plugins/Monitors/Common.hs +++ b/src/Plugins/Monitors/Common.hs @@ -49,6 +49,7 @@ module Plugins.Monitors.Common ( , showPercentBar , showVerticalBar , showLogBar + , showLogVBar , showWithUnits , takeDigits , showDigits @@ -470,3 +471,14 @@ showLogBar f v = do | x <= ll = 1 / bw | otherwise = f + logBase 2 (x / hh) / bw showPercentBar v $ choose v + +showLogVBar :: Float -> Float -> Monitor String +showLogVBar f v = do + h <- fromIntegral `fmap` getConfigValue high + l <- fromIntegral `fmap` getConfigValue low + bw <- fromIntegral `fmap` getConfigValue barWidth + let [ll, hh] = sort [l, h] + choose x | x == 0.0 = 0 + | x <= ll = 1 / bw + | otherwise = f + logBase 2 (x / hh) / bw + showVerticalBar v $ choose v |