[xmonad] darcs patch: Correctly implement section 4.1.7 of ICCCM

Roman Cheplyaka roma at ro-che.info
Tue Nov 25 03:54:31 EST 2008

* Roman Cheplyaka <roma at ro-che.info> [2008-11-24 21:02:01+0200]
> Mon Nov 24 20:46:32 EET 2008  Roman Cheplyaka <roma at ro-che.info>
>   * Correctly implement section 4.1.7 of ICCCM
>   Based on patch and investigation by Ivan Tarasov. Fixes #177.
>   - do setInputFocus iff 'input' field of WM_HINTS is True
>   - send WM_TAKE_FOCUS if needed

I need help with this patch.
As I wrote, according to section 4.1.7 of ICCCM window manager should
only setInputFocus on window in the case when input field of WM_HINTS is True.
However, some applications do not set WM_HINTS at all. Famous 'xev'
is among them.  In this case getWMHints returns False for input field. But
in practice xev really wants WM to give it focus.
So, I see two ways to proceed:
- either we ignore that part of ICCCM and setInputFocus on every window,
  as we did earlier (it doesn't seem to cause any problems)
- or we follow the standard with this workaround: make minimal change to X11
  to set input field to True by default.
The second choice will bring some inconvenience to our users until the
next X11 is released. OTOH I don't know any useful apps except xev which
doesn't set WM_HINTS.
What do you suggest?

Roman I. Cheplyaka (aka Feuerbach @ IRC)

More information about the xmonad mailing list