compiz: Changes to 'upstream-unstable'
plugins/cube.c | 10 ++++++----
plugins/decoration.c | 1 +
src/window.c | 25 +++++++++++++------------
3 files changed, 20 insertions(+), 16 deletions(-)
New commits:
commit 061ff1593052b99d9159f21002c85fbab8abc87e
Author: Dennis Kasprzyk <onestone@opencompositing.org>
Date: Wed Dec 19 17:34:43 2007 +0100
Decorate "menu" window type windows.
diff --git a/plugins/decoration.c b/plugins/decoration.c
index ca49e21..70f1755 100644
--- a/plugins/decoration.c
+++ b/plugins/decoration.c
@@ -720,6 +720,7 @@ decorWindowUpdate (CompWindow *w,
case CompWindowTypeDialogMask:
case CompWindowTypeModalDialogMask:
case CompWindowTypeUtilMask:
+ case CompWindowTypeMenuMask:
case CompWindowTypeNormalMask:
if (w->mwmDecor & (MwmDecorAll | MwmDecorTitle))
decorate = TRUE;
commit 17488d86daffcb554d6f20508172e3a3db15d31b
Author: Dennis Kasprzyk <onestone@opencompositing.org>
Date: Wed Dec 19 17:34:18 2007 +0100
Add window actions "menu" type windows (ex. gimp detached menus).
diff --git a/src/window.c b/src/window.c
index 72a4cac..b0a6525 100644
--- a/src/window.c
+++ b/src/window.c
@@ -637,6 +637,7 @@ recalcWindowActions (CompWindow *w)
actions |= CompWindowActionShadeMask;
break;
case CompWindowTypeUtilMask:
+ case CompWindowTypeMenuMask:
case CompWindowTypeToolbarMask:
actions =
CompWindowActionMoveMask |
commit 77215784e124b45e1fa3c90857e984e0e0aaa1b5
Author: Dennis Kasprzyk <onestone@opencompositing.org>
Date: Wed Dec 19 14:11:37 2007 +0100
Damage window extents correcly of windows with borders.
diff --git a/src/window.c b/src/window.c
index 1f129bf..72a4cac 100644
--- a/src/window.c
+++ b/src/window.c
@@ -1397,33 +1397,33 @@ damageWindowOutputExtents (CompWindow *w)
BoxRec box;
/* top */
- box.x1 = -w->output.left;
- box.y1 = -w->output.top;
- box.x2 = w->width + w->output.right;
- box.y2 = 0;
+ box.x1 = -w->output.left - w->attrib.border_width;
+ box.y1 = -w->output.top - w->attrib.border_width;
+ box.x2 = w->width + w->output.right - w->attrib.border_width;
+ box.y2 = -w->attrib.border_width;
if (box.x1 < box.x2 && box.y1 < box.y2)
addWindowDamageRect (w, &box);
/* bottom */
- box.y1 = w->height;
- box.y2 = box.y1 + w->output.bottom;
+ box.y1 = w->height - w->attrib.border_width;
+ box.y2 = box.y1 + w->output.bottom - w->attrib.border_width;
if (box.x1 < box.x2 && box.y1 < box.y2)
addWindowDamageRect (w, &box);
/* left */
- box.x1 = -w->output.left;
- box.y1 = 0;
- box.x2 = 0;
- box.y2 = w->height;
+ box.x1 = -w->output.left - w->attrib.border_width;
+ box.y1 = -w->attrib.border_width;
+ box.x2 = -w->attrib.border_width;
+ box.y2 = w->height - w->attrib.border_width;
if (box.x1 < box.x2 && box.y1 < box.y2)
addWindowDamageRect (w, &box);
/* right */
- box.x1 = w->width;
- box.x2 = box.x1 + w->output.right;
+ box.x1 = w->width - w->attrib.border_width;
+ box.x2 = box.x1 + w->output.right - w->attrib.border_width;
if (box.x1 < box.x2 && box.y1 < box.y2)
addWindowDamageRect (w, &box);
commit 19791da80df3fa3e4c247b8d4d9d0ef42f4c74f3
Author: Dennis Kasprzyk <onestone@opencompositing.org>
Date: Wed Dec 19 13:00:21 2007 +0100
Draw cube caps correctly in inside cube mode.
diff --git a/plugins/cube.c b/plugins/cube.c
index 14ab2cc..460ae61 100644
--- a/plugins/cube.c
+++ b/plugins/cube.c
@@ -1370,7 +1370,7 @@ cubePaintTransformedOutput (CompScreen *s,
PaintOrder paintOrder;
Bool capsPainted;
Bool wasCulled = FALSE;
- Bool topDir, bottomDir;
+ Bool topDir, bottomDir, allCaps;
int output = 0;
CUBE_SCREEN (s);
@@ -1510,10 +1510,12 @@ cubePaintTransformedOutput (CompScreen *s,
cs->capsPainted[output] = TRUE;
+ allCaps = cs->desktopOpacity != OPAQUE || cs->invert != 1;
+
if (topDir && bottomDir)
{
glNormal3f (0.0f, -1.0f, 0.0f);
- if (cs->desktopOpacity != OPAQUE)
+ if (allCaps)
{
(*cs->paintBottom) (s, &sa, transform, outputPtr, hsize);
glNormal3f (0.0f, 0.0f, -1.0f);
@@ -1525,7 +1527,7 @@ cubePaintTransformedOutput (CompScreen *s,
else if (!topDir && !bottomDir)
{
glNormal3f (0.0f, 1.0f, 0.0f);
- if (cs->desktopOpacity != OPAQUE)
+ if (allCaps)
{
(*cs->paintTop) (s, &sa, transform, outputPtr, hsize);
glNormal3f (0.0f, 0.0f, -1.0f);
@@ -1534,7 +1536,7 @@ cubePaintTransformedOutput (CompScreen *s,
}
(*cs->paintBottom) (s, &sa, transform, outputPtr, hsize);
}
- else if (cs->desktopOpacity != OPAQUE)
+ else if (allCaps)
{
glNormal3f (0.0f, 1.0f, 0.0f);
(*cs->paintTop) (s, &sa, transform, outputPtr, hsize);
Reply to: