summaryrefslogtreecommitdiffstats
path: root/Operations.hs
diff options
context:
space:
mode:
authorDavid Roundy <droundy@darcs.net>2007-06-19 17:08:16 +0200
committerDavid Roundy <droundy@darcs.net>2007-06-19 17:08:16 +0200
commit89d4a3d97510872051524cd7078db2d33c4e7b3f (patch)
tree902858067505fd119d9b67d32d61f3db93656334 /Operations.hs
parent9081664484b98066eb793ae5ab14f350ace89dd5 (diff)
downloadmetatile-89d4a3d97510872051524cd7078db2d33c4e7b3f.tar
metatile-89d4a3d97510872051524cd7078db2d33c4e7b3f.zip
make Layouts able to layout whatever they like.
darcs-hash:20070619150816-72aca-a651e758e93e300c3e526985b328f0b1d7def60c
Diffstat (limited to 'Operations.hs')
-rw-r--r--Operations.hs6
1 files changed, 3 insertions, 3 deletions
diff --git a/Operations.hs b/Operations.hs
index 6d54c7c..4eaf3e2 100644
--- a/Operations.hs
+++ b/Operations.hs
@@ -368,14 +368,14 @@ instance Message IncMasterN
-- simple fullscreen mode, just render all windows fullscreen.
-- a plea for tuple sections: map . (,sc)
-full :: Layout
+full :: Layout a
full = Layout { doLayout = \sc (W.Stack f _ _) -> return [(f, sc)]
, modifyLayout = const (return Nothing) } -- no changes
--
-- The tiling mode of xmonad, and its operations.
--
-tall :: Int -> Rational -> Rational -> Layout
+tall :: Int -> Rational -> Rational -> Layout a
tall nmaster delta frac =
Layout { doLayout = \r -> return . ap zip (tile frac r nmaster . length) . W.integrate
, modifyLayout = \m -> return $ msum [fmap resize (fromMessage m)
@@ -390,7 +390,7 @@ mirrorRect :: Rectangle -> Rectangle
mirrorRect (Rectangle rx ry rw rh) = (Rectangle ry rx rh rw)
-- | Mirror a layout, compute its 90 degree rotated form.
-mirror :: Layout -> Layout
+mirror :: Layout a -> Layout a
mirror (Layout { doLayout = dl, modifyLayout = ml }) =
Layout { doLayout = \sc w -> map (second mirrorRect) `fmap` dl (mirrorRect sc) w
, modifyLayout = fmap (fmap mirror) . ml }