diff options
author | Spencer Janssen <sjanssen@cse.unl.edu> | 2007-09-20 23:10:42 +0200 |
---|---|---|
committer | Spencer Janssen <sjanssen@cse.unl.edu> | 2007-09-20 23:10:42 +0200 |
commit | 56d7d0a693340c6710adbc8623b20a7728e498a1 (patch) | |
tree | 28a61ba6e0b89da3e7d32d937dcee4cf9f2bfe6a /XMonad.hs | |
parent | 9733e389680ef92a90894ddfe85f833f9a4fead6 (diff) | |
download | xmonad-56d7d0a693340c6710adbc8623b20a7728e498a1.tar.gz xmonad-56d7d0a693340c6710adbc8623b20a7728e498a1.tar.xz xmonad-56d7d0a693340c6710adbc8623b20a7728e498a1.zip |
Pointfree Mirror and SomeLayout instances
darcs-hash:20070920211042-a5988-0fcfdaa8b1ecfffe0f1ec5e5584d53d7e31416d7.gz
Diffstat (limited to 'XMonad.hs')
-rw-r--r-- | XMonad.hs | 6 |
1 files changed, 2 insertions, 4 deletions
@@ -148,10 +148,8 @@ class (Show (layout a), Read (layout a)) => Layout layout a where modifyLayout :: layout a -> SomeMessage -> X (Maybe (layout a)) instance Layout SomeLayout a where - doLayout (SomeLayout l) r s = do (ars, ml') <- doLayout l r s - return (ars, SomeLayout `fmap` ml' ) - modifyLayout (SomeLayout l) m = do ml' <- modifyLayout l m - return (SomeLayout `fmap` ml') + doLayout (SomeLayout l) r s = fmap (fmap $ fmap SomeLayout) $ doLayout l r s + modifyLayout (SomeLayout l) = fmap (fmap SomeLayout) . modifyLayout l runLayout :: Layout l a => l a -> Rectangle -> StackOrNot a -> X ([(a, Rectangle)], Maybe (l a)) runLayout l r = maybe (return ([], Nothing)) (doLayout l r) |