use only the expected_focus_window instead of both the focused_window and
2005-07-31 Elijah Newren <newren@gmail.com> * src/stack.c (is_focused_foreach, get_standalone_layer): use only the expected_focus_window instead of both the focused_window and the expected_focus_window. Removes an infinite flicker loop in sloppy and mouse focus, and an ugly one time flicker in click to focus. Fixes #311400.
This commit is contained in:
parent
7a9be72bdf
commit
1b2e5e56a8
@ -1,3 +1,11 @@
|
|||||||
|
2005-07-31 Elijah Newren <newren@gmail.com>
|
||||||
|
|
||||||
|
* src/stack.c (is_focused_foreach, get_standalone_layer): use only
|
||||||
|
the expected_focus_window instead of both the focused_window and
|
||||||
|
the expected_focus_window. Removes an infinite flicker loop in
|
||||||
|
sloppy and mouse focus, and an ugly one time flicker in click to
|
||||||
|
focus. Fixes #311400.
|
||||||
|
|
||||||
2005-07-30 Elijah Newren <newren@gmail.com>
|
2005-07-30 Elijah Newren <newren@gmail.com>
|
||||||
|
|
||||||
Patch from Jaap Haitsma to make sure that Metacity dialogs have
|
Patch from Jaap Haitsma to make sure that Metacity dialogs have
|
||||||
|
11
src/stack.c
11
src/stack.c
@ -242,8 +242,7 @@ static gboolean
|
|||||||
is_focused_foreach (MetaWindow *window,
|
is_focused_foreach (MetaWindow *window,
|
||||||
void *data)
|
void *data)
|
||||||
{
|
{
|
||||||
if (window->has_focus ||
|
if (window == window->display->expected_focus_window)
|
||||||
(window == window->display->expected_focus_window))
|
|
||||||
{
|
{
|
||||||
*((gboolean*) data) = TRUE;
|
*((gboolean*) data) = TRUE;
|
||||||
return FALSE;
|
return FALSE;
|
||||||
@ -291,12 +290,12 @@ get_standalone_layer (MetaWindow *window)
|
|||||||
if (window->wm_state_below)
|
if (window->wm_state_below)
|
||||||
layer = META_LAYER_BOTTOM;
|
layer = META_LAYER_BOTTOM;
|
||||||
else if ((window->fullscreen || window_is_fullscreen_size (window)) &&
|
else if ((window->fullscreen || window_is_fullscreen_size (window)) &&
|
||||||
(window->has_focus || focused_transient ||
|
(focused_transient ||
|
||||||
window == window->display->expected_focus_window ||
|
window == window->display->expected_focus_window ||
|
||||||
window->display->focus_window == NULL ||
|
window->display->expected_focus_window == NULL ||
|
||||||
(window->display->focus_window != NULL &&
|
(window->display->expected_focus_window != NULL &&
|
||||||
windows_on_different_xinerama (window,
|
windows_on_different_xinerama (window,
|
||||||
window->display->focus_window))))
|
window->display->expected_focus_window))))
|
||||||
layer = META_LAYER_FULLSCREEN;
|
layer = META_LAYER_FULLSCREEN;
|
||||||
else if (window->wm_state_above)
|
else if (window->wm_state_above)
|
||||||
layer = META_LAYER_DOCK;
|
layer = META_LAYER_DOCK;
|
||||||
|
Loading…
Reference in New Issue
Block a user