This is an automated email from the git hooks/post-receive script.

git pushed a commit to branch master
in repository enlightenment.

View the commit online.

commit 3b1d0595c6c2524e3b18390fbf00d54e9baea30c
Author: Carsten Haitzler <[email protected]>
AuthorDate: Sat Jul 4 19:39:37 2026 +0100

    add actions to always stack on top/below/normal
    
    fixes #141
---
 src/bin/e_actions.c | 60 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 60 insertions(+)

diff --git a/src/bin/e_actions.c b/src/bin/e_actions.c
index e9de83ee1..e8d9582c5 100644
--- a/src/bin/e_actions.c
+++ b/src/bin/e_actions.c
@@ -298,6 +298,51 @@ ACT_FN_GO(window_close, EINA_UNUSED)
      e_client_act_close_begin((E_Client *)(void *)obj);
 }
 
+/***************************************************************************/
+ACT_FN_GO(window_always_stack_top, EINA_UNUSED)
+{
+   E_Client *ec;
+   if ((!obj) || (obj->type != E_CLIENT_TYPE))
+     obj = E_OBJECT(e_client_focused_get());
+   if (!obj) return;
+   ec = (void *)obj;
+   if (!ec->lock_user_stacking)
+    {
+      if (ec->layer != E_LAYER_CLIENT_ABOVE)
+        evas_object_layer_set(ec->frame, E_LAYER_CLIENT_ABOVE);
+    }
+}
+
+/***************************************************************************/
+ACT_FN_GO(window_always_stack_below, EINA_UNUSED)
+{
+   E_Client *ec;
+   if ((!obj) || (obj->type != E_CLIENT_TYPE))
+     obj = E_OBJECT(e_client_focused_get());
+   if (!obj) return;
+   ec = (void *)obj;
+   if (!ec->lock_user_stacking)
+    {
+      if (ec->layer != E_LAYER_CLIENT_BELOW)
+        evas_object_layer_set(ec->frame, E_LAYER_CLIENT_BELOW);
+    }
+}
+
+/***************************************************************************/
+ACT_FN_GO(window_always_stack_normal, EINA_UNUSED)
+{
+   E_Client *ec;
+   if ((!obj) || (obj->type != E_CLIENT_TYPE))
+     obj = E_OBJECT(e_client_focused_get());
+   if (!obj) return;
+   ec = (void *)obj;
+   if (!ec->lock_user_stacking)
+    {
+      if (ec->layer != E_LAYER_CLIENT_NORMAL)
+        evas_object_layer_set(ec->frame, E_LAYER_CLIENT_NORMAL);
+    }
+}
+
 /***************************************************************************/
 static E_Dialog *kill_dialog = NULL;
 
@@ -3528,6 +3573,21 @@ e_actions_init(void)
    e_action_predef_name_set(N_("Window : Actions"), N_("Lower"),
                             "window_lower", NULL, NULL, 0);
 
+   /* window_always_stack_top */
+   ACT_GO(window_always_stack_top);
+   e_action_predef_name_set(N_("Window : Actions"), N_("Always Stack On Top"),
+                            "window_always_stack_top", NULL, NULL, 0);
+
+   /* window_always_stack_below */
+   ACT_GO(window_always_stack_below);
+   e_action_predef_name_set(N_("Window : Actions"), N_("Always Stack Below"),
+                            "window_always_stack_below", NULL, NULL, 0);
+
+   /* window_always_stack_below */
+   ACT_GO(window_always_stack_normal);
+   e_action_predef_name_set(N_("Window : Actions"), N_("Always Stack Normal"),
+                            "window_always_stack_normal", NULL, NULL, 0);
+
    /* window_close */
    ACT_GO(window_close);
    e_action_predef_name_set(N_("Window : Actions"), N_("Close"),

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.

Reply via email to