diff options
author | Jose Antonio Ortega Ruiz <jao@gnu.org> | 2013-05-26 05:45:30 +0200 |
---|---|---|
committer | Jose Antonio Ortega Ruiz <jao@gnu.org> | 2013-05-26 05:45:30 +0200 |
commit | b8279eccf85b3709ccce0533846a10fb613a10f4 (patch) | |
tree | bb5be7eddbc259084406212f8167ac73627b45df /src | |
parent | 2e228c10e7ca6551820c319ca1f1e575c1e72ee1 (diff) | |
download | xmobar-b8279eccf85b3709ccce0533846a10fb613a10f4.tar.gz xmobar-b8279eccf85b3709ccce0533846a10fb613a10f4.tar.bz2 |
Allowing template variables in Battery's -O and -o args
Should address github issue #109. Thanks to Todd Lunter for the
suggestion.
Diffstat (limited to 'src')
-rw-r--r-- | src/Plugins/Monitors/Batt.hs | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/src/Plugins/Monitors/Batt.hs b/src/Plugins/Monitors/Batt.hs index a593782..27007f9 100644 --- a/src/Plugins/Monitors/Batt.hs +++ b/src/Plugins/Monitors/Batt.hs @@ -1,7 +1,7 @@ ----------------------------------------------------------------------------- -- | -- Module : Plugins.Monitors.Batt --- Copyright : (c) 2010, 2011, 2012 Jose A Ortega +-- Copyright : (c) 2010, 2011, 2012, 2013 Jose A Ortega -- (c) 2010 Andrea Rossato, Petr Rockai -- License : BSD-style (see LICENSE) -- @@ -149,6 +149,14 @@ readBatteries opts bfs = runBatt :: [String] -> Monitor String runBatt = runBatt' ["BAT0","BAT1","BAT2"] +statusTemplate:: String -> [String] -> Monitor String +statusTemplate s vs = do + t <- getConfigValue template + setConfigValue (s ++ "<acstatus>") template + r <- parseTemplate vs + setConfigValue t template + return r + runBatt' :: [String] -> [String] -> Monitor String runBatt' bfs args = do opts <- io $ parseOpts args @@ -158,7 +166,9 @@ runBatt' bfs args = do case c of Result x w t s -> do l <- fmtPercent x - parseTemplate (l ++ s:[fmtTime $ floor t, fmtWatts w opts suffix d]) + let ts = [fmtTime $ floor t, fmtWatts w opts suffix d] + s' <- statusTemplate s (l ++ "":ts) + parseTemplate (l ++ s':ts) NA -> return "N/A" where fmtPercent :: Float -> Monitor [String] fmtPercent x = do |