focus_in = NULL;
if (client == focus_out)
focus_out = NULL;
+ if (client == focus_hilite)
+ focus_hilite = NULL;
}
static void event_done(gpointer data)
e->type == MotionNotify)
mouse_event(client, e);
else if (e->type == KeyPress)
- /* when in the middle of a focus cycling action, this
- causes the window which appears to be focused to be
- the one on which the actions will be executed */
- keyboard_event((focus_cycle_target ?
- focus_cycle_target : client), e);
+ keyboard_event((focus_cycle_target ? focus_cycle_target :
+ (focus_hilite ? focus_hilite : client)),
+ e);
}
}
}
ob_main_loop_timeout_remove_data(ob_main_loop, focus_delay_func, client);
}
+void event_halt_focus_delay()
+{
+ ob_main_loop_timeout_remove(ob_main_loop, focus_delay_func);
+}
+
void event_ignore_queued_enters()
{
GSList *saved = NULL, *it;