diff --git a/XMonad/Config/Desktop.hs b/XMonad/Config/Desktop.hs
index 87943c87..1ed164d0 100644
--- a/XMonad/Config/Desktop.hs
+++ b/XMonad/Config/Desktop.hs
@@ -166,12 +166,10 @@ import qualified Data.Map as M
 -- >        adjustEventInput
 --
 
-desktopConfig = defaultConfig
-    { startupHook     = ewmhDesktopsStartup >> setDefaultCursor xC_left_ptr
-    , logHook         = ewmhDesktopsLogHook
+desktopConfig = ewmh defaultConfig
+    { startupHook     = setDefaultCursor xC_left_ptr
     , layoutHook      = desktopLayoutModifiers $ layoutHook defaultConfig
     , manageHook      = manageHook defaultConfig <+> manageDocks
-    , handleEventHook = ewmhDesktopsEventHook
     , keys            = \c -> desktopKeys c `M.union` keys defaultConfig c }
 
 desktopKeys (XConfig {modMask = modm}) = M.fromList $
diff --git a/XMonad/Config/Droundy.hs b/XMonad/Config/Droundy.hs
index 61e17c51..067c8e7b 100644
--- a/XMonad/Config/Droundy.hs
+++ b/XMonad/Config/Droundy.hs
@@ -43,8 +43,7 @@ import XMonad.Actions.CycleWS ( moveTo, WSType( HiddenNonEmptyWS ),
                                 Direction1D( Prev, Next) )
 
 import XMonad.Hooks.ManageDocks ( avoidStruts, manageDocks )
-import XMonad.Hooks.EwmhDesktops ( ewmhDesktopsStartup, ewmhDesktopsLogHook,
-                                   ewmhDesktopsEventHook )
+import XMonad.Hooks.EwmhDesktops ( ewmh )
 
 myXPConfig :: XPConfig
 myXPConfig = defaultXPConfig {font="-*-lucida-medium-r-*-*-14-*-*-*-*-*-*-*"
@@ -118,7 +117,7 @@ keys x = M.fromList $
     ++
     zip (zip (repeat (modMask x .|. shiftMask)) [xK_F1..xK_F12]) (map (withNthWorkspace copy) [0..])
 
-config = defaultConfig
+config = ewmh defaultConfig
          { borderWidth = 1 -- Width of the window border in pixels.
          , XMonad.workspaces = ["mutt","iceweasel"]
          , layoutHook = showWName $ workspaceDir "~" $
@@ -131,12 +130,9 @@ config = defaultConfig
                                                 ****//* combineTwo Square mytab mytab) --   |||
                         --mosaic 0.25 0.5
          , manageHook = manageHook defaultConfig <+> manageDocks -- add panel-handling
-         , logHook = ewmhDesktopsLogHook -- actually, no logging here, just other stuff
-         , startupHook = ewmhDesktopsStartup
          , terminal = "xterm" -- The preferred terminal program.
          , normalBorderColor = "#222222" -- Border color for unfocused windows.
          , focusedBorderColor = "#00ff00" -- Border color for focused windows.
-         , handleEventHook = ewmhDesktopsEventHook
          , XMonad.modMask = mod1Mask
          , XMonad.keys = keys
          }
diff --git a/XMonad/Config/Sjanssen.hs b/XMonad/Config/Sjanssen.hs
index 4182c8e3..d97d518f 100644
--- a/XMonad/Config/Sjanssen.hs
+++ b/XMonad/Config/Sjanssen.hs
@@ -26,7 +26,7 @@ sjanssenConfigXmobar = statusBar "exec xmobar" sjanssenPP strutkey =<< sjanssenC
 
 sjanssenConfig = do
     sp <- mkSpawner
-    return $ defaultConfig
+    return . ewmh $ defaultConfig
         { terminal = "exec urxvt"
         , workspaces = ["irc", "web"] ++ map show [3 .. 9 :: Int]
         , mouseBindings = \(XConfig {modMask = modm}) -> M.fromList $
@@ -35,8 +35,6 @@ sjanssenConfig = do
                 , ((modm.|. shiftMask, button1), (\w -> focus w >> mouseResizeWindow w)) ]
         , keys = \c -> mykeys sp c `M.union` keys defaultConfig c
         , layoutHook  = modifiers layouts
-        , logHook     = ewmhDesktopsLogHook
-        , startupHook = ewmhDesktopsStartup
         , manageHook  = composeAll [className =? x --> doShift w
                                     | (x, w) <- [ ("Firefox", "web")
                                                 , ("Ktorrent", "7")