summaryrefslogtreecommitdiff
path: root/lib/WindowState.hs
diff options
context:
space:
mode:
Diffstat (limited to 'lib/WindowState.hs')
-rw-r--r--lib/WindowState.hs14
1 files changed, 14 insertions, 0 deletions
diff --git a/lib/WindowState.hs b/lib/WindowState.hs
new file mode 100644
index 0000000..3f7d4fb
--- /dev/null
+++ b/lib/WindowState.hs
@@ -0,0 +1,14 @@
+module WindowState (toggleFloat) where
+
+import XMonad
+
+import qualified Data.Map as Map
+import qualified XMonad.StackSet as W
+
+toggleFloat :: Window -> X ()
+toggleFloat w = windows $ \windowSet ->
+ if Map.member w $ W.floating windowSet
+ then W.sink w windowSet
+ else W.float w floatingWindowRect windowSet
+ where
+ floatingWindowRect = W.RationalRect (1 / 3) (1 / 6) (1 / 2) (4 / 5)