From 586ff1e1f0da39137d1af4813215614d9ef44973 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marco=20Trevisan=20=28Trevi=C3=B1o=29?= Date: Wed, 22 Oct 2014 09:58:46 -0400 Subject: CompizUtils: allow to filter-out unmapped windows (bzr r3884.2.1) --- unity-shared/CompizUtils.cpp | 6 +++--- unity-shared/CompizUtils.h | 16 ++++++++++++++-- 2 files changed, 17 insertions(+), 5 deletions(-) (limited to 'unity-shared') diff --git a/unity-shared/CompizUtils.cpp b/unity-shared/CompizUtils.cpp index 94322a68f..406343014 100644 --- a/unity-shared/CompizUtils.cpp +++ b/unity-shared/CompizUtils.cpp @@ -177,14 +177,14 @@ int CairoContext::height() const // // -unsigned WindowDecorationElements(CompWindow* win) +unsigned WindowDecorationElements(CompWindow* win, WindowFilter::Value wf) { unsigned elements = DecorationElement::NONE; if (!win) return elements; - if (!win->isViewable()) + if (!win->isViewable() && wf == WindowFilter::NONE) return elements; if (win->wmType() & (CompWindowTypeDockMask | CompWindowTypeDesktopMask)) @@ -208,7 +208,7 @@ unsigned WindowDecorationElements(CompWindow* win) if (!win->overrideRedirect() && (win->type() & DECORABLE_WINDOW_TYPES) && - (win->frame() || win->hasUnmapReference())) + (win->frame() || win->hasUnmapReference() || wf == WindowFilter::UNMAPPED)) { if (win->actions() & CompWindowActionResizeMask) elements |= DecorationElement::EDGE; diff --git a/unity-shared/CompizUtils.h b/unity-shared/CompizUtils.h index f1885a5cc..8129ab2b7 100644 --- a/unity-shared/CompizUtils.h +++ b/unity-shared/CompizUtils.h @@ -119,7 +119,18 @@ private: cairo_t *cr_; }; -enum DecorationElement +namespace WindowFilter +{ +enum Value +{ + NONE, + UNMAPPED +}; +} + +namespace DecorationElement +{ +enum { NONE = 0, EDGE = (1 << 0), @@ -127,8 +138,9 @@ enum DecorationElement BORDER = (1 << 2), FULL = EDGE|SHADOW|BORDER }; +} -unsigned WindowDecorationElements(CompWindow*); +unsigned WindowDecorationElements(CompWindow*, WindowFilter::Value wf = WindowFilter::NONE); bool IsWindowEdgeDecorable(CompWindow*); bool IsWindowShadowDecorable(CompWindow*); -- cgit v1.2.3