summaryrefslogtreecommitdiffhomepage
path: root/Plugins/Monitors
diff options
context:
space:
mode:
Diffstat (limited to 'Plugins/Monitors')
-rw-r--r--Plugins/Monitors/Common.hs16
-rw-r--r--Plugins/Monitors/Wireless.hs6
2 files changed, 13 insertions, 9 deletions
diff --git a/Plugins/Monitors/Common.hs b/Plugins/Monitors/Common.hs
index c99a40f..101907b 100644
--- a/Plugins/Monitors/Common.hs
+++ b/Plugins/Monitors/Common.hs
@@ -36,6 +36,7 @@ module Plugins.Monitors.Common (
-- ** String Manipulation
-- $strings
, padString
+ , showWithPadding
, showWithColors
, showWithColors'
, showPercentsWithColors
@@ -339,15 +340,20 @@ setColor str s =
Just c -> return $
"<fc=" ++ c ++ ">" ++ str ++ "</fc>"
+showWithPadding :: String -> Monitor String
+showWithPadding s =
+ do mn <- getConfigValue minWidth
+ mx <- getConfigValue maxWidth
+ p <- getConfigValue padChars
+ pr <- getConfigValue padRight
+ return $ padString mn mx p pr s
+
showWithColors :: (Num a, Ord a) => (a -> String) -> a -> Monitor String
showWithColors f x =
do h <- getConfigValue high
l <- getConfigValue low
- mn <- getConfigValue minWidth
- mx <- getConfigValue maxWidth
- p <- getConfigValue padChars
- pr <- getConfigValue padRight
- let col = setColor $ padString mn mx p pr $ f x
+ s <- showWithPadding $ f x
+ let col = setColor s
[ll,hh] = map fromIntegral $ sort [l, h] -- consider high < low
head $ [col highColor | x > hh ] ++
[col normalColor | x > ll ] ++
diff --git a/Plugins/Monitors/Wireless.hs b/Plugins/Monitors/Wireless.hs
index fe81ab8..eb07afe 100644
--- a/Plugins/Monitors/Wireless.hs
+++ b/Plugins/Monitors/Wireless.hs
@@ -24,10 +24,8 @@ runWireless :: [String] -> Monitor String
runWireless (iface:_) = do
wi <- io $ getWirelessInfo iface
let essid = wiEssid wi
- quality = wiQuality wi
+ qlty = wiQuality wi
e = if essid == "" then "N/A" else essid
- q <- if quality >= 0
- then showWithColors show quality
- else showWithColors' "" (0 :: Int)
+ q <- if qlty >= 0 then showWithColors show qlty else showWithPadding ""
parseTemplate [e, q]
runWireless _ = return "" \ No newline at end of file