}
EINTERN Eina_Bool
+e_appinfo_base_output_resolution_available_get(E_Appinfo *eai)
+{
+ EINA_SAFETY_ON_NULL_RETURN_VAL(eai, EINA_FALSE);
+
+ return eai->base_output_available;
+}
+
+EINTERN Eina_Bool
e_appinfo_base_output_resolution_get(E_Appinfo *eai, int *width, int *height)
{
EINA_SAFETY_ON_NULL_RETURN_VAL(eai, EINA_FALSE);
EINTERN Eina_Bool e_appinfo_pid_set(E_Appinfo *eai, pid_t pid);
EINTERN Eina_Bool e_appinfo_appid_set(E_Appinfo *eai, const char *appid);
EINTERN void e_appinfo_ready_metadata(E_Appinfo *eai, pid_t pid);
+EINTERN Eina_Bool e_appinfo_base_output_resolution_available_get(E_Appinfo *eai);
EINTERN Eina_Bool e_appinfo_base_output_resolution_get(E_Appinfo *eai, int *width, int *height);
EINTERN E_Appinfo_Owner e_appinfo_owner_get(E_Appinfo *eai);
EINTERN void e_appinfo_owner_set(E_Appinfo *eai, E_Appinfo_Owner owner);
goto use_configured;
}
+ if (!e_appinfo_base_output_resolution_available_get(eai))
+ {
+ ELOGF("POL_APPINFO", "NO AVAILABLE BASE SCREEN RESOLUTION... QUERY base_output_resolution", ec);
+ e_policy_base_output_resolution_info_update(ec->netwm.pid);
+ }
+
if (!e_appinfo_base_output_resolution_get(eai, &width, &height))
{
ELOGF("POL_APPINFO", "NO BASE SCREEN RESOLUTION... USE configured_output_resolution(%d,%d) pid:%d", ec,
}
EINTERN void
+e_policy_base_output_resolution_info_update(pid_t pid)
+{
+ e_policy_wl_base_output_resolution_info_update(pid);
+}
+
+EINTERN void
e_policy_interceptors_clean(void)
{
E_Policy_Interceptor *pi;
EINTERN void e_policy_event_simple(E_Client *ec, int type);
+EINTERN void e_policy_base_output_resolution_info_update(pid_t pid);
EINTERN Eina_Bool e_policy_aux_message_use_get(E_Client *ec);
E_API void e_policy_aux_message_send(E_Client *ec, const char *key, const char *val, Eina_List *options);
{
// 1. send HOOK with pid
- _e_policy_wl_hook_call(E_POLICY_WL_HOOK_BASE_OUTPUT_RESOLUTION_GET, pid);
+ e_policy_wl_base_output_resolution_info_update(pid);
// 2. module must set the base_output_resolution.
if (!e_appinfo_base_output_resolution_get(eai, &width, &height))
{
if (e_config->configured_output_resolution.use)
{
// 1. send HOOK with pid
- _e_policy_wl_hook_call(E_POLICY_WL_HOOK_BASE_OUTPUT_RESOLUTION_GET, pid);
+ e_policy_wl_base_output_resolution_info_update(pid);
// 2. module must set the base_output_resolution.
if (!e_appinfo_base_output_resolution_get(eai, &width, &height))
{
wl_client_post_no_memory(client);
}
+EINTERN void
+e_policy_wl_base_output_resolution_info_update(pid_t pid)
+{
+ _e_policy_wl_hook_call(E_POLICY_WL_HOOK_BASE_OUTPUT_RESOLUTION_GET, pid);
+}
+
static Eina_Bool
_e_policy_wl_cb_hook_intercept_show_helper(void *data, E_Client *ec)
{
/* util */
EINTERN void e_policy_wl_generate_request(E_Client *ec, E_Policy_Wl_Gen_Request type);
+/* appinfo */
+EINTERN void e_policy_wl_base_output_resolution_info_update(pid_t pid);
+
#endif /* E_MOD_WL_H */