summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDanny Baumann <dannybaumann@web.de>2012-03-19 09:53:12 +0100
committerDanny Baumann <dannybaumann@web.de>2012-03-19 09:53:52 +0100
commit480eb3315313cfc01e04727d2c19acfbe35b0f8e (patch)
tree580c5ffe14a8041852ada5a2d0fbddf704370d31
parentc88a816ccf5b8ea5df8375a45683690bed740133 (diff)
downloadkdecompat-480eb3315313cfc01e04727d2c19acfbe35b0f8e.tar.gz
kdecompat-480eb3315313cfc01e04727d2c19acfbe35b0f8e.tar.bz2
Adapt for changed slide animation protocol.
-rw-r--r--kdecompat.c26
1 files changed, 26 insertions, 0 deletions
diff --git a/kdecompat.c b/kdecompat.c
index 5b5f38e..08bc5e9 100644
--- a/kdecompat.c
+++ b/kdecompat.c
@@ -631,6 +631,32 @@ kdecompatUpdateSlidePosition (CompWindow *w)
kw->slideData->remaining = 0;
kw->slideData->start = data[0];
kw->slideData->position = data[1];
+
+ if (kw->slideData->start < 0)
+ {
+ int output = outputDeviceForWindow (w);
+ XRectangle rect;
+
+ getWorkareaForOutput (w->screen, output, &rect);
+
+ switch (kw->slideData->position)
+ {
+ case West:
+ kw->slideData->start = rect.x;
+ break;
+ case North:
+ kw->slideData->start = rect.y;
+ break;
+ case East:
+ kw->slideData->start = rect.x + rect.width;
+ break;
+ case South:
+ default:
+ kw->slideData->start = rect.y + rect.height;
+ break;
+ }
+ }
+
if (n >= 3)
{
kw->slideData->slideInTime = data[2];