From 6cf84887873b3be39670a2f9add42702c6fd5c30 Mon Sep 17 00:00:00 2001 From: Roman Cheplyaka Date: Tue, 15 Apr 2008 01:24:37 +0200 Subject: Fix to IM modifier. Avoid differentiating integrated stack by using StackSet.filter. darcs-hash:20080414232437-3ebed-18717ff1ee4939bd3ca852bd064013eaa3bbda25.gz --- XMonad/Layout/IM.hs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'XMonad') diff --git a/XMonad/Layout/IM.hs b/XMonad/Layout/IM.hs index 2b1b053..0f45d35 100644 --- a/XMonad/Layout/IM.hs +++ b/XMonad/Layout/IM.hs @@ -97,12 +97,13 @@ applyIM :: (LayoutClass l Window) => -> Rectangle -> X ([(Window, Rectangle)], Maybe (l Window)) applyIM ratio prop wksp rect = do - let ws = S.integrate' $ S.stack wksp + let stack = S.stack wksp + let ws = S.integrate' $ stack let (masterRect, slaveRect) = splitHorizontallyBy ratio rect master <- findM (hasProperty prop) ws case master of Just w -> do - let filteredStack = S.differentiate $ filter (w /=) ws + let filteredStack = stack >>= S.filter (w /=) wrs <- runLayout (wksp {S.stack = filteredStack}) slaveRect return ((w, masterRect) : fst wrs, snd wrs) Nothing -> runLayout wksp rect -- cgit v1.2.3