mirror of
https://github.com/brl/mutter.git
synced 2024-11-28 19:10:43 -05:00
when receiving a _NET_ACTIVE_WINDOW message, switch to the desktop where
2005-02-20 Elijah Newren <newren@gmail.com> * src/window.c: (meta_window_activate): when receiving a _NET_ACTIVE_WINDOW message, switch to the desktop where the window is located before activating instead of moving the window to the current desktop. Thanks to Lubos Lunak for catching this issue. Fixes #128380.
This commit is contained in:
parent
79f2b91679
commit
8de466b582
@ -1,3 +1,11 @@
|
|||||||
|
2005-02-20 Elijah Newren <newren@gmail.com>
|
||||||
|
|
||||||
|
* src/window.c: (meta_window_activate): when receiving a
|
||||||
|
_NET_ACTIVE_WINDOW message, switch to the desktop where the window
|
||||||
|
is located before activating instead of moving the window to the
|
||||||
|
current desktop. Thanks to Lubos Lunak for catching this issue.
|
||||||
|
Fixes #128380.
|
||||||
|
|
||||||
2005-02-20 Elijah Newren <newren@gmail.com>
|
2005-02-20 Elijah Newren <newren@gmail.com>
|
||||||
|
|
||||||
* src/window.c (meta_window_show): Ignore all focus and
|
* src/window.c (meta_window_show): Ignore all focus and
|
||||||
|
21
src/window.c
21
src/window.c
@ -2234,22 +2234,31 @@ meta_window_activate (MetaWindow *window,
|
|||||||
/* disable show desktop mode unless we're a desktop component */
|
/* disable show desktop mode unless we're a desktop component */
|
||||||
maybe_leave_show_desktop_mode (window);
|
maybe_leave_show_desktop_mode (window);
|
||||||
|
|
||||||
/* Get window on current workspace */
|
|
||||||
if (!meta_window_located_on_workspace (window,
|
|
||||||
window->screen->active_workspace))
|
|
||||||
meta_window_change_workspace (window,
|
|
||||||
window->screen->active_workspace);
|
|
||||||
|
|
||||||
if (window->shaded)
|
if (window->shaded)
|
||||||
meta_window_unshade (window);
|
meta_window_unshade (window);
|
||||||
|
|
||||||
unminimize_window_and_all_transient_parents (window);
|
unminimize_window_and_all_transient_parents (window);
|
||||||
|
|
||||||
|
/* Activate the window, moving to its workspace if necessary */
|
||||||
|
if (!meta_window_located_on_workspace (window,
|
||||||
|
window->screen->active_workspace))
|
||||||
|
{
|
||||||
|
meta_topic (META_DEBUG_FOCUS,
|
||||||
|
"Focusing and moving to workspace of window %s due to "
|
||||||
|
"activation\n",
|
||||||
|
window->desc);
|
||||||
|
meta_workspace_activate_with_focus (window->workspace,
|
||||||
|
window,
|
||||||
|
timestamp);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
meta_window_raise (window);
|
meta_window_raise (window);
|
||||||
meta_topic (META_DEBUG_FOCUS,
|
meta_topic (META_DEBUG_FOCUS,
|
||||||
"Focusing window %s due to activation\n",
|
"Focusing window %s due to activation\n",
|
||||||
window->desc);
|
window->desc);
|
||||||
meta_window_focus (window, timestamp);
|
meta_window_focus (window, timestamp);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* returns values suitable for meta_window_move
|
/* returns values suitable for meta_window_move
|
||||||
|
Loading…
Reference in New Issue
Block a user