diff options
| -rw-r--r-- | src/Xmobar/Plugins/Monitors/Volume.hs | 8 | ||||
| -rw-r--r-- | xmobar.cabal | 4 | 
2 files changed, 7 insertions, 5 deletions
| diff --git a/src/Xmobar/Plugins/Monitors/Volume.hs b/src/Xmobar/Plugins/Monitors/Volume.hs index 1d3281c..05c12d1 100644 --- a/src/Xmobar/Plugins/Monitors/Volume.hs +++ b/src/Xmobar/Plugins/Monitors/Volume.hs @@ -151,7 +151,7 @@ runVolumeWith opts mixerName controlName = do                     val <- getVal $ volumeControl control                     db <- getDB $ volumeControl control                     sw <- getSw $ switchControl control -                   return (lo, hi, val, db, sw)) +                   return (fmap toInteger lo, fmap toInteger hi, val, db, sw))                  (const $ return (Nothing, Nothing, Nothing, Nothing, Nothing))      volumeControl :: Maybe Control -> Maybe Volume @@ -171,7 +171,9 @@ runVolumeWith opts mixerName controlName = do      liftMonitor Nothing = unavailable      liftMonitor (Just m) = m -    channel v r = AE.catch (getChannel FrontLeft v) (const $ return $ Just r) +    channel' v r = AE.catch (getChannel FrontLeft v) (const $ return $ Just r) + +    channel v r = channel' v r >>= \x -> return (x >>= Just . toInteger)      getDB :: Maybe Volume -> IO (Maybe Integer)      getDB Nothing = return Nothing @@ -183,7 +185,7 @@ runVolumeWith opts mixerName controlName = do      getSw :: Maybe Switch -> IO (Maybe Bool)      getSw Nothing = return Nothing -    getSw (Just s) = channel s False +    getSw (Just s) = channel' s False      getFormatDB :: VolumeOpts -> Maybe Integer -> Monitor String      getFormatDB _ Nothing = unavailable diff --git a/xmobar.cabal b/xmobar.cabal index b789a48..7765f08 100644 --- a/xmobar.cabal +++ b/xmobar.cabal @@ -223,7 +223,7 @@ library         cpp-options: -DLIBMPD      if flag(with_alsa) || flag(all_extensions) -       build-depends: alsa-mixer > 0.2.0.2 && < 0.3 +       build-depends: alsa-mixer >= 0.3 && < 0.4         build-depends: alsa-core == 0.5.*,                        process >= 1.4.3.0         exposed-modules: Xmobar.Plugins.Monitors.Volume @@ -325,7 +325,7 @@ test-suite XmobarTest                   Xmobar.System.Signal    if flag(with_alsa) || flag(all_extensions) -      build-depends: alsa-mixer > 0.2.0.2 && < 0.3, +      build-depends: alsa-mixer > 0.2.0.2 && < 0.4,                       alsa-core == 0.5.*,                       process >= 1.4.3.0        other-modules: Xmobar.Plugins.Monitors.Volume | 
