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

git pushed a commit to branch master
in repository evisum.

View the commit online.

commit 764ad73f8d91422a967074bdfb767d8c5f9d735b
Author: Alastair Poole <[email protected]>
AuthorDate: Mon Mar 30 05:43:44 2026 +0100

    bugs bugs bugs
---
 NEWS                                | 1 +
 src/bin/ui/evisum_ui.c              | 7 ++++++-
 src/bin/ui/evisum_ui_process_list.c | 1 +
 src/bin/ui/evisum_ui_widget_exel.c  | 7 +++++--
 4 files changed, 13 insertions(+), 3 deletions(-)

diff --git a/NEWS b/NEWS
index ecf3365..2bb94ae 100644
--- a/NEWS
+++ b/NEWS
@@ -16,6 +16,7 @@ Evisum 1.2.0-beta
   * Use evas_vg and vectors for our graphs.
   * Add disk i/o tracking (Linux only).
   * Fix process view window resize so it remembers.
+  * Columns in widget can reorder.
 
 ============
 Evisum 1.1.0
diff --git a/src/bin/ui/evisum_ui.c b/src/bin/ui/evisum_ui.c
index 4c4b7ab..bff9d67 100644
--- a/src/bin/ui/evisum_ui.c
+++ b/src/bin/ui/evisum_ui.c
@@ -24,10 +24,15 @@ static void
 _proc_field_order_sanitize(int *order) {
     unsigned char seen[EVISUM_PROC_FIELD_WIDTHS_MAX] = { 0 };
     int out[EVISUM_PROC_FIELD_WIDTHS_MAX] = { 0 };
-    int pos = PROC_FIELD_CMD;
+    int pos;
 
     if (!order) return;
 
+    /* Keep command fixed in the first position. */
+    out[PROC_FIELD_CMD] = PROC_FIELD_CMD;
+    seen[PROC_FIELD_CMD] = 1;
+    pos = PROC_FIELD_CMD + 1;
+
     for (int i = PROC_FIELD_CMD; i < PROC_FIELD_MAX; i++) {
         int id = order[i];
         if ((id >= PROC_FIELD_CMD) && (id < PROC_FIELD_MAX) && !seen[id]) {
diff --git a/src/bin/ui/evisum_ui_process_list.c b/src/bin/ui/evisum_ui_process_list.c
index c4d7eda..1ac50c5 100644
--- a/src/bin/ui/evisum_ui_process_list.c
+++ b/src/bin/ui/evisum_ui_process_list.c
@@ -1687,6 +1687,7 @@ evisum_ui_process_list_win_add(Evisum_Ui *ui) {
     _evisum_ui_process_list_feedback_cb(view, NULL, _evisum_ui_process_list_get(view));
 
     _evisum_ui_process_list_win_resize_cb(view, NULL, win, NULL);
+    view->skip_wait = 1;
     view->thread = ecore_thread_feedback_run(_evisum_ui_process_list_process_list, _evisum_ui_process_list_feedback_cb,
                                              NULL, NULL, view, 0);
 }
diff --git a/src/bin/ui/evisum_ui_widget_exel.c b/src/bin/ui/evisum_ui_widget_exel.c
index c283ebd..87ae20c 100644
--- a/src/bin/ui/evisum_ui_widget_exel.c
+++ b/src/bin/ui/evisum_ui_widget_exel.c
@@ -98,7 +98,10 @@ _evisum_ui_widget_exel_field_order_sanitize(Evisum_Ui_Widget_Exel *wx) {
 
     if (!wx || !wx->p.field_order) return;
 
-    pos = wx->p.field_first;
+    /* Keep the first field pinned (e.g. command column). */
+    out[wx->p.field_first] = wx->p.field_first;
+    seen[wx->p.field_first] = 1;
+    pos = wx->p.field_first + 1;
     for (int i = wx->p.field_first; i < wx->p.field_max; i++) {
         int id = wx->p.field_order[i];
         if (id < wx->p.field_first || id >= wx->p.field_max) continue;
@@ -422,7 +425,7 @@ _evisum_ui_widget_exel_reorder_commit(Evisum_Ui_Widget_Exel *wx, Evas_Coord x) {
     if (!changed) return EINA_FALSE;
 
     wx->ignore_sort_click = 1;
-    if (wx->header_tb) {
+    if (!wx->p.fields_reordered_cb && wx->header_tb) {
         elm_table_clear(wx->header_tb, EINA_FALSE);
         evisum_ui_widget_exel_fields_pack_visible(wx, wx->header_tb, 0);
     }

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

Reply via email to