make Circle work with Layout class.

This commit is contained in:
David Roundy
2007-09-21 21:55:25 +00:00
parent 59789e11f4
commit 8d1d4b466e

View File

@@ -15,7 +15,7 @@
module XMonadContrib.Circle ( module XMonadContrib.Circle (
-- * Usage -- * Usage
-- $usage -- $usage
circle Circle
) where -- actually it's an ellipse ) where -- actually it's an ellipse
import Data.List import Data.List
@@ -23,8 +23,6 @@ import Graphics.X11.Xlib
import XMonad import XMonad
import StackSet (integrate, peek) import StackSet (integrate, peek)
import XMonadContrib.LayoutHelpers ( idModify )
-- $usage -- $usage
-- You can use this module with the following in your Config.hs file: -- You can use this module with the following in your Config.hs file:
-- --
@@ -32,10 +30,12 @@ import XMonadContrib.LayoutHelpers ( idModify )
-- %import XMonadContrib.Circle -- %import XMonadContrib.Circle
circle :: Layout Window data Circle a = Circle deriving ( Read, Show )
circle = Layout { doLayout = \r s -> do { layout <- raiseFocus $ circleLayout r $ integrate s
; return (layout, Nothing) } instance Layout Circle Window where
, modifyLayout = idModify } doLayout Circle r s = do layout <- raiseFocus $ circleLayout r $ integrate s
return (layout, Nothing)
modifyLayout Circle _ = return Nothing
circleLayout :: Rectangle -> [a] -> [(a, Rectangle)] circleLayout :: Rectangle -> [a] -> [(a, Rectangle)]
circleLayout _ [] = [] circleLayout _ [] = []