
Thanks Anders,
I've been staring myself blind at that very example that you included here
from the docs and couldn't understand what I did wrong - until you told me
the $ was missing.
Thanks again.
2010/5/5 Anders Engström
Actually, you don't need "do". Since xmonad with argument applied becomes IO () and main is IO (). When you only have one statement after do, it is an identity operation.
Actually, I cheated and looked at the docs which had this example: main = xmonad $ defaultConfig { terminal = "urxvt" } `removeKeysP` ["M-S-" ++ [n] | n <- ['1'..'9']]
On Wed, May 5, 2010 at 22:12, Patrick Brisbin
wrote: 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
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@haskell.org http://www.haskell.org/mailman/listinfo/xmonad
_______________________________________________ xmonad mailing list xmonad@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 _______________________________________________ xmonad mailing list xmonad@haskell.org http://www.haskell.org/mailman/listinfo/xmonad
_______________________________________________ xmonad mailing list xmonad@haskell.org http://www.haskell.org/mailman/listinfo/xmonad