diff options
author | svein.ove <svein.ove@aas.no> | 2009-11-02 18:38:11 +0100 |
---|---|---|
committer | svein.ove <svein.ove@aas.no> | 2009-11-02 18:38:11 +0100 |
commit | 9a94be9a1f071f29e23634864f757151a7ebb03f (patch) | |
tree | f1a61eb4965036005b2b22433a80eac2adf05e27 /Plugins | |
parent | 61c81eecece9ef4b3aabeb9c9bde4966d6c3ccfa (diff) | |
download | xmobar-9a94be9a1f071f29e23634864f757151a7ebb03f.tar.gz xmobar-9a94be9a1f071f29e23634864f757151a7ebb03f.tar.bz2 |
Since ACPI reads can be slow, use a helper /bin/cat process to perform them
Ignore-this: ae34afa8524d6cfb6baab8eb6c3a3b85
darcs-hash:20091102173811-f57bf-470bb638c0c64ddc093c2238d600772525035ea0.gz
Diffstat (limited to 'Plugins')
-rw-r--r-- | Plugins/Monitors/Batt.hs | 2 | ||||
-rw-r--r-- | Plugins/Monitors/Common.hs | 5 |
2 files changed, 6 insertions, 1 deletions
diff --git a/Plugins/Monitors/Batt.hs b/Plugins/Monitors/Batt.hs index af5a48c..78d9eae 100644 --- a/Plugins/Monitors/Batt.hs +++ b/Plugins/Monitors/Batt.hs @@ -36,7 +36,7 @@ readFileBatt (i,s) = return (a,b) where rf file = do f <- fileExist file - if f then B.readFile file else return B.empty + if f then catRead file else return B.empty parseBATT :: [(String, String)] -> IO Batt parseBATT bfs = diff --git a/Plugins/Monitors/Common.hs b/Plugins/Monitors/Common.hs index 779c6f4..caf2e98 100644 --- a/Plugins/Monitors/Common.hs +++ b/Plugins/Monitors/Common.hs @@ -43,6 +43,7 @@ module Plugins.Monitors.Common ( -- * Threaded Actions -- $thread , doActionTwiceWithDelay + , catRead ) where @@ -56,6 +57,7 @@ import Numeric import Text.ParserCombinators.Parsec import System.Console.GetOpt import Control.Exception (SomeException,handle) +import System.Process(readProcess) import Plugins -- $monitor @@ -306,3 +308,6 @@ getData action var d = do threadDelay d s <- action modifyMVar_ var (\_ -> return $! s) + +catRead :: FilePath -> IO B.ByteString +catRead file = B.pack `fmap` readProcess "/bin/cat" [file] "" |