mirror of
https://github.com/xmonad/xmonad-contrib.git
synced 2025-05-19 11:30:22 -07:00
switch to Message type for layout messages
This commit is contained in:
parent
4204c4daf6
commit
46f39d9d42
@ -35,16 +35,19 @@ module XMonadContrib.Mosaic ( mosaic, expandWindow, shrinkWindow, squareWindow )
|
|||||||
import Data.Ratio
|
import Data.Ratio
|
||||||
import Graphics.X11.Xlib
|
import Graphics.X11.Xlib
|
||||||
import XMonad
|
import XMonad
|
||||||
import Operations ( ShrinkOrExpand (Shrink, Expand) )
|
import Operations ( Resize(Shrink, Expand) )
|
||||||
import qualified Data.Map as M
|
import qualified Data.Map as M
|
||||||
import Data.List ( sort )
|
import Data.List ( sort )
|
||||||
import Data.Dynamic ( Typeable, fromDynamic )
|
import Data.Typeable ( Typeable )
|
||||||
import Control.Monad ( mplus )
|
import Control.Monad ( mplus )
|
||||||
|
|
||||||
import System.IO.Unsafe
|
import System.IO.Unsafe
|
||||||
|
|
||||||
data HandleWindow = ExpandWindow Window | ShrinkWindow Window | SquareWindow Window
|
data HandleWindow = ExpandWindow Window | ShrinkWindow Window | SquareWindow Window
|
||||||
deriving ( Typeable, Eq )
|
deriving ( Typeable, Eq )
|
||||||
|
|
||||||
|
instance Message HandleWindow
|
||||||
|
|
||||||
expandWindow, shrinkWindow, squareWindow :: Window -> HandleWindow
|
expandWindow, shrinkWindow, squareWindow :: Window -> HandleWindow
|
||||||
expandWindow = ExpandWindow
|
expandWindow = ExpandWindow
|
||||||
shrinkWindow = ShrinkWindow
|
shrinkWindow = ShrinkWindow
|
||||||
@ -53,7 +56,7 @@ squareWindow = SquareWindow
|
|||||||
mosaic :: Rational -> Rational -> M.Map Window WindowRater -> M.Map Window Area -> Layout
|
mosaic :: Rational -> Rational -> M.Map Window WindowRater -> M.Map Window Area -> Layout
|
||||||
mosaic delta tileFrac raters areas = Layout { doLayout = mosaicL tileFrac raters areas
|
mosaic delta tileFrac raters areas = Layout { doLayout = mosaicL tileFrac raters areas
|
||||||
, modifyLayout = mlayout }
|
, modifyLayout = mlayout }
|
||||||
where mlayout x = (m1 `fmap` fromDynamic x) `mplus` (m2 `fmap` fromDynamic x)
|
where mlayout x = (m1 `fmap` fromMessage x) `mplus` (m2 `fmap` fromMessage x)
|
||||||
m1 Shrink = mosaic delta (tileFrac/(1+delta)) raters areas
|
m1 Shrink = mosaic delta (tileFrac/(1+delta)) raters areas
|
||||||
m1 Expand = mosaic delta (tileFrac*(1+delta)) raters areas
|
m1 Expand = mosaic delta (tileFrac*(1+delta)) raters areas
|
||||||
m2 (ExpandWindow w) = mosaic delta tileFrac raters
|
m2 (ExpandWindow w) = mosaic delta tileFrac raters
|
||||||
|
Loading…
x
Reference in New Issue
Block a user