diff options
Diffstat (limited to '')
-rw-r--r-- | XMonad/Layout/Mosaic.hs | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/XMonad/Layout/Mosaic.hs b/XMonad/Layout/Mosaic.hs index 9f726f7..eca1978 100644 --- a/XMonad/Layout/Mosaic.hs +++ b/XMonad/Layout/Mosaic.hs @@ -71,10 +71,11 @@ data Aspect instance Message Aspect data Mosaic a - {- | The relative magnitudes of the positive rational numbers provided - determine the relative areas that the windows receive. The first - number represents the size of the master window, the second is for the - next window in the stack, and so on. + {- | The relative magnitudes (the sign is ignored) of the rational numbers + - provided determine the relative areas that the windows receive. The + - first number represents the size of the master window, the second is for + - the next window in the stack, and so on. Windows without a list element + - are hidden. -} = Mosaic [Rational] -- override the aspect? current index, maximum index @@ -141,7 +142,8 @@ shrinkMaster [] = [] shrinkMaster (x:xs) = x/2:xs splits :: Int -> Rectangle -> [Rational] -> [[Rectangle]] -splits num rect sz = splitsL rect $ makeTree $ normalize $ reverse $ take num sz +splits num rect sz = splitsL rect $ makeTree $ normalize + $ map abs $ reverse $ take num sz -- recursively enumerate splits splitsL :: Rectangle -> Tree Rational -> [[Rectangle]] |