e_policy: add e_policy_client_check_really_iconified 83/320983/1
authorSooChan Lim <sc1.lim@samsung.com>
Tue, 11 Mar 2025 09:09:52 +0000 (18:09 +0900)
committerTizen Window System <tizen.windowsystem@gmail.com>
Wed, 12 Mar 2025 09:26:31 +0000 (18:26 +0900)
This checks if the ec is really iconified.

Change-Id: I9cbe77d6d3c63db7b28a52ce5c39b08cf347519f

src/bin/windowmgr/e_policy.c
src/bin/windowmgr/e_policy_intern.h

index ceb8dcb5a9e5fadafb218581e5618caccbc09dff..4ce5be194b7d88e708606911d295e58637d7578c 100644 (file)
@@ -1362,6 +1362,18 @@ e_policy_client_fully_covering_above_ec_get(E_Client *ec)
    return above;
 }
 
+EINTERN Eina_Bool
+e_policy_client_check_really_iconified(E_Client *ec)
+{
+   EINA_SAFETY_ON_NULL_RETURN_VAL(ec, EINA_FALSE);
+
+   if (!ec->iconic) return EINA_FALSE;
+
+   return ((!e_policy_visibility_client_is_uniconic(ec) &&
+            !e_policy_visibility_client_is_uniconify_render_running(ec)) ||
+           (e_client_is_iconified_by_client(ec)));
+}
+
 static void
 _e_policy_client_unmap(E_Client *ec)
 {
index 8188c004bbecc5ddf657811c107db8f8f14e8e46..91153c32e61e6fbe8cd18777395e9de0056dac37 100644 (file)
@@ -141,6 +141,7 @@ EINTERN void             e_policy_client_maximize_policy_cancel(E_Policy_Client
 EINTERN E_Policy_Client *e_policy_client_launcher_get(E_Zone *zone);
 EINTERN void             e_policy_client_buffer_flush_cancel(E_Client *ec);
 EINTERN E_Client        *e_policy_client_fully_covering_above_ec_get(E_Client *ec);
+EINTERN Eina_Bool        e_policy_client_check_really_iconified(E_Client *ec);
 
 EINTERN void             e_policy_keyboard_layout_apply(E_Client *ec);