aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authormarkt <markt>2007-01-21 18:45:32 (GMT)
committermarkt <markt>2007-01-21 18:45:32 (GMT)
commit92537091003a9e259abff98e648e58c63a201bc1 (patch)
treed7a7dbd4677770a1efc1d7e160f2b03bfdbd1cfc /src
parentfeb56381d704d61255ca5b0f0ae60e3f4f5f9986 (diff)
downloadfluxbox_pavel-92537091003a9e259abff98e648e58c63a201bc1.zip
fluxbox_pavel-92537091003a9e259abff98e648e58c63a201bc1.tar.bz2
don't move window frame when closing tab with non-northwest gravity, just the client
Diffstat (limited to 'src')
-rw-r--r--src/Window.cc8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/Window.cc b/src/Window.cc
index 642a76b..4bfa452 100644
--- a/src/Window.cc
+++ b/src/Window.cc
@@ -3724,8 +3724,10 @@ void FluxboxWindow::restore(WinClient *client, bool remap) {
3724 XChangeSaveSet(display, client->window(), SetModeDelete); 3724 XChangeSaveSet(display, client->window(), SetModeDelete);
3725 client->setEventMask(NoEventMask); 3725 client->setEventMask(NoEventMask);
3726 3726
3727 int wx = frame().x(), wy = frame().y(); // not actually used here 3727 int wx = frame().x(), wy = frame().y();
3728 frame().gravityTranslate(wx, wy, -client->gravity(), client->old_bw, true); // negative to invert 3728 // don't move the frame, in case there are other tabs in it
3729 // just set the new coordinates on the reparented window
3730 frame().gravityTranslate(wx, wy, -client->gravity(), client->old_bw, false); // negative to invert
3729 3731
3730 // Why was this hide done? It broke vncviewer (and mplayer?), 3732 // Why was this hide done? It broke vncviewer (and mplayer?),
3731 // since it would reparent when going fullscreen. 3733 // since it would reparent when going fullscreen.
@@ -3744,7 +3746,7 @@ void FluxboxWindow::restore(WinClient *client, bool remap) {
3744 3746
3745#endif // DEBUG 3747#endif // DEBUG
3746 // reparent to root window 3748 // reparent to root window
3747 client->reparent(screen().rootWindow(), frame().x(), frame().y(), false); 3749 client->reparent(screen().rootWindow(), wx, wy, false);
3748 3750
3749 if (!remap) 3751 if (!remap)
3750 client->hide(); 3752 client->hide();