Skip to content

Commit

Permalink
X.H.ManageDocks: Deprecate individual hooks
Browse files Browse the repository at this point in the history
This will make it easier to transition to an implementation of EWMH that
doesn't expose the individual hooks: X.H.ManageDocks would become a
deprecated compatibility reexport of X.H.EWMH.Struts for a release or
two, but the individual hooks need to be removed before that.

Note that individual hooks in X.H.EwmhDesktops were deprecated earlier
and individual hooks in XMonad.Hooks.UrgencyHook aren't exported any
more (or perhaps never been), so this only leaves X.H.SetWMName, which
unfortunately does not have a combinator interface at this point.

Related: xmonad#625
  • Loading branch information
liskin committed Oct 22, 2021
1 parent 0aeaf93 commit c2e36da
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 3 deletions.
4 changes: 4 additions & 0 deletions CHANGES.md
Original file line number Diff line number Diff line change
Expand Up @@ -495,6 +495,10 @@
- Restored compatibility with pre-0.13 configs by making the startup hook
unnecessary for correct functioning (strut cache is initialized on-demand).

This is a temporary measure, however. The individual hooks are now
deprecated in favor of the `docks` combinator, `xmonad --recompile` now
reports deprecation warnings, and the hooks will be removed soon.

- Fixed ignoring of strut updates from override-redirect windows, which is
default for xmobar.

Expand Down
10 changes: 7 additions & 3 deletions XMonad/Hooks/ManageDocks.hs
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@ module XMonad.Hooks.ManageDocks (
-- * Usage
-- $usage
docks, manageDocks, checkDock, AvoidStruts(..), avoidStruts, avoidStrutsOn,
docksEventHook, docksStartupHook,
ToggleStruts(..),
SetStruts(..),
module XMonad.Util.Types,
Expand All @@ -28,8 +27,11 @@ module XMonad.Hooks.ManageDocks (
RectC(..),
#endif

-- for XMonad.Actions.FloatSnap
calcGap
-- * For developers of other modules ("XMonad.Actions.FloatSnap")
calcGap,

-- * Standalone hooks (deprecated)
docksEventHook, docksStartupHook,
) where


Expand Down Expand Up @@ -157,6 +159,7 @@ checkDock = ask >>= \w -> liftX $ do

-- | Whenever a new dock appears, refresh the layout immediately to avoid the
-- new dock.
{-# DEPRECATED docksEventHook "Use docks instead." #-}
docksEventHook :: Event -> X All
docksEventHook MapNotifyEvent{ ev_window = w } = do
whenX (runQuery checkDock w <&&> (not <$> isClient w)) $
Expand All @@ -174,6 +177,7 @@ docksEventHook DestroyWindowEvent{ ev_window = w } = do
return (All True)
docksEventHook _ = return (All True)

{-# DEPRECATED docksStartupHook "Use docks instead." #-}
docksStartupHook :: X ()
docksStartupHook = void getStrutCache

Expand Down

0 comments on commit c2e36da

Please sign in to comment.