--- compiz-0.3.6/src/window.c 2006-12-29 21:48:34.000000000 -0600 +++ compiz-0.3.6.new/src/window.c 2007-03-19 06:54:34.000000000 -0500 @@ -1929,6 +1929,17 @@ CompWindowTypeDesktopMask)) setDesktopForWindow (w, 0xffffffff); + unsigned int desktop; + desktop = getWindowProp (w->screen->display, w->id, + w->screen->display->winDesktopAtom, + w->screen->currentDesktop); + + if (desktop > w->screen->hsize) + desktop = desktop % w->screen->hsize; + moveWindowToViewportPosition (w, + w->attrib.x+w->screen->width*desktop, + TRUE); + if (w->desktop != 0xffffffff) w->desktop = w->screen->currentDesktop;