Mutter maps windows to the wrong workspace if workspace switched
Feature summary
Mutter should remember the workspace that was open when a new process gets created. It should use that information to map its windows to that workspace, not to the workspace that happens to be open when a window gets created.
How would you like it to work
Mutter could be notified of process creation. It could keep that information and link it to the currently open workspace. When the process maps a window, mutter should use that information to map its windows to the workspace that was open when the process started, not to the currently open workspace. To avoid random behavior for processes that either can get created before mutter starts or daemons that may be open for a long time but aren't created as a fork of the desktop environment, mutter should only use this behavior for processes that were started under the gnome shell ("user processes" like office, firefox, terminal emulators, settings...). That way, when the user opens a program from the launcher, the program would open in the correct workspace, but when the user opens a window from a daemon (for example to configure it, start/stop it...), it should open in the currently active workspace to avoid confusion.