From 70e968c354ca616630964e5d3f920ea883e38cce Mon Sep 17 00:00:00 2001 From: Max Rabkin Date: Tue, 29 Sep 2009 17:33:46 +0000 Subject: [PATCH] Support IncMasterN in Selective --- XMonad/Layout/Selective.hs | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/XMonad/Layout/Selective.hs b/XMonad/Layout/Selective.hs index f1a001d6..8b78c456 100644 --- a/XMonad/Layout/Selective.hs +++ b/XMonad/Layout/Selective.hs @@ -22,6 +22,7 @@ module XMonad.Layout.Selective where import XMonad.Core import XMonad.StackSet +import XMonad.Layout (IncMasterN (..)) import XMonad.Layout.LayoutModifier import Control.Applicative ((<$>)) @@ -70,5 +71,13 @@ instance LayoutModifier Selective a where pureModifier (Selective sel) _ stk wins = (wins, Selective . update sel <$> stk) + pureMess (Selective s) m = Selective . incmastern <$> fromMessage m + where + incmastern (IncMasterN n) = + let nm = (nMaster s + n) `max` 0 + in if nMaster s == start s + then s { nMaster = nm, start = nm } + else s { nMaster = nm } + selective :: Int -> Int -> l a -> ModifiedLayout Selective l a selective m r = ModifiedLayout . Selective $ Sel { nMaster=m, start=m, nRest=r }