mirror of
https://github.com/xmonad/xmonad-contrib.git
synced 2025-05-19 11:30:22 -07:00
fix bug in Combo where we ignored changes in super.
This commit is contained in:
parent
c6cfe936b2
commit
be4a63dd2c
8
Combo.hs
8
Combo.hs
@ -48,9 +48,9 @@ combo super origls = Layout { doLayout = \r s -> arrange r (integrate s), modify
|
|||||||
where arrange _ [] = return ([], Nothing)
|
where arrange _ [] = return ([], Nothing)
|
||||||
arrange r [w] = return ([(w,r)], Nothing)
|
arrange r [w] = return ([(w,r)], Nothing)
|
||||||
arrange rinput origws =
|
arrange rinput origws =
|
||||||
do lrs <- fst `fmap`
|
do (lrs, msuper') <- runLayout super rinput (differentiate $ take (length origws) origls)
|
||||||
runLayout super rinput (differentiate $ take (length origws) origls)
|
let super' = maybe super id msuper'
|
||||||
let lwrs [] _ = []
|
lwrs [] _ = []
|
||||||
lwrs [((l,_),r)] ws = [((l,r),differentiate ws)]
|
lwrs [((l,_),r)] ws = [((l,r),differentiate ws)]
|
||||||
lwrs (((l,n),r):xs) ws = ((l,r),differentiate $ take len1 ws) : lwrs xs (drop len1 ws)
|
lwrs (((l,n),r):xs) ws = ((l,r),differentiate $ take len1 ws) : lwrs xs (drop len1 ws)
|
||||||
where len1 = min n (length ws - length xs)
|
where len1 = min n (length ws - length xs)
|
||||||
@ -58,7 +58,7 @@ combo super origls = Layout { doLayout = \r s -> arrange r (integrate s), modify
|
|||||||
let origls' = zipWith foo (out++repeat ([],Nothing)) origls
|
let origls' = zipWith foo (out++repeat ([],Nothing)) origls
|
||||||
foo (_, Nothing) x = x
|
foo (_, Nothing) x = x
|
||||||
foo (_, Just l') (_, n) = (l', n)
|
foo (_, Just l') (_, n) = (l', n)
|
||||||
return (concat $ map fst out, Just $ combo super origls')
|
return (concat $ map fst out, Just $ combo super' origls')
|
||||||
message m = do mls <- broadcastPrivate m (map fst origls)
|
message m = do mls <- broadcastPrivate m (map fst origls)
|
||||||
let mls' = (\x->zipWith first (map const x) origls) `fmap` mls
|
let mls' = (\x->zipWith first (map const x) origls) `fmap` mls
|
||||||
msuper <- broadcastPrivate m [super]
|
msuper <- broadcastPrivate m [super]
|
||||||
|
Loading…
x
Reference in New Issue
Block a user