
Updates: Owner: vogt.a...@gmail.com Cc: nome...@gmail.com Labels: Component-Contrib Comment #1 on issue 462 by vogt.a...@gmail.com: Ewmh desktop handle event doesn't correctly handle _NET_WM_DESKTOP message type http://code.google.com/p/xmonad/issues/detail?id=462 Sounds like a good idea. The following handleEventHook (based on the one in EwmhDesktops) should do that: import Control.Monad; import Data.Monoid; import XMonad; import qualified XMonad.StackSet as W import XMonad.Actions.CopyWindow; import XMonad.Util.WorkspaceCompare ewmhCopyWindow :: Event -> X All ewmhCopyWindow ClientMessageEvent { ev_window = w, ev_message_type = mt, ev_data = 0xffffffff : _ } = withWindowSet $ \s -> do a_cd <- getAtom "_NET_CURRENT_DESKTOP" when (mt == a_cd) $ do sort' <- getSortByIndex let ws = map W.tag $ sort' $ W.workspaces s windows $ foldr (.) id (map (copyWindow w) ws) return (All True) ewmhCopyWindow _ = return (All True) Then just add where you previously had: handleEventHook = ewmhDesktopsEventHook handleEventHook = ewmhDesktopsEventHook `mappend` ewmhCopyWindow This ewmhCopyWindow behaviour should probably be added to EwmhDesktops.