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