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 2f91b78f841b1b48f058fe44fa305419a96f6fcb
Author: Alastair Poole <[email protected]>
AuthorDate: Tue Jun 2 00:36:58 2026 +0100

    ui: remove tick hack from  UI.
    
    This improves behaviour.
---
 src/bin/ui/evisum_ui_disk.c    | 22 +++++++++++-----------
 src/bin/ui/evisum_ui_memory.c  | 12 ++++++++----
 src/bin/ui/evisum_ui_sensors.c | 14 +++++++++-----
 3 files changed, 28 insertions(+), 20 deletions(-)

diff --git a/src/bin/ui/evisum_ui_disk.c b/src/bin/ui/evisum_ui_disk.c
index 4689e5e..27f9623 100644
--- a/src/bin/ui/evisum_ui_disk.c
+++ b/src/bin/ui/evisum_ui_disk.c
@@ -462,24 +462,24 @@ static void
 _evisum_ui_disk_disks_poll(void *data, Ecore_Thread *thread) {
     Evisum_Ui_Disk_View *view = data;
     uint64_t seq = 0;
-    int ticks = 9;
-    Eina_Bool populated = EINA_FALSE;
+    uint32_t last_snapshot_time = 0;
 
     while (!ecore_thread_check(thread)) {
+        Eina_Bool forced_update = EINA_FALSE;
         Eina_List *mounted;
+        uint32_t snapshot_time;
+
         if (view->skip_wait) {
             view->skip_wait = 0;
-            ticks = 9;
+            forced_update = EINA_TRUE;
         } else if (!evisum_background_update_wait(&seq)) continue;
-        ticks++;
-        if (ticks < 10) continue;
-        ticks = 0;
+
+        snapshot_time = evisum_engine_live_time_get();
+        if (!forced_update && (!snapshot_time || (snapshot_time == last_snapshot_time))) continue;
+
         mounted = file_system_info_all_get();
-        if (!mounted) {
-            if (!populated) ticks = 9;
-            continue;
-        }
-        populated = EINA_TRUE;
+        if (!mounted) continue;
+        if (snapshot_time) last_snapshot_time = snapshot_time;
         ecore_thread_feedback(thread, mounted);
     }
 }
diff --git a/src/bin/ui/evisum_ui_memory.c b/src/bin/ui/evisum_ui_memory.c
index 223110d..a9b9d30 100644
--- a/src/bin/ui/evisum_ui_memory.c
+++ b/src/bin/ui/evisum_ui_memory.c
@@ -333,19 +333,23 @@ _evisum_ui_memory_mem_usage_main(void *data, Ecore_Thread *thread) {
     Evisum_Ui_Memory_View *view = data;
     static Meminfo memory;
     uint64_t seq = 0;
-    int ticks = 9;
+    uint32_t last_snapshot_time = 0;
 
     ecore_thread_name_set(thread, "memory");
 
     while (!ecore_thread_check(thread)) {
+        uint32_t snapshot_time;
+
         if (!evisum_background_update_wait(&seq)) continue;
-        ticks++;
-        if (ticks < 10) continue;
-        ticks = 0;
+
+        snapshot_time = evisum_engine_live_time_get();
+        if (!snapshot_time || (snapshot_time == last_snapshot_time)) continue;
+
         memset(&memory, 0, sizeof(memory));
         system_memory_usage_get(&memory);
         if (view->ui->mem.zfs_mounted) memory.used += memory.zfs_arc_used;
 
+        last_snapshot_time = snapshot_time;
         ecore_thread_feedback(thread, &memory);
     }
 }
diff --git a/src/bin/ui/evisum_ui_sensors.c b/src/bin/ui/evisum_ui_sensors.c
index fb99ba5..733efba 100644
--- a/src/bin/ui/evisum_ui_sensors.c
+++ b/src/bin/ui/evisum_ui_sensors.c
@@ -347,22 +347,26 @@ _evisum_ui_sensors_poll(void *data, Ecore_Thread *thread) {
     Sensor **sensors;
     Evisum_Ui_Sensors_View *view = data;
     uint64_t seq = 0;
-    int ticks = 9;
+    uint32_t last_snapshot_time = 0;
 
     ecore_thread_name_set(thread, "sensors");
 
     while (!ecore_thread_check(thread)) {
+        Eina_Bool forced_update = EINA_FALSE;
+        uint32_t snapshot_time;
+
         if (view->skip_wait) {
             view->skip_wait = 0;
-            ticks = 9;
+            forced_update = EINA_TRUE;
         } else if (!evisum_background_update_wait(&seq)) continue;
-        ticks++;
-        if (ticks < 10) continue;
-        ticks = 0;
+
+        snapshot_time = evisum_engine_live_time_get();
+        if (!forced_update && (!snapshot_time || (snapshot_time == last_snapshot_time))) continue;
 
         sensors = system_sensors_thermal_get(&view->n_sensors);
         if (!sensors) continue;
 
+        if (snapshot_time) last_snapshot_time = snapshot_time;
         ecore_thread_feedback(thread, sensors);
     }
 }

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

Reply via email to