Well, the issue is that some window managers start displaying their
overlays (task bars and similar) in fullscreen when mouse isn't on the
active screen. I'm pretty sure why we had to do this. But i may be wrong.
was quite a while ago.


On Mon, Oct 28, 2013 at 4:52 AM, smspillaz <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);
>
> We shouldn't grab the mouse or keyboard unless there's really a need to
> restrict all input to our application. Window managers tend to use grabs
> for various things and this breaks those (alt-tab being one of them).
>
> —
> Reply to this email directly or view it on GitHub<https://github.com/xbmc/xbmc/pull/3505/files#r7239827>
> .
>