diff options
author | Doyoun Kang <doyoun.kang@samsung.com> | 2013-08-05 22:39:22 +0900 |
---|---|---|
committer | Doyoun Kang <doyoun.kang@samsung.com> | 2013-08-05 22:39:22 +0900 |
commit | 8f1f1578f9982717d4365f2df7d57038ca65201d (patch) | |
tree | fea286f87ae35d14f2cc7b04ece591ea146fc138 | |
parent | 3a6a66c1b73bb6d57c60e6b9767bf5d893811116 (diff) | |
download | e17-extra-modules-8f1f1578f9982717d4365f2df7d57038ca65201d.tar.gz e17-extra-modules-8f1f1578f9982717d4365f2df7d57038ca65201d.tar.bz2 e17-extra-modules-8f1f1578f9982717d4365f2df7d57038ca65201d.zip |
[ILLUME2] add code to check flag not to iconify/deiconify window
Change-Id: I8f3a9718206c5764169a03e36f5234109b343a97
-rw-r--r-- | illume2-tizen/src/policies/illume/policy.c | 43 | ||||
-rw-r--r-- | illume2-tizen/src/policies/illume/policy.h | 1 |
2 files changed, 35 insertions, 9 deletions
diff --git a/illume2-tizen/src/policies/illume/policy.c b/illume2-tizen/src/policies/illume/policy.c index e67988b..c3f9f4d 100644 --- a/illume2-tizen/src/policies/illume/policy.c +++ b/illume2-tizen/src/policies/illume/policy.c @@ -3343,22 +3343,22 @@ _policy_border_list_print (Ecore_X_Window win) { if (xwin_info->bd_info->border) { - fprintf (out, "%3i 0x%07x %4i %4i %6i %6i %5i %5i %5i %5i %5i %5i yes(0x%07x)\n", + fprintf (out, "%3i 0x%07x %4i %4i %6i %6i %5i %5i %5i %5i %5i %5i %5i yes(0x%07x)\n", i++, xwin_info->id, xwin_info->attr.w, xwin_info->attr.h, xwin_info->attr.x, xwin_info->attr.y, xwin_info->attr.depth, - xwin_info->viewable, xwin_info->visibility, xwin_info->comp_vis, xwin_info->bd_info->border->iconic, xwin_info->iconify_by_wm, xwin_info->bd_info->border->client.win); + xwin_info->viewable, xwin_info->visibility, xwin_info->comp_vis, xwin_info->bd_info->border->iconic, xwin_info->iconify_by_wm, xwin_info->skip_iconify, xwin_info->bd_info->border->client.win); } else { - fprintf (out, "%3i 0x%07x %4i %4i %6i %6i %5i %5i %5i %5i 0 %3i no(NULL)\n", + fprintf (out, "%3i 0x%07x %4i %4i %6i %6i %5i %5i %5i %5i 0 %3i %5i no(NULL)\n", i++, xwin_info->id, xwin_info->attr.w, xwin_info->attr.h, xwin_info->attr.x, xwin_info->attr.y, xwin_info->attr.depth, - xwin_info->viewable, xwin_info->visibility, xwin_info->comp_vis, xwin_info->iconify_by_wm); + xwin_info->viewable, xwin_info->visibility, xwin_info->comp_vis, xwin_info->iconify_by_wm, xwin_info->skip_iconify); } } else { - fprintf (out, "%3i 0x%07x %4i %4i %6i %6i %5i %5i %5i %5i 0 %3i no(NULL)\n", + fprintf (out, "%3i 0x%07x %4i %4i %6i %6i %5i %5i %5i %5i 0 %3i %5i no(NULL)\n", i++, xwin_info->id, xwin_info->attr.w, xwin_info->attr.h, xwin_info->attr.x, xwin_info->attr.y, xwin_info->attr.depth, - xwin_info->viewable, xwin_info->visibility, xwin_info->comp_vis, xwin_info->iconify_by_wm); + xwin_info->viewable, xwin_info->visibility, xwin_info->comp_vis, xwin_info->iconify_by_wm, xwin_info->skip_iconify); } } fprintf (out, "---------------------------------------------------------------------------------------------\n" ); @@ -4647,10 +4647,20 @@ _policy_check_transient_child_visible(E_Border *bd) if (ret) return ret; child_xwin_info = _policy_xwin_info_find(child->win); - if ((child_xwin_info && (child_xwin_info->visibility == E_ILLUME_VISIBILITY_UNOBSCURED)) || - !child->iconic) + if (child_xwin_info) { - return EINA_TRUE; + if (child_xwin_info->skip_iconify != EINA_TRUE) + { + if ((child_xwin_info->visibility == E_ILLUME_VISIBILITY_UNOBSCURED) || + (!child->iconic)) + { + return EINA_TRUE; + } + } + } + else + { + if (!child->iconic) return EINA_TRUE; } ret = _policy_check_transient_child_visible(child); @@ -5018,6 +5028,21 @@ _policy_xwin_info_add (Ecore_X_Window win) eina_hash_add(_e_illume_xwin_info_hash, e_util_winid_str_get(xwin_info->id), xwin_info); _e_illume_xwin_info_list = eina_inlist_append(_e_illume_xwin_info_list, EINA_INLIST_GET(xwin_info)); + if (bd) + { + if ((e_illume_border_is_indicator(bd)) || + (e_illume_border_is_keyboard(bd)) || + (e_illume_border_is_keyboard_sub(bd)) || + (e_illume_border_is_quickpanel(bd)) || + (e_illume_border_is_quickpanel_popup(bd)) || + (e_illume_border_is_clipboard(bd)) || + (e_illume_border_is_app_tray(bd)) || + (e_illume_border_is_miniapp_tray(bd))) + { + xwin_info->skip_iconify = EINA_TRUE; + } + } + return EINA_TRUE; } diff --git a/illume2-tizen/src/policies/illume/policy.h b/illume2-tizen/src/policies/illume/policy.h index a6d86fe..d1f95ff 100644 --- a/illume2-tizen/src/policies/illume/policy.h +++ b/illume2-tizen/src/policies/illume/policy.h @@ -95,6 +95,7 @@ struct _E_Illume_XWin_Info int visibility; Eina_Bool iconic; Eina_Bool iconify_by_wm; + Eina_Bool skip_iconify; Eina_Bool comp_vis; Eina_Bool is_drawed; Eina_Bool viewable : 1; // map state |