{-# LANGUAGE TypeSynonymInstances, DeriveDataTypeable, MultiParamTypeClasses #-}
module XMonad.Layout.MultiToggle.Instances (
StdTransformers(..)
) where
import XMonad.Layout.MultiToggle
import XMonad
import XMonad.Layout.NoBorders
import XMonad.Layout.LayoutModifier
data StdTransformers = FULL
| NBFULL
| MIRROR
| NOBORDERS
| SMARTBORDERS
deriving (Read, Show, Eq, Typeable)
instance Transformer StdTransformers Window where
transform FULL x k = k Full (const x)
transform NBFULL x k = k (noBorders Full) (const x)
transform MIRROR x k = k (Mirror x) (\(Mirror x') -> x')
transform NOBORDERS x k = k (noBorders x) (\(ModifiedLayout _ x') -> x')
transform SMARTBORDERS x k = k (smartBorders x) (\(ModifiedLayout _ x') -> x')