diff options
-rw-r--r-- | Config.hs | 15 | ||||
-rw-r--r-- | Config.hs-boot | 2 | ||||
-rw-r--r-- | Main.hs | 2 | ||||
-rw-r--r-- | Operations.hs | 6 |
4 files changed, 17 insertions, 8 deletions
@@ -90,8 +90,19 @@ borderWidth :: Dimension borderWidth = 1 -- | --- The default set of tiling algorithms +-- A list of layouts which, in addition to the defaultLayouts, xmonad can +-- deserialize. +possibleLayouts :: [SomeLayout Window] +possibleLayouts = [defaultLayout + -- Extension-provided layouts + ] ++ defaultLayouts + +-- | +-- The default tiling algorithm -- +defaultLayout :: SomeLayout Window +defaultLayout = SomeLayout $ LayoutSelection defaultLayouts + defaultLayouts :: [SomeLayout Window] defaultLayouts = [ SomeLayout tiled , SomeLayout $ Mirror tiled @@ -142,7 +153,7 @@ keys = M.fromList $ , ((modMask .|. shiftMask, xK_c ), kill) -- %! Close the focused window , ((modMask, xK_space ), sendMessage NextLayout) -- %! Rotate through the available layout algorithms - , ((modMask .|. shiftMask, xK_space ), setLayout $ SomeLayout $ LayoutSelection defaultLayouts) -- %! Reset the layouts on the current workspace to default + , ((modMask .|. shiftMask, xK_space ), setLayout defaultLayout) -- %! Reset the layouts on the current workspace to default , ((modMask, xK_n ), refresh) -- %! Resize viewed windows to the correct size diff --git a/Config.hs-boot b/Config.hs-boot index 41c45e5..8b82d53 100644 --- a/Config.hs-boot +++ b/Config.hs-boot @@ -6,4 +6,4 @@ borderWidth :: Dimension logHook :: X () numlockMask :: KeyMask workspaces :: [WorkspaceId] -defaultLayouts, otherPossibleLayouts :: [SomeLayout Window] +possibleLayouts :: [SomeLayout Window] @@ -53,10 +53,8 @@ main = do let winset | ("--resume" : s : _) <- args , [(x, "")] <- reads s = W.ensureTags defaultLayout workspaces x | otherwise = new defaultLayout workspaces $ zipWith SD xinesc gaps - defaultLayout = SomeLayout $ LayoutSelection safeLayouts gaps = take (length xinesc) $ defaultGaps ++ repeat (0,0,0,0) - safeLayouts = if null defaultLayouts then [SomeLayout Full] else defaultLayouts cf = XConf { display = dpy , theRoot = rootw diff --git a/Operations.hs b/Operations.hs index 180a874..1939ed2 100644 --- a/Operations.hs +++ b/Operations.hs @@ -20,7 +20,7 @@ module Operations where import XMonad import qualified StackSet as W -import {-# SOURCE #-} Config (borderWidth,logHook,numlockMask,defaultLayouts,otherPossibleLayouts) +import {-# SOURCE #-} Config (borderWidth,logHook,numlockMask,possibleLayouts) import Data.Maybe import Data.List (nub, (\\), find, partition) @@ -351,10 +351,10 @@ data ChangeLayout = NextLayout | PrevLayout | JumpToLayout String instance Message ChangeLayout instance ReadableSomeLayout Window where - defaults = SomeLayout (LayoutSelection defaultLayouts) : + defaults = SomeLayout (LayoutSelection []) : SomeLayout Full : SomeLayout (Tall 1 0.1 0.5) : SomeLayout (Mirror $ Tall 1 0.1 0.5) : - defaultLayouts ++ otherPossibleLayouts + possibleLayouts data LayoutSelection a = LayoutSelection [SomeLayout a] deriving ( Show, Read ) |