xmonad-extras-0.0: Third party extensions for xmonad with wacky dependenciesSource codeContentsIndex
XMonad.Actions.Volume
Portabilityunportable
Stabilityunstable
Maintainerdaniel@wagner-home.com
Contents
Usage
Common functions
Low-level interface
Variants that take a list of channels
Description
A minimal interface to the amixer command-line utility.
Synopsis
toggleMute :: MonadIO m => m Bool
raiseVolume :: MonadIO m => Double -> m Double
lowerVolume :: MonadIO m => Double -> m Double
getVolume :: MonadIO m => m Double
getMute :: MonadIO m => m Bool
getVolumeMute :: MonadIO m => m (Double, Bool)
setVolume :: MonadIO m => Double -> m ()
setMute :: MonadIO m => Bool -> m ()
setVolumeMute :: MonadIO m => Double -> Bool -> m ()
modifyVolume :: MonadIO m => (Double -> Double) -> m Double
modifyMute :: MonadIO m => (Bool -> Bool) -> m Bool
modifyVolumeMute :: MonadIO m => (Double -> Bool -> (Double, Bool)) -> m (Double, Bool)
defaultChannels :: [String]
toggleMuteChannels :: MonadIO m => [String] -> m Bool
raiseVolumeChannels :: MonadIO m => [String] -> Double -> m Double
lowerVolumeChannels :: MonadIO m => [String] -> Double -> m Double
getVolumeChannels :: MonadIO m => [String] -> m Double
getMuteChannels :: MonadIO m => [String] -> m Bool
getVolumeMuteChannels :: MonadIO m => [String] -> m (Double, Bool)
setVolumeChannels :: MonadIO m => [String] -> Double -> m ()
setMuteChannels :: MonadIO m => [String] -> Bool -> m ()
setVolumeMuteChannels :: MonadIO m => [String] -> Double -> Bool -> m ()
modifyVolumeChannels :: MonadIO m => [String] -> (Double -> Double) -> m Double
modifyMuteChannels :: MonadIO m => [String] -> (Bool -> Bool) -> m Bool
modifyVolumeMuteChannels :: MonadIO m => [String] -> (Double -> Bool -> (Double, Bool)) -> m (Double, Bool)
defaultOSDOpts :: Bool -> String
osdCat :: MonadIO m => Double -> (Bool -> String) -> m ()
Usage

You can use this module with the following in your ~/.xmonad/xmonad.hs:

 import XMonad.Actions.Volume

then add appropriate keybinds to adjust the volume; for example:

 , ((modMask x, xK_F8 ), lowerVolume 3 >> return ())
 , ((modMask x, xK_F9 ), raiseVolume 3 >> return ())
 , ((modMask x, xK_F10), toggleMute    >> return ())

For detailed instructions on editing your key bindings, see XMonad.Doc.Extending.

Common functions
toggleMute :: MonadIO m => m BoolSource
Toggle mutedness on the default channels. Returns True when this attempts to mute the speakers and False when this attempts to unmute the speakers.
raiseVolume :: MonadIO m => Double -> m DoubleSource
Raise the volume on the default channels the given number of percentage points. Returns the volume it attempts to set.
lowerVolume :: MonadIO m => Double -> m DoubleSource
Lower the volume on the default channels the given number of percentage points. Returns the volume it attempts to set.
Low-level interface
getVolume :: MonadIO m => m DoubleSource
Get the geometric mean of the volumes on the default channels.
getMute :: MonadIO m => m BoolSource
Get the mutedness of the default channels. Returns True if any of the channels are muted, and False otherwise.
getVolumeMute :: MonadIO m => m (Double, Bool)Source
Get both the volume and the mutedness of the default channels.
setVolume :: MonadIO m => Double -> m ()Source
Attempt to set the default channels to a volume given in percentage of maximum.
setMute :: MonadIO m => Bool -> m ()Source
Attempt to set the muting on the default channels.
setVolumeMute :: MonadIO m => Double -> Bool -> m ()Source
Attempt to set both the volume in percent and the muting on the default channels.
modifyVolume :: MonadIO m => (Double -> Double) -> m DoubleSource
Apply a function to the volume of the default channels, and return the modified value.
modifyMute :: MonadIO m => (Bool -> Bool) -> m BoolSource
Apply a function to the muting on the default channels, and return the modified value.
modifyVolumeMute :: MonadIO m => (Double -> Bool -> (Double, Bool)) -> m (Double, Bool)Source
Apply a function to both the volume and the muting of the default channels, and return the modified values.
Variants that take a list of channels
defaultChannels :: [String]Source
Channels are what amixer calls "simple controls". The most common ones are "Master", "Wave", and "PCM", so these are included in defaultChannels. It is guaranteed to be safe to pass channel names that don't exist on the default sound device to the *Channels family of functions.
toggleMuteChannels :: MonadIO m => [String] -> m BoolSource
raiseVolumeChannels :: MonadIO m => [String] -> Double -> m DoubleSource
lowerVolumeChannels :: MonadIO m => [String] -> Double -> m DoubleSource
getVolumeChannels :: MonadIO m => [String] -> m DoubleSource
getMuteChannels :: MonadIO m => [String] -> m BoolSource
getVolumeMuteChannels :: MonadIO m => [String] -> m (Double, Bool)Source
setVolumeChannels :: MonadIO m => [String] -> Double -> m ()Source
setMuteChannels :: MonadIO m => [String] -> Bool -> m ()Source
setVolumeMuteChannels :: MonadIO m => [String] -> Double -> Bool -> m ()Source
modifyVolumeChannels :: MonadIO m => [String] -> (Double -> Double) -> m DoubleSource
modifyMuteChannels :: MonadIO m => [String] -> (Bool -> Bool) -> m BoolSource
modifyVolumeMuteChannels :: MonadIO m => [String] -> (Double -> Bool -> (Double, Bool)) -> m (Double, Bool)Source
defaultOSDOpts :: Bool -> StringSource
Default options for displaying the volume.
osdCat :: MonadIO m => Double -> (Bool -> String) -> m ()Source
Helper function to output current volume via osd_cat.(Needs the osd_cat executable). The second parameter is passed True when the speakers are muted and should return the options to pass to osd_cat.
Produced by Haddock version 2.6.0