aboutsummaryrefslogtreecommitdiffstats
path: root/XMonad/Hooks/ManageDocks.hs
diff options
context:
space:
mode:
Diffstat (limited to 'XMonad/Hooks/ManageDocks.hs')
-rw-r--r--XMonad/Hooks/ManageDocks.hs8
1 files changed, 8 insertions, 0 deletions
diff --git a/XMonad/Hooks/ManageDocks.hs b/XMonad/Hooks/ManageDocks.hs
index 901afa8..4e85c24 100644
--- a/XMonad/Hooks/ManageDocks.hs
+++ b/XMonad/Hooks/ManageDocks.hs
@@ -208,6 +208,7 @@ instance Message SetStruts
instance LayoutModifier AvoidStruts a where
modifyLayout (AvoidStruts ss) w r = do
nr <- fmap ($ r) (calcGap ss)
+ setWorkarea nr
runLayout w nr
pureMess (AvoidStruts ss) m
@@ -222,6 +223,13 @@ instance LayoutModifier AvoidStruts a where
toggleOne x xs | x `S.member` xs = S.delete x xs
| otherwise = x `S.insert` xs
+setWorkarea :: Rectangle -> X ()
+setWorkarea (Rectangle x y w h) = withDisplay $ \dpy -> do
+ a <- getAtom "_NET_WORKAREA"
+ c <- getAtom "CARDINAL"
+ r <- asks theRoot
+ io $ changeProperty32 dpy r a c propModeReplace [fi x, fi y, fi w, fi h]
+
-- | (Direction, height\/width, initial pixel, final pixel).