Isso faz parte da minha configuração do xmonad em ~/.xmonad/xmonad.hs
myWorkspaces :: [String]
myWorkspaces = clickable . (map dzenEscape) $ ["web","doc","ssh","devel","chat","temp"]
where clickable l = [ "^ca(1,xdotool key super+" ++ show (n) ++ ")" ++ ws ++ "^ca()" |
(i,ws) <- zip [1..] l,
let n = i ]
myManageHook = composeAll
[ className =? "MPlayer" --> doFloat
, className =? "Vlc" --> doFloat
, className =? "Gimp" --> doFloat
, className =? "skype" --> doF (W.shift (myWorkspaces !! 4))
, className =? "Mail" --> doF (W.shift (myWorkspaces !! 4))
-- , className =? "XCalc" --> doFloat
, className =? "Firefox" --> doF (W.shift (myWorkspaces !! 0)) -- send to ws 0
-- , className =? "Nautilus" --> doF (W.shift (myWorkspaces !! 5)) -- send to ws 5
, className =? "gvim" --> doF (W.shift (myWorkspaces !! 1)) -- send to ws 1
-- , className =? "Terminal" --> doF (W.shift (myWorkspaces !! 3)) -- send to ws 3
, className =? "Gimp" --> doF (W.shift (myWorkspaces !! 1)) -- send to ws 1
, className =? "Codeblocks" --> doF (W.shift (myWorkspaces !! 3)) -- send to ws 3
, className =? "stalonetray" --> doIgnore
]
O problema é que o Firefox ou Codeblocks começam no espaço de trabalho que eu quero, mas o Skype e o email (Thunderbird) respeitam essas configurações e sempre começam no espaço de trabalho ativo.