return EINA_FALSE;
}
-static int
-_e_client_type_get(E_Client *ec)
+EINTERN int
+e_client_type_update(E_Client *ec)
{
E_Config_Client_Type *m;
Eina_List *l;
}
}
- ec->client_type = type;
+ if (ec->client_type != type)
+ {
+ ec->client_type = type;
+ _e_client_event_property(ec, E_CLIENT_PROPERTY_CLIENT_TYPE);
+ }
return ec->client_type;
}
EINA_LIST_FOREACH(e_comp->clients, l, ec)
{
- int client_type;
-
// pass 1 - eval0. fetch properties on new or on change and
// call hooks to decide what to do - maybe move/resize
if (ec->ignored || (!ec->changed)) continue;
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);
+ e_client_type_update(ec);
}
/* PRE_POST_FETCH calls e_remember apply for new client */
E_API int e_client_show_pending_set(E_Client *ec);
E_API int e_client_show_pending_unset(E_Client *ec);
+EINTERN int e_client_type_update(E_Client *ec);
+
typedef Eina_Bool (*E_Client_Surface_Tree_Foreach)(void *data, E_Client *ec);
/**
e_comp_object_frame_title_set(ec->frame, title);
}
- if (ec->changes.title) EC_CHANGED(ec);
+ if (ec->changes.title)
+ {
+ e_client_type_update(ec);
+ EC_CHANGED(ec);
+ }
return EINA_TRUE;
}