discomfitor pushed a commit to branch enlightenment-0.19. http://git.enlightenment.org/core/enlightenment.git/commit/?id=eefba0945669f8829c34d43642c05f84eca7a82b
commit eefba0945669f8829c34d43642c05f84eca7a82b Author: Mike Blumenkrantz <zm...@osg.samsung.com> Date: Mon Nov 9 13:11:26 2015 -0500 disable client menu stacking functions for unstackable windows any client stacked higher than E_LAYER_CLIENT_ABOVE should never be user-stacked --- src/bin/e_int_client_menu.c | 29 ++++++++++++++++------------- 1 file changed, 16 insertions(+), 13 deletions(-) diff --git a/src/bin/e_int_client_menu.c b/src/bin/e_int_client_menu.c index a357054..3f4afda 100644 --- a/src/bin/e_int_client_menu.c +++ b/src/bin/e_int_client_menu.c @@ -148,18 +148,21 @@ e_int_client_menu_create(E_Client *ec) "e/widgets/border/default/sendto"); } - mi = e_menu_item_new(m); - e_menu_item_label_set(mi, _("Always on Top")); - e_menu_item_check_set(mi, 1); - e_menu_item_toggle_set(mi, (ec->layer == E_LAYER_CLIENT_ABOVE ? 1 : 0)); - if (ec->layer == E_LAYER_CLIENT_ABOVE) - e_menu_item_callback_set(mi, _e_client_menu_cb_normal, ec); - else - e_menu_item_callback_set(mi, _e_client_menu_cb_on_top, ec); - e_menu_item_icon_edje_set(mi, - e_theme_edje_file_get("base/theme/borders", - "e/widgets/border/default/stack_on_top"), - "e/widgets/border/default/stack_on_top"); + if (ec->layer <= E_LAYER_CLIENT_ABOVE) + { + mi = e_menu_item_new(m); + e_menu_item_label_set(mi, _("Always on Top")); + e_menu_item_check_set(mi, 1); + e_menu_item_toggle_set(mi, (ec->layer == E_LAYER_CLIENT_ABOVE ? 1 : 0)); + if (ec->layer == E_LAYER_CLIENT_ABOVE) + e_menu_item_callback_set(mi, _e_client_menu_cb_normal, ec); + else + e_menu_item_callback_set(mi, _e_client_menu_cb_on_top, ec); + e_menu_item_icon_edje_set(mi, + e_theme_edje_file_get("base/theme/borders", + "e/widgets/border/default/stack_on_top"), + "e/widgets/border/default/stack_on_top"); + } if (!ec->lock_user_sticky) { @@ -744,7 +747,7 @@ _e_client_menu_cb_window_pre(void *data, E_Menu *m __UNUSED__, E_Menu_Item *mi) submi = e_menu_item_new(subm); e_menu_item_separator_set(submi, 1); - if ((!ec->lock_user_stacking) && (!ec->fullscreen)) + if ((!ec->lock_user_stacking) && (!ec->fullscreen) && (ec->layer <= E_LAYER_CLIENT_ABOVE)) { submi = e_menu_item_new(subm); e_menu_item_label_set(submi, _("Stacking")); --