mirror of
https://github.com/xmonad/xmonad.git
synced 2025-05-19 08:30:21 -07:00
add Show instance to Layout
This commit is contained in:
parent
0e5f8b03e8
commit
b4929576e7
@ -351,14 +351,14 @@ instance Message IncMasterN
|
||||
|
||||
-- simple fullscreen mode, just render all windows fullscreen.
|
||||
-- a plea for tuple sections: map . (,sc)
|
||||
data Full a = Full
|
||||
data Full a = Full deriving Show
|
||||
instance Layout Full a where
|
||||
doLayout Full sc (W.Stack f _ _) = return ([(f, sc)], Nothing)
|
||||
modifyLayout Full _ = return Nothing -- no changes
|
||||
--
|
||||
-- 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
|
||||
doLayout (Tall nmaster _ frac) r =
|
||||
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.
|
||||
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
|
||||
doLayout (Mirror l) r s = do (wrs, ml') <- doLayout l (mirrorRect r) s
|
||||
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.
|
||||
--
|
||||
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))
|
||||
modifyLayout :: layout a -> SomeMessage -> X (Maybe (layout a))
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user