From 8700b67ae680c67c60bbdc1b3213903e9b6628de Mon Sep 17 00:00:00 2001 From: Adam Vogt Date: Sat, 2 May 2009 01:31:36 +0200 Subject: Add changeMaster function to L.Mosaic Ignore-this: eca2a48fb987bb871ad93e6c6bf1a186 darcs-hash:20090501233136-1499c-1a6628819fee9936cabf22b13770bb43d258e115.gz --- XMonad/Layout/Mosaic.hs | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/XMonad/Layout/Mosaic.hs b/XMonad/Layout/Mosaic.hs index aec2339..ef72c50 100644 --- a/XMonad/Layout/Mosaic.hs +++ b/XMonad/Layout/Mosaic.hs @@ -23,6 +23,7 @@ module XMonad.Layout.Mosaic ( ,steeper ,growMaster ,shrinkMaster + ,changeMaster ) where @@ -134,12 +135,15 @@ shallower [] = [] shallower xs = map (+(minimum xs*2)) xs growMaster :: [Rational] -> [Rational] -growMaster [] = [] -growMaster (x:xs) = 2*x:xs +growMaster = changeMaster 2 shrinkMaster :: [Rational] -> [Rational] -shrinkMaster [] = [] -shrinkMaster (x:xs) = x/2:xs +shrinkMaster = changeMaster 0.5 + +-- | Multiply the area of the current master by a specified ratio +changeMaster :: Rational -> [Rational] -> [Rational] +changeMaster _ [] = [] +changeMaster f (x:xs) = f*x:xs splits :: Int -> Rectangle -> [Rational] -> [[Rectangle]] splits num rect = splitsL rect . makeTree . normalize -- cgit v1.2.3