summaryrefslogtreecommitdiffhomepage
path: root/Plugins/Monitors
diff options
context:
space:
mode:
Diffstat (limited to 'Plugins/Monitors')
-rw-r--r--Plugins/Monitors/Common.hs68
1 files changed, 33 insertions, 35 deletions
diff --git a/Plugins/Monitors/Common.hs b/Plugins/Monitors/Common.hs
index c90c616..b00deb6 100644
--- a/Plugins/Monitors/Common.hs
+++ b/Plugins/Monitors/Common.hs
@@ -83,7 +83,7 @@ data MConfig =
, ppad :: IORef Int
, minWidth :: IORef Int
, maxWidth :: IORef Int
- , padChars :: IORef [Char]
+ , padChars :: IORef String
, padRight :: IORef Bool
, barBack :: IORef String
, barFore :: IORef String
@@ -108,8 +108,7 @@ setConfigValue v s =
mods s (\_ -> v)
getConfigValue :: Selector a -> Monitor a
-getConfigValue s =
- sel s
+getConfigValue = sel
mkMConfig :: String
-> [String]
@@ -150,31 +149,31 @@ data Opts = HighColor String
options :: [OptDescr Opts]
options =
- [ Option ['H'] ["High"] (ReqArg High "number" ) "The high threshold"
- , Option ['L'] ["Low"] (ReqArg Low "number" ) "The low threshold"
- , Option ['h'] ["high"] (ReqArg HighColor "color number" ) "Color for the high threshold: ex \"#FF0000\""
- , Option ['n'] ["normal"] (ReqArg NormalColor "color number" ) "Color for the normal threshold: ex \"#00FF00\""
- , Option ['l'] ["low"] (ReqArg LowColor "color number" ) "Color for the low threshold: ex \"#0000FF\""
- , Option ['t'] ["template"] (ReqArg Template "output template" ) "Output template."
- , Option ['p'] ["ppad"] (ReqArg PercentPad "percent padding") "Minimum percentage width."
- , Option ['m'] ["minwidth"] (ReqArg MinWidth "minimum width" ) "Minimum field width"
- , Option ['M'] ["maxwidth"] (ReqArg MaxWidth "maximum width" ) "Maximum field width"
- , Option ['w'] ["width"] (ReqArg Width "fixed width" ) "Fixed field width"
- , Option ['c'] ["padchars"] (ReqArg PadChars "padding chars" ) "Characters to use for padding"
- , Option ['a'] ["align"] (ReqArg PadAlign "padding alignment") "'l' for left padding, 'r' for right"
- , Option ['b'] ["bback"] (ReqArg BarBack "bar background" ) "Characters used to draw bar backgrounds"
- , Option ['f'] ["bfore"] (ReqArg BarFore "bar foreground" ) "Characters used to draw bar foregrounds"
- , Option ['W'] ["bwidth"] (ReqArg BarWidth "bar width" ) "Bar width"
+ [ Option "H" ["High"] (ReqArg High "number" ) "The high threshold"
+ , Option "L" ["Low"] (ReqArg Low "number" ) "The low threshold"
+ , Option "h" ["high"] (ReqArg HighColor "color number" ) "Color for the high threshold: ex \"#FF0000\""
+ , Option "n" ["normal"] (ReqArg NormalColor "color number" ) "Color for the normal threshold: ex \"#00FF00\""
+ , Option "l" ["low"] (ReqArg LowColor "color number" ) "Color for the low threshold: ex \"#0000FF\""
+ , Option "t" ["template"] (ReqArg Template "output template" ) "Output template."
+ , Option "p" ["ppad"] (ReqArg PercentPad "percent padding") "Minimum percentage width."
+ , Option "m" ["minwidth"] (ReqArg MinWidth "minimum width" ) "Minimum field width"
+ , Option "M" ["maxwidth"] (ReqArg MaxWidth "maximum width" ) "Maximum field width"
+ , Option "w" ["width"] (ReqArg Width "fixed width" ) "Fixed field width"
+ , Option "c" ["padchars"] (ReqArg PadChars "padding chars" ) "Characters to use for padding"
+ , Option "a" ["align"] (ReqArg PadAlign "padding alignment") "'l' for left padding, 'r' for right"
+ , Option "b" ["bback"] (ReqArg BarBack "bar background" ) "Characters used to draw bar backgrounds"
+ , Option "f" ["bfore"] (ReqArg BarFore "bar foreground" ) "Characters used to draw bar foregrounds"
+ , Option "W" ["bwidth"] (ReqArg BarWidth "bar width" ) "Bar width"
]
doArgs :: [String]
-> ([String] -> Monitor String)
-> Monitor String
doArgs args action =
- do case (getOpt Permute options args) of
- (o, n, [] ) -> do doConfigOptions o
- action n
- (_, _, errs) -> return (concat errs)
+ case getOpt Permute options args of
+ (o, n, []) -> do doConfigOptions o
+ action n
+ (_, _, errs) -> return (concat errs)
doConfigOptions :: [Opts] -> Monitor ()
doConfigOptions [] = io $ return ()
@@ -200,7 +199,7 @@ doConfigOptions (o:oo) =
BarWidth bw -> setConfigValue (nz bw) barWidth >> next
runM :: [String] -> IO MConfig -> ([String] -> Monitor String) -> Int -> (String -> IO ()) -> IO ()
-runM args conf action r cb = do go
+runM args conf action r cb = go
where go = do
c <- conf
let ac = doArgs args action
@@ -219,9 +218,9 @@ io = liftIO
runP :: Parser [a] -> String -> IO [a]
runP p i =
- do case (parse p "" i) of
- Left _ -> return []
- Right x -> return x
+ case parse p "" i of
+ Left _ -> return []
+ Right x -> return x
getAllBut :: String -> Parser String
getAllBut s =
@@ -241,8 +240,7 @@ skipRestOfLine =
getAfterString :: String -> Parser String
getAfterString s =
do { try $ manyTill skipRestOfLine $ string s
- ; v <- manyTill anyChar $ newline
- ; return v
+ ; manyTill anyChar newline
} <|> return ("<" ++ s ++ " not found!>")
skipTillString :: String -> Parser String
@@ -259,11 +257,11 @@ templateStringParser =
}
where
nonPlaceHolder = liftM concat . many $
- (many1 $ noneOf "<") <|> colorSpec
+ many1 (noneOf "<") <|> colorSpec
-- | Recognizes color specification and returns it unchanged
colorSpec :: Parser String
-colorSpec = (try $ string "</fc>") <|> try (
+colorSpec = try (string "</fc>") <|> try (
do string "<fc="
s <- many1 (alphaNum <|> char ',' <|> char '#')
char '>'
@@ -309,7 +307,7 @@ type Pos = (Int, Int)
takeDigits :: Int -> Float -> Float
takeDigits d n =
- fromIntegral ((round (n * fact)) :: Int) / fact
+ fromIntegral (round (n * fact) :: Int) / fact
where fact = 10 ^ d
showDigits :: Int -> Float -> String
@@ -318,7 +316,7 @@ showDigits d n =
showWithUnits :: Int -> Int -> Float -> String
showWithUnits d n x
- | x < 0 = "-" ++ showWithUnits d n (-x)
+ | x < 0 = '-' : showWithUnits d n (-x)
| n > 3 || x < 10^(d + 1) = show (round x :: Int) ++ units n
| x <= 1024 = showDigits d (x/1024) ++ units (n+1)
| otherwise = showWithUnits d (n+1) (x/1024)
@@ -380,7 +378,7 @@ showWithColors :: (Num a, Ord a) => (a -> String) -> a -> Monitor String
showWithColors f x = showWithPadding (f x) >>= colorizeString x
showWithColors' :: (Num a, Ord a) => String -> a -> Monitor String
-showWithColors' str v = showWithColors (const str) v
+showWithColors' str = showWithColors (const str)
showPercentsWithColors :: [Float] -> Monitor [String]
showPercentsWithColors fs =
@@ -397,13 +395,13 @@ showPercentBar v x = do
bw <- getConfigValue barWidth
let len = min bw $ round (fromIntegral bw * x)
s <- colorizeString v (take len $ cycle bf)
- return $ s ++ (take (bw - len) $ cycle bb)
+ return $ s ++ take (bw - len) (cycle bb)
showLogBar :: Float -> Float -> Monitor String
showLogBar f v = do
h <- fromIntegral `fmap` getConfigValue high
bw <- fromIntegral `fmap` getConfigValue barWidth
- showPercentBar v $ f + (logBase 10 (v / h)) / bw
+ showPercentBar v $ f + logBase 10 (v / h) / bw
-- $threads