diff --git a/src/FbWinFrame.cc b/src/FbWinFrame.cc index fc35ae1d..72073ab2 100644 --- a/src/FbWinFrame.cc +++ b/src/FbWinFrame.cc @@ -1491,6 +1491,7 @@ void FbWinFrame::applyDecorations(bool do_move) { if (do_move) reconfigure(); + m_state.saveGeometry(x(), y(), width(), height()); if (client_move) frameExtentSig().notify(); } diff --git a/src/MinOverlapPlacement.cc b/src/MinOverlapPlacement.cc index eb2ce3fc..cea4f510 100644 --- a/src/MinOverlapPlacement.cc +++ b/src/MinOverlapPlacement.cc @@ -60,8 +60,10 @@ bool MinOverlapPlacement::placeWindow(const FluxboxWindow &win, int head, s_row_dir = screen_placement.rowDirection(); s_col_dir = screen_placement.colDirection(); - int win_w = win.width() + win.fbWindow().borderWidth()*2 + win.widthOffset(); - int win_h = win.height() + win.fbWindow().borderWidth()*2 + win.heightOffset(); + int win_w = win.normalWidth() + win.fbWindow().borderWidth()*2 + + win.widthOffset(); + int win_h = win.normalHeight() + win.fbWindow().borderWidth()*2 + + win.heightOffset(); // we keep a set of open spaces on the desktop, sorted by size/location std::set region_set;