28 lines
952 B
Diff
28 lines
952 B
Diff
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);
|
|
|