diff options
Diffstat (limited to 'src/Window.cc')
-rw-r--r-- | src/Window.cc | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/src/Window.cc b/src/Window.cc index 2431328..c29cf72 100644 --- a/src/Window.cc +++ b/src/Window.cc | |||
@@ -22,7 +22,7 @@ | |||
22 | // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER | 22 | // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER |
23 | // DEALINGS IN THE SOFTWARE. | 23 | // DEALINGS IN THE SOFTWARE. |
24 | 24 | ||
25 | // $Id: Window.cc,v 1.45 2002/04/17 06:42:04 fluxgen Exp $ | 25 | // $Id: Window.cc,v 1.46 2002/04/17 07:24:59 fluxgen Exp $ |
26 | 26 | ||
27 | #include "Window.hh" | 27 | #include "Window.hh" |
28 | 28 | ||
@@ -3360,9 +3360,19 @@ void FluxboxWindow::motionNotifyEvent(XMotionEvent *me) { | |||
3360 | if (new_id != cur_id) { | 3360 | if (new_id != cur_id) { |
3361 | frame.x += dx; | 3361 | frame.x += dx; |
3362 | XWarpPointer(display, None, None, 0, 0, 0, 0, dx, 0); | 3362 | XWarpPointer(display, None, None, 0, 0, 0, 0, dx, 0); |
3363 | screen->reassociateWindow(this, new_id, True); | 3363 | screen->reassociateWindow(this, new_id, true); |
3364 | |||
3365 | //if the window has a tab and is in a group | ||
3366 | //reassociate those windows too | ||
3367 | if (hasTab() && (getTab()->next() || getTab()->prev())) { | ||
3368 | Tab *tab_it = getTab()->first(); | ||
3369 | for (; tab_it; tab_it = tab_it->next()) { | ||
3370 | screen->reassociateWindow(tab_it->getWindow(), new_id, true); | ||
3371 | } | ||
3372 | } | ||
3364 | screen->changeWorkspaceID(new_id); | 3373 | screen->changeWorkspaceID(new_id); |
3365 | setInputFocus(); | 3374 | setInputFocus(); |
3375 | screen->raiseFocus(); | ||
3366 | } | 3376 | } |
3367 | } | 3377 | } |
3368 | 3378 | ||