diff options
author | David Roundy <droundy@darcs.net> | 2007-06-19 17:08:16 +0200 |
---|---|---|
committer | David Roundy <droundy@darcs.net> | 2007-06-19 17:08:16 +0200 |
commit | 44004c24d5b4274e9b666497934f2a6a1fc34f59 (patch) | |
tree | 902858067505fd119d9b67d32d61f3db93656334 /XMonad.hs | |
parent | a1131013b194ed268594c06ce29784166471c64c (diff) | |
download | xmonad-44004c24d5b4274e9b666497934f2a6a1fc34f59.tar.gz xmonad-44004c24d5b4274e9b666497934f2a6a1fc34f59.tar.xz xmonad-44004c24d5b4274e9b666497934f2a6a1fc34f59.zip |
make Layouts able to layout whatever they like.
darcs-hash:20070619150816-72aca-a651e758e93e300c3e526985b328f0b1d7def60c.gz
Diffstat (limited to '')
-rw-r--r-- | XMonad.hs | 8 |
1 files changed, 4 insertions, 4 deletions
@@ -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/, |