summaryrefslogtreecommitdiffstats
path: root/twin/client.cpp
diff options
context:
space:
mode:
authorMichele Calgaro <[email protected]>2023-11-17 18:56:13 +0900
committerMichele Calgaro <[email protected]>2023-11-26 17:48:54 +0900
commita9bd5b50e9b77b8b360dd3620013a320733139aa (patch)
tree70d1d9c60c97a15f47e1b20f52d2715be1d0c4f1 /twin/client.cpp
parent82c1dbe490f7afcb5b48fdfb8748bde249bcf4f7 (diff)
downloadtdebase-a9bd5b50e9b77b8b360dd3620013a320733139aa.tar.gz
tdebase-a9bd5b50e9b77b8b360dd3620013a320733139aa.zip
Fix unwanted window resizing. This resolves issue TDE/tde#57.
Some applications (like xfce4-terminal) try to manage their sizes by requesting the window manager a different size. The WM responds by resizing the window and the application tries once again to adjust its own size. This can lead to a repeated loop of request-resize which results in the application window to either shrink to the minimum allowed size or expand to the display size. Signed-off-by: Michele Calgaro <[email protected]>
Diffstat (limited to 'twin/client.cpp')
-rw-r--r--twin/client.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/twin/client.cpp b/twin/client.cpp
index 74bee8535..d76dda619 100644
--- a/twin/client.cpp
+++ b/twin/client.cpp
@@ -128,6 +128,9 @@ Client::Client( Workspace *ws )
autoRaiseTimer = 0;
shadeHoverTimer = 0;
+ configureRequestTimer = new TQTimer(this);
+ connect(configureRequestTimer, TQT_SIGNAL(timeout()), TQT_SLOT(configureRequestTimeout()));
+
shadowDelayTimer = new TQTimer(this);
opacityCache = &activeOpacityCache;
shadowAfterClient = NULL;
@@ -969,6 +972,12 @@ void Client::setShade( ShadeMode mode )
updateWindowRules();
}
+void Client::configureRequestTimeout()
+ {
+ moveResizeMode = false;
+ sendSyntheticConfigureNotify();
+ }
+
void Client::shadeHover()
{
setShade( ShadeHover );