packages feed

xmonad-volume 0.1.0.1 → 0.1.1.0

raw patch · 3 files changed

+24/−22 lines, 3 filesdep ~alsa-mixerdep ~basePVP: major bump suggested

API removals or changes: PVP suggests a major version bump

Dependency ranges changed: alsa-mixer, base

API changes (from Hackage documentation)

- XMonad.Util.ALSA: lowerVolume :: MonadIO m => Integer -> m ()
+ XMonad.Util.ALSA: lowerVolume :: MonadIO m => Int -> m ()
- XMonad.Util.ALSA: raiseVolume :: MonadIO m => Integer -> m ()
+ XMonad.Util.ALSA: raiseVolume :: MonadIO m => Int -> m ()

Files

CHANGELOG.md view
@@ -1,5 +1,9 @@ # xmonad-volume +## 0.1.1.0++  * Work with `alsa-mixer == 0.3`+ ## 0.1.0.1    * Generalize type signatures
src/XMonad/Util/ALSA.hs view
@@ -1,5 +1,4 @@ {-# OPTIONS_GHC -fno-warn-incomplete-uni-patterns #-}-{-# LANGUAGE TupleSections #-}  -- | This uses ALSA to control the volume. module XMonad.Util.ALSA ( toggleMute@@ -9,7 +8,6 @@                         , volumeKeys                         ) where -import           Control.Arrow                (first) import           Control.Composition import           Control.Monad import           Control.Monad.IO.Class@@ -23,31 +21,32 @@ toggleMute = liftIO $     withMixer "default" $ \mixer -> do         Just control <- getControlByName mixer "Master"-        let Just playbackSwitch = playback $ switch control+        let Just playbackSwitch = playback (switch control)         Just sw <- getChannel FrontLeft playbackSwitch         setChannel FrontLeft playbackSwitch $ not sw +-- TODO: upstream replacement of 'Integer'? changeVolume :: MonadIO m              => Channel-             -> Integer -- ^ Percentage+             -> Int -- ^ Percentage              -> m () changeVolume channel i = liftIO $     withMixer "default" $ \mixer -> do         Just control <- getControlByName mixer "Master"         let Just playbackVolume = playback $ volume control-        (min', max') <- getRange playbackVolume-        Just vol <- getChannel channel $ value playbackVolume+        (min', max') <- both fromIntegral <$> getRange playbackVolume+        Just vol <- fmap fromIntegral <$> getChannel channel (value playbackVolume)         let i' = i * ((max' - min') `div` 100)         when ((i' > 0 && vol < max') || (i' < 0 && vol > min')) $-            setChannel channel (value playbackVolume) $ vol + i'+            setChannel channel (value playbackVolume) $ fromIntegral (vol + i')  -- | Raise volume-raiseVolume :: MonadIO m => Integer -> m ()+raiseVolume :: MonadIO m => Int -> m () raiseVolume = axe [ changeVolume FrontLeft, changeVolume FrontRight ]  -- | Lower volume-lowerVolume :: MonadIO m => Integer -> m ()-lowerVolume = axe [ changeVolume FrontLeft, changeVolume FrontRight ] . negate+lowerVolume :: MonadIO m => Int -> m ()+lowerVolume = raiseVolume . negate  -- | Given your keymaps, add volume control keybindings. volumeKeys :: MonadIO m => M.Map (KeyMask, KeySym) (m ()) -> M.Map (KeyMask, KeySym) (m ())@@ -55,8 +54,7 @@     where mediaKeyMap = M.fromList volumeKeyList  volumeKeyList :: MonadIO m => [((KeyMask, KeySym), m ())]-volumeKeyList = go <$> [ (xF86XK_AudioMute, toggleMute)-                       , (xF86XK_AudioLowerVolume, lowerVolume 5)-                       , (xF86XK_AudioRaiseVolume, raiseVolume 5)-                       ]-    where go = first (0 ,)+volumeKeyList = [ ((0, xF86XK_AudioMute), toggleMute)+                , ((0, xF86XK_AudioLowerVolume), lowerVolume 5)+                , ((0, xF86XK_AudioRaiseVolume), raiseVolume 5)+                ]
xmonad-volume.cabal view
@@ -1,6 +1,6 @@ cabal-version: 1.18 name: xmonad-volume-version: 0.1.0.1+version: 0.1.1.0 license: BSD3 license-file: LICENSE copyright: Copyright: (c) 2018 Vanessa McHale@@ -36,21 +36,21 @@     ghc-options: -Wall     build-depends:         base >=4.8 && <5,-        alsa-mixer -any,+        alsa-mixer >=0.3,         X11 -any,         containers -any,-        composition-prelude -any-    +        composition-prelude >=1.3.0.0+     if flag(development)         ghc-options: -Werror-    +     if !impl(ghc >=8.0)         build-depends:             transformers -any-    +     if impl(ghc >=8.0)         ghc-options: -Wincomplete-uni-patterns -Wincomplete-record-updates                      -Wredundant-constraints -Widentities-    +     if impl(ghc >=8.4)         ghc-options: -Wmissing-export-lists