Index: src/window.c =================================================================== --- src/window.c (revision 3358) +++ src/window.c (working copy) @@ -2783,9 +2783,19 @@ /* Get window on current or given workspace */ if (workspace == NULL) workspace = window->screen->active_workspace; - if (!meta_window_located_on_workspace (window, workspace)) - meta_window_change_workspace (window, workspace); - + /* We only move non-normal windows; see http://bugzilla.gnome.org/show_bug.cgi?id=482354 */ + if (window->type == META_WINDOW_NORMAL + && !meta_window_located_on_workspace (window, workspace)) + { + window->wm_state_demands_attention = TRUE; + set_net_wm_state (window); + return; + } + else if (!meta_window_located_on_workspace (window, workspace)) + { + meta_window_change_workspace (window, workspace); + } + if (window->shaded) meta_window_unshade (window, timestamp);