[xmonad] Issue 177 in xmonad: xmonad does not follow ICCCM and ignores WM_TAKE_FOCUS protocol

codesite-noreply at google.com codesite-noreply at google.com
Wed Sep 14 00:03:45 CEST 2011

Comment #78 on issue 177 by wirtwo... at gmail.com: xmonad does not follow  
ICCCM and ignores WM_TAKE_FOCUS protocol

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?

More information about the xmonad mailing list