From 4a11d0664c30564fa61dd48a8436ecd3991d7be2 Mon Sep 17 00:00:00 2001
From: Jens Nolte <jens@nightmarestudio.de>
Date: Tue, 17 Dec 2019 18:42:57 +0100
Subject: [PATCH] Improve batteryBlock plug state

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

diff --git a/src/QBar/Blocks/Battery.hs b/src/QBar/Blocks/Battery.hs
index fd8b5ed..720bd34 100644
--- a/src/QBar/Blocks/Battery.hs
+++ b/src/QBar/Blocks/Battery.hs
@@ -72,11 +72,10 @@ batteryBlock = do
     apiPath = "/sys/class/power_supply"
 
     getPluggedState :: IO Bool
-    getPluggedState = do
-      stateAC <- getPluggedStateFromFile "/sys/class/power_supply/AC/online"
-      stateACAD <- fromMaybe False <$> getPluggedStateFromFile "/sys/class/power_supply/ACAD/online"
-      return $ fromMaybe stateACAD stateAC
+    getPluggedState = or . catMaybes <$> mapM getPluggedStateFromFile powerSupplyPaths
       where
+        powerSupplyPaths :: [FilePath]
+        powerSupplyPaths = ["/sys/class/power_supply/AC/online", "/sys/class/power_supply/ACAD/online"]
         getPluggedStateFromFile :: FilePath -> IO (Maybe Bool)
         getPluggedStateFromFile f = do
           line <- tryMaybe $ T.strip <$> TIO.readFile f
-- 
GitLab