[xmonad] stupid newbie question about `removeKeysP`

Patrick Brisbin pbrisbin at gmail.com
Wed May 5 16:12:06 EDT 2010


On 05/05/10 at 10:04pm, Anders Engström wrote:
> Try this (untested code, note the '$'):
> main = xmonad $ gnomeConfig
>         {terminal       = "urxvtcd"
>         }
>         `removeKeysP` ["M-b","M-."]
> 
> Which is equivalent to, or a shorthand for:
> main = xmonad (gnomeConfig
>         {terminal       = "urxvtcd"
>         }
>         `removeKeysP` ["M-b","M-."])
> 
> 
> `removeKeysP` is in your code applied to the arguments:
> arg1: xmonad gnomeConfig {terminal       = "urxvtcd"}
> arg2: ["M-b","M-."]
> 
> Hope that helps.
> /Anders
> 
> On Wed, May 5, 2010 at 21:37, Jonas Bygdén <jonaslistor at gmail.com> wrote:
> > Hi,
> > I'm slowly going nuts here.
> > This is my complete xmonad.hs file:
> > -------------------------------------------
> > import XMonad
> > import XMonad.Config.Gnome
> > import XMonad.Util.EZConfig
> > main = xmonad gnomeConfig
> >         {terminal       = "urxvtcd"
> >         }
> >         `removeKeysP` ["M-b","M-."]
> > -------------------------------------------
> > And when I try to use it I get these errors:
> > -------------------------------------------
> > xmonad.hs:5:7:
> >     Couldn't match expected type `XConfig l'
> >            against inferred type `IO ()'
> >     In the first argument of `removeKeysP', namely
> >         `xmonad (gnomeConfig {terminal = "urxvtcd"})'
> >     In the expression:
> >           xmonad (gnomeConfig {terminal = "urxvtcd"})
> >         `removeKeysP`
> >           ["M-b", "M-."]
> >     In the definition of `main':
> >         main = xmonad (gnomeConfig {terminal = "urxvtcd"})
> >              `removeKeysP`
> >                ["M-b", "M-."]
> > Please check the file for errors.
> > -------------------------------------------
> > Where have I gone wrong?
> > /Jonas
> > _______________________________________________
> > xmonad mailing list
> > xmonad at haskell.org
> > http://www.haskell.org/mailman/listinfo/xmonad
> >
> >
> _______________________________________________
> xmonad mailing list
> xmonad at haskell.org
> http://www.haskell.org/mailman/listinfo/xmonad

Don't you still need a 'do' somewhere in there?

  main = do
    xmonad $ gnomeConfig 
    { terminal = "urxvtcd" 
    } 
    `removeKeysP` ["M-b", "M-."]

should compile.

I think all on one line looks more readable though:

  main = do
    xmonad $ gnomeConfig { terminal = "urxvtcd" } `removeKeysP` ["M-b", "M-."]


Apologies if this doesn't work, I haven't compiled it myself.

-- 
patrick brisbin


More information about the xmonad mailing list