From f293ebd6f87d91aca977141ad321f3bf0c4b0cc5 Mon Sep 17 00:00:00 2001 From: Spencer Janssen Date: Wed, 12 Dec 2007 07:02:50 +0100 Subject: Set withdrawnState after calling hide darcs-hash:20071212060250-a5988-f390a9b9b9fab7ce59b05180e575092b8384e181 --- XMonad/Operations.hs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/XMonad/Operations.hs b/XMonad/Operations.hs index 26a3998..a2f4cf5 100644 --- a/XMonad/Operations.hs +++ b/XMonad/Operations.hs @@ -113,7 +113,6 @@ windows f = do 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 }) @@ -168,6 +167,11 @@ windows f = do -- given a position by a layout now. mapM_ hide (nub oldvisible \\ visible) + -- all windows that are no longer in the windowset are marked as + -- withdrawn, it is important to do this after the above, otherwise 'hide' + -- will overwrite withdrawnState with iconicState + mapM_ (flip setWMState withdrawnState) (W.allWindows old \\ W.allWindows ws) + clearEvents enterWindowMask -- | setWMState. set the WM_STATE property -- cgit v1.2.3