disable client menu stacking functions for unstackable windows

any client stacked higher than E_LAYER_CLIENT_ABOVE should never be
user-stacked
This commit is contained in:
Mike Blumenkrantz 2015-11-09 13:11:26 -05:00
parent fe4cd15782
commit 9ffef78188
1 changed files with 16 additions and 13 deletions

View File

@ -156,6 +156,8 @@ e_int_client_menu_create(E_Client *ec)
e_menu_item_submenu_pre_callback_set(mi, _e_client_menu_cb_align_pre, ec); e_menu_item_submenu_pre_callback_set(mi, _e_client_menu_cb_align_pre, ec);
} }
if (ec->layer <= E_LAYER_CLIENT_ABOVE)
{
mi = e_menu_item_new(m); mi = e_menu_item_new(m);
e_menu_item_label_set(mi, _("Always on Top")); e_menu_item_label_set(mi, _("Always on Top"));
e_menu_item_check_set(mi, 1); e_menu_item_check_set(mi, 1);
@ -168,6 +170,7 @@ e_int_client_menu_create(E_Client *ec)
e_theme_edje_file_get("base/theme/borders", e_theme_edje_file_get("base/theme/borders",
"e/widgets/border/default/stack_on_top"), "e/widgets/border/default/stack_on_top"),
"e/widgets/border/default/stack_on_top"); "e/widgets/border/default/stack_on_top");
}
if (!ec->lock_user_sticky) if (!ec->lock_user_sticky)
{ {
@ -790,7 +793,7 @@ _e_client_menu_cb_window_pre(void *data, E_Menu *m EINA_UNUSED, E_Menu_Item *mi)
submi = e_menu_item_new(subm); submi = e_menu_item_new(subm);
e_menu_item_separator_set(submi, 1); 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); submi = e_menu_item_new(subm);
e_menu_item_label_set(submi, _("Stacking")); e_menu_item_label_set(submi, _("Stacking"));