From 161fc42347cafbc58f234e583477b31f0a3c6893 Mon Sep 17 00:00:00 2001 From: Brent Yorgey Date: Thu, 27 Mar 2008 21:39:40 +0100 Subject: ManageDocks: add avoidStrutsOn, for covering some docks and not others by default. darcs-hash:20080327203940-bd4d7-7ae319d50280cb13d32d8186d7d8f4b2113c4919.gz --- XMonad/Hooks/ManageDocks.hs | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) (limited to 'XMonad/Hooks/ManageDocks.hs') diff --git a/XMonad/Hooks/ManageDocks.hs b/XMonad/Hooks/ManageDocks.hs index 4f5554c..82178d5 100644 --- a/XMonad/Hooks/ManageDocks.hs +++ b/XMonad/Hooks/ManageDocks.hs @@ -17,7 +17,7 @@ module XMonad.Hooks.ManageDocks ( -- * Usage -- $usage - manageDocks, AvoidStruts, avoidStruts, ToggleStruts(..), + manageDocks, AvoidStruts, avoidStruts, avoidStrutsOn, ToggleStruts(..), Side(..) ) where @@ -60,6 +60,12 @@ import Data.List (delete) -- Similarly, you can use 'BB', 'LL', and 'RR' to individually toggle -- gaps on the bottom, left, or right. -- +-- If you want certain docks to be avoided but others to be covered by +-- default, you can manually specify the sides of the screen on which +-- docks should be avoided, using 'avoidStrutsOn'. For example: +-- +-- > layoutHook = avoidStrutsOn [TT,LL] (tall ||| mirror tall ||| ...) +-- -- /Important note/: if you are switching from manual gaps -- (defaultGaps in your config) to avoidStruts (recommended, since -- manual gaps will probably be phased out soon), be sure to switch @@ -133,7 +139,16 @@ calcGap ss = withDisplay $ \dpy -> do -- | Adjust layout automagically. avoidStruts :: LayoutClass l a => l a -> ModifiedLayout AvoidStruts l a -avoidStruts = ModifiedLayout (AvoidStruts [TT,BB,LL,RR]) +avoidStruts = avoidStrutsOn [TT,BB,LL,RR] + +-- | Adjust layout automagically: don't cover up docks, status bars, +-- etc. on the indicated sides of the screen. Valid sides are TT +-- (top), BB (bottom), RR (right), or LL (left). +avoidStrutsOn :: LayoutClass l a => + [Side] + -> l a + -> ModifiedLayout AvoidStruts l a +avoidStrutsOn ss = ModifiedLayout (AvoidStruts ss) data AvoidStruts a = AvoidStruts [Side] deriving ( Read, Show ) -- cgit v1.2.3