How to make a new window open in the same workspace where I opened it?

I open some application and immediately switch to another workspace since it takes some time to open. When it opens, I want it to open in the workspace where I opened it, not in the workspace where I am at when it opens.

Note that I don't want it to associate an application with a viewport. Any application must be openable in any workspace.

Is this possible?


Note: I don't know if the behaviour in workspace assignment described by you is possible. However, I see a chance that a common workaround might be almost as convenient for you.

Is it reasonable to assume that not all of the applications you use regularly take so long to start up that you feel like switching the workspace in the meantime, and that it is actually just the usual resource-hungry giants like Firefox, Eclipse, LibreOffice and similar? If so, it might be as satisfying to just add general assignments to specific workspaces for those applications.

Since Unity is a Compiz plugin, this can be done within the Compiz window management configurations (provided by package compizconfig-settings-manager)as described here, here or, more verbosely, here:

  1. use your Dash to run ccsm (Compiz settings GUI)
  2. Open Window Management > Place Windows > Fixed Window Placement
  3. Create a New entry at Windows with fixed viewport
  4. In the editing dialog, select the window class by clicking on the +-button first, and on the desired application window afterwards
  5. Specify the workspace to place said application on using Viewport coordinates

If that doesn't work for some reason, you might want to try another window matching tool like Devilspie.