From 633d5b6f95ae8a9d6ff2473e41e43121ca66fed1 Mon Sep 17 00:00:00 2001 From: "Junseok, Kim" Date: Fri, 2 Apr 2021 16:08:12 +0900 Subject: [PATCH] e_policy_visibility: do not below_iconify when ec is transparent No need to below uniconify if the lower / hide window is transparent. Because of below windows are already uniconic state. Change-Id: I1c94ae0080e9fd97d075cb6ab7669cfbc13b9b38 Signed-off-by: Junseok, Kim --- src/bin/e_policy_visibility.c | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/src/bin/e_policy_visibility.c b/src/bin/e_policy_visibility.c index 97cc3cc3ce..13ef2aa90d 100644 --- a/src/bin/e_policy_visibility.c +++ b/src/bin/e_policy_visibility.c @@ -2128,6 +2128,12 @@ _e_vis_intercept_hide(void *data EINA_UNUSED, E_Client *ec) return EINA_FALSE; } + if (ec->argb) + { + VS_DBG(ec, "Window is transparent."); + pending = EINA_FALSE; + } + if (_e_vis_client_is_below_uniconify_skip(vc)) { VS_DBG(ec, "Skip to uniconify below client"); @@ -2336,6 +2342,12 @@ e_policy_visibility_client_lower(E_Client *ec) /* if vc has job grab, release them */ _e_vis_client_grab_cancel(vc); + if (ec->argb) + { + VS_DBG(ec, "Window is transparent."); + ret = EINA_FALSE; + } + above_vis_type = _e_vis_ec_above_visible_type(ec, EINA_TRUE); if (above_vis_type == E_POL_VIS_TYPE_NON_ALPHA) { @@ -2375,6 +2387,12 @@ e_policy_visibility_client_iconify(E_Client *ec) /* if vc has job grab, release them */ _e_vis_client_grab_cancel(vc); + if (ec->argb) + { + VS_DBG(ec, "Window is transparent."); + return EINA_FALSE; + } + if (ec->iconic) return EINA_FALSE; above_vis_type = _e_vis_ec_above_visible_type(ec, EINA_TRUE); @@ -2512,6 +2530,12 @@ e_policy_visibility_client_layer_lower(E_Client *ec, E_Layer layer) /* if vc has job grab, release them */ _e_vis_client_grab_cancel(vc); + if (ec->argb) + { + VS_DBG(ec, "Window is transparent."); + return EINA_FALSE; + } + above_vis_type = _e_vis_ec_above_visible_type(ec, EINA_TRUE); if (above_vis_type == E_POL_VIS_TYPE_NON_ALPHA) { -- 2.34.1