+ if (unfocus != None) {
+ // the last focus event was an FocusOut, so where the hell is the focus at?
+ printf("UNFOCUSING: %lx\n", unfocus);
+ _focus_e.xfocus.type = FocusOut;
+ _focus_e.xfocus.window = unfocus;
+ dispatch(_focus_e);
+
+ _focus = None;
+ } else if (focus != None) {
+ // the last focus event was a FocusIn, so unfocus what used to be focus and
+ // focus this new target
+ if (_focus != None) {
+ printf("UNFOCUSING: %lx\n", _focus);
+ _focus_e.xfocus.type = FocusOut;
+ _focus_e.xfocus.window = _focus;
+ dispatch(_focus_e);
+ }
+ printf("FOCUSING: %lx\n", focus);