summaryrefslogtreecommitdiff
path: root/beryl-plugins/src/wobbly.c
diff options
context:
space:
mode:
authormaniac <maniac@d7aaf104-2d23-0410-ae22-9d23157bf5a3>2006-12-07 23:51:27 +0000
committermaniac <maniac@d7aaf104-2d23-0410-ae22-9d23157bf5a3>2006-12-07 23:51:27 +0000
commit91cf1c4bd5752ea7d557b28c51a9abcd3a15aa69 (patch)
tree90a9c7a8a05ee1dc3ceba82176420f2dd79c266e /beryl-plugins/src/wobbly.c
parent3f2d615609d6accfe24794686f50f6089fe5e8f6 (diff)
downloadmarex-dev-91cf1c4bd5752ea7d557b28c51a9abcd3a15aa69.tar.gz
marex-dev-91cf1c4bd5752ea7d557b28c51a9abcd3a15aa69.tar.bz2
wobbly plugin: make maximize effect work properly (David Reveman)
git-svn-id: file:///beryl/trunk@1593 d7aaf104-2d23-0410-ae22-9d23157bf5a3
Diffstat (limited to 'beryl-plugins/src/wobbly.c')
-rw-r--r--beryl-plugins/src/wobbly.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/beryl-plugins/src/wobbly.c b/beryl-plugins/src/wobbly.c
index a3e20c2..bc3e9ee 100644
--- a/beryl-plugins/src/wobbly.c
+++ b/beryl-plugins/src/wobbly.c
@@ -3147,7 +3147,9 @@ static void wobblyWindowResizeNotify(CompWindow * w)
WOBBLY_WINDOW(w);
if (ws->opt[WOBBLY_SCREEN_OPTION_MAXIMIZE_EFFECT].value.b &&
- isWobblyWin(w) && ((w->state ^ ww->state) & MAXIMIZE_STATE)) {
+ isWobblyWin(w) && ((w->state | ww->state) & MAXIMIZE_STATE)) {
+ ww->state &= ~MAXIMIZE_STATE;
+ ww->state |= w->state & MAXIMIZE_STATE;
if (wobblyEnsureModel(w)) {
if (w->state & MAXIMIZE_STATE) {
if (!ww->grabbed
@@ -3184,9 +3186,12 @@ static void wobblyWindowResizeNotify(CompWindow * w)
ww->wobbly |= WobblyInitial;
ws->wobblyWindows |= ww->wobbly;
+
+ damagePendingOnScreen (w->screen);
}
} else if (ww->model) {
- modelInitObjects(ww->model,
+ if (!ww->wobbly)
+ modelInitObjects(ww->model,
WIN_X(w), WIN_Y(w), WIN_W(w), WIN_H(w));
modelInitSprings(ww->model,
@@ -3215,8 +3220,6 @@ static void wobblyWindowResizeNotify(CompWindow * w)
WIN_W(w), WIN_H(w));
}
- ww->state = w->state;
-
UNWRAP(ws, w->screen, windowResizeNotify);
(*w->screen->windowResizeNotify) (w);
WRAP(ws, w->screen, windowResizeNotify, wobblyWindowResizeNotify);