From bf97a2aeecc56d2bc04cc4e1cbfd9e54a75bddff Mon Sep 17 00:00:00 2001 From: "Nikita V. Youshchenko" Date: Fri, 20 Oct 2000 21:28:43 +0000 Subject: [PATCH] Applied motif windows placement workaround from kwm 1.1.2, and added a personal workaround for Netscape svn path=/trunk/kdebase/kwin/; revision=68436 --- client.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/client.cpp b/client.cpp index 248f74d314..4976e08615 100644 --- a/client.cpp +++ b/client.cpp @@ -538,7 +538,14 @@ bool Client::manage( bool isMapped, bool doNotShow, bool isInitial ) if ( isMapped || session || isTransient() ) { placementDone = TRUE; } else { - if ( (xSizeHint.flags & PPosition) || (xSizeHint.flags & USPosition) ) { + // Motif apps set invalid hints. Workaround that + // if ( (xSizeHint.flags & PPosition) || (xSizeHint.flags & USPosition) ) { + if ( ( ( xSizeHint.flags & PPosition ) && + // For most Motif apps (from KDE 1.1.2 kwm) + ( xSizeHint.x!=0 || xSizeHint.y!=0 ) && + // Personally for Netscape - ugly, but tired of that bug ... + ( xSizeHint.x!=10 || xSizeHint.y!=10 ) ) || + ( xSizeHint.flags & USPosition ) ) { placementDone = TRUE; if ( windowType() == NET::Normal && !area.contains( geom.topLeft() ) && may_move ) { int tx = geom.x();