summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormaniac <maniac@d7aaf104-2d23-0410-ae22-9d23157bf5a3>2007-02-16 12:41:40 +0000
committermaniac <maniac@d7aaf104-2d23-0410-ae22-9d23157bf5a3>2007-02-16 12:41:40 +0000
commitb14e1d97f506358903cb878c9a74434ce6cc4959 (patch)
tree8f1b16778950b210c8eb519f01b8afab0d0f6870
parent946a25aeb817da81dd2906dd0b00cbf83e44d998 (diff)
downloadmarex-dev-b14e1d97f506358903cb878c9a74434ce6cc4959.tar.gz
marex-dev-b14e1d97f506358903cb878c9a74434ce6cc4959.tar.bz2
wall plugin: issue screengrab while sliding
git-svn-id: file:///beryl/trunk@4098 d7aaf104-2d23-0410-ae22-9d23157bf5a3
-rw-r--r--beryl-plugins/src/wall.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/beryl-plugins/src/wall.c b/beryl-plugins/src/wall.c
index ccabc99..3d520f2 100644
--- a/beryl-plugins/src/wall.c
+++ b/beryl-plugins/src/wall.c
@@ -359,7 +359,20 @@ static void wallMoveViewport(CompScreen * s, int x, int y, Window moveWindow)
}
if (ws->moving)
+ {
ws->boxTimeout = wd->opt[WALL_DISPLAY_OPTION_PREVIEW_TIMEOUT].value.f * 1000;
+ if (!otherScreenGrabExist(s, "move", "wall", 0))
+ {
+ if (ws->grabIndex)
+ removeScreenGrab(s, ws->grabIndex, NULL);
+ ws->grabIndex = pushScreenGrab(s, s->invisibleCursor, "wall");
+ }
+ else
+ {
+ ws->moving = FALSE;
+ ws->timer = 0;
+ }
+ }
damageScreen(s);
}
@@ -1309,6 +1322,12 @@ static void wallPreparePaintScreen(CompScreen * s, int ms)
wallReleaseMoveWindow(s);
else
focusDefaultWindow(s);
+
+ if (ws->grabIndex)
+ {
+ removeScreenGrab(s, ws->grabIndex, NULL);
+ ws->grabIndex = 0;
+ }
}
UNWRAP(ws, s, preparePaintScreen);