diff options
Diffstat (limited to 'Plugins/Monitors')
| -rw-r--r-- | Plugins/Monitors/Batt.hs | 8 | 
1 files changed, 6 insertions, 2 deletions
| diff --git a/Plugins/Monitors/Batt.hs b/Plugins/Monitors/Batt.hs index c4e463a..bf490f7 100644 --- a/Plugins/Monitors/Batt.hs +++ b/Plugins/Monitors/Batt.hs @@ -16,6 +16,7 @@ module Plugins.Monitors.Batt where  import qualified Data.ByteString.Lazy.Char8 as B  import Plugins.Monitors.Common +import System.Posix.Files (fileExist)  data Batt = Batt Float             | NA @@ -33,9 +34,12 @@ fileB2 = ("/proc/acpi/battery/BAT2/info", "/proc/acpi/battery/BAT2/state")  readFileBatt :: (String, String) -> IO (B.ByteString, B.ByteString)  readFileBatt (i,s) =  -    do a <- catch (B.readFile i) (const $ return B.empty) -       b <- catch (B.readFile s) (const $ return B.empty) +    do a <- rf i +       b <- rf s         return (a,b) +    where rf file = do +            f <- fileExist file +            if f then B.readFile file else return B.empty  parseBATT :: IO Batt  parseBATT = | 
