From 03276f70fa625e7ba594682bf5621430dc0f3c68 Mon Sep 17 00:00:00 2001 From: Max Rabkin Date: Tue, 29 Sep 2009 19:33:46 +0200 Subject: Support IncMasterN in Selective Ignore-this: 3fd288d0062905177c06006ea4066f6d darcs-hash:20090929173346-a5338-2d3965e3bade676e302db3015b9a8147e45fdd92.gz --- XMonad/Layout/Selective.hs | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'XMonad/Layout') diff --git a/XMonad/Layout/Selective.hs b/XMonad/Layout/Selective.hs index f1a001d..8b78c45 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 } -- cgit v1.2.3