mirror of
https://github.com/brl/mutter.git
synced 2024-11-25 09:30:45 -05:00
Fix some bugs (reported in #120100) regarding the focus window when using
2004-08-02 Elijah Newren <newren@math.utah.edu> Fix some bugs (reported in #120100) regarding the focus window when using the workspace switcher. * src/display.c (event_callback): When switching workspaces due to a _NET_CURRENT_DESKTOP message, make sure to focus the default window as well. * src/workspace.c (meta_workspace_focus_default_window, meta_workspace_focus_mru_window): Make DOCK or DESKTOP windows have lower priority than others when choosing a window to focus. (For the former function, this means don't focus them at all; for the latter, this means only focus them (via the meta_workspace_focus_top_window call) if no other mru window can be found.)
This commit is contained in:
parent
38d02fff26
commit
cd09a27aa6
17
ChangeLog
17
ChangeLog
@ -1,3 +1,20 @@
|
|||||||
|
2004-08-02 Elijah Newren <newren@math.utah.edu>
|
||||||
|
|
||||||
|
Fix some bugs (reported in #120100) regarding the focus window
|
||||||
|
when using the workspace switcher.
|
||||||
|
|
||||||
|
* src/display.c (event_callback): When switching workspaces due to
|
||||||
|
a _NET_CURRENT_DESKTOP message, make sure to focus the default
|
||||||
|
window as well.
|
||||||
|
|
||||||
|
* src/workspace.c (meta_workspace_focus_default_window,
|
||||||
|
meta_workspace_focus_mru_window): Make DOCK or DESKTOP windows
|
||||||
|
have lower priority than others when choosing a window to focus.
|
||||||
|
(For the former function, this means don't focus them at all; for
|
||||||
|
the latter, this means only focus them (via the
|
||||||
|
meta_workspace_focus_top_window call) if no other mru window can
|
||||||
|
be found.)
|
||||||
|
|
||||||
2004-07-31 Rob Adams <readams@readams.net>
|
2004-07-31 Rob Adams <readams@readams.net>
|
||||||
|
|
||||||
Fix bug that caused windows to not be focused on unminimizing
|
Fix bug that caused windows to not be focused on unminimizing
|
||||||
|
@ -2056,7 +2056,10 @@ event_callback (XEvent *event,
|
|||||||
space);
|
space);
|
||||||
|
|
||||||
if (workspace)
|
if (workspace)
|
||||||
|
{
|
||||||
meta_workspace_activate (workspace);
|
meta_workspace_activate (workspace);
|
||||||
|
meta_workspace_focus_default_window (workspace, NULL);
|
||||||
|
}
|
||||||
else
|
else
|
||||||
meta_verbose ("Don't know about workspace %d\n", space);
|
meta_verbose ("Don't know about workspace %d\n", space);
|
||||||
}
|
}
|
||||||
|
@ -787,7 +787,9 @@ meta_workspace_focus_default_window (MetaWorkspace *workspace,
|
|||||||
{
|
{
|
||||||
MetaWindow * window;
|
MetaWindow * window;
|
||||||
window = meta_screen_get_mouse_window (workspace->screen, not_this_one);
|
window = meta_screen_get_mouse_window (workspace->screen, not_this_one);
|
||||||
if (window)
|
if (window &&
|
||||||
|
window->type != META_WINDOW_DOCK &&
|
||||||
|
window->type != META_WINDOW_DESKTOP)
|
||||||
{
|
{
|
||||||
meta_topic (META_DEBUG_FOCUS,
|
meta_topic (META_DEBUG_FOCUS,
|
||||||
"Focusing mouse window %s\n", window->desc);
|
"Focusing mouse window %s\n", window->desc);
|
||||||
@ -817,7 +819,11 @@ meta_workspace_focus_mru_window (MetaWorkspace *workspace,
|
|||||||
|
|
||||||
while (tmp)
|
while (tmp)
|
||||||
{
|
{
|
||||||
if (((MetaWindow*) tmp->data) != not_this_one)
|
MetaWindow* tmp_window;
|
||||||
|
tmp_window = ((MetaWindow*) tmp->data);
|
||||||
|
if (tmp_window != not_this_one &&
|
||||||
|
tmp_window->type != META_WINDOW_DOCK &&
|
||||||
|
tmp_window->type != META_WINDOW_DESKTOP)
|
||||||
{
|
{
|
||||||
window = tmp->data;
|
window = tmp->data;
|
||||||
break;
|
break;
|
||||||
|
Loading…
Reference in New Issue
Block a user