diff options
| author | jao <jao@gnu.org> | 2015-08-18 02:58:27 +0200 | 
|---|---|---|
| committer | jao <jao@gnu.org> | 2015-08-18 02:58:27 +0200 | 
| commit | aee4dad69764015aa1578f43d44dd72382f11de6 (patch) | |
| tree | dfd55d3ca9c0a2cb9645f0487c3a969ae0830963 /src/Plugins | |
| parent | 1b4660954574fa06ffe89b2be3865f6e9072308f (diff) | |
| download | xmobar-aee4dad69764015aa1578f43d44dd72382f11de6.tar.gz xmobar-aee4dad69764015aa1578f43d44dd72382f11de6.tar.bz2 | |
Batt: protecting against charge_now > charge_full
(yes, it's happening on an xps with kernel 4.1.5)
Diffstat (limited to 'src/Plugins')
| -rw-r--r-- | src/Plugins/Monitors/Batt.hs | 9 | 
1 files changed, 4 insertions, 5 deletions
| diff --git a/src/Plugins/Monitors/Batt.hs b/src/Plugins/Monitors/Batt.hs index f7b31e4..61961cb 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, 2013 Jose A Ortega +-- Copyright   :  (c) 2010, 2011, 2012, 2013, 2015 Jose A Ortega  --                (c) 2010 Andrea Rossato, Petr Rockai  -- License     :  BSD-style (see LICENSE)  -- @@ -160,11 +160,10 @@ readBatteries opts bfs =             ft = sum (map full bats)             left = if ft > 0 then sum (map now bats) / ft else 0             watts = sign * sum (map power bats) -           idle = watts == 0 -           time = if idle then 0 else sum $ map time' bats -           mwatts = if idle then 1 else sign * watts +           time = if watts == 0 then 0 else max 0 (sum $ map time' bats) +           mwatts = if watts == 0 then 1 else sign * watts             time' b = (if ac then full b - now b else now b) / mwatts -           acst | idle      = Idle +           acst | time == 0 = Idle                  | ac        = Charging                  | otherwise = Discharging         return $ if isNaN left then NA else Result left watts time acst | 
