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 7465110b8189ac6633e918a472a1b0248d4203bf
Author: Alastair Poole <[email protected]>
AuthorDate: Mon Apr 20 21:23:38 2026 +0100
gadcon: ensure we save the order in shelf.
The order save was unreliable.
Moving order of gadgets WITHIN a shelf resolved.
Moving between desktop and shelf is difficult to get right but
this improves the overall behaviour.
---
src/bin/e_gadcon.c | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)
diff --git a/src/bin/e_gadcon.c b/src/bin/e_gadcon.c
index 2681a2f96..008c6f680 100644
--- a/src/bin/e_gadcon.c
+++ b/src/bin/e_gadcon.c
@@ -18,6 +18,7 @@ static Eina_Bool _e_gadcon_cb_client_scroll_animator(void *data);
static void _e_gadcon_cb_client_frame_mouse_move(void *data, Evas *e, Evas_Object *obj, void *event_info);
static void _e_gadcon_cb_client_frame_moveresize(void *data, Evas *e, Evas_Object *obj, void *event_info);
static void _e_gadcon_client_save(E_Gadcon_Client *gcc);
+static void _e_gadcon_client_order_save(E_Gadcon *gc);
static void _e_gadcon_client_drag_begin(E_Gadcon_Client *gcc, int x, int y);
static void _e_gadcon_client_inject(E_Gadcon *gc, E_Gadcon_Client *gcc, int x, int y);
@@ -2362,6 +2363,28 @@ _e_gadcon_client_save(E_Gadcon_Client *gcc)
e_config_save_queue();
}
+static void
+_e_gadcon_client_order_save(E_Gadcon *gc)
+{
+ E_Gadcon_Client *gcc;
+ Eina_List *l;
+
+ if (!gc) return;
+ if (!gc->cf) return;
+ if (!gc->o_container) return;
+
+ _e_gadcon_layout_smart_sync_clients(gc);
+
+ gc->cf->clients = eina_list_free(gc->cf->clients);
+ EINA_LIST_FOREACH(gc->clients, l, gcc)
+ {
+ if (!gcc->cf) continue;
+ gc->cf->clients = eina_list_append(gc->cf->clients, gcc->cf);
+ }
+
+ e_config_save_queue();
+}
+
static void
_e_gadcon_client_drag_begin(E_Gadcon_Client *gcc, int x, int y)
{
@@ -3280,6 +3303,7 @@ _e_gadcon_cb_dnd_drop(void *data, const char *type EINA_UNUSED, void *event EINA
_e_gadcon_client_save(drag_gcc);
e_gadcon_client_show(drag_gcc);
if (gc->dnd_drop_cb) gc->dnd_drop_cb(gc, drag_gcc);
+ _e_gadcon_client_order_save(gc);
return;
}
@@ -3328,6 +3352,7 @@ _e_gadcon_cb_dnd_drop(void *data, const char *type EINA_UNUSED, void *event EINA
}
if (gc->editing) e_gadcon_client_edit_begin(gc->new_gcc);
gc->new_gcc = NULL;
+ _e_gadcon_client_order_save(gc);
e_config_save_queue();
if (gc->dnd_drop_cb) gc->dnd_drop_cb(gc, gcc);
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.