From 36b6cc3ace7c6b669db0133972452f47962bf9dd Mon Sep 17 00:00:00 2001 From: David Roundy Date: Fri, 28 Sep 2007 04:02:08 +0200 Subject: define defaultLayout in Config.hs. darcs-hash:20070928020208-72aca-ba2fa62ecf40abd9137c9632c7ee27525a62f48e.gz --- Config.hs | 15 +++++++++++++-- Config.hs-boot | 2 +- Main.hs | 2 -- Operations.hs | 6 +++--- 4 files changed, 17 insertions(+), 8 deletions(-) diff --git a/Config.hs b/Config.hs index 5356cb0..d57cb40 100644 --- a/Config.hs +++ b/Config.hs @@ -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] diff --git a/Main.hs b/Main.hs index 89e2b0f..326955a 100644 --- a/Main.hs +++ b/Main.hs @@ -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 ) -- cgit v1.2.3