From f87a080883a65040e9ef638fb65ab5f28cfc9a14 Mon Sep 17 00:00:00 2001 From: Adam Vogt Date: Thu, 17 Jan 2013 19:08:51 +0100 Subject: Unconditionally set _NET_WORKAREA in ManageDocks Ignore-this: 9f57e53fba9573d8a92cf153beb7fe7a darcs-hash:20130117180851-1499c-e9ad10c3f203247cd8bc5120e1e3c15a9053ad93.gz --- XMonad/Hooks/ManageDocks.hs | 8 ++++++++ 1 file changed, 8 insertions(+) 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). -- cgit v1.2.3