From a1131013b194ed268594c06ce29784166471c64c Mon Sep 17 00:00:00 2001
From: Peter De Wachter <pdewacht@gmail.com>
Date: Mon, 18 Jun 2007 23:46:57 +0200
Subject: float fixed size windows

darcs-hash:20070618214657-06a25-25676598a5d064293620b8e02741964e158b1763.gz
---
 Operations.hs | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/Operations.hs b/Operations.hs
index 296f0c2..6d54c7c 100644
--- a/Operations.hs
+++ b/Operations.hs
@@ -55,8 +55,10 @@ manage w = withDisplay $ \d -> do
     -- before the call to float, because that will resize the window and
     -- lose the default sizing.
 
+    sh <- io $ getWMNormalHints d w
+    let isFixedSize = sh_min_size sh /= Nothing && sh_min_size sh == sh_max_size sh
     isTransient <- isJust `liftM` io (getTransientForHint d w)
-    if isTransient
+    if isFixedSize || isTransient
         then do modify $ \s -> s { windowset = W.insertUp w (windowset s) }
                 float w -- \^^ now go the refresh.
         else windows $ W.insertUp w
-- 
cgit v1.2.3