summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--XMonad/Operations.hs3
1 files changed, 2 insertions, 1 deletions
diff --git a/XMonad/Operations.hs b/XMonad/Operations.hs
index f6c927e..6a45553 100644
--- a/XMonad/Operations.hs
+++ b/XMonad/Operations.hs
@@ -103,6 +103,7 @@ windows :: (WindowSet -> WindowSet) -> X ()
windows f = do
XState { windowset = old } <- get
let oldvisible = concatMap (W.integrate' . W.stack . W.workspace) $ W.current old : W.visible old
+ newwindows = W.allWindows ws \\ W.allWindows old
ws = f old
XConf { display = d , normalBorder = nbc, focusedBorder = fbc } <- ask
@@ -155,7 +156,7 @@ windows f = do
-- hide every window that was potentially visible before, but is not
-- given a position by a layout now.
- mapM_ hide (nub oldvisible \\ visible)
+ mapM_ hide (nub (oldvisible ++ newwindows) \\ 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'