if ((!ec->iconic) && (!e_client_util_ignored_get(ec)))
{
+ if (ec->icccm.fetch.transient_for)
+ {
+ e_policy_stack_transient_for_apply(ec);
+ ec->icccm.fetch.transient_for = 0;
+
+ ec->post_lower = EINA_FALSE;
+ ec->post_raise = EINA_FALSE;
+ }
+
if (!ec->comp_data->sub.data)
{
if (ec->post_lower)
EINTERN void e_policy_stack_init(void);
EINTERN void e_policy_stack_shutdown(void);
EINTERN void e_policy_stack_transient_for_set(E_Client *child, E_Client *parent);
+EINTERN void e_policy_stack_transient_for_apply(E_Client *ec);
+
EINTERN void e_policy_stack_cb_client_remove(E_Client *ec);
EINTERN void e_policy_stack_hook_pre_fetch(E_Client *ec);
EINTERN void e_policy_stack_hook_pre_post_fetch(E_Client *ec);
return EINA_FALSE;
}
-void
-e_policy_stack_hook_pre_post_fetch(E_Client *ec)
+static void
+_e_policy_stack_fetch_transient(E_Client *ec)
{
E_Client *new_focus = NULL;
E_Policy_Stack *ps;
}
void
-e_policy_stack_hook_pre_fetch(E_Client *ec)
+e_policy_stack_hook_pre_post_fetch(E_Client *ec)
+{
+ _e_policy_stack_fetch_transient(ec);
+}
+
+static void
+_e_policy_stack_fetch_icccm_transient_for(E_Client *ec)
{
if (ec->icccm.fetch.transient_for)
{
}
}
+void
+e_policy_stack_hook_pre_fetch(E_Client *ec)
+{
+ _e_policy_stack_fetch_icccm_transient_for(ec);
+}
+
void
e_policy_stack_transient_for_set(E_Client *ec, E_Client *parent)
{
EC_CHANGED(ec);
}
+void
+e_policy_stack_transient_for_apply(E_Client *ec)
+{
+ if (!ec) return;
+
+ _e_policy_stack_fetch_icccm_transient_for(ec);
+ _e_policy_stack_fetch_transient(ec);
+}
+
void
e_policy_stack_cb_client_remove(E_Client *ec)
{