From 44004c24d5b4274e9b666497934f2a6a1fc34f59 Mon Sep 17 00:00:00 2001 From: David Roundy Date: Tue, 19 Jun 2007 17:08:16 +0200 Subject: make Layouts able to layout whatever they like. darcs-hash:20070619150816-72aca-a651e758e93e300c3e526985b328f0b1d7def60c.gz --- XMonad.hs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'XMonad.hs') diff --git a/XMonad.hs b/XMonad.hs index 46ef260..b6e9f91 100644 --- a/XMonad.hs +++ b/XMonad.hs @@ -43,7 +43,7 @@ data XState = XState , statusGaps :: ![(Int,Int,Int,Int)] -- ^ width of status bar on each screen , mapped :: !(S.Set Window) -- ^ the Set of mapped windows , waitingUnmap :: !(M.Map Window Int) -- ^ the number of expected UnmapEvents - , layouts :: !(M.Map WorkspaceId (Layout, [Layout])) } + , layouts :: !(M.Map WorkspaceId (Layout Window, [Layout Window])) } -- ^ mapping of workspaces to descriptions of their layouts data XConf = XConf { display :: Display -- ^ the X11 display @@ -119,10 +119,10 @@ atom_WM_STATE = getAtom "WM_STATE" -- 'doLayout', a pure function to layout a Window set 'modifyLayout', -- 'modifyLayout' can be considered a branch of an exception handler. -- -data Layout = Layout { doLayout :: Rectangle -> Stack Window -> X [(Window, Rectangle)] - , modifyLayout :: SomeMessage -> X (Maybe Layout) } +data Layout a = Layout { doLayout :: Rectangle -> Stack a -> X [(a, Rectangle)] + , modifyLayout :: SomeMessage -> X (Maybe (Layout a)) } -runLayout :: Layout -> Rectangle -> StackOrNot Window -> X [(Window, Rectangle)] +runLayout :: Layout a -> Rectangle -> StackOrNot a -> X [(a, Rectangle)] runLayout l r = maybe (return []) (doLayout l r) -- | Based on ideas in /An Extensible Dynamically-Typed Hierarchy of Exceptions/, -- cgit v1.2.3