I'm now using .xsession to run my terminal/browser while xmonad is starting. What i'd want to be able to do is to start different programs on different virtual desktops in xmonad (eg browser on desktop 1, nautilus desktop 2). How can i do this in xmonad?
Startup programs on virtual desktops
xmonad
A tool solving your problemDevil's Pie can do that, and it is not specific to xmonad, should work with all window managers.From http://burtonini.com/blog/computers/devilspie/ : Devil's Pie can be configured to detect windows as they are created, and match the window to a set of rules. If the window matches the rules, it can perform a series of actions on that window. For example, I can make all windows created by X-Chat appear on all workspaces, and the main Gkrellm1 window does not appear in the pager or task list. You can set it up to redirect browser to desktop 1, nautilus to desktop 2, etc.How to use itYou can do that editing text files, read e.g. http://www.foosel.org/linux/devilspie , or with a graphical tool http://code.google.com/p/gdevilspie/ .Additional informationIf you just meant to move window to desktop only at session start time, and not later, you can have your .xsession script launch devil's pie, then your applications, then kill devil's pie, and voil.