Xmonad/Basic Desktop Environment Integration
From HaskellWiki
Using Desktop Environment Config Modules
The following modules from xmonad-contrib make it easy to start with good basic defaults to work within the given desktop environment. They set up better communication between xmonad and taskbars or status bars through EWMH's, allow gap toggling, and rebind run and logout keys to sensible desktop environment defaults.
You will still need to set up your session management and tell your desktop environment (DE) to use xmonad as described in the DE specific documents on Xmonad, but the ff. will take care of getting xmonad's part of the puzzle working with a useful default configuration.
Start with the appropriate version below in ~/.xmonad/xmonad.hs then start or restart xmonad.hs to have xmonad recompile the binary in ~/.xmonad/ to use your new settings.
XMonad.Config.Xfce
import XMonad import XMonad.Config.Xfce main = xmonad xfceConfig
XMonad.Config.Gnome
import XMonad import XMonad.Config.Gnome main = xmonad gnomeConfig
XMonad.Config.Kde
import XMonad import XMonad.Config.Kde main = xmonad kdeConfig
