diff options
author | maniac <maniac@d7aaf104-2d23-0410-ae22-9d23157bf5a3> | 2007-02-16 12:41:40 +0000 |
---|---|---|
committer | maniac <maniac@d7aaf104-2d23-0410-ae22-9d23157bf5a3> | 2007-02-16 12:41:40 +0000 |
commit | b14e1d97f506358903cb878c9a74434ce6cc4959 (patch) | |
tree | 8f1b16778950b210c8eb519f01b8afab0d0f6870 | |
parent | 946a25aeb817da81dd2906dd0b00cbf83e44d998 (diff) | |
download | marex-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.c | 19 |
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); |