summaryrefslogtreecommitdiffstats
path: root/XMonad
diff options
context:
space:
mode:
authorSpencer Janssen <sjanssen@cse.unl.edu>2007-12-11 09:01:17 +0100
committerSpencer Janssen <sjanssen@cse.unl.edu>2007-12-11 09:01:17 +0100
commitdabfa442f43f7276baf7a49d0e814d10b944705d (patch)
tree63b1759590fb0f18dd590195e7b1ecb7f61d0e75 /XMonad
parentbf34d87d69b01236e4aa012e3708d1b0204d40af (diff)
downloadmetatile-dabfa442f43f7276baf7a49d0e814d10b944705d.tar
metatile-dabfa442f43f7276baf7a49d0e814d10b944705d.zip
Make windows responsible for setting withdrawn state
darcs-hash:20071211080117-a5988-c992f6c8147b3a91603afe3ba604c235b5a3c211
Diffstat (limited to 'XMonad')
-rw-r--r--XMonad/Operations.hs7
1 files changed, 4 insertions, 3 deletions
diff --git a/XMonad/Operations.hs b/XMonad/Operations.hs
index e84b30d..cce197b 100644
--- a/XMonad/Operations.hs
+++ b/XMonad/Operations.hs
@@ -72,9 +72,7 @@ manage w = whenX (not <$> isClient w) $ withDisplay $ \d -> do
-- list, on whatever workspace it is.
--
unmanage :: Window -> X ()
-unmanage w = do
- windows (W.delete w)
- setWMState w withdrawnState
+unmanage = windows . W.delete
-- | Modify the size of the status gap at the top of the current screen
-- Taking a function giving the current screen, and current geometry.
@@ -113,7 +111,10 @@ windows f = do
let oldvisible = concatMap (W.integrate' . W.stack . W.workspace) $ W.current old : W.visible old
ws = f old
XConf { display = d , normalBorder = nbc, focusedBorder = fbc } <- ask
+
mapM_ setInitialProperties (W.allWindows ws \\ W.allWindows old)
+ mapM_ (flip setWMState withdrawnState) (W.allWindows old \\ W.allWindows ws)
+
whenJust (W.peek old) $ \otherw -> io $ setWindowBorder d otherw nbc
modify (\s -> s { windowset = ws })