diff options
-rw-r--r-- | XMonad/Operations.hs | 6 |
1 files changed, 5 insertions, 1 deletions
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 |