aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Lübking <thomas.luebking@gmail.com>2016-07-23 21:59:22 (GMT)
committerMathias Gumz <akira@fluxbox.org>2016-07-30 09:22:24 (GMT)
commit4bc08709f196e513914e453e2a1117c0823d0a41 (patch)
treebecf525ee9e7b11f96403e9e55f6934fab467d06
parentbaaf477d46e619127b91faf59be2cf2c2c95afff (diff)
downloadfluxbox-4bc08709f196e513914e453e2a1117c0823d0a41.zip
fluxbox-4bc08709f196e513914e453e2a1117c0823d0a41.tar.bz2
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
-rw-r--r--src/FbWinFrame.cc8
-rw-r--r--src/FbWinFrame.hh2
2 files changed, 5 insertions, 5 deletions
diff --git a/src/FbWinFrame.cc b/src/FbWinFrame.cc
index 42b81e7..21f174b 100644
--- a/src/FbWinFrame.cc
+++ b/src/FbWinFrame.cc
@@ -272,11 +272,11 @@ void FbWinFrame::resizeForClient(unsigned int width, unsigned int height,
272 moveResizeForClient(0, 0, width, height, win_gravity, client_bw, false, true); 272 moveResizeForClient(0, 0, width, height, win_gravity, client_bw, false, true);
273} 273}
274 274
275void FbWinFrame::moveResize(int x, int y, unsigned int width, unsigned int height, bool move, bool resize) { 275void FbWinFrame::moveResize(int x, int y, unsigned int width, unsigned int height, bool move, bool resize, bool force) {
276 if (move && x == window().x() && y == window().y()) 276 if (!force && move && x == window().x() && y == window().y())
277 move = false; 277 move = false;
278 278
279 if (resize && width == FbWinFrame::width() && 279 if (!force && resize && width == FbWinFrame::width() &&
280 height == FbWinFrame::height()) 280 height == FbWinFrame::height())
281 resize = false; 281 resize = false;
282 282
@@ -504,7 +504,7 @@ void FbWinFrame::applyState() {
504 new_h = m_screen.getHeadHeight(head); 504 new_h = m_screen.getHeadHeight(head);
505 } 505 }
506 506
507 moveResize(new_x, new_y, new_w, new_h); 507 moveResize(new_x, new_y, new_w, new_h, true, true, true);
508 frameExtentSig().emit(); 508 frameExtentSig().emit();
509} 509}
510 510
diff --git a/src/FbWinFrame.hh b/src/FbWinFrame.hh
index f8961c8..617b9b9 100644
--- a/src/FbWinFrame.hh
+++ b/src/FbWinFrame.hh
@@ -92,7 +92,7 @@ public:
92 // can elect to ignore move or resize (mainly for use of move/resize individual functions 92 // can elect to ignore move or resize (mainly for use of move/resize individual functions
93 void moveResize(int x, int y, 93 void moveResize(int x, int y,
94 unsigned int width, unsigned int height, 94 unsigned int width, unsigned int height,
95 bool move = true, bool resize = true); 95 bool move = true, bool resize = true, bool force = false);
96 96
97 // move without transparency or special effects (generally when dragging) 97 // move without transparency or special effects (generally when dragging)
98 void quietMoveResize(int x, int y, 98 void quietMoveResize(int x, int y,