E_OBJECT_TYPE_CHECK_RETURN(ec, E_CLIENT_TYPE, EINA_FALSE);
if (ec->vkbd.vkbd) return EINA_TRUE;
+ else
+ {
+ char *nname = NULL, *nclass = NULL;
+ Eina_Bool ret = EINA_FALSE;
+ ecore_x_icccm_name_class_get(e_client_util_win_get(ec), &nname, &nclass);
+ if ((nname) && (!strcmp(nname,"Virtual Keyboard")) &&
+ (nclass) && (!strcmp(nclass, "ISF")))
+ ret = EINA_TRUE;
+
+ if (nname) free(nname);
+ if (nclass) free(nclass);
+
+ if (ret) return ret;
+ }
return EINA_FALSE;
}
(!strcmp(ec->icccm.class, "ISF")))
return EINA_TRUE;
+ if (!ec->icccm.class)
+ {
+ char *nname = NULL, *nclass = NULL;
+ Eina_Bool ret = EINA_FALSE;
+ ecore_x_icccm_name_class_get(e_client_util_win_get(ec), &nname, &nclass);
+ if ((nname) && (!strcmp(nname,"Key Magnifier")) &&
+ (nclass) && (!strcmp(nclass, "ISF")))
+ ret = EINA_TRUE;
+
+ if (nname) free(nname);
+ if (nclass) free(nclass);
+
+ if (ret) return ret;
+ }
+
return EINA_FALSE;
}
static void _pol_client_update(Pol_Client *pc);
static void _pol_client_launcher_set(Pol_Client *pc);
+static void _pol_hook_client_eval_pre_new_client(void *d EINA_UNUSED, E_Client *ec);
static void _pol_hook_client_eval_pre_fetch(void *d EINA_UNUSED, E_Client *ec);
static void _pol_hook_client_eval_pre_post_fetch(void *d EINA_UNUSED, E_Client *ec);
static void _pol_hook_client_eval_post_fetch(void *d EINA_UNUSED, E_Client *ec);
}
static void
+_pol_hook_client_eval_pre_new_client(void *d EINA_UNUSED, E_Client *ec)
+{
+ if (e_object_is_del(E_OBJECT(ec))) return;
+
+ if (e_mod_pol_client_is_keyboard_sub(ec))
+ ec->placed = 1;
+}
+
+static void
_pol_hook_client_eval_pre_fetch(void *d EINA_UNUSED, E_Client *ec)
{
if (e_object_is_del(E_OBJECT(ec))) return;
E_LIST_HANDLER_APPEND(handlers, E_EVENT_ZONE_ROTATION_CHANGE_BEGIN,
_pol_cb_zone_rotation_change_begin, NULL);
+ E_CLIENT_HOOK_APPEND(hooks, E_CLIENT_HOOK_EVAL_PRE_NEW_CLIENT,
+ _pol_hook_client_eval_pre_new_client, NULL);
E_CLIENT_HOOK_APPEND(hooks, E_CLIENT_HOOK_EVAL_PRE_FETCH,
_pol_hook_client_eval_pre_fetch, NULL);
E_CLIENT_HOOK_APPEND(hooks, E_CLIENT_HOOK_EVAL_PRE_POST_FETCH,