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"));

-- 


Reply via email to