diff options
author | markt <markt> | 2007-01-21 18:45:32 (GMT) |
---|---|---|
committer | markt <markt> | 2007-01-21 18:45:32 (GMT) |
commit | 92537091003a9e259abff98e648e58c63a201bc1 (patch) | |
tree | d7a7dbd4677770a1efc1d7e160f2b03bfdbd1cfc /src/Window.cc | |
parent | feb56381d704d61255ca5b0f0ae60e3f4f5f9986 (diff) | |
download | fluxbox-92537091003a9e259abff98e648e58c63a201bc1.zip fluxbox-92537091003a9e259abff98e648e58c63a201bc1.tar.bz2 |
don't move window frame when closing tab with non-northwest gravity, just the client
Diffstat (limited to 'src/Window.cc')
-rw-r--r-- | src/Window.cc | 8 |
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(); |