aboutsummaryrefslogtreecommitdiffstats
path: root/MagicFocus.hs
blob: 444a1006ba4d0f58c7521d1d920da3bbfd09061f (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
module XMonadContrib.MagicFocus (magicFocus) where

import XMonad
import StackSet

magicFocus l = l { doLayout = \s -> (doLayout l) s . swap
                 , modifyLayout = \x -> fmap magicFocus `fmap` modifyLayout l x }

swap :: Stack a -> Stack a
swap Empty = Empty
swap (Node f u d) = Node f [] (reverse u ++ d)