else if (config_focus_follow &&
data->context != OB_FRAME_CONTEXT_CLIENT)
{
- if (!data->button && data->client && !config_focus_under_mouse)
- event_end_ignore_all_enters(ignore_start);
- else {
+ if (data->button && config_focus_under_mouse) {
struct _ObClient *c;
/* usually this is sorta redundant, but with a press action
"mouse-event action");
event_enter_client(c);
}
- }
+ } else
+ event_end_ignore_all_enters(ignore_start);
}
}
gulong event_start_ignore_all_enters(void)
{
- XSync(ob_display, FALSE);
- return LastKnownRequestProcessed(ob_display);
+ return NextRequest(ob_display);
}
static void event_ignore_enter_range(gulong start, gulong end)
r->start, r->end);
/* increment the serial so we don't ignore events we weren't meant to */
- XSync(ob_display, FALSE);
+ PROP_ERASE(screen_support_win, motif_wm_hints);
}
void event_end_ignore_all_enters(gulong start)
{
- XSync(ob_display, FALSE);
- event_ignore_enter_range(start, LastKnownRequestProcessed(ob_display));
+ event_ignore_enter_range(start, NextRequest(ob_display));
}
static gboolean is_enter_focus_event_ignored(XEvent *e)