--- a/src/Plugins/Monitors/Volume.hs +++ b/src/Plugins/Monitors/Volume.hs @@ -122,7 +122,8 @@ formatDb opts dbi = do runVolume :: String -> String -> [String] -> Monitor String runVolume mixerName controlName argv = do opts <- io $ parseOpts argv - (lo, hi, val, db, sw) <- io readMixer + (lo', hi', val', db, sw) <- io readMixer + let (lo, hi, val) = (toInteger <$> lo', toInteger <$> hi', toInteger <$> val') p <- liftMonitor $ liftM3 formatVol lo hi val b <- liftMonitor $ liftM3 formatVolBar lo hi val v <- liftMonitor $ liftM3 formatVolVBar lo hi val @@ -164,11 +165,11 @@ runVolume mixerName controlName argv = do getDB :: Maybe Volume -> IO (Maybe Integer) getDB Nothing = return Nothing - getDB (Just v) = channel (dB v) 0 + getDB (Just v) = fmap toInteger <$> channel (dB v) 0 getVal :: Maybe Volume -> IO (Maybe Integer) getVal Nothing = return Nothing - getVal (Just v) = channel (value v) 0 + getVal (Just v) = fmap toInteger <$> channel (value v) 0 getSw :: Maybe Switch -> IO (Maybe Bool) getSw Nothing = return Nothing