e_client: add e_client_desk_iconify_skip_set/get APIs 42/285342/1
authorDoyoun Kang <doyoun.kang@samsung.com>
Fri, 9 Dec 2022 02:54:49 +0000 (11:54 +0900)
committerTizen Window System <tizen.windowsystem@gmail.com>
Fri, 9 Dec 2022 08:05:04 +0000 (17:05 +0900)
We provide APIs for setting/getting a value to skip iconify by desk as below.
- E_API void e_client_desk_iconify_skip_set(E_Client *ec, Eina_Bool skip);
- E_API Eina_Bool e_client_desk_iconify_skip_get(E_Client *ec);

Change-Id: I680a0301d72c71822bf8b83c3fdf0f203559cdc0

src/bin/e_client.c
src/bin/e_client.h
src/bin/e_desk.c

index bc25e6bbc7d38e6a20a5c15f777596471747d376..8b9f66b9b4b3299419ca3ed0760263bbb9a70a4f 100644 (file)
@@ -4909,6 +4909,20 @@ e_client_desk_set(E_Client *ec, E_Desk *desk)
      }
 }
 
+E_API void
+e_client_desk_iconify_skip_set(E_Client *ec, Eina_Bool skip)
+{
+   if (!ec) return;
+   ec->user_skip_winlist = skip;
+}
+
+E_API Eina_Bool
+e_client_desk_iconify_skip_get(E_Client *ec)
+{
+   if (!ec) return EINA_FALSE;
+   return ec->user_skip_winlist;
+}
+
 E_API Eina_Bool
 e_client_comp_grabbed_get(void)
 {
@@ -5991,7 +6005,7 @@ e_client_activate(E_Client *ec, Eina_Bool just_do_it)
                }
           }
 
-        if (!ec->user_skip_winlist)
+        if (!e_client_desk_iconify_skip_get(ec))
           {
              e_desk_visible_client_iconified_list_remove_all(ec->desk);
           }
index 5bdb33eb428d5fe70f76df8925cd458644f6ed7f..c21a11f9a59f6aea689510a627c8a04b4e94631d 100644 (file)
@@ -1125,6 +1125,8 @@ E_API E_Client *e_client_new(E_Pixmap *cp, int first_map, int internal);
 E_API Eina_Bool e_client_is_internal(E_Client *ec);
 E_API void e_client_unignore(E_Client *ec);
 E_API void e_client_desk_set(E_Client *ec, E_Desk *desk);
+E_API void e_client_desk_iconify_skip_set(E_Client *ec, Eina_Bool skip);
+E_API Eina_Bool e_client_desk_iconify_skip_get(E_Client *ec);
 E_API Eina_Bool e_client_comp_grabbed_get(void);
 E_API E_Client *e_client_action_get(void);
 E_API E_Client *e_client_warping_get(void);
index 31c56d7e0348513f100f4ea2ef8e7790334cf10e..372b2e22f91ccda97853935757dcceffbde7ff41 100644 (file)
@@ -1362,7 +1362,7 @@ e_desk_visible_client_iconify_all(E_Desk *desk)
         if (e_object_is_del(E_OBJECT(ec))) continue;
         if (!ec->visible) continue;
         if (ec->netwm.type == E_WINDOW_TYPE_DESKTOP) continue;
-        if (ec->user_skip_winlist) continue;
+        if (e_client_desk_iconify_skip_get(ec)) continue;
         if (ec->visibility.obscured == E_VISIBILITY_UNKNOWN) continue;
         if (ec->visibility.obscured != E_VISIBILITY_UNOBSCURED)
           {