focus = None;
printf("FocusOut focus=%lx unfocus=%lx\n", focus, unfocus);
}
-/* // madly compress all crossing events
+ // madly compress all crossing events
} else if (e.type == EnterNotify) {
// any other types are not ones we're interested in
if (e.xcrossing.mode == NotifyNormal) {
leave = e.xcrossing.window;
leave_root = e.xcrossing.root;
printf("Leave enter=%lx leave=%lx\n", enter, leave);
- }*/
+ }
} else {
// normal events
dispatch(e);
if (unfocus != None) {
// the last focus event was an FocusOut, so where the hell is the focus at?
- printf("UNFOCUSING: %lx\n", unfocus);
+// printf("UNFOCUSING: %lx\n", unfocus);
_focus_e.xfocus.type = FocusOut;
_focus_e.xfocus.window = unfocus;
dispatch(_focus_e);
} else if (focus != None) {
// the last focus event was a FocusIn, so unfocus what used to be focus and
// focus this new target
+// printf("FOCUSING: %lx\n", focus);
+ _focus_e.xfocus.type = FocusIn;
+ _focus_e.xfocus.window = focus;
+ dispatch(_focus_e);
+
if (_focus != None) {
- printf("UNFOCUSING: %lx\n", _focus);
+// printf("UNFOCUSING: %lx\n", _focus);
_focus_e.xfocus.type = FocusOut;
_focus_e.xfocus.window = _focus;
dispatch(_focus_e);
}
- printf("FOCUSING: %lx\n", focus);
- _focus_e.xfocus.type = FocusIn;
- _focus_e.xfocus.window = focus;
- dispatch(_focus_e);
-
+
_focus = focus;
}
OtkEventHandler *handler;
OtkEventMap::iterator it;
+ if (_master)
+ _master->handle(e);
+
it = _map.find(e.xany.window);
if (it != _map.end())
if (handler)
handler->handle(e);
-
- if (_master)
- _master->handle(e);
}
OtkEventHandler *OtkEventDispatcher::findHandler(Window win)