aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSpencer Janssen <sjanssen@cse.unl.edu>2007-06-04 01:47:30 +0200
committerSpencer Janssen <sjanssen@cse.unl.edu>2007-06-04 01:47:30 +0200
commit848f4abe7f8ed9fd304e68dac87cf7a30f828f17 (patch)
treef60ffe8af1d45822a8c8bf441c7c4752eeca6a2a
parent51a1ff8c4b23789d0507e770a814521e07158c5e (diff)
downloadxmonad-848f4abe7f8ed9fd304e68dac87cf7a30f828f17.tar.gz
xmonad-848f4abe7f8ed9fd304e68dac87cf7a30f828f17.tar.xz
xmonad-848f4abe7f8ed9fd304e68dac87cf7a30f828f17.zip
Honor configure requests from unmanaged windows
darcs-hash:20070603234730-a5988-d156b988188c622428ef60456c7e48bd739e5f64.gz
-rw-r--r--Main.hs8
1 files changed, 4 insertions, 4 deletions
diff --git a/Main.hs b/Main.hs
index 44b9a2d..faaf059 100644
--- a/Main.hs
+++ b/Main.hs
@@ -26,7 +26,7 @@ import Graphics.X11.Xinerama (getScreenInfo)
import XMonad
import Config
-import StackSet (new, floating)
+import StackSet (new, floating, member)
import Operations
--
@@ -183,10 +183,10 @@ handle e@(CrossingEvent {ev_event_type = t})
-- configure a window
handle e@(ConfigureRequestEvent {ev_window = w}) = withDisplay $ \dpy -> do
- f <- gets $ M.member w . floating . windowset
+ ws <- gets windowset
wa <- io $ getWindowAttributes dpy w
- if f
+ if M.member w (floating ws) || not (member w ws)
then do io $ configureWindow dpy w (ev_value_mask e) $ WindowChanges
{ wc_x = ev_x e
, wc_y = ev_y e
@@ -195,7 +195,7 @@ handle e@(ConfigureRequestEvent {ev_window = w}) = withDisplay $ \dpy -> do
, wc_border_width = fromIntegral borderWidth
, wc_sibling = ev_above e
, wc_stack_mode = ev_detail e }
- float w
+ when (member w ws) (float w)
else io $ allocaXEvent $ \ev -> do
setEventType ev configureNotify
setConfigureEvent ev w w