From 49009c7c868986f3762a489c04575fdc5d0dc0f6 Mon Sep 17 00:00:00 2001 From: Brent Yorgey Date: Mon, 31 Mar 2008 22:17:39 +0200 Subject: MultiToggle: add new XMonad.Layout.MultiToggle.Instances module for common instances of Transformer, update MultiToggle docs accordingly darcs-hash:20080331201739-bd4d7-901730282c5a27e589deba161b77c2752f643a0f.gz --- XMonad/Layout/MultiToggle/Instances.hs | 40 ++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 XMonad/Layout/MultiToggle/Instances.hs (limited to 'XMonad/Layout/MultiToggle') diff --git a/XMonad/Layout/MultiToggle/Instances.hs b/XMonad/Layout/MultiToggle/Instances.hs new file mode 100644 index 0000000..2ac04cf --- /dev/null +++ b/XMonad/Layout/MultiToggle/Instances.hs @@ -0,0 +1,40 @@ +{-# OPTIONS_GHC -fglasgow-exts #-} +-- above is for compatibility with GHC 6.6. +{-# LANGUAGE TypeSynonymInstances, DeriveDataTypeable #-} + +----------------------------------------------------------------------------- +-- | +-- 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 + +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 _ k = k Full + transform NBFULL _ k = k (noBorders Full) + transform MIRROR x k = k (Mirror x) + transform NOBORDERS x k = k (noBorders x) + transform SMARTBORDERS x k = k (smartBorders x) -- cgit v1.2.3