all repos — fluxbox @ 4bc08709f196e513914e453e2a1117c0823d0a41

custom fork of the fluxbox windowmanager

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
commit

4bc08709f196e513914e453e2a1117c0823d0a41

parent

baaf477d46e619127b91faf59be2cf2c2c95afff

2 files changed, 5 insertions(+), 5 deletions(-)

jump to
M src/FbWinFrame.ccsrc/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.hhsrc/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,