mirror of
https://github.com/xmonad/xmonad-contrib.git
synced 2025-05-19 03:20:21 -07:00
[Spiral] misc tidying
This commit is contained in:
parent
43c7f8f3ec
commit
aa4d37d8ac
15
Spiral.hs
15
Spiral.hs
@ -18,18 +18,19 @@ import XMonad
|
||||
fibs :: [Integer]
|
||||
fibs = 1 : 1 : (zipWith (+) fibs (tail fibs))
|
||||
|
||||
fibRatios :: [Rational]
|
||||
fibRatios = ratios fibs
|
||||
where
|
||||
ratios (x:y:rs) = (x % y) : ratios (y:rs)
|
||||
ratios _ = []
|
||||
mkRatios :: [Integer] -> [Rational]
|
||||
mkRatios (x1:x2:xs) = (x1 % x2) : mkRatios (x2:xs)
|
||||
mkRatios _ = []
|
||||
|
||||
spiral :: Rational -> Layout
|
||||
spiral scale = Layout { doLayout = fibLayout,
|
||||
modifyLayout = \m -> fmap resize (fromMessage m) }
|
||||
modifyLayout = \m -> fmap resize (fromMessage m) }
|
||||
where
|
||||
fibLayout sc ws = return $ zip ws (divideRects (map (* scale) . reverse . take len $ fibRatios) len East sc)
|
||||
fibLayout sc ws = return $ zip ws rects
|
||||
where len = length ws
|
||||
ratios = map (* scale) . reverse . take len . mkRatios $ fibs
|
||||
rects = divideRects ratios len East sc
|
||||
|
||||
resize Expand = spiral $ (11 % 10) * scale
|
||||
resize Shrink = spiral $ (10 % 11) * scale
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user