aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRoman Cheplyaka <roma@ro-che.info>2008-04-15 01:24:37 +0200
committerRoman Cheplyaka <roma@ro-che.info>2008-04-15 01:24:37 +0200
commit6cf84887873b3be39670a2f9add42702c6fd5c30 (patch)
tree9b737a1b557ffe6421e4a352ce99de072961829a
parentd0030a114c45b794a194df8d81cefc3ab0c0aaa1 (diff)
downloadXMonadContrib-6cf84887873b3be39670a2f9add42702c6fd5c30.tar.gz
XMonadContrib-6cf84887873b3be39670a2f9add42702c6fd5c30.tar.xz
XMonadContrib-6cf84887873b3be39670a2f9add42702c6fd5c30.zip
Fix to IM modifier.
Avoid differentiating integrated stack by using StackSet.filter. darcs-hash:20080414232437-3ebed-18717ff1ee4939bd3ca852bd064013eaa3bbda25.gz
-rw-r--r--XMonad/Layout/IM.hs5
1 files changed, 3 insertions, 2 deletions
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