summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Config.hs15
-rw-r--r--Config.hs-boot2
-rw-r--r--Main.hs2
-rw-r--r--Operations.hs6
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 )