
Comment #78 on issue 177 by wirtwo...@gmail.com: xmonad does not follow ICCCM and ignores WM_TAKE_FOCUS protocol http://code.google.com/p/xmonad/issues/detail?id=177 The atom definition is indeed the same in the Core/Main/Operations version and the contrib one. A quick look at the diffs with meld and reading through Hooks.ICCCMFocus leaves me thinking that it wouldn't be too difficult to implement in contrib with Extensible State. This has the advantage of making it easier for more people to use, test and (if necessary) modify the focus tracking code. It could easily be "forked" by modifying Hooks.ICCMFocus in ~/.xmonad/lib rather than having to overcome the barrier to core changes. And of course it can be used by people who want it and ignored by those that don't. On the other hand, disadvantages are: Java and alternative input method users have been grumpy for years that this doesn't work out of the box with core xmonad. It's cleaner implemented in core, and a correct implementation belongs there. For a visual overview of the differences, see http://ompldr.org/vYWM5Mw For the primary change in Operations and brief summary of Core and Main changes see the patched version of setFocusX at http://hpaste.org/51307 I'd like to see Hooks.ICCCMFocus marked transitional with it fully implementing this patch, or deprecated with a "signed-off" core implementation committed instead. No promises, but if no-one else is motivated to update H.ICCCMFocus, I'll attempt to get something together during next month or so. It's about time to make this easy to test, given that theoretically 0.10/1.0 is overdue by quite a while already. Any X and ICCCM experts have opinions one way or the other?