From 37e5f4f6f2de6c333fbd8e0b62026b0d0ff46edc Mon Sep 17 00:00:00 2001
From: Jan Beinke <git@janbeinke.com>
Date: Tue, 17 Dec 2019 18:13:48 +0100
Subject: [PATCH] Fix battery online state for laptobs that use the ACAD
 endpoint

---
 src/QBar/Blocks/Battery.hs | 14 ++++++++++----
 1 file changed, 10 insertions(+), 4 deletions(-)

diff --git a/src/QBar/Blocks/Battery.hs b/src/QBar/Blocks/Battery.hs
index 2edd8f7..fd8b5ed 100644
--- a/src/QBar/Blocks/Battery.hs
+++ b/src/QBar/Blocks/Battery.hs
@@ -73,10 +73,16 @@ batteryBlock = do
 
     getPluggedState :: IO Bool
     getPluggedState = do
-      line <- tryMaybe $ T.strip <$> TIO.readFile "/sys/class/power_supply/AC/online"
-      case line of
-        Just "1" -> return True
-        _ -> return False
+      stateAC <- getPluggedStateFromFile "/sys/class/power_supply/AC/online"
+      stateACAD <- fromMaybe False <$> getPluggedStateFromFile "/sys/class/power_supply/ACAD/online"
+      return $ fromMaybe stateACAD stateAC
+      where
+        getPluggedStateFromFile :: FilePath -> IO (Maybe Bool)
+        getPluggedStateFromFile f = do
+          line <- tryMaybe $ T.strip <$> TIO.readFile f
+          case line of
+            Just "1" -> return . return $ True
+            _ -> return . return $ False
 
 
 batteryBlockOutput :: Bool -> [BatteryState] -> Maybe BlockOutput
-- 
GitLab