if (!bd->lock_user_stacking) e_border_raise(bd);
if (!bd->lock_focus_out)
{
- if (e_config->focus_policy != E_FOCUS_CLICK)
- ecore_x_pointer_warp(bd->zone->container->win,
+ int requestor_id = e->data.l[2];
+ /* FIXME for now only set pointer when not
+ requested by a client. ooffice does send this
+ request for dialogs which should be modal when
+ the main window gets focus. causing the pointer
+ to jump back and forth. are there any other
+ apps that use _net_active_window ? */
+ if ((requestor_id == 2) && (e_config->focus_policy != E_FOCUS_CLICK))
+ ecore_x_pointer_warp(bd->zone->container->win,
bd->x + (bd->w / 2), bd->y + (bd->h / 2));
e_border_focus_set(bd, 1, 1);
}