diff options
| author | rbell <riley.bell@vfemail.net> | 2025-05-21 15:15:22 -0700 |
|---|---|---|
| committer | Michele Calgaro <michele.calgaro@yahoo.it> | 2025-05-23 10:32:41 +0900 |
| commit | 97a133a52950fa7ddaeede73c79c9039377fedcd (patch) | |
| tree | 898464c7197effd31b074b2f5b06a2edb4cd5aee | |
| parent | 786c710ec8ee3fa711b50991078ad4cbc99e9f8e (diff) | |
| download | tdebase-97a133a52950fa7ddaeede73c79c9039377fedcd.tar.gz tdebase-97a133a52950fa7ddaeede73c79c9039377fedcd.zip | |
TWin: Fix tiling from window menu and geom_restore. Resolves issue #624
Signed-off-by: rbell <riley.bell@vfemail.net>
(cherry picked from commit d91c954dc24d35dcc221200c858cfd6aa4186782)
| -rw-r--r-- | twin/geometry.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/twin/geometry.cpp b/twin/geometry.cpp index e62d5da7d..0c0f4f97b 100644 --- a/twin/geometry.cpp +++ b/twin/geometry.cpp @@ -1915,12 +1915,12 @@ void Client::changeMaximize( bool vertical, bool horizontal, bool adjust ) TQRect clientArea = workspace()->clientArea( MaximizeArea, this ); // save sizes for restoring, if maximalizing - if( !adjust && !( y() == clientArea.top() && height() == clientArea.height())) + if( !activeTiled && !adjust && !( y() == clientArea.top() && height() == clientArea.height())) { geom_restore.setTop( y()); geom_restore.setHeight( height()); } - if( !adjust && !( x() == clientArea.left() && width() == clientArea.width())) + if( !activeTiled && !adjust && !( x() == clientArea.left() && width() == clientArea.width())) { geom_restore.setLeft( x()); geom_restore.setWidth( width()); @@ -2833,7 +2833,10 @@ TQRect Client::activeBorderMaximizeGeometry() void Client::tileToBorder(ActiveBorder border) { if (!isResizable()) return; activeTiled = true; + if (maximizeMode() == MaximizeRestore) + geom_restore = geometry(); setActiveBorderMode(ActiveTilingMode); + setActiveBorderPos(TQCursor().pos()); setActiveBorder(border); TQRect geo = activeBorderMaximizeGeometry(); if (geo.isValid() && !geo.isEmpty()) { |
