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 fe6ff80b08c5ceb199ebdededb81c3085c39398d
Author: Alastair Poole <[email protected]>
AuthorDate: Fri May 22 03:32:39 2026 +0100
process_list: don't update summary 1/10
---
src/bin/ui/evisum_ui_process_list.c | 27 +++++++++++++++++++++++++++
1 file changed, 27 insertions(+)
diff --git a/src/bin/ui/evisum_ui_process_list.c b/src/bin/ui/evisum_ui_process_list.c
index d69d8c6..a53ed87 100644
--- a/src/bin/ui/evisum_ui_process_list.c
+++ b/src/bin/ui/evisum_ui_process_list.c
@@ -1329,6 +1329,18 @@ _evisum_ui_process_list_search_trim(Eina_List *list, Evisum_Ui_Process_List_View
return list;
}
+static int
+_evisum_ui_process_list_poll_delay_get(Evisum_Ui_Process_List_View *view) {
+ int delay_secs = INTERVAL_NORMAL;
+
+ if (view && view->ui) delay_secs = view->ui->proc.poll_delay;
+ if (delay_secs < INTERVAL_NORMAL) delay_secs = INTERVAL_NORMAL;
+ else if (delay_secs > INTERVAL_SLOW)
+ delay_secs = INTERVAL_SLOW;
+
+ return delay_secs;
+}
+
static Eina_List *
_evisum_ui_process_list_get(Evisum_Ui_Process_List_View *view) {
Eina_List *list;
@@ -1355,6 +1367,7 @@ _evisum_ui_process_list_process_list(void *data, Ecore_Thread *thread) {
Proc_Info *proc;
uint64_t seq = 0;
Eina_Bool first_run = EINA_TRUE;
+ double last_live_update_time = 0.0;
view = data;
@@ -1370,6 +1383,7 @@ _evisum_ui_process_list_process_list(void *data, Ecore_Thread *thread) {
while (!ecore_thread_check(thread)) {
Eina_Bool history_live, history_pending;
Eina_Bool history_loaded = EINA_FALSE;
+ Eina_Bool forced_update;
uint32_t history_time;
_evisum_ui_process_list_history_state_get(view, &history_live, &history_pending, &history_time);
@@ -1405,7 +1419,20 @@ _evisum_ui_process_list_process_list(void *data, Ecore_Thread *thread) {
} else if (!first_run && !view->skip_wait) {
if (!evisum_background_update_wait(&seq)) continue;
}
+ forced_update = first_run || view->skip_wait;
view->skip_wait = 0;
+
+ if (history_live && !forced_update) {
+ double update_time = ecore_time_get();
+ int delay_secs = _evisum_ui_process_list_poll_delay_get(view);
+
+ if ((last_live_update_time > 0.0) &&
+ ((update_time - last_live_update_time) < ((double) delay_secs - 0.05)))
+ continue;
+ last_live_update_time = update_time;
+ } else if (history_live)
+ last_live_update_time = ecore_time_get();
+
list = _evisum_ui_process_list_get(view);
if (!list) {
if (!history_live) ecore_thread_feedback(thread, NULL);
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.