diff --git a/src/QBar/Blocks/Battery.hs b/src/QBar/Blocks/Battery.hs index fd8b5ed52fcde4d2cf47670b5ba744234b2ba454..720bd34ff5db21b23ada57b485c298c1f8eeb494 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