Startup programs on designated desktops

Hey all.

Usually I would find this out on my own, by googling, or using the arch wiki.

But I just can't think of how I would word the question, its a bit too long for google.

I am running Arch BSPWM, using XFCE4-bar.

For my startup applications, I am just using my .xinitrc file, which works pretty well.

What I was wondering, is how I would set up my .xinitrc to launch different applications in different desktops on startup.

I would like something on the lines of; Chrome on Desktop 1, Terminal on desktop 2, Steam and Skype on desktop 3. Things like that.

Can this be done with the .xinitrc file, or will I need to switch to a different startup manager? If so, which, and how  would I configure it to work?

Thanks for the help, but I found out how to do it with bspwmrc.

Problem is, now, when steam starts, it has a popup, and because of that, starts on whatever the active window at the time is

Anyone know how I can lock it to the 3rd workspace?

for xfce4wm: change the parameter activate_action from "bring" (which brings it to the current) to "none" (do nothing) or "switch" (switch workspaces). If you set it to none, it will stay on the assigned workspace and not switch to that workspace, if you set it to "switch", it will switch to that workspace on start of the application.

I have no idea how to prevent the switch in bspwm.

A fix would be to run steam in an lxc, the lxc assigned to a workspace will keep everything there.