aboutsummaryrefslogtreecommitdiffstats
path: root/Mosaic.hs
diff options
context:
space:
mode:
authorDon Stewart <dons@cse.unsw.edu.au>2007-05-05 03:43:32 +0200
committerDon Stewart <dons@cse.unsw.edu.au>2007-05-05 03:43:32 +0200
commit2b6a683017978c3a26f28e6980b32f534a68d77f (patch)
tree2eec45bad05595e3c65f7168dbd24d202047784b /Mosaic.hs
parent749b78be26e367afdf53bcd857fb2e190543446c (diff)
downloadXMonadContrib-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.hs9
1 files changed, 6 insertions, 3 deletions
diff --git a/Mosaic.hs b/Mosaic.hs
index 44877d4..61b814e 100644
--- a/Mosaic.hs
+++ b/Mosaic.hs
@@ -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