summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Lübking <thomas.luebking@gmail.com>2012-03-07 13:46:17 (GMT)
committerThomas Lübking <thomas.luebking@gmail.com>2012-03-13 20:38:54 (GMT)
commit677915da069b4d563b40250c4b69943af53a70bd (patch)
tree111742a2877303e2474d8df6dd4f0496fbc3a8f7
parentd854fc98630bcdbc0d450ae7bc642240f5f535ad (diff)
store restore size /before/ removing the decoration for BorderlessMaximized (lead to window resizes on unmaximization)
BUG: 295449 REVIEW: 104185
-rw-r--r--kwin/geometry.cpp18
1 files changed, 10 insertions, 8 deletions
diff --git a/kwin/geometry.cpp b/kwin/geometry.cpp
index d9ae97a..8af615f 100644
--- a/kwin/geometry.cpp
+++ b/kwin/geometry.cpp
@@ -2133,6 +2133,8 @@ void Client::changeMaximize(bool vertical, bool horizontal, bool adjust)
{
if (changeMaximizeRecursion)
return;
+
+ // sic! codeblock for TemporaryAssign
{
// isMovable() and isResizable() may be false for maximized windows
// with moving/resizing maximized windows disabled
@@ -2169,14 +2171,6 @@ void Client::changeMaximize(bool vertical, bool horizontal, bool adjust)
else
clientArea = workspace()->clientArea(MaximizeArea, this);
- if (options->borderlessMaximizedWindows()) {
- // triggers a maximize change.
- // The next setNoBorder interation will exit since there's no change but the first recursion pullutes the restore/pretile geometry
- changeMaximizeRecursion = true;
- setNoBorder(app_noborder || max_mode == MaximizeFull);
- changeMaximizeRecursion = false;
- }
-
// save sizes for restoring, if maximalizing
if (!adjust && !(old_mode & MaximizeVertical)) {
geom_restore.setTop(y());
@@ -2194,6 +2188,14 @@ void Client::changeMaximize(bool vertical, bool horizontal, bool adjust)
geom_pretile.setWidth(width());
}
+ if (options->borderlessMaximizedWindows()) {
+ // triggers a maximize change.
+ // The next setNoBorder interation will exit since there's no change but the first recursion pullutes the restore/pretile geometry
+ changeMaximizeRecursion = true;
+ setNoBorder(app_noborder || max_mode == MaximizeFull);
+ changeMaximizeRecursion = false;
+ }
+
if (!adjust) {
if ((vertical && !(old_mode & MaximizeVertical))
|| (horizontal && !(old_mode & MaximizeHorizontal)))