summaryrefslogtreecommitdiff
path: root/src/core/window.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/window.c')
-rw-r--r--src/core/window.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/core/window.c b/src/core/window.c
index 6781523c..134cf7bb 100644
--- a/src/core/window.c
+++ b/src/core/window.c
@@ -3212,6 +3212,10 @@ window_activate (MetaWindow *window,
the source window. */
meta_window_change_workspace (window, workspace);
}
+ else
+ {
+ meta_workspace_activate_with_focus(workspace, window, timestamp);
+ }
if (window->shaded)
meta_window_unshade (window, timestamp);
@@ -3236,11 +3240,14 @@ void
meta_window_activate (MetaWindow *window,
guint32 timestamp)
{
+ MetaWorkspace *workspace;
+
+ workspace = window->on_all_workspaces ? NULL : window->workspace;
/* We're not really a pager, but the behavior we want is the same as if
* we were such. If we change the pager behavior later, we could revisit
* this and just add extra flags to window_activate.
*/
- window_activate (window, timestamp, META_CLIENT_TYPE_PAGER, NULL);
+ window_activate (window, timestamp, META_CLIENT_TYPE_PAGER, workspace);
}
void