[xmonad] XMonad.Actions.Volume

Russell Adams RLAdams at AdamsInfoServ.Com
Thu Jun 18 19:15:08 EDT 2009


I don't see the point in extending Xmonad to do this.

I have a ton of items bound to keys for Amarok (vol up/down,
next/prior, del, start/stop) all via shell scripts:

        , (( mod1Mask .|. controlMask, xK_Left ), spawn "/home/rladams/.e-scripts/amarok_control.sh prev")
        , (( mod1Mask .|. controlMask, xK_Right ), spawn "/home/rladams/.e-scripts/amarok_control.sh next")
        , (( mod1Mask .|. controlMask, xK_Up ), spawn "/home/rladams/.e-scripts/amarok_control.sh volumeUp")
        , (( mod1Mask .|. controlMask, xK_Down ), spawn "/home/rladams/.e-scripts/amarok_control.sh volumeDown")
        , (( mod1Mask .|. controlMask, xK_space ), spawn "/home/rladams/.e-scripts/amarok_control.sh playPause")
        , (( mod1Mask .|. controlMask, xK_x ), spawn "/bin/sh -c \"/usr/bin/dcop amarok playlist removeCurrentTrack ; /home/rladams/.e-scripts/amarok_control.sh next\"")
        , (( mod1Mask .|. controlMask, xK_z ), spawn "/bin/sh -c \"/usr/bin/dcop amarok playlist togglePlaylist || /usr/bin/amarok\"")

$ cat amarok_control.sh
#!/bin/sh

{

MYPREFIX=""

. ~/.keychain/${HOSTNAME}-sh

[ -f /home/rladams/.washu_amarok ] && MYPREFIX="ssh washu DISPLAY=:0"

$MYPREFIX /usr/bin/dcop amarok player $1

} > /home/rladams/.e-scripts/amarok_control.log 2>&1


I hope someone finds these useful.

On Thu, Jun 18, 2009 at 07:05:43PM -0400, Brent Yorgey wrote:
> On Thu, Jun 18, 2009 at 08:30:20AM -0400, wagnerdm at seas.upenn.edu wrote:
> >
> > This is probably something of a controversial patch: it adds two 
> > dependencies.  I don't think the "parsec" dependency is a big deal, since 
> > that comes with GHC, and we can therefore expect most users to have it 
> > already. The other dependency is the "split" package.  Let me know if you 
> > want me to just pull in the definition of the particular splitting function 
> > I'm using.
> >  
> > +    build-depends:      mtl, unix, X11>=1.4.3, xmonad>=0.8, xmonad<0.9, utf8-string, parsec, split
> 
> Hmm.  I'm not sure how I feel about the extra
> dependencies. (Literally---I'm not using "I'm not sure how I feel" as
> a euphemism for "I don't like it").  But I thought I should point out
> at the very least that writing 'parsec' with no version constraints is
> just asking for trouble--versions 2 and 3 (which both occur in the
> wild) aren't quite compatible. I don't imagine the API of split
> changing much, but just to be safe it's probably a good idea to put
> version constraints on that too, something like split >= 0.1.1 && <
> 0.2.  It's just good practice to put version constraints on things--in
> fact, word has it that at some point in the not-too-distant future
> Hackage will stop accepting packages that don't specify upper bounds
> on their dependencies.  see
> 
>   http://haskell.org/haskellwiki/Package_versioning_policy
> 
> -Brent
> _______________________________________________
> xmonad mailing list
> xmonad at haskell.org
> http://www.haskell.org/mailman/listinfo/xmonad
> 


------------------------------------------------------------------
Russell Adams                            RLAdams at AdamsInfoServ.com

PGP Key ID:     0x1160DCB3           http://www.adamsinfoserv.com/

Fingerprint:    1723 D8CA 4280 1EC9 557F  66E8 1154 E018 1160 DCB3


More information about the xmonad mailing list