summaryrefslogtreecommitdiffstats
path: root/twin/client.h
diff options
context:
space:
mode:
authorMavridis Philippe <mavridisf@gmail.com>2023-04-05 22:08:38 +0300
committerMavridis Philippe <mavridisf@gmail.com>2023-05-27 16:32:23 +0300
commit31335a04ed9bc01fd3ede33afde40d6f3359f2e9 (patch)
treec15b7ab30c4af1e4992b908e48921d6c6c7017a8 /twin/client.h
parent3285a47d5dc3ffecabe49aaa11877f1abe71df44 (diff)
downloadtdebase-31335a04ed9bc01fd3ede33afde40d6f3359f2e9.tar.gz
tdebase-31335a04ed9bc01fd3ede33afde40d6f3359f2e9.zip
TWin: Active borders and snap tiling
This commit is a squash of the commits of TDE/tdebase#331. In short, this backports some improvements to existing electric border functionality from KDE, adds the snap tiling (or aerosnap) feature and brings rudimentary support for active corners, which will be fully implemented in a later PR. The options dialog and the documentation has been updated to reflect these changes. Additionally, a new relevant option is introduced: an option for restoring the original size of maximized/tiled windows when the user starts dragging them. The option is set to be off by default, preserving the traditional behaviour of KDE 3.x/TDE. Last but not least, the term "electric" in relation to borders and corners is replaced by "active" for clarity to the users. Signed-off-by: Mavridis Philippe <mavridisf@gmail.com>
Diffstat (limited to 'twin/client.h')
-rw-r--r--twin/client.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/twin/client.h b/twin/client.h
index d3c7e7b13..332501f88 100644
--- a/twin/client.h
+++ b/twin/client.h
@@ -232,6 +232,11 @@ class Client : public TQObject, public KDecorationDefines
void resizeWithChecks( int w, int h, ForceGeometry_t force = NormalGeometrySet );
void resizeWithChecks( const TQSize& s, ForceGeometry_t force = NormalGeometrySet );
void keepInArea( TQRect area, bool partial = false );
+ void setActiveBorderMode( ActiveMaximizingMode mode );
+ ActiveMaximizingMode activeBorderMode() const;
+ void setActiveBorderMaximizing(bool maximizing);
+ bool isActiveBorderMaximizing() const;
+ TQRect activeBorderMaximizeGeometry();
void growHorizontal();
void shrinkHorizontal();
@@ -600,6 +605,11 @@ class Client : public TQObject, public KDecorationDefines
bool isBMP_;
TQTimer* demandAttentionKNotifyTimer;
+ bool activeMaximizing;
+ bool activeTiled;
+ TQRect activeTiledOrigGeom;
+ ActiveMaximizingMode activeMode;
+
friend bool performTransiencyCheck();
bool minimized_before_suspend;
};