Don't do stacking for override-redirect windows

Don't add override-redirect windows to MetaStack; we shouldn't
be restacking them.

Since we *aren't* stacking the override-redirect windows, we need to
be careful that to ignore them when looking for the top managed
window.

http://bugzilla.gnome.org/show_bug.cgi?id=585984
This commit is contained in:
Owen W. Taylor
2009-06-15 14:31:04 -04:00
parent 6314ee8780
commit 34e4b594cd
3 changed files with 34 additions and 25 deletions

View File

@@ -955,8 +955,11 @@ meta_window_new_with_attrs (MetaDisplay *display,
* and thus constraints may try to auto-fullscreen it which also
* means restacking it.
*/
meta_stack_add (window->screen->stack,
window);
if (!window->override_redirect)
meta_stack_add (window->screen->stack,
window);
else
window->layer = META_LAYER_OVERRIDE_REDIRECT; /* otherwise set by MetaStack */
/* Put our state back where it should be,
* passing TRUE for is_configure_request, ICCCM says
@@ -1311,7 +1314,8 @@ meta_window_unmanage (MetaWindow *window,
}
#endif
meta_stack_remove (window->screen->stack, window);
if (!window->override_redirect)
meta_stack_remove (window->screen->stack, window);
if (window->frame)
meta_window_destroy_frame (window);