summaryrefslogtreecommitdiffhomepage
path: root/Monitors/Batt.hs
diff options
context:
space:
mode:
Diffstat (limited to 'Monitors/Batt.hs')
-rw-r--r--Monitors/Batt.hs67
1 files changed, 0 insertions, 67 deletions
diff --git a/Monitors/Batt.hs b/Monitors/Batt.hs
deleted file mode 100644
index 57e9f6f..0000000
--- a/Monitors/Batt.hs
+++ /dev/null
@@ -1,67 +0,0 @@
------------------------------------------------------------------------------
--- |
--- Module : Monitors.Batt
--- Copyright : (c) Andrea Rossato
--- License : BSD-style (see LICENSE)
---
--- Maintainer : Andrea Rossato <andrea.rossato@unibz.it>
--- Stability : unstable
--- Portability : unportable
---
--- A battery monitor for Xmobar
---
------------------------------------------------------------------------------
-
-module Monitors.Batt where
-
-import qualified Data.ByteString.Lazy.Char8 as B
-import System.Posix.Files
-
-import Monitors.Common
-
-battConfig :: IO MConfig
-battConfig = mkMConfig
- "Batt: <left>" -- template
- ["left"] -- available replacements
-
-fileB1 :: (String, String)
-fileB1 = ("/proc/acpi/battery/BAT1/info", "/proc/acpi/battery/BAT1/state")
-
-fileB2 :: (String, String)
-fileB2 = ("/proc/acpi/battery/BAT2/info", "/proc/acpi/battery/BAT2/state")
-
-checkFileBatt :: (String, String) -> IO Bool
-checkFileBatt (i,_) =
- fileExist i
-
-readFileBatt :: (String, String) -> IO (B.ByteString, B.ByteString)
-readFileBatt (i,s) =
- do a <- B.readFile i
- b <- B.readFile s
- return (a,b)
-
-parseBATT :: IO Float
-parseBATT =
- do (a1,b1) <- readFileBatt fileB1
- c <- checkFileBatt fileB2
- let sp p s = read $ stringParser p s
- (fu, pr) = (sp (3,2) a1, sp (2,4) b1)
- case c of
- True -> do (a2,b2) <- readFileBatt fileB1
- let full = fu + (sp (3,2) a2)
- present = pr + (sp (2,4) b2)
- return $ present / full
- _ -> return $ pr / fu
-
-
-formatBatt :: Float -> Monitor [String]
-formatBatt x =
- do let f s = floatToPercent (s / 100)
- l <- showWithColors f (x * 100)
- return [l]
-
-runBatt :: [String] -> Monitor String
-runBatt _ =
- do c <- io $ parseBATT
- l <- formatBatt c
- parseTemplate l