X-Git-Url: https://git.brokenzipper.com/gitweb?a=blobdiff_plain;f=otk%2Feventdispatcher.cc;h=ce7492ff810c6ed719fd46b0fb0de3e78ceb9552;hb=530da070ff488f455697ac64e65422bd2a06afe0;hp=c5cefe2cbf1e1497264c80092d4791d4acf73b00;hpb=c97915f445017d36667a6ad32767fa41d14d23b1;p=chaz%2Fopenbox diff --git a/otk/eventdispatcher.cc b/otk/eventdispatcher.cc index c5cefe2c..ce7492ff 100644 --- a/otk/eventdispatcher.cc +++ b/otk/eventdispatcher.cc @@ -89,6 +89,8 @@ void EventDispatcher::dispatchEvents(void) case EnterNotify: case LeaveNotify: _lasttime = e.xcrossing.time; + if (e.xcrossing.mode != NotifyNormal) + continue; // skip me! break; } @@ -99,8 +101,15 @@ void EventDispatcher::dispatchEvents(void) void EventDispatcher::dispatchFocus(const XEvent &e) { + printf("focus %s detail %d -> 0x%lx\n", + (e.xfocus.type == FocusIn ? "IN" : "OUT"), + e.xfocus.detail, e.xfocus.window); // ignore focus changes from grabs - if (e.xfocus.mode == NotifyGrab) + if (e.xfocus.mode != NotifyNormal) //|| e.xfocus.mode == NotifyUngrab || + // From Metacity, from WindowMaker, ignore all funky pointer root events + // its commented out cuz I don't think we need this at all. If problems + // arise we can look into it + //e.xfocus.detail > NotifyNonlinearVirtual) return; if (e.type == FocusIn) {