Tomas Janousek 08ec79eec1 X.H.EwmhDesktops: Improve interface for hooking window activation
https://github.com/xmonad/xmonad-contrib/pull/192 introduced a breaking change:

  * `XMonad.Hooks.EwmhDesktops`

    `ewmh` function will use `logHook` for handling activated window. And now
    by default window activation will do nothing.

This breaking change can be avoided if we designed that a bit
differently. #192 changed `ewmhDesktopsEventHook` to invoke `logHook`
instead of focusing the window that requested activation and now
`logHook` is supposed to invoke a `ManageHook` through `activateLogHook`
which consults a global `NetActivated` extensible state to tell if it's
being invoked from `ewmhDesktopsEventHook`. This seems convoluted to me.

A better design, in my opinion, is to invoke the `ManageHook` directly
from `ewmhDesktopsEventHook`, and we just need a way to configure the
hook. Luckily, we now have `X.U.ExtensibleConf` which makes this
straightforward. So we now have a `setEwmhActivateHook`, and the
activation hook defaults to focusing the window, undoing the breaking
change.

Fixes: https://github.com/xmonad/xmonad-contrib/issues/396
Related: https://github.com/xmonad/xmonad-contrib/pull/110
Related: https://github.com/xmonad/xmonad-contrib/pull/192
Related: https://github.com/xmonad/xmonad-contrib/pull/128
2021-10-20 14:51:23 +01:00
2021-08-15 22:29:27 +01:00
2019-09-27 16:43:04 -04:00
2021-06-06 18:59:05 +02:00
2020-12-11 17:46:03 +05:30
2007-11-01 20:20:41 +00:00
2021-08-17 10:56:14 +01:00

xmonad-contrib: Third Party Extensions to the xmonad Window Manager

Tests Open Source Helpers

You need the ghc compiler and xmonad window manager installed in order to use these extensions.

For installation and configuration instructions, please see the xmonad website, the documents included with the xmonad source distribution, and the online haddock documentation.

Getting or Updating XMonadContrib

(To use git xmonad-contrib you must also use the git version of xmonad.)

Contributing

Haskell code contributed to this repo should live under the appropriate subdivision of the XMonad namespace (currently includes Actions, Config, Hooks, Layout, Prompt, and Util). For example, to use the Grid layout, one would import:

XMonad.Layout.Grid

For further details, see the documentation for the XMonad.Doc.Developing module, XMonad's CONTRIBUTING.md and the xmonad website.

License

Code submitted to the contrib repo is licensed under the same license as xmonad itself, with copyright held by the authors.

Description
Languages
Haskell 99.6%
C 0.2%
Shell 0.1%