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 <[EMAIL PROTECTED]>
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 <[EMAIL PROTECTED]>
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 <[EMAIL PROTECTED]>
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 <[EMAIL PROTECTED]>
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);


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to