diff options
| author | jao <jao@gnu.org> | 2011-08-31 05:55:43 -0700 | 
|---|---|---|
| committer | jao <jao@gnu.org> | 2011-08-31 05:55:43 -0700 | 
| commit | 5183d786ad76719159f5678b878e37b2cb004f4e (patch) | |
| tree | 0fb9ec48cd3cd3bab30213e18a658f6e7bc4a960 /src/Plugins | |
| parent | 991af6b4be4a8062b8b61ce73ea93149d9886ded (diff) | |
| parent | 23a3b81bfd480e5a1d63bbad91e2b611b99758e1 (diff) | |
| download | xmobar-5183d786ad76719159f5678b878e37b2cb004f4e.tar.gz xmobar-5183d786ad76719159f5678b878e37b2cb004f4e.tar.bz2  | |
Merge pull request #26 from skinner33/alsadb
catch alsa exception on decibel acquire
Diffstat (limited to 'src/Plugins')
| -rw-r--r-- | src/Plugins/Monitors/Volume.hs | 5 | 
1 files changed, 4 insertions, 1 deletions
diff --git a/src/Plugins/Monitors/Volume.hs b/src/Plugins/Monitors/Volume.hs index 50a6ed4..3e3a8b9 100644 --- a/src/Plugins/Monitors/Volume.hs +++ b/src/Plugins/Monitors/Volume.hs @@ -14,10 +14,12 @@  module Plugins.Monitors.Volume (runVolume, volumeConfig) where +import Prelude hiding ( catch )  import Control.Monad ( liftM, mplus )  import Data.Maybe  import Plugins.Monitors.Common  import Sound.ALSA.Mixer +import Sound.ALSA.Exception ( catch )  import System.Console.GetOpt  volumeConfig :: IO MConfig @@ -115,7 +117,8 @@ runVolume mixerName controlName argv = do          maybeNA = maybe (return "N/A")      (lo, hi) <- io $ getRange volumeControl      val <- io $ getChannel FrontLeft $ value volumeControl -    db <- io $ getChannel FrontLeft $ dB volumeControl +    db <- io $ catch (getChannel FrontLeft $ dB volumeControl) +                     (\_ -> return $ Just 0)      sw <- io $ getChannel FrontLeft switchControl      p <- maybeNA (formatVol lo hi) val      b <- maybeNA (formatVolBar lo hi) val  | 
