diff options
Diffstat (limited to 'lib/WindowState.hs')
-rw-r--r-- | lib/WindowState.hs | 14 |
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) |