summaryrefslogtreecommitdiffstats
path: root/XMonad
diff options
context:
space:
mode:
authorSpencer Janssen <sjanssen@cse.unl.edu>2007-12-11 08:45:06 +0100
committerSpencer Janssen <sjanssen@cse.unl.edu>2007-12-11 08:45:06 +0100
commitfa9f240c658446d89c98f1ba6589b2b34472a3b8 (patch)
tree341dc384570420ec7a620cfccdf6f486b8d5451a /XMonad
parentaaffda953b8e141037421208f1120a77bdc98a5f (diff)
downloadmetatile-fa9f240c658446d89c98f1ba6589b2b34472a3b8.tar
metatile-fa9f240c658446d89c98f1ba6589b2b34472a3b8.zip
Delete windows from waitingUnmap that aren't waitng for any unmaps
darcs-hash:20071211074506-a5988-86d61a18c3480ed6aab7acac068c59b5db062b81
Diffstat (limited to 'XMonad')
-rw-r--r--XMonad/Main.hs4
1 files changed, 3 insertions, 1 deletions
diff --git a/XMonad/Main.hs b/XMonad/Main.hs
index a312333..c25eabf 100644
--- a/XMonad/Main.hs
+++ b/XMonad/Main.hs
@@ -151,7 +151,9 @@ handle (UnmapEvent {ev_window = w, ev_send_event = synthetic}) = whenX (isClient
e <- gets (fromMaybe 0 . M.lookup w . waitingUnmap)
if (synthetic || e == 0)
then unmanage w
- else modify (\s -> s { waitingUnmap = M.adjust pred w (waitingUnmap s) })
+ else modify (\s -> s { waitingUnmap = M.update mpred w (waitingUnmap s) })
+ where mpred 1 = Nothing
+ mpred n = Just $ pred n
-- set keyboard mapping
handle e@(MappingNotifyEvent {}) = do