Hi all.
I'm new in the mail list, and sorry for my english ...

I tried to set up my wm for dual monitor with these keyboard settings:
    -- mod-[1..9], Switch to workspace N
    -- mod-shift-[1..9], Move client to workspace N
    --
    [((m .|. mod4Mask, k), windows $ f i)
        | (i, k) <- zip (XMonad.workspaces conf) [xK_1 .. xK_9]
        , (f, m) <- [(W.greedyView, 0), (W.shift, shiftMask)]]
    ++
    --
    -- mod-{w,e,r}, Switch to physical/Xinerama screens 1, 2, or 3
    -- mod-shift-{w,e,r}, Move client to screen 1, 2, or 3
    --
    [((m .|. mod4Mask, key), screenWorkspace sc >>= flip whenJust (windows . f))
        | (key, sc) <- zip [xK_w, xK_e] [0..]
        , (f, m) <- [(W.view, 0), (W.shift, shiftMask)]]

I exprerienced that when I switch workspace the opened windows moved the new workspace from the inactive screen. If the inactive screen is empty in the workspace where I have just moved then a window will fill it. I hope it is understandable for you. 
Any idea ?
What is wrong ? What causes it ?

Regards,
Lajos