From 78d467386729502330d2cd386eb9221f101d6d67 Mon Sep 17 00:00:00 2001 From: David Roundy Date: Sat, 23 Jun 2007 22:14:47 +0200 Subject: support self-modifying layouts. darcs-hash:20070623201447-72aca-7bfeb7e7ec36b37420a4c670dc23156c52d7e22d.gz --- XMonad.hs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'XMonad.hs') diff --git a/XMonad.hs b/XMonad.hs index 7914782..bc54bfd 100644 --- a/XMonad.hs +++ b/XMonad.hs @@ -126,11 +126,11 @@ atom_WM_STATE = getAtom "WM_STATE" -- that message and the screen is not refreshed. Otherwise, 'modifyLayout' -- returns an updated 'Layout' and the screen is refreshed. -- -data Layout a = Layout { doLayout :: Rectangle -> Stack a -> X [(a, Rectangle)] +data Layout a = Layout { doLayout :: Rectangle -> Stack a -> X ([(a, Rectangle)], Maybe (Layout a)) , modifyLayout :: SomeMessage -> X (Maybe (Layout a)) } -runLayout :: Layout a -> Rectangle -> StackOrNot a -> X [(a, Rectangle)] -runLayout l r = maybe (return []) (doLayout l r) +runLayout :: Layout a -> Rectangle -> StackOrNot a -> X ([(a, Rectangle)], Maybe (Layout a)) +runLayout l r = maybe (return ([], Nothing)) (doLayout l r) -- | Based on ideas in /An Extensible Dynamically-Typed Hierarchy of Exceptions/, -- Simon Marlow, 2006. Use extensible messages to the modifyLayout handler. -- cgit v1.2.3