diff options
-rw-r--r-- | metacity-2.20.0-dont-move-windows.patch | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/metacity-2.20.0-dont-move-windows.patch b/metacity-2.20.0-dont-move-windows.patch new file mode 100644 index 0000000..2eb4878 --- /dev/null +++ b/metacity-2.20.0-dont-move-windows.patch @@ -0,0 +1,28 @@ +--- metacity-2.20.0/src/window.c 2007-08-31 15:48:55.000000000 -0400 ++++ metacity-2.20.0/src/window.c.new 2007-11-08 01:50:37.000000000 -0500 +@@ -2742,6 +2742,7 @@ + MetaWorkspace *workspace) + { + gboolean can_ignore_outdated_timestamps; ++ gboolean located_on_workspace; + meta_topic (META_DEBUG_FOCUS, + "_NET_ACTIVE_WINDOW message sent for %s at time %u " + "by client type %u.\n", +@@ -2783,8 +2784,15 @@ + /* 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); ++ ++ located_on_workspace = meta_window_located_on_workspace (window, workspace); ++ /* Non-transient windows never move workspaces. See http://bugzilla.gnome.org/show_bug.cgi?id=482354 */ ++ if (!located_on_workspace && !window->xtransient_for) ++ { ++ window->wm_state_demands_attention = TRUE; ++ set_net_wm_state (window); ++ return; ++ } + + if (window->shaded) + meta_window_unshade (window, timestamp); |