mirror of
https://github.com/brl/mutter.git
synced 2024-11-25 09:30:45 -05:00
also keep utility/menu/toolbar windows above their whole group.
2002-10-09 Havoc Pennington <hp@pobox.com> * src/stack.c (apply_constraints): also keep utility/menu/toolbar windows above their whole group. (get_standalone_layer): don't use META_LAYER_FOCUSED_WINDOW, but only use META_LAYER_FULLSCREEN while the fullscreen window has focus. Also, put screen-sized windows in the fullscreen layer, even if we didn't dare to actually put them in the fullscreen state.
This commit is contained in:
parent
f08337d939
commit
25ca0e21db
11
ChangeLog
11
ChangeLog
@ -1,3 +1,14 @@
|
|||||||
|
2002-10-09 Havoc Pennington <hp@pobox.com>
|
||||||
|
|
||||||
|
* src/stack.c (apply_constraints): also keep utility/menu/toolbar
|
||||||
|
windows above their whole group.
|
||||||
|
|
||||||
|
(get_standalone_layer): don't use META_LAYER_FOCUSED_WINDOW, but
|
||||||
|
only use META_LAYER_FULLSCREEN while the fullscreen window has
|
||||||
|
focus. Also, put screen-sized windows in the fullscreen layer,
|
||||||
|
even if we didn't dare to actually put them in the fullscreen
|
||||||
|
state.
|
||||||
|
|
||||||
2002-10-07 Havoc Pennington <hp@redhat.com>
|
2002-10-07 Havoc Pennington <hp@redhat.com>
|
||||||
|
|
||||||
Add a modifier key preference for the Alt+click stuff.
|
Add a modifier key preference for the Alt+click stuff.
|
||||||
|
37
src/stack.c
37
src/stack.c
@ -177,6 +177,32 @@ meta_stack_thaw (MetaStack *stack)
|
|||||||
meta_stack_sync_to_server (stack);
|
meta_stack_sync_to_server (stack);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static gboolean
|
||||||
|
window_is_fullscreen_size (MetaWindow *window)
|
||||||
|
{
|
||||||
|
int i;
|
||||||
|
|
||||||
|
if (window->rect.x == 0 &&
|
||||||
|
window->rect.y == 0 &&
|
||||||
|
window->rect.width == window->screen->width &&
|
||||||
|
window->rect.height == window->screen->height)
|
||||||
|
return TRUE;
|
||||||
|
|
||||||
|
i = 0;
|
||||||
|
while (i < window->screen->n_xinerama_infos)
|
||||||
|
{
|
||||||
|
if (window->rect.x == window->screen->xinerama_infos[i].x_origin &&
|
||||||
|
window->rect.y == window->screen->xinerama_infos[i].y_origin &&
|
||||||
|
window->rect.width == window->screen->xinerama_infos[i].width &&
|
||||||
|
window->rect.height == window->screen->xinerama_infos[i].height)
|
||||||
|
return TRUE;
|
||||||
|
|
||||||
|
++i;
|
||||||
|
}
|
||||||
|
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
/* 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)
|
||||||
@ -203,10 +229,14 @@ get_standalone_layer (MetaWindow *window)
|
|||||||
|
|
||||||
default:
|
default:
|
||||||
|
|
||||||
|
#if 0
|
||||||
if (window->has_focus &&
|
if (window->has_focus &&
|
||||||
meta_prefs_get_focus_mode () == META_FOCUS_MODE_CLICK)
|
meta_prefs_get_focus_mode () == META_FOCUS_MODE_CLICK)
|
||||||
layer = META_LAYER_FOCUSED_WINDOW;
|
layer = META_LAYER_FOCUSED_WINDOW;
|
||||||
else if (window->fullscreen)
|
#endif
|
||||||
|
|
||||||
|
if (window->has_focus &&
|
||||||
|
(window->fullscreen || window_is_fullscreen_size (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;
|
||||||
@ -400,7 +430,10 @@ apply_constraints (GList *list)
|
|||||||
if ((w->xtransient_for == None ||
|
if ((w->xtransient_for == None ||
|
||||||
w->transient_parent_is_root_window) &&
|
w->transient_parent_is_root_window) &&
|
||||||
(w->type == META_WINDOW_DIALOG ||
|
(w->type == META_WINDOW_DIALOG ||
|
||||||
w->type == META_WINDOW_MODAL_DIALOG))
|
w->type == META_WINDOW_MODAL_DIALOG ||
|
||||||
|
w->type == META_WINDOW_TOOLBAR ||
|
||||||
|
w->type == META_WINDOW_MENU ||
|
||||||
|
w->type == META_WINDOW_UTILITY))
|
||||||
{
|
{
|
||||||
GSList *group_windows;
|
GSList *group_windows;
|
||||||
GSList *tmp;
|
GSList *tmp;
|
||||||
|
Loading…
Reference in New Issue
Block a user