1
0
mirror of https://github.com/xmonad/xmonad.git synced 2025-07-25 01:01:52 -07:00

add Show instance to Layout

This commit is contained in:
David Roundy
2007-09-20 16:12:08 +00:00
parent 0e5f8b03e8
commit b4929576e7
2 changed files with 7 additions and 3 deletions

@@ -351,14 +351,14 @@ instance Message IncMasterN
-- simple fullscreen mode, just render all windows fullscreen. -- simple fullscreen mode, just render all windows fullscreen.
-- a plea for tuple sections: map . (,sc) -- a plea for tuple sections: map . (,sc)
data Full a = Full data Full a = Full deriving Show
instance Layout Full a where instance Layout Full a where
doLayout Full sc (W.Stack f _ _) = return ([(f, sc)], Nothing) doLayout Full sc (W.Stack f _ _) = return ([(f, sc)], Nothing)
modifyLayout Full _ = return Nothing -- no changes modifyLayout Full _ = return Nothing -- no changes
-- --
-- The tiling mode of xmonad, and its operations. -- The tiling mode of xmonad, and its operations.
-- --
data Tall a = Tall Int Rational Rational data Tall a = Tall Int Rational Rational deriving Show
instance Layout Tall a where instance Layout Tall a where
doLayout (Tall nmaster _ frac) r = doLayout (Tall nmaster _ frac) r =
return . (\x->(x,Nothing)) . return . (\x->(x,Nothing)) .
@@ -376,6 +376,8 @@ mirrorRect (Rectangle rx ry rw rh) = (Rectangle ry rx rh rw)
-- | Mirror a layout, compute its 90 degree rotated form. -- | Mirror a layout, compute its 90 degree rotated form.
data Mirror a = forall l. Layout l a => Mirror (l a) data Mirror a = forall l. Layout l a => Mirror (l a)
instance Show (Mirror a) where
show (Mirror l) = "Mirror "++show l
instance Layout Mirror a where instance Layout Mirror a where
doLayout (Mirror l) r s = do (wrs, ml') <- doLayout l (mirrorRect r) s doLayout (Mirror l) r s = do (wrs, ml') <- doLayout l (mirrorRect r) s
return (map (second mirrorRect) wrs, Mirror `fmap` ml') return (map (second mirrorRect) wrs, Mirror `fmap` ml')

@@ -132,8 +132,10 @@ atom_WM_STATE = getAtom "WM_STATE"
-- returns an updated 'Layout' and the screen is refreshed. -- returns an updated 'Layout' and the screen is refreshed.
-- --
data SomeLayout a = forall l. Layout l a => SomeLayout (l a) data SomeLayout a = forall l. Layout l a => SomeLayout (l a)
instance Show (SomeLayout a) where
show (SomeLayout l) = show l
class Layout layout a where class Show (layout a) => Layout layout a where
doLayout :: layout a -> Rectangle -> Stack a -> X ([(a, Rectangle)], Maybe (layout a)) doLayout :: layout a -> Rectangle -> Stack a -> X ([(a, Rectangle)], Maybe (layout a))
modifyLayout :: layout a -> SomeMessage -> X (Maybe (layout a)) modifyLayout :: layout a -> SomeMessage -> X (Maybe (layout a))