From ae1200ddbfef409b506799584c0fe8f945300dc1 Mon Sep 17 00:00:00 2001
From: fluxgen <fluxgen>
Date: Sat, 14 Sep 2002 12:31:18 +0000
Subject: fixed WM_NORMAL_HINTS

---
 src/Window.cc | 26 +++++++++++++++++---------
 1 file changed, 17 insertions(+), 9 deletions(-)

diff --git a/src/Window.cc b/src/Window.cc
index 019ccb4..d60c907 100644
--- a/src/Window.cc
+++ b/src/Window.cc
@@ -22,7 +22,7 @@
 // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
 // DEALINGS IN THE SOFTWARE.
 
-// $Id: Window.cc,v 1.86 2002/09/12 14:55:11 rathnor Exp $
+// $Id: Window.cc,v 1.87 2002/09/14 12:31:18 fluxgen Exp $
 
 #include "Window.hh"
 
@@ -1488,7 +1488,7 @@ void FluxboxWindow::configure(int dx, int dy,
 		event.xconfigure.above = frame.window;
 		event.xconfigure.override_redirect = false;
 
-		XSendEvent(display, client.window, True, NoEventMask, &event);
+		XSendEvent(display, client.window, False, StructureNotifyMask, &event);
 
 		screen->updateNetizenConfigNotify(&event);
 	}
@@ -2677,16 +2677,24 @@ void FluxboxWindow::propertyNotifyEvent(Atom atom) {
 		getWMNormalHints();
 
 		if ((client.normal_hint_flags & PMinSize) &&
-				(client.normal_hint_flags & PMaxSize)) {
+			(client.normal_hint_flags & PMaxSize)) {
+ 
 			if (client.max_width <= client.min_width &&
-					client.max_height <= client.min_height) {
-				decorations.maximize = decorations.handle =
-					functions.resize = functions.maximize = false;
-			} else {
+				client.max_height <= client.min_height) {
+				decorations.maximize = false;
 				decorations.handle = false;
-				decorations.maximize = functions.resize = functions.maximize = true;
+				functions.resize=false;
+				functions.maximize=false;
+			} else {
+				if (! isTransient()) {
+					decorations.maximize = true;
+					decorations.handle = true;
+					functions.maximize = true;	        
+				}
+				functions.resize = true;
 			}
-		}
+ 
+    	}
 
 		int x = frame.x, y = frame.y;
 		unsigned int w = frame.width, h = frame.height;
-- 
cgit v0.11.2