summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Roundy <droundy@darcs.net>2007-10-05 16:05:53 +0200
committerDavid Roundy <droundy@darcs.net>2007-10-05 16:05:53 +0200
commit4fb061f7cf5399b6cfd7c9ea0eb5ce5ebd3fe51c (patch)
tree0778ce8febeb3ab49ade05f13f34023de3e15e05
parent94667339e6b269e016852b2f508367e93c1c59a9 (diff)
downloadmetatile-4fb061f7cf5399b6cfd7c9ea0eb5ce5ebd3fe51c.tar
metatile-4fb061f7cf5399b6cfd7c9ea0eb5ce5ebd3fe51c.zip
add pureMessage.
darcs-hash:20071005140553-72aca-aa462a597c08ff1f9309985a0f3403d5023bc975
-rw-r--r--Operations.hs5
-rw-r--r--XMonad.hs4
2 files changed, 5 insertions, 4 deletions
diff --git a/Operations.hs b/Operations.hs
index 62e007c..36f82e9 100644
--- a/Operations.hs
+++ b/Operations.hs
@@ -423,9 +423,8 @@ instance LayoutClass Tall a where
doLayout (Tall nmaster _ frac) r =
return . (\x->(x,Nothing)) .
ap zip (tile frac r nmaster . length) . W.integrate
- handleMessage (Tall nmaster delta frac) m =
- return $ msum [fmap resize (fromMessage m)
- ,fmap incmastern (fromMessage m)]
+ pureMessage (Tall nmaster delta frac) m = msum [fmap resize (fromMessage m)
+ ,fmap incmastern (fromMessage m)]
where resize Shrink = Tall nmaster delta (max 0 $ frac-delta)
resize Expand = Tall nmaster delta (min 1 $ frac+delta)
incmastern (IncMasterN d) = Tall (max 0 (nmaster+d)) delta frac
diff --git a/XMonad.hs b/XMonad.hs
index 48f49ca..d70438d 100644
--- a/XMonad.hs
+++ b/XMonad.hs
@@ -160,7 +160,9 @@ class (Show (layout a), Read (layout a)) => LayoutClass layout a where
pureLayout _ r s = [(focus s, r)]
handleMessage :: layout a -> SomeMessage -> X (Maybe (layout a))
- handleMessage _ _ = return Nothing
+ handleMessage l = return . pureMessage l
+ pureMessage :: layout a -> SomeMessage -> Maybe (layout a)
+ pureMessage _ _ = Nothing
description :: layout a -> String
description = show