[metacity] window: don't manage our own windows
- From: Alberts Muktupāvels <muktupavels src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [metacity] window: don't manage our own windows
- Date: Tue, 28 Feb 2017 01:55:29 +0000 (UTC)
commit 62ab5389c48ac084794672ff19a817cf3719f0a7
Author: Alberts Muktupāvels <alberts muktupavels gmail com>
Date: Tue Feb 28 00:06:12 2017 +0200
window: don't manage our own windows
src/core/window.c | 37 +++++++++++++++++++++++++++++++++++++
1 files changed, 37 insertions(+), 0 deletions(-)
---
diff --git a/src/core/window.c b/src/core/window.c
index ec71bf0..a82d1e9 100644
--- a/src/core/window.c
+++ b/src/core/window.c
@@ -240,6 +240,37 @@ meta_window_new (MetaDisplay *display,
return window;
}
+static gboolean
+is_our_xwindow (MetaDisplay *display,
+ Window xwindow,
+ XWindowAttributes *attrs)
+{
+ if (xwindow == display->screen->no_focus_window)
+ return TRUE;
+
+ if (xwindow == display->screen->flash_window)
+ return TRUE;
+
+ if (xwindow == display->screen->wm_sn_selection_window)
+ return TRUE;
+
+ if (xwindow == display->screen->wm_cm_selection_window)
+ return TRUE;
+
+ if (meta_compositor_is_our_xwindow (display->compositor, xwindow))
+ return TRUE;
+
+ /* Any windows created via meta_create_offscreen_window */
+ if (attrs->override_redirect &&
+ attrs->x == -100 && attrs->y == -100 &&
+ attrs->width == 1 && attrs->height == 1)
+ {
+ return TRUE;
+ }
+
+ return FALSE;
+}
+
MetaWindow*
meta_window_new_with_attrs (MetaDisplay *display,
Window xwindow,
@@ -271,6 +302,12 @@ meta_window_new_with_attrs (MetaDisplay *display,
return NULL;
}
+ if (is_our_xwindow (display, xwindow, attrs))
+ {
+ meta_verbose ("Not managing our own windows\n");
+ return NULL;
+ }
+
/* Grab server */
meta_display_grab (display);
meta_error_trap_push (display); /* Push a trap over all of window
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]