{-# LANGUAGE TypeSynonymInstances, DeriveDataTypeable, MultiParamTypeClasses #-} ----------------------------------------------------------------------------- -- | -- Module : XMonad.Layout.MultiToggle.Instances -- Copyright : (c) 2008 Brent Yorgey -- License : BSD-style (see LICENSE) -- -- Maintainer : -- Stability : unstable -- Portability : unportable -- -- Some convenient common instances of the -- 'XMonad.Layout.MultiToggle.Transformer' class, for use with -- "XMonad.Layout.MultiToggle". module XMonad.Layout.MultiToggle.Instances ( StdTransformers(..) ) where import XMonad.Layout.MultiToggle import XMonad import XMonad.Layout.NoBorders import XMonad.Layout.LayoutModifier data StdTransformers = FULL -- ^ switch to Full layout | NBFULL -- ^ switch to Full with no borders | MIRROR -- ^ Mirror the current layout. | NOBORDERS -- ^ Remove borders. | SMARTBORDERS -- ^ Apply smart borders. 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')