aboutsummaryrefslogtreecommitdiffstats
path: root/MagicFocus.hs
diff options
context:
space:
mode:
Diffstat (limited to 'MagicFocus.hs')
-rw-r--r--MagicFocus.hs11
1 files changed, 11 insertions, 0 deletions
diff --git a/MagicFocus.hs b/MagicFocus.hs
new file mode 100644
index 0000000..444a100
--- /dev/null
+++ b/MagicFocus.hs
@@ -0,0 +1,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)