From 396aa50e300c68f28f2bafdfe8ef974b60cfb28d Mon Sep 17 00:00:00 2001 From: Spencer Janssen Date: Wed, 30 Apr 2008 03:40:12 +0200 Subject: Hide newly created but non-visible windows (fixes bug #172) darcs-hash:20080430014012-a5988-a203e733895ee2aa3839a266df0f8b19aa3c0763 --- XMonad/Operations.hs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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' -- cgit v1.2.3