diff options
Diffstat (limited to 'src/Window.cc')
-rw-r--r-- | src/Window.cc | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/Window.cc b/src/Window.cc index 56b1e09..4c6c681 100644 --- a/src/Window.cc +++ b/src/Window.cc | |||
@@ -2584,14 +2584,18 @@ void FluxboxWindow::configureRequestEvent(XConfigureRequestEvent &cr) { | |||
2584 | frame().setActiveGravity(client->gravity(), client->old_bw); | 2584 | frame().setActiveGravity(client->gravity(), client->old_bw); |
2585 | } | 2585 | } |
2586 | 2586 | ||
2587 | if (cr.value_mask & CWWidth) | 2587 | if (cr.value_mask & CWWidth) { |
2588 | cw = cr.width; | 2588 | cw = cr.width; |
2589 | // we must set this now, or else window grows when height not specified | ||
2590 | ch -= (frame().titlebarHeight() + frame().handleHeight()); | ||
2591 | } | ||
2589 | 2592 | ||
2590 | if (cr.value_mask & CWHeight) | 2593 | if (cr.value_mask & CWHeight) |
2591 | ch = cr.height; | 2594 | ch = cr.height; |
2592 | 2595 | ||
2593 | // whether we should send ConfigureNotify to netizens | 2596 | // whether we should send ConfigureNotify to netizens |
2594 | // the request is for client window so we resize the frame to it first | 2597 | // the request is for client window so we resize the frame to it first |
2598 | // NOTE: this might not work correctly if client actually requests that size | ||
2595 | if (frame().width() != cw || frame().height() != ch) { | 2599 | if (frame().width() != cw || frame().height() != ch) { |
2596 | if (frame().x() != cx || frame().y() != cy) | 2600 | if (frame().x() != cx || frame().y() != cy) |
2597 | frame().moveResizeForClient(cx, cy, cw, ch); | 2601 | frame().moveResizeForClient(cx, cy, cw, ch); |