I have a load of virtual desktops running and I usually have one full screen application per desktop (so sort of like the Ratpoison WM but with an option to use it in other ways when needed). I want new windows to automatically be put in certain desktop numbers when they start up. What's the easiest way to do this?
4 Answers
If you're using Compiz, install compizconfig-settings-manager
, activate the "Place Windows" plugin, and in the "Fixed Window Placement" tab, you can adjust which windows should default to which viewport.

- 9,820
You might want to take a look at the Devil's Pie tool; it is available in Ubuntu as package devilspie
(apt-get install devilspie
).
This article and this other one explain some of its prominent features, and provides some example code, including how to move a window to a certain workspace and maximize it.

- 16,507
I, too have a lot of virtual desktops and a workflow that has me opening windows on different workspaces, but I've adopted an 'open and slide' approach with compiz.. right after opening an application, I use a customized shortcut to slide the new window to the appropriate workspace, then slide back to the previous workspace with another shortcut.
In my case, this is something like shift-ctrl-left arrow then ctrl-alt-right arrow.. very, very quick and I have full control over where they go every time instead of being locked-in to one configuration.

- 1,459
If your requirement can make use of scripts, then it might be worth investigating wmctrl eg wmctrl -s 0
would switch to desktop 0.

- 271
fixed window placement
. Easiest solution for any compiz user. This tab is found in the configuration for thePlace Windows
plugin under theWindow management
category. Of course,Place Windows
needs to be enabled for this to work. – koushik Oct 12 '10 at 15:10viewports
andworkspaces
-- What I see in thefixed window placement
tab is X/Y viewport coordinates that don't seem to correlate to my four workspaces. – Amanda May 20 '11 at 13:26Fixed Window Placement
tab... – RobinJ Dec 03 '11 at 18:02