e17: handle ooffice _net_active window messages specifically

SVN revision: 57610
This commit is contained in:
Hannes Janetzek 2011-03-09 03:09:59 +00:00
parent c695554642
commit 915cf71368
1 changed files with 5 additions and 8 deletions

View File

@ -969,14 +969,11 @@ _e_manager_cb_client_message(void *data __UNUSED__, int ev_type __UNUSED__, void
if (!bd->lock_user_stacking) e_border_raise(bd); if (!bd->lock_user_stacking) e_border_raise(bd);
if (!bd->lock_focus_out) if (!bd->lock_focus_out)
{ {
int requestor_id = e->data.l[2]; /* XXX ooffice does send this request for
/* FIXME for now only set pointer when not config dialogs when the main window gets focus.
requested by a client. ooffice does send this causing the pointer to jump back and forth. */
request for dialogs which should be modal when if ((e_config->focus_policy != E_FOCUS_CLICK) &&
the main window gets focus. causing the pointer !(bd->client.icccm.name && !strcmp(bd->client.icccm.name, "VCLSalFrame")))
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, ecore_x_pointer_warp(bd->zone->container->win,
bd->x + (bd->w / 2), bd->y + (bd->h / 2)); bd->x + (bd->w / 2), bd->y + (bd->h / 2));
e_border_focus_set(bd, 1, 1); e_border_focus_set(bd, 1, 1);