From dde77eb3fadff17a1e9fef154b989b0312cedd3a Mon Sep 17 00:00:00 2001 From: Jason Creighton Date: Mon, 21 May 2007 05:14:35 +0200 Subject: only hide old workspace on view if the old workspace is not visible (Xinerama) darcs-hash:20070521031435-b9aa7-2a3825712b36c5ef267c89286006d0ea0073c57d --- Operations.hs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Operations.hs b/Operations.hs index 61be821..055675a 100644 --- a/Operations.hs +++ b/Operations.hs @@ -67,7 +67,9 @@ shift n = withFocused hide >> windows (W.shift n) view :: WorkspaceId -> X () view n = withWorkspace $ \w -> when (n /= (W.tag (W.current w))) $ do windows $ W.view n -- move in new workspace first, to avoid flicker - mapM_ hide (W.index w) -- now just hide the old workspace + -- Hide the old workspace if it is no longer visible + oldWsNotVisible <- (not . M.member (W.tag . W.current $ w) . W.screens) `liftM` gets workspace + when oldWsNotVisible $ mapM_ hide (W.index w) clearEnterEvents -- better clear any events from the old workspace -- | Kill the currently focused client. If we do kill it, we'll get a -- cgit v1.2.3