From b975c0a90dce97c8d96ab464d69575a9d8c150b3 Mon Sep 17 00:00:00 2001 From: azahi Date: Tue, 12 Jun 2018 22:59:58 +0300 Subject: Add X.Custom and split existing code in modules --- src/XMonad/Custom/Layout.hs | 56 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 src/XMonad/Custom/Layout.hs (limited to 'src/XMonad/Custom/Layout.hs') diff --git a/src/XMonad/Custom/Layout.hs b/src/XMonad/Custom/Layout.hs new file mode 100644 index 0000000..8f14926 --- /dev/null +++ b/src/XMonad/Custom/Layout.hs @@ -0,0 +1,56 @@ +{-# LANGUAGE DeriveDataTypeable #-} +{-# LANGUAGE MultiParamTypeClasses #-} +{-# LANGUAGE TypeSynonymInstances #-} + +module XMonad.Custom.Layout + ( layoutHook' + , Transformers (..) + ) where + +import XMonad +import XMonad.Custom.Theme +import XMonad.Hooks.ManageDocks +import XMonad.Layout.Accordion +import XMonad.Layout.BinarySpacePartition +import XMonad.Layout.Fullscreen +import XMonad.Layout.Gaps +import XMonad.Layout.Hidden +import XMonad.Layout.LayoutModifier +import XMonad.Layout.MultiToggle +import XMonad.Layout.MultiToggle.Instances +import XMonad.Layout.NoBorders +import XMonad.Layout.Reflect +import XMonad.Layout.Simplest +import XMonad.Layout.Spacing +import XMonad.Layout.SubLayouts +import XMonad.Layout.Tabbed +import XMonad.Layout.WindowNavigation + +applySpacing :: l a -> ModifiedLayout Spacing l a +applySpacing = spacing gapBase + +applyGaps :: l a -> ModifiedLayout Gaps l a +applyGaps = gaps [ (U, gapBase) + , (D, gapBase) + , (R, gapBase) + , (L, gapBase) + ] + +data Transformers = GAPS + deriving (Read, Show, Eq, Typeable) + +instance Transformer Transformers Window where + transform GAPS x k = k (avoidStruts $ applyGaps $ applySpacing x) (const x) + +layoutHook' = fullscreenFloat + $ lessBorders OnlyFloat + $ mkToggle (single NBFULL) + $ avoidStruts + $ mkToggle (single GAPS) + $ mkToggle (single REFLECTX) + $ mkToggle (single REFLECTY) + $ windowNavigation + $ addTabs shrinkText tabTheme + $ hiddenWindows + $ subLayout [] (Simplest ||| Accordion) + emptyBSP -- cgit 1.4.1