}
}
- if (ec->parent && ec->transient_for_always_on_parent)
+ if (ec->parent && e_client_is_belong_to_parent(ec))
_raise_belong_to_parent(ec);
else
evas_object_raise(ec->frame);
}
}
- if (ec->parent && ec->transient_for_always_on_parent)
+ if (ec->parent && e_client_is_belong_to_parent(ec))
_lower_belong_to_parent(ec);
else
evas_object_lower(ec->frame);
return EINA_TRUE;
}
+EINTERN void
+e_client_belong_to_parent_set(E_Client *ec, Eina_Bool set)
+{
+ if (!ec) return;
+ ec->belong_to_parent = set;
+}
+
+E_API Eina_Bool
+e_client_is_belong_to_parent(E_Client *ec)
+{
+ EINA_SAFETY_ON_NULL_RETURN_VAL(ec, EINA_FALSE);
+ return ec->belong_to_parent;
+}
+
E_API void
e_client_transient_policy_set(E_Client *ec, E_Transient policy)
{
} desk_group;
Eina_Bool transient_for_always_on_top;
- Eina_Bool transient_for_always_on_parent;
+ Eina_Bool belong_to_parent;
struct
{
int count;
E_API E_Map *e_client_map_get(const E_Client *ec);
E_API Eina_Bool e_client_map_enable_set(E_Client *ec, Eina_Bool enabled);
+EINTERN void e_client_belong_to_parent_set(E_Client *ec, Eina_Bool set);
+E_API Eina_Bool e_client_is_belong_to_parent(E_Client *ec);
+
E_API void e_client_transient_policy_set(E_Client *ec, E_Transient policy);
E_API E_Transient e_client_transient_policy_get(E_Client *ec);
E_POLICY_HINT_ROT_RENDER_NOPENDING = 10,
E_POLICY_HINT_ICONIFY_BUFFER_FLUSH = 11,
E_POLICY_HINT_TRANSIENT_FOR_ALWAYS_ON_TOP = 12,
- E_POLICY_HINT_TRANSIENT_FOR_ALWAYS_ON_PARENT = 13,
+ E_POLICY_HINT_BELONG_TO_PARENT = 13,
};
static const char *hint_names[] =
"wm.policy.win.rot.render.nopending",
"wm.policy.win.iconify.buffer.flush",
"wm.policy.win.transient_for.always_on_top",
- "wm.policy.win.transient_for.always_on_parent",
+ "wm.policy.win.belong_to_parent",
};
static void _e_policy_wl_surf_del(E_Policy_Wl_Surface *psurf);
ec->transient_for_always_on_top = EINA_FALSE;
}
}
- else if (!strncmp(hint->hint, hint_names[E_POLICY_HINT_TRANSIENT_FOR_ALWAYS_ON_PARENT], strlen(hint->hint)))
+ else if (!strncmp(hint->hint, hint_names[E_POLICY_HINT_BELONG_TO_PARENT], strlen(hint->hint)))
{
if (!strncmp(hint->val, "1", 1))
{
- ELOGF("TF_SET", "Transient for Always_on_parent enabled", ec);
- ec->transient_for_always_on_parent = EINA_TRUE;
+ ELOGF("TF_SET", "Set belong_to_parent", ec);
+ e_client_belong_to_parent_set(ec, EINA_TRUE);
}
else
{
- ELOGF("TF_SET", "Transient for Always_on_parent disabled", ec);
- ec->transient_for_always_on_parent = EINA_FALSE;
+ ELOGF("TF_SET", "Unset belong_to_parent", ec);
+ e_client_belong_to_parent_set(ec, EINA_FALSE);
}
}
}