return EINA_FALSE;
#if defined(__cplusplus) || defined(c_plusplus)
- if (((m->clas) && (!ec->icccm.cpp_class)) ||
- ((ec->icccm.cpp_class) && (m->clas) && (!e_util_glob_match(ec->icccm.cpp_class, m->clas))))
- return EINA_FALSE;
+ if (m->clas)
+ {
+ if (!ec->icccm.cpp_class)
+ return EINA_FALSE;
+
+ if (!e_util_glob_match(ec->icccm.cpp_class, m->clas))
+ return EINA_FALSE;
+ }
#else
- if (((m->clas) && (!ec->icccm.class)) ||
- ((ec->icccm.class) && (m->clas) && (!e_util_glob_match(ec->icccm.class, m->clas))))
- return EINA_FALSE;
+ if (m->clas)
+ {
+ if (!ec->icccm.class)
+ return EINA_FALSE;
+
+ if (!e_util_glob_match(ec->icccm.class, m->clas))
+ return EINA_FALSE;
+ }
#endif
- if (((m->name) && (!ec->icccm.name)) ||
- ((ec->icccm.name) && (m->name) && (!e_util_glob_match(ec->icccm.name, m->name))))
- return EINA_FALSE;
+ if (m->name)
+ {
+ if (ec->icccm.name && e_util_glob_match(ec->icccm.name, m->name))
+ return EINA_TRUE;
- return EINA_TRUE;
+ if (ec->icccm.title && e_util_glob_match(ec->icccm.title, m->name))
+ return EINA_TRUE;
+
+ if (ec->netwm.name && e_util_glob_match(ec->netwm.name, m->name))
+ return EINA_TRUE;
+ }
+
+ return EINA_FALSE;
}
static int
if (title != e_client_util_name_get(ec))
_e_client_event_property(ec, E_CLIENT_PROPERTY_TITLE);
- client_type = ec->client_type;
- if (client_type != _e_client_type_get(ec))
- _e_client_event_property(ec, E_CLIENT_PROPERTY_CLIENT_TYPE);
+ if (ec->new_client)
+ {
+ client_type = ec->client_type;
+ if (client_type != _e_client_type_get(ec))
+ _e_client_event_property(ec, E_CLIENT_PROPERTY_CLIENT_TYPE);
+ }
/* PRE_POST_FETCH calls e_remember apply for new client */
if (!_e_client_hook_call(E_CLIENT_HOOK_EVAL_PRE_POST_FETCH, ec)) continue;