summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorEric Mrak <mail@ericmrak.info>2014-03-15 14:44:27 -0700
committerEric Mrak <mail@ericmrak.info>2014-03-15 14:56:05 -0700
commit2992cab82cbc1a30c6cdf2195b67a418bf63f8e9 (patch)
treedae252bd15603122cf16677c23775d9467952219
parentb1c1b938123b585ccdb66c69e1e7a2903a8e97ad (diff)
downloadxmobar-2992cab82cbc1a30c6cdf2195b67a418bf63f8e9.tar.gz
xmobar-2992cab82cbc1a30c6cdf2195b67a418bf63f8e9.tar.bz2
adding showLogVBar
-rw-r--r--src/Plugins/Monitors/Common.hs12
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