summaryrefslogtreecommitdiff
path: root/lib/WindowState.hs
diff options
context:
space:
mode:
authortdback <tyler@tdback.net>2025-02-02 21:18:10 -0500
committertdback <tyler@tdback.net>2025-02-02 21:18:10 -0500
commit93f86940f52fde7a12073119fb9bf20edd4f3df9 (patch)
treed7b0b4247d27507b597c38b8651648756aa1f45a /lib/WindowState.hs
here be dragons
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)