testing with the "Actions.OnScreen" approach it works well too, and less intrusive compared to IndependentScreens [ (m ++ "M-" ++ [k], windows $ f i) | (i, k) <- zip wspaces wsKeys , (f, m) <- [(onlyOnScreen 0, ""), (W.shift, "S-")] ] myStartupHook = do windows (viewOnScreen 1 "r")