diff options
author | Don Stewart <dons@cse.unsw.edu.au> | 2007-05-05 03:43:32 +0200 |
---|---|---|
committer | Don Stewart <dons@cse.unsw.edu.au> | 2007-05-05 03:43:32 +0200 |
commit | 2b6a683017978c3a26f28e6980b32f534a68d77f (patch) | |
tree | 2eec45bad05595e3c65f7168dbd24d202047784b /Mosaic.hs | |
parent | 749b78be26e367afdf53bcd857fb2e190543446c (diff) | |
download | XMonadContrib-2b6a683017978c3a26f28e6980b32f534a68d77f.tar.gz XMonadContrib-2b6a683017978c3a26f28e6980b32f534a68d77f.tar.xz XMonadContrib-2b6a683017978c3a26f28e6980b32f534a68d77f.zip |
switch to Message type for layout messages
darcs-hash:20070505014332-9c5c1-55422992059769dabb9a43c980650f1910f79f48.gz
Diffstat (limited to 'Mosaic.hs')
-rw-r--r-- | Mosaic.hs | 9 |
1 files changed, 6 insertions, 3 deletions
@@ -35,16 +35,19 @@ module XMonadContrib.Mosaic ( mosaic, expandWindow, shrinkWindow, squareWindow ) import Data.Ratio import Graphics.X11.Xlib import XMonad -import Operations ( ShrinkOrExpand (Shrink, Expand) ) +import Operations ( Resize(Shrink, Expand) ) import qualified Data.Map as M import Data.List ( sort ) -import Data.Dynamic ( Typeable, fromDynamic ) +import Data.Typeable ( Typeable ) import Control.Monad ( mplus ) import System.IO.Unsafe data HandleWindow = ExpandWindow Window | ShrinkWindow Window | SquareWindow Window deriving ( Typeable, Eq ) + +instance Message HandleWindow + expandWindow, shrinkWindow, squareWindow :: Window -> HandleWindow expandWindow = ExpandWindow shrinkWindow = ShrinkWindow @@ -53,7 +56,7 @@ squareWindow = SquareWindow mosaic :: Rational -> Rational -> M.Map Window WindowRater -> M.Map Window Area -> Layout mosaic delta tileFrac raters areas = Layout { doLayout = mosaicL tileFrac raters areas , modifyLayout = mlayout } - where mlayout x = (m1 `fmap` fromDynamic x) `mplus` (m2 `fmap` fromDynamic x) + where mlayout x = (m1 `fmap` fromMessage x) `mplus` (m2 `fmap` fromMessage x) m1 Shrink = mosaic delta (tileFrac/(1+delta)) raters areas m1 Expand = mosaic delta (tileFrac*(1+delta)) raters areas m2 (ExpandWindow w) = mosaic delta tileFrac raters |