allow to force moveResize and use on applyState applyState also requires some updates implied by moveResize, notably the reconfigure, the setBackground on the window etcetc. Instead of testing what'd be missing from a moveResize, we just force the latter to apply even when seeming unrequired. This has notable impact when switching fullscreen state for a window with fullscreen dimensions. BUG: 992
Thomas Lübking thomas.luebking@gmail.com
2 files changed,
5 insertions(+),
5 deletions(-)
M
src/FbWinFrame.cc
→
src/FbWinFrame.cc
@@ -272,11 +272,11 @@ int win_gravity, unsigned int client_bw) {
moveResizeForClient(0, 0, width, height, win_gravity, client_bw, false, true); } -void FbWinFrame::moveResize(int x, int y, unsigned int width, unsigned int height, bool move, bool resize) { - if (move && x == window().x() && y == window().y()) +void FbWinFrame::moveResize(int x, int y, unsigned int width, unsigned int height, bool move, bool resize, bool force) { + if (!force && move && x == window().x() && y == window().y()) move = false; - if (resize && width == FbWinFrame::width() && + if (!force && resize && width == FbWinFrame::width() && height == FbWinFrame::height()) resize = false;@@ -504,7 +504,7 @@ new_w = m_screen.getHeadWidth(head);
new_h = m_screen.getHeadHeight(head); } - moveResize(new_x, new_y, new_w, new_h); + moveResize(new_x, new_y, new_w, new_h, true, true, true); frameExtentSig().emit(); }
M
src/FbWinFrame.hh
→
src/FbWinFrame.hh
@@ -92,7 +92,7 @@
// can elect to ignore move or resize (mainly for use of move/resize individual functions void moveResize(int x, int y, unsigned int width, unsigned int height, - bool move = true, bool resize = true); + bool move = true, bool resize = true, bool force = false); // move without transparency or special effects (generally when dragging) void quietMoveResize(int x, int y,