obtuse/app/Main.hs
Nox Sluijtman 15dc44c40f Quite a few things
- License
- Bits of code
- The flake
- A .gitignore file for Cabal output
2023-08-08 03:39:41 +02:00

25 lines
838 B
Haskell

module Main where
batteryCapacityFile :: String
batteryCapacityFile = "/sys/class/power_supply/BAT0/capacity"
batteryStatusFile :: FilePath
batteryStatusFile = "/sys/class/power_supply/BAT0/status"
main :: IO ()
main = do
batteryCapacity <- readFile batteryCapacityFile
batteryStatus <- readFile batteryStatusFile
putStrLn $ formatInfo batteryStatus batteryCapacity
formatInfo :: String -> String -> String
formatInfo status capacity = icon ++ " " ++ init capacity ++ "%"
where icon
| init status == "Full" = "🙂"
| init status == "Charging" = "🔋"
| init status == "Discharging" = "🙃"
| init status == "Not charging" = ""
| init status == "Unknown" = "Unknown"
| (read capacity :: Int) <= 20 = "🪫"
| otherwise = "Silly"