When a child window which set transient_for_below and belog_to_parent properties
requests to raise, e raises it only between siblings and doesn't raise it on the parent.
In other words, the child window is always placed under the parent.
Change-Id: I167207784bec461865eff72b4105502b294d15c9
return EINA_TRUE;
}
+static void
+_raise_between_sibling_under_parent(E_Client *ec)
+{
+ ELOGF("POL", "RAISE child window between sibling. So, stack below under the parent (win:%zx, ec:%p)", ec, e_client_util_win_get(ec->parent), ec->parent);
+ e_client_stack_below(ec, ec->parent);
+}
+
static void
_raise_between_sibling_on_parent(E_Client *ec)
{
static void
_raise_belong_to_parent(E_Client *ec)
{
- _raise_between_sibling_on_parent(ec);
+ if (e_client_transient_policy_get(ec) == E_TRANSIENT_BELOW)
+ _raise_between_sibling_under_parent(ec);
+ else
+ _raise_between_sibling_on_parent(ec);
}
E_API void