No WM doesn't mean that you need to have the override redirect flag set.
That flag only has effect when someone has SubstructureRedirectMask or
ResizeRedirectMask on the parent (I.e root) window. If that's the case,
you'll automatically receive all input as long as you have focus, and I'm
pretty sure that you can just XSetInputFocus on enter.

In any event, I can't imagine it would be too hard to ask people to ship
with a minimal WM. There are numerous benefits to doing so, one of which is
that if you run a compositor you can do multi-gpu rendering.

If it would be too hard to have this requirement, we can have a non-WM
codepath, but it should be encapsulated and minimal.
On 28/10/2013 10:07 pm, "Rainer Hochecker" <notifications@github.com> wrote:

> In xbmc/windowing/X11/WinSystemX11.cpp:
>
> > +}
> > +
> > +void CWinSystemX11::NotifyMouseCoverage(bool covered)
> > +{
> > +  if (!m_bFullScreen || !m_mainWindow)
> > +    return;
> > +
> > +  if (covered && !m_bIsGrabbed)
> > +  {
> > +    int result = -1;
> > +    while (result != GrabSuccess && result != AlreadyGrabbed)
> > +    {
> > +      result = XGrabPointer(m_dpy, m_mainWindow, True, ButtonPressMask, GrabModeAsync, GrabModeAsync, None, None, CurrentTime);
> > +      XbmcThreads::ThreadSleep(100);
> > +    }
> > +    XGrabKeyboard(m_dpy, m_mainWindow, True, GrabModeAsync, GrabModeAsync, CurrentTime);
>
> Note that OE ships without WM and many users launch XBMC as its own
> session. Having no WM requires the override redirect flag to be set. Not
> sure how that works without grabbing.
>
> —
> Reply to this email directly or view it on GitHub<https://github.com/xbmc/xbmc/pull/3505/files#r7248451>
> .
>