mirror of
https://github.com/brl/mutter.git
synced 2024-11-25 09:30:45 -05:00
Patch from RHEL-3 (Havoc doesn't remember how it got there) that Havoc
2005-01-28 Elijah Newren <newren@gmail.com> Patch from RHEL-3 (Havoc doesn't remember how it got there) that Havoc posted in bug 156511 to fix the problem with fullscreen windows on a different xinerama monitor not staying on top. I updated to HEAD. Should fix #156511. * src/stack.c: (windows_on_different_xinerama): new function, (get_standalone_layer): let windows on a different screen than the one with the focus window stay in the fullscreen layer
This commit is contained in:
parent
9221a550db
commit
aa2da7d82e
11
ChangeLog
11
ChangeLog
@ -1,3 +1,14 @@
|
|||||||
|
2005-01-28 Elijah Newren <newren@gmail.com>
|
||||||
|
|
||||||
|
Patch from RHEL-3 (Havoc doesn't remember how it got there) that
|
||||||
|
Havoc posted in bug 156511 to fix the problem with fullscreen
|
||||||
|
windows on a different xinerama monitor not staying on top. I
|
||||||
|
updated to HEAD. Should fix #156511.
|
||||||
|
|
||||||
|
* src/stack.c: (windows_on_different_xinerama): new function,
|
||||||
|
(get_standalone_layer): let windows on a different screen than the
|
||||||
|
one with the focus window stay in the fullscreen layer
|
||||||
|
|
||||||
2005-01-28 Elijah Newren <newren@gmail.com>
|
2005-01-28 Elijah Newren <newren@gmail.com>
|
||||||
|
|
||||||
* src/metacity-dialog.c: (warn_about_no_sm_support): make this
|
* src/metacity-dialog.c: (warn_about_no_sm_support): make this
|
||||||
|
21
src/stack.c
21
src/stack.c
@ -251,6 +251,17 @@ is_focused_foreach (MetaWindow *window,
|
|||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static gboolean
|
||||||
|
windows_on_different_xinerama (MetaWindow *a,
|
||||||
|
MetaWindow *b)
|
||||||
|
{
|
||||||
|
if (a->screen != b->screen)
|
||||||
|
return TRUE;
|
||||||
|
|
||||||
|
return meta_screen_get_xinerama_for_window (a->screen, a) !=
|
||||||
|
meta_screen_get_xinerama_for_window (b->screen, b);
|
||||||
|
}
|
||||||
|
|
||||||
/* Get layer ignoring any transient or group relationships */
|
/* Get layer ignoring any transient or group relationships */
|
||||||
static MetaStackLayer
|
static MetaStackLayer
|
||||||
get_standalone_layer (MetaWindow *window)
|
get_standalone_layer (MetaWindow *window)
|
||||||
@ -279,9 +290,13 @@ 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->has_focus || focused_transient ||
|
else if ((window->fullscreen || window_is_fullscreen_size (window)) &&
|
||||||
(window == window->display->expected_focus_window)) &&
|
(window->has_focus || focused_transient ||
|
||||||
(window->fullscreen || window_is_fullscreen_size (window)))
|
window == window->display->expected_focus_window ||
|
||||||
|
window->display->focus_window == NULL ||
|
||||||
|
(window->display->focus_window != NULL &&
|
||||||
|
windows_on_different_xinerama (window,
|
||||||
|
window->display->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