kwo pushed a commit to branch master.

http://git.enlightenment.org/e16/e16.git/commit/?id=c5ffe964b050d9f57c8ed6a4eba539c298dcfad1

commit c5ffe964b050d9f57c8ed6a4eba539c298dcfad1
Author: Kim Woelders <[email protected]>
Date:   Sun Apr 3 19:24:14 2022 +0200

    arrange: Use object order list when arranging
    
    Previously the stacking order was used. This meant that windows of the
    same size after stacking changes might be shuffled around when doing e.g.
    "desk arrange", which does not seem right.
---
 src/arrange.c  | 2 +-
 src/eobj.h     | 1 +
 src/stacking.c | 6 ++++++
 3 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/src/arrange.c b/src/arrange.c
index 2597a6bc..d3a27bb1 100644
--- a/src/arrange.c
+++ b/src/arrange.c
@@ -731,7 +731,7 @@ ArrangeGetRectList(RectBox ** pfixed, int *nfixed, RectBox 
** pfloating,
    fixed = floating = NULL;
    nfix = nflt = 0;
 
-   lst = EobjListStackGet(&num);
+   lst = EobjListOrderGet(&num);
    if (!lst)
       goto done;
 
diff --git a/src/eobj.h b/src/eobj.h
index 62f6038c..8d8a04b4 100644
--- a/src/eobj.h
+++ b/src/eobj.h
@@ -204,6 +204,7 @@ void                EobjListFocusDel(EObj * eo);
 int                 EobjListFocusRaise(EObj * eo);
 void                EobjListOrderAdd(EObj * eo);
 void                EobjListOrderDel(EObj * eo);
+EObj               *const *EobjListOrderGet(int *num);
 
 /* Hmmm. */
 int                 OpacityFix(int op, int op_0);
diff --git a/src/stacking.c b/src/stacking.c
index 667d0368..38c2173a 100644
--- a/src/stacking.c
+++ b/src/stacking.c
@@ -509,6 +509,12 @@ EobjListOrderDel(EObj * eo)
    EobjListDel(&EobjListOrder, eo);
 }
 
+EObj               *const *
+EobjListOrderGet(int *num)
+{
+   return EobjListGet(&EobjListOrder, num);
+}
+
 EWin               *const *
 EwinListOrderGet(int *num)
 {

-- 


Reply via email to