summaryrefslogtreecommitdiffstats
path: root/Operations.hs
diff options
context:
space:
mode:
authorDavid Roundy <droundy@darcs.net>2007-09-21 22:43:16 +0200
committerDavid Roundy <droundy@darcs.net>2007-09-21 22:43:16 +0200
commit704ca55fc2de620d85929ca5cbcab5f2a03e77cc (patch)
treef74496b84246472a9963556cdea3dc3641f531bd /Operations.hs
parentcab757704104f521e98b43c1afa12b7d837e22cb (diff)
downloadmetatile-704ca55fc2de620d85929ca5cbcab5f2a03e77cc.tar
metatile-704ca55fc2de620d85929ca5cbcab5f2a03e77cc.zip
make layouts preserved over restart
darcs-hash:20070921204316-72aca-6f8cabc516cc87345bfa73be0e060b206aa2a207
Diffstat (limited to 'Operations.hs')
-rw-r--r--Operations.hs8
1 files changed, 7 insertions, 1 deletions
diff --git a/Operations.hs b/Operations.hs
index 8b470e7..dc7a16b 100644
--- a/Operations.hs
+++ b/Operations.hs
@@ -18,7 +18,7 @@ module Operations where
import XMonad
import qualified StackSet as W
-import {-# SOURCE #-} Config (borderWidth,logHook,numlockMask)
+import {-# SOURCE #-} Config (borderWidth,logHook,numlockMask,defaultLayouts)
import Data.Maybe
import Data.List (nub, (\\), find)
@@ -105,6 +105,12 @@ kill = withDisplay $ \d -> withFocused $ \w -> do
data UnDoLayout = UnDoLayout deriving ( Typeable, Eq )
instance Message UnDoLayout
+instance Read (SomeLayout Window) where
+ readsPrec _ = readLayout defaultLayouts
+instance Layout SomeLayout Window where
+ doLayout (SomeLayout l) r s = fmap (fmap $ fmap SomeLayout) $ doLayout l r s
+ modifyLayout (SomeLayout l) = fmap (fmap SomeLayout) . modifyLayout l
+
-- | windows. Modify the current window list with a pure function, and refresh
windows :: (WindowSet -> WindowSet) -> X ()
windows f = do