aboutsummaryrefslogtreecommitdiff
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
parentfeb56381d704d61255ca5b0f0ae60e3f4f5f9986 (diff)
downloadfluxbox_paul-92537091003a9e259abff98e648e58c63a201bc1.zip
fluxbox_paul-92537091003a9e259abff98e648e58c63a201bc1.tar.bz2
don't move window frame when closing tab with non-northwest gravity, just the client
-rw-r--r--ChangeLog2
-rw-r--r--src/Window.cc8
2 files changed, 7 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index e5f6d4b..4b3acd9 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,8 @@
1 (Format: Year/Month/Day) 1 (Format: Year/Month/Day)
2Changes for 1.0rc3: 2Changes for 1.0rc3:
3*07/01/21: 3*07/01/21:
4 * Little fix for closing tabs with non-default gravity (Mark)
5 Window.cc
4 * Several fixes for menu behavior (Mark) 6 * Several fixes for menu behavior (Mark)
5 - always give focus to the menu with the highlighted item 7 - always give focus to the menu with the highlighted item
6 - revert focus to menu when no other windows will take it 8 - revert focus to menu when no other windows will take it
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();