[xmonad] darcs patch: Correctly implement section 4.1.7 of ICCCM
Spencer Janssen
spencerjanssen at gmail.com
Tue Nov 25 05:57:47 EST 2008
On Tue, Nov 25, 2008 at 10:54:31AM +0200, Roman Cheplyaka wrote:
> * 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)
WMHints has a bitmask that indicates which WM_HINTS are actually present. I
believe the correct solution is to simply check whether inputHintBit is set on
wmh_flags.
Cheers,
Spencer Janssen
More information about the xmonad
mailing list