winfo: add -desk test option for iconify_toggle 25/282825/1
authorDoyoun Kang <doyoun.kang@samsung.com>
Wed, 12 Oct 2022 01:39:03 +0000 (10:39 +0900)
committerTizen Window System <tizen.windowsystem@gmail.com>
Wed, 12 Oct 2022 05:31:13 +0000 (14:31 +0900)
Change-Id: I8d1ff2c87b6d8b1123b84bb8ec73ba126a80dab5
Usage: winfo -desk iconify_toggle

src/bin/e_info_client.c
src/bin/e_info_server.c

index f4329442a5011caed697129b1c4ae53c5c261f44..20057946e28e1886eb3dc50f33421ee204e7df01 100644 (file)
@@ -2798,6 +2798,11 @@ _e_info_client_proc_desk(int argc, char **argv)
         int option = 2;
         res = _e_info_client_eldbus_message_with_args("desktop_window_control", NULL, "i", option);
      }
+   else if (eina_streq(argv[offset], "iconify_toggle"))
+     {
+        int option = 3;
+        res = _e_info_client_eldbus_message_with_args("desktop_window_control", NULL, "i", option);
+     }
 
    if (!res)
      {
index 848e86255f4e2170e38996772172ab256edb5d9f..1adcd89c24d6b8600366bf8bd894424dd5989e00 100644 (file)
@@ -4100,6 +4100,20 @@ _e_info_server_cb_desktop_window_control(const Eldbus_Service_Interface *iface E
         ELOGF("TEST", "Clear Iconified Windows List", NULL);
         e_desk_visible_client_iconified_list_remove_all(desk);
      }
+   else if (option == 3) // toggle
+     {
+        Eina_List *iconified_list = e_desk_visible_client_iconified_list_get(desk);
+        if (iconified_list)
+          {
+             ELOGF("TEST", "Toggle. Restore Iconified Windows", NULL);
+             e_desk_visible_client_restore_all(desk);
+          }
+        else
+          {
+             ELOGF("TEST", "Toggle. Iconify Visible Windows", NULL);
+             e_desk_visible_client_iconify_all(desk);
+          }
+     }
 
    return reply;
 }