netstar pushed a commit to branch master.

http://git.enlightenment.org/apps/evisum.git/commit/?id=0e043e38274c28c08f4ae4bf890fcd4287d618cd

commit 0e043e38274c28c08f4ae4bf890fcd4287d618cd
Author: Alastair Poole <nets...@gmail.com>
Date:   Fri Nov 13 13:15:54 2020 +0000

    process_view: Consistent.
    
    No need for those widgets to be public
---
 src/bin/evisum_server.c      |   4 -
 src/bin/ui/ui_process_list.c |   1 +
 src/bin/ui/ui_process_view.c | 562 ++++++++++++++++++++++++-------------------
 src/bin/ui/ui_process_view.h |  63 -----
 4 files changed, 314 insertions(+), 316 deletions(-)

diff --git a/src/bin/evisum_server.c b/src/bin/evisum_server.c
index d53d91b..0f3e1cd 100644
--- a/src/bin/evisum_server.c
+++ b/src/bin/evisum_server.c
@@ -7,10 +7,6 @@
 #include <Ecore_Con.h>
 #include "evisum_server.h"
 #include "src/bin/ui/ui.h"
-#include "src/bin/ui/ui_cpu.h"
-#include "src/bin/ui/ui_memory.h"
-#include "src/bin/ui/ui_disk.h"
-#include "src/bin/ui/ui_sensors.h"
 
 #define LISTEN_SOCKET_NAME "evisum_server"
 #define WANTED "bonjour monde"
diff --git a/src/bin/ui/ui_process_list.c b/src/bin/ui/ui_process_list.c
index 8e1b1d1..aac0170 100644
--- a/src/bin/ui/ui_process_list.c
+++ b/src/bin/ui/ui_process_list.c
@@ -1450,6 +1450,7 @@ _system_info_all_poll(void *data, Ecore_Thread *thread)
              ecore_main_loop_quit();
              return;
           }
+        if (ecore_thread_check(thread)) return;
         ecore_thread_feedback(thread, info);
         for (int i = 0; i < 4 * 1; i++)
           {
diff --git a/src/bin/ui/ui_process_view.c b/src/bin/ui/ui_process_view.c
index b8a3952..f3df779 100644
--- a/src/bin/ui/ui_process_view.c
+++ b/src/bin/ui/ui_process_view.c
@@ -2,7 +2,72 @@
 #include "../system/process.h"
 #include "util.c"
 
-typedef struct {
+typedef struct
+{
+   Evas_Object     *win;
+   Evas_Object     *content;
+
+   Evas_Object     *btn_main;
+   Evas_Object     *btn_tree;
+   Evas_Object     *btn_info;
+   Evas_Object     *btn_thread;
+
+   Evas_Object     *main_view;
+   Evas_Object     *tree_view;
+   Evas_Object     *info_view;
+   Evas_Object     *thread_view;
+
+   Evas_Object     *entry_info;
+
+   Evas_Object     *genlist_threads;
+   Evas_Object     *genlist_tree;
+   Evisum_Ui_Cache *cache;
+
+   Evas_Object     *entry_pid_cmd;
+   Evas_Object     *entry_pid_cmd_args;
+   Evas_Object     *entry_pid_user;
+   Evas_Object     *entry_pid_pid;
+   Evas_Object     *entry_pid_ppid;
+   Evas_Object     *entry_pid_uid;
+   Evas_Object     *entry_pid_cpu;
+   Evas_Object     *entry_pid_threads;
+   Evas_Object     *entry_pid_virt;
+   Evas_Object     *entry_pid_rss;
+   Evas_Object     *entry_pid_shared;
+   Evas_Object     *entry_pid_size;
+   Evas_Object     *entry_pid_started;
+   Evas_Object     *entry_pid_nice;
+   Evas_Object     *entry_pid_pri;
+   Evas_Object     *entry_pid_state;
+   Evas_Object     *entry_pid_cpu_usage;
+   Evas_Object     *btn_start;
+   Evas_Object     *btn_stop;
+   Evas_Object     *btn_kill;
+
+   Evas_Object     *btn_thread_id;
+   Evas_Object     *btn_thread_name;
+   Evas_Object     *btn_thread_state;
+   Evas_Object     *btn_thread_cpu_id;
+   Evas_Object     *btn_thread_cpu_usage;
+
+   Eina_Hash       *hash_cpu_times;
+
+   int              poll_delay;
+   char            *selected_cmd;
+   int              selected_pid;
+   int64_t          pid_cpu_time;
+   Eina_Bool        info_init;
+   Eina_Bool        threads_ready;
+   Eina_Bool        sort_reverse;
+
+   int              (*sort_cb)(const void *p1, const void *p2);
+
+   Ecore_Timer     *timer_pid;
+
+} Ui_Data;
+
+typedef struct
+{
    int     tid;
    char   *name;
    char   *state;
@@ -52,17 +117,17 @@ static void
 _item_unrealized_cb(void *data, Evas_Object *obj EINA_UNUSED,
                     void *event_info EINA_UNUSED)
 {
-   Ui_Process *ui;
+   Ui_Data *pd;
    Evas_Object *o;
    Eina_List *contents = NULL;
 
-   ui = data;
+   pd = data;
 
    elm_genlist_item_all_contents_unset(event_info, &contents);
 
    EINA_LIST_FREE(contents, o)
      {
-        evisum_ui_item_cache_item_release(ui->cache, o);
+        evisum_ui_item_cache_item_release(pd->cache, o);
      }
 }
 
@@ -124,7 +189,7 @@ _item_create(Evas_Object *parent)
 static Evas_Object *
 _content_get(void *data, Evas_Object *obj, const char *source)
 {
-   Ui_Process *ui;
+   Ui_Data *pd;
    Thread_Info *th;
    Evas_Object *l, *r;
    Evas_Coord w;
@@ -133,42 +198,42 @@ _content_get(void *data, Evas_Object *obj, const char 
*source)
 
    if (strcmp(source, "elm.swallow.content")) return NULL;
    if (!th) return NULL;
-   ui = evas_object_data_get(obj, "ui");
-   if (!ui) return NULL;
-   if (!ui->threads_ready) return NULL;
+   pd = evas_object_data_get(obj, "ui");
+   if (!pd) return NULL;
+   if (!pd->threads_ready) return NULL;
 
-   Item_Cache *it = evisum_ui_item_cache_item_get(ui->cache);
+   Item_Cache *it = evisum_ui_item_cache_item_get(pd->cache);
    if (!it)
      {
         fprintf(stderr, "Error: Object cache creation failed.\n");
         exit(-1);
      }
 
-   evas_object_geometry_get(ui->btn_thread_id, NULL, NULL, &w, NULL);
+   evas_object_geometry_get(pd->btn_thread_id, NULL, NULL, &w, NULL);
    l = evas_object_data_get(it->obj, "tid");
    elm_object_text_set(l, eina_slstr_printf("%d", th->tid));
    r = evas_object_data_get(l, "rect");
    evas_object_size_hint_min_set(r, w, 1);
 
-   evas_object_geometry_get(ui->btn_thread_name, NULL, NULL, &w, NULL);
+   evas_object_geometry_get(pd->btn_thread_name, NULL, NULL, &w, NULL);
    l = evas_object_data_get(it->obj, "name");
    elm_object_text_set(l, eina_slstr_printf("%s", th->name));
    r = evas_object_data_get(l, "rect");
    evas_object_size_hint_min_set(r, w, 1);
 
-   evas_object_geometry_get(ui->btn_thread_state, NULL, NULL, &w, NULL);
+   evas_object_geometry_get(pd->btn_thread_state, NULL, NULL, &w, NULL);
    l = evas_object_data_get(it->obj, "state");
    elm_object_text_set(l, eina_slstr_printf("%s", th->state));
    r = evas_object_data_get(l, "rect");
    evas_object_size_hint_min_set(r, w, 1);
 
-   evas_object_geometry_get(ui->btn_thread_cpu_id, NULL, NULL, &w, NULL);
+   evas_object_geometry_get(pd->btn_thread_cpu_id, NULL, NULL, &w, NULL);
    l = evas_object_data_get(it->obj, "cpu_id");
    elm_object_text_set(l, eina_slstr_printf("%d", th->cpu_id));
    r = evas_object_data_get(l, "rect");
    evas_object_size_hint_min_set(r, w, 1);
 
-   evas_object_geometry_get(ui->btn_thread_cpu_usage, NULL, NULL, &w, NULL);
+   evas_object_geometry_get(pd->btn_thread_cpu_usage, NULL, NULL, &w, NULL);
    l = evas_object_data_get(it->obj, "cpu_usage");
    elm_object_text_set(l, eina_slstr_printf("%1.1f%%", th->cpu_usage));
    r = evas_object_data_get(l, "rect");
@@ -277,17 +342,17 @@ _hash_free_cb(void *data)
 }
 
 static void
-_thread_info_set(Ui_Process *ui, Proc_Info *proc)
+_thread_info_set(Ui_Data *pd, Proc_Info *proc)
 {
    Proc_Info *p;
    Thread_Info *t;
    Elm_Object_Item *it;
    Eina_List *l, *threads = NULL;
 
-   if (!ui->hash_cpu_times)
-     ui->hash_cpu_times = eina_hash_string_superfast_new(_hash_free_cb);
+   if (!pd->hash_cpu_times)
+     pd->hash_cpu_times = eina_hash_string_superfast_new(_hash_free_cb);
 
-   _genlist_ensure_n_items(ui->genlist_threads, 
eina_list_count(proc->threads));
+   _genlist_ensure_n_items(pd->genlist_threads, 
eina_list_count(proc->threads));
 
    EINA_LIST_FOREACH(proc->threads, l, p)
      {
@@ -295,16 +360,16 @@ _thread_info_set(Ui_Process *ui, Proc_Info *proc)
         double cpu_usage = 0.0;
         const char *key = eina_slstr_printf("%s:%d", p->thread_name, p->tid);
 
-        if ((cpu_time_prev = eina_hash_find(ui->hash_cpu_times, key)) == NULL)
+        if ((cpu_time_prev = eina_hash_find(pd->hash_cpu_times, key)) == NULL)
           {
              cpu_time = malloc(sizeof(long));
              *cpu_time = p->cpu_time;
-             eina_hash_add(ui->hash_cpu_times, key, cpu_time);
+             eina_hash_add(pd->hash_cpu_times, key, cpu_time);
           }
         else
           {
              cpu_usage = (double) (p->cpu_time - *cpu_time_prev)
-                       / ui->poll_delay;
+                       / pd->poll_delay;
              *cpu_time_prev = p->cpu_time;
           }
 
@@ -313,12 +378,12 @@ _thread_info_set(Ui_Process *ui, Proc_Info *proc)
           threads = eina_list_append(threads, t);
      }
 
-   if (ui->sort_cb)
-     threads = eina_list_sort(threads, eina_list_count(threads), ui->sort_cb);
-   if (ui->sort_reverse)
+   if (pd->sort_cb)
+     threads = eina_list_sort(threads, eina_list_count(threads), pd->sort_cb);
+   if (pd->sort_reverse)
      threads = eina_list_reverse(threads);
 
-   it = elm_genlist_first_item_get(ui->genlist_threads);
+   it = elm_genlist_first_item_get(pd->genlist_threads);
 
    EINA_LIST_FREE(threads, t)
      {
@@ -359,11 +424,11 @@ _time_string(int64_t epoch)
 static void
 _item_tree_clicked_cb(void *data, Evas_Object *obj EINA_UNUSED, void 
*event_info)
 {
-   Ui_Process *ui;
+   Ui_Data *pd;
    Elm_Object_Item *it;
    Proc_Info *proc;
 
-   ui = data;
+   pd = data;
    it = event_info;
 
    elm_genlist_item_selected_set(it, EINA_FALSE);
@@ -371,7 +436,7 @@ _item_tree_clicked_cb(void *data, Evas_Object *obj 
EINA_UNUSED, void *event_info
    proc = elm_object_item_data_get(it);
    if (!proc) return;
 
-   ui_process_win_add(ui->win, proc->pid, proc->command, 3);
+   ui_process_win_add(pd->win, proc->pid, proc->command, 3);
 }
 
 static char *
@@ -455,24 +520,24 @@ _tree_view_update(void *data)
 {
    Eina_List *children, *l;
    Proc_Info *child;
-   Ui_Process *ui = data;
+   Ui_Data *pd = data;
 
-   elm_genlist_clear(ui->genlist_tree);
+   elm_genlist_clear(pd->genlist_tree);
 
-   if (ui->selected_pid == 0) return EINA_FALSE;
+   if (pd->selected_pid == 0) return EINA_FALSE;
 
-   children = proc_info_pid_children_get(ui->selected_pid);
+   children = proc_info_pid_children_get(pd->selected_pid);
    EINA_LIST_FOREACH(children, l, child)
      {
-        if (child->pid == ui->selected_pid)
+        if (child->pid == pd->selected_pid)
           {
              child->children = eina_list_sort(child->children, 
eina_list_count(child->children), _sort_by_age);
-             _tree_populate(ui->genlist_tree, NULL, child->children);
+             _tree_populate(pd->genlist_tree, NULL, child->children);
              break;
           }
      }
 
-   elm_genlist_realized_items_update(ui->genlist_tree);
+   elm_genlist_realized_items_update(pd->genlist_tree);
 
    child = eina_list_nth(children, 0);
    if (child)
@@ -484,90 +549,90 @@ _tree_view_update(void *data)
 static Eina_Bool
 _proc_info_update(void *data)
 {
-   Ui_Process *ui;
+   Ui_Data *pd;
    struct passwd *pwd_entry;
    Proc_Info *proc;
    double cpu_usage = 0.0;
 
-   ui = data;
+   pd = data;
 
-   if (!ui->timer_pid)
-     ui->timer_pid = ecore_timer_add(ui->poll_delay, _proc_info_update, ui);
+   if (!pd->timer_pid)
+     pd->timer_pid = ecore_timer_add(pd->poll_delay, _proc_info_update, pd);
 
-   proc = proc_info_by_pid(ui->selected_pid);
+   proc = proc_info_by_pid(pd->selected_pid);
    if (!proc)
      {
-         if (ui->timer_pid)
-           ecore_timer_del(ui->timer_pid);
-         ui->timer_pid = NULL;
+         if (pd->timer_pid)
+           ecore_timer_del(pd->timer_pid);
+         pd->timer_pid = NULL;
 
-        _win_title_set(ui->win, _("%s (%d) - Not running"), ui->selected_cmd,
-                       ui->selected_pid);
+        _win_title_set(pd->win, _("%s (%d) - Not running"), pd->selected_cmd,
+                       pd->selected_pid);
 
-        elm_object_disabled_set(ui->btn_start, EINA_TRUE);
-        elm_object_disabled_set(ui->btn_stop, EINA_TRUE);
-        elm_object_disabled_set(ui->btn_kill, EINA_TRUE);
+        elm_object_disabled_set(pd->btn_start, EINA_TRUE);
+        elm_object_disabled_set(pd->btn_stop, EINA_TRUE);
+        elm_object_disabled_set(pd->btn_kill, EINA_TRUE);
         return ECORE_CALLBACK_CANCEL;
      }
 
    if (!strcmp(proc->state, "stop"))
      {
-        elm_object_disabled_set(ui->btn_stop, EINA_TRUE);
-        elm_object_disabled_set(ui->btn_start, EINA_FALSE);
+        elm_object_disabled_set(pd->btn_stop, EINA_TRUE);
+        elm_object_disabled_set(pd->btn_start, EINA_FALSE);
      }
    else
      {
-        elm_object_disabled_set(ui->btn_stop, EINA_FALSE);
-        elm_object_disabled_set(ui->btn_start, EINA_TRUE);
+        elm_object_disabled_set(pd->btn_stop, EINA_FALSE);
+        elm_object_disabled_set(pd->btn_start, EINA_TRUE);
      }
 
-   elm_object_text_set(ui->entry_pid_cmd, proc->command);
+   elm_object_text_set(pd->entry_pid_cmd, proc->command);
    pwd_entry = getpwuid(proc->uid);
    if (pwd_entry)
-     elm_object_text_set(ui->entry_pid_user, pwd_entry->pw_name);
+     elm_object_text_set(pd->entry_pid_user, pwd_entry->pw_name);
 
    if (proc->arguments)
-     elm_object_text_set(ui->entry_pid_cmd_args, proc->arguments);
+     elm_object_text_set(pd->entry_pid_cmd_args, proc->arguments);
    else
-     elm_object_text_set(ui->entry_pid_cmd_args, "");
+     elm_object_text_set(pd->entry_pid_cmd_args, "");
 
-   elm_object_text_set(ui->entry_pid_pid, eina_slstr_printf("%d", proc->pid));
-   elm_object_text_set(ui->entry_pid_uid, eina_slstr_printf("%d", proc->uid));
-   elm_object_text_set(ui->entry_pid_cpu,
+   elm_object_text_set(pd->entry_pid_pid, eina_slstr_printf("%d", proc->pid));
+   elm_object_text_set(pd->entry_pid_uid, eina_slstr_printf("%d", proc->uid));
+   elm_object_text_set(pd->entry_pid_cpu,
                    eina_slstr_printf("%d", proc->cpu_id));
-   elm_object_text_set(ui->entry_pid_ppid, eina_slstr_printf("%d", 
proc->ppid));
-   elm_object_text_set(ui->entry_pid_threads,
+   elm_object_text_set(pd->entry_pid_ppid, eina_slstr_printf("%d", 
proc->ppid));
+   elm_object_text_set(pd->entry_pid_threads,
                    eina_slstr_printf("%d", proc->numthreads));
-   elm_object_text_set(ui->entry_pid_virt, evisum_size_format(proc->mem_virt));
-   elm_object_text_set(ui->entry_pid_rss, evisum_size_format(proc->mem_rss));
+   elm_object_text_set(pd->entry_pid_virt, evisum_size_format(proc->mem_virt));
+   elm_object_text_set(pd->entry_pid_rss, evisum_size_format(proc->mem_rss));
 #if !defined(__linux__)
-   elm_object_text_set(ui->entry_pid_shared, "N/A");
+   elm_object_text_set(pd->entry_pid_shared, "N/A");
 #else
-   elm_object_text_set(ui->entry_pid_shared,
+   elm_object_text_set(pd->entry_pid_shared,
                    evisum_size_format(proc->mem_shared));
 #endif
-   elm_object_text_set(ui->entry_pid_size, evisum_size_format(proc->mem_size));
+   elm_object_text_set(pd->entry_pid_size, evisum_size_format(proc->mem_size));
 
    char *t = _time_string(proc->start);
    if (t)
      {
-        elm_object_text_set(ui->entry_pid_started, t);
+        elm_object_text_set(pd->entry_pid_started, t);
         free(t);
      }
-   elm_object_text_set(ui->entry_pid_nice, eina_slstr_printf("%d", 
proc->nice));
-   elm_object_text_set(ui->entry_pid_pri,
+   elm_object_text_set(pd->entry_pid_nice, eina_slstr_printf("%d", 
proc->nice));
+   elm_object_text_set(pd->entry_pid_pri,
                    eina_slstr_printf("%d", proc->priority));
-   elm_object_text_set(ui->entry_pid_state, proc->state);
+   elm_object_text_set(pd->entry_pid_state, proc->state);
 
-   if (ui->pid_cpu_time && proc->cpu_time >= ui->pid_cpu_time)
-     cpu_usage = (double)(proc->cpu_time - ui->pid_cpu_time) / ui->poll_delay;
+   if (pd->pid_cpu_time && proc->cpu_time >= pd->pid_cpu_time)
+     cpu_usage = (double)(proc->cpu_time - pd->pid_cpu_time) / pd->poll_delay;
 
-   elm_object_text_set(ui->entry_pid_cpu_usage,
+   elm_object_text_set(pd->entry_pid_cpu_usage,
                    eina_slstr_printf("%.1f%%", cpu_usage));
 
-   ui->pid_cpu_time = proc->cpu_time;
+   pd->pid_cpu_time = proc->cpu_time;
 
-   _thread_info_set(ui, proc);
+   _thread_info_set(pd, proc);
 
    proc_info_free(proc);
 
@@ -578,36 +643,36 @@ static void
 _btn_start_clicked_cb(void *data, Evas_Object *obj EINA_UNUSED,
                       void *event_info EINA_UNUSED)
 {
-   Ui_Process *ui = data;
+   Ui_Data *pd = data;
 
-   if (ui->selected_pid == -1)
+   if (pd->selected_pid == -1)
      return;
 
-   kill(ui->selected_pid, SIGCONT);
+   kill(pd->selected_pid, SIGCONT);
 }
 
 static void
 _btn_stop_clicked_cb(void *data, Evas_Object *obj EINA_UNUSED,
                      void *event_info EINA_UNUSED)
 {
-   Ui_Process *ui = data;
+   Ui_Data *pd = data;
 
-   if (ui->selected_pid == -1)
+   if (pd->selected_pid == -1)
      return;
 
-   kill(ui->selected_pid, SIGSTOP);
+   kill(pd->selected_pid, SIGSTOP);
 }
 
 static void
 _btn_kill_clicked_cb(void *data, Evas_Object *obj EINA_UNUSED,
                      void *event_info EINA_UNUSED)
 {
-   Ui_Process *ui = data;
+   Ui_Data *pd = data;
 
-   if (ui->selected_pid == -1)
+   if (pd->selected_pid == -1)
      return;
 
-   kill(ui->selected_pid, SIGKILL);
+   kill(pd->selected_pid, SIGKILL);
 }
 
 static Evas_Object *
@@ -636,7 +701,7 @@ _label_add(Evas_Object *parent, const char *text)
 }
 
 static Evas_Object *
-_process_tab_add(Evas_Object *parent, Ui_Process *ui)
+_process_tab_add(Evas_Object *parent, Ui_Data *pd)
 {
    Evas_Object *frame, *hbox, *table;
    Evas_Object *label, *entry, *button, *border;
@@ -664,32 +729,32 @@ _process_tab_add(Evas_Object *parent, Ui_Process *ui)
 
    label = _label_add(parent, _("Command:"));
    elm_table_pack(table, label, 0, i, 1, 1);
-   ui->entry_pid_cmd = entry = _entry_add(parent);
+   pd->entry_pid_cmd = entry = _entry_add(parent);
    elm_table_pack(table, entry, 1, i++, 1, 1);
 
    label = _label_add(parent, _("Command line:"));
    elm_table_pack(table, label, 0, i, 1, 1);
-   ui->entry_pid_cmd_args = entry = _entry_add(parent);
+   pd->entry_pid_cmd_args = entry = _entry_add(parent);
    elm_table_pack(table, entry, 1, i++, 1, 1);
 
    label = _label_add(parent, _("PID:"));
    elm_table_pack(table, label, 0, i, 1, 1);
-   ui->entry_pid_pid = entry = _entry_add(parent);
+   pd->entry_pid_pid = entry = _entry_add(parent);
    elm_table_pack(table, entry, 1, i++, 1, 1);
 
    label = _label_add(parent, _("Username:"));
    elm_table_pack(table, label, 0, i, 1, 1);
-   ui->entry_pid_user = entry = _entry_add(parent);
+   pd->entry_pid_user = entry = _entry_add(parent);
    elm_table_pack(table, entry, 1, i++, 1, 1);
 
    label = _label_add(parent, _("UID:"));
    elm_table_pack(table, label, 0, i, 1, 1);
-   ui->entry_pid_uid = entry = _entry_add(parent);
+   pd->entry_pid_uid = entry = _entry_add(parent);
    elm_table_pack(table, entry, 1, i++, 1, 1);
 
    label = _label_add(parent, _("PPID:"));
    elm_table_pack(table, label, 0, i, 1, 1);
-   ui->entry_pid_ppid = entry = _entry_add(parent);
+   pd->entry_pid_ppid = entry = _entry_add(parent);
    elm_table_pack(table, entry, 1, i++, 1, 1);
 
 #if defined(__MacOS__)
@@ -698,57 +763,57 @@ _process_tab_add(Evas_Object *parent, Ui_Process *ui)
    label = _label_add(parent, _("CPU #:"));
 #endif
    elm_table_pack(table, label, 0, i, 1, 1);
-   ui->entry_pid_cpu = entry = _entry_add(parent);
+   pd->entry_pid_cpu = entry = _entry_add(parent);
    elm_table_pack(table, entry, 1, i++, 1, 1);
 
    label = _label_add(parent, _("Threads:"));
    elm_table_pack(table, label, 0, i, 1, 1);
-   ui->entry_pid_threads = entry = _entry_add(parent);
+   pd->entry_pid_threads = entry = _entry_add(parent);
    elm_table_pack(table, entry, 1, i++, 1, 1);
 
    label = _label_add(parent, _(" Memory :"));
    elm_table_pack(table, label, 0, i, 1, 1);
-   ui->entry_pid_size = entry = _entry_add(parent);
+   pd->entry_pid_size = entry = _entry_add(parent);
    elm_table_pack(table, entry, 1, i++, 1, 1);
 
    label = _label_add(parent, _(" Shared memory:"));
    elm_table_pack(table, label, 0, i, 1, 1);
-   ui->entry_pid_shared = entry = _entry_add(parent);
+   pd->entry_pid_shared = entry = _entry_add(parent);
    elm_table_pack(table, entry, 1, i++, 1, 1);
 
    label = _label_add(parent,  _(" Resident memory:"));
    elm_table_pack(table, label, 0, i, 1, 1);
-   ui->entry_pid_rss = entry = _entry_add(parent);
+   pd->entry_pid_rss = entry = _entry_add(parent);
    elm_table_pack(table, entry, 1, i++, 1, 1);
 
    label = _label_add(parent, _(" Virtual memory:"));
    elm_table_pack(table, label, 0, i, 1, 1);
-   ui->entry_pid_virt = entry = _entry_add(parent);
+   pd->entry_pid_virt = entry = _entry_add(parent);
    elm_table_pack(table, entry, 1, i++, 1, 1);
 
    label = _label_add(parent, _(" Start time:"));
    elm_table_pack(table, label, 0, i, 1, 1);
-   ui->entry_pid_started = entry = _entry_add(parent);
+   pd->entry_pid_started = entry = _entry_add(parent);
    elm_table_pack(table, entry, 1, i++, 1, 1);
 
    label = _label_add(parent, _("Nice:"));
    elm_table_pack(table, label, 0, i, 1, 1);
-   ui->entry_pid_nice = entry = _entry_add(parent);
+   pd->entry_pid_nice = entry = _entry_add(parent);
    elm_table_pack(table, entry, 1, i++, 1, 1);
 
    label = _label_add(parent, _("Priority:"));
    elm_table_pack(table, label, 0, i, 1, 1);
-   ui->entry_pid_pri = entry = _entry_add(parent);
+   pd->entry_pid_pri = entry = _entry_add(parent);
    elm_table_pack(table, entry, 1, i++, 1, 1);
 
    label = _label_add(parent, _("State:"));
    elm_table_pack(table, label, 0, i, 1, 1);
-   ui->entry_pid_state = entry = _entry_add(parent);
+   pd->entry_pid_state = entry = _entry_add(parent);
    elm_table_pack(table, entry, 1, i++, 1, 1);
 
    label = _label_add(parent, _("CPU %:"));
    elm_table_pack(table, label, 0, i, 1, 1);
-   ui->entry_pid_cpu_usage = entry = _entry_add(parent);
+   pd->entry_pid_cpu_usage = entry = _entry_add(parent);
    elm_table_pack(table, entry, 1, i++, 1, 1);
 
    hbox = elm_box_add(parent);
@@ -770,9 +835,9 @@ _process_tab_add(Evas_Object *parent, Ui_Process *ui)
    elm_object_style_set(border, "pad_small");
    evas_object_show(border);
 
-   button = evisum_ui_tab_add(parent, &ui->btn_stop, _("Stop"),
-                   _btn_stop_clicked_cb, ui);
-   ui->btn_stop = button;
+   button = evisum_ui_tab_add(parent, &pd->btn_stop, _("Stop"),
+                   _btn_stop_clicked_cb, pd);
+   pd->btn_stop = button;
    elm_object_content_set(border, button);
    elm_box_pack_end(hbox, border);
 
@@ -781,21 +846,21 @@ _process_tab_add(Evas_Object *parent, Ui_Process *ui)
    elm_object_style_set(border, "pad_small");
    evas_object_show(border);
 
-   button = evisum_ui_tab_add(parent, &ui->btn_start, _("Start"),
-                   _btn_start_clicked_cb, ui);
-   ui->btn_start = button;
+   button = evisum_ui_tab_add(parent, &pd->btn_start, _("Start"),
+                   _btn_start_clicked_cb, pd);
+   pd->btn_start = button;
    elm_object_content_set(border, button);
    elm_box_pack_end(hbox, border);
-   evas_object_smart_callback_add(button, "clicked", _btn_start_clicked_cb, 
ui);
+   evas_object_smart_callback_add(button, "clicked", _btn_start_clicked_cb, 
pd);
 
    border = elm_frame_add(parent);
    evas_object_size_hint_align_set(border, FILL, FILL);
    elm_object_style_set(border, "pad_small");
    evas_object_show(border);
 
-   button = evisum_ui_tab_add(parent, &ui->btn_kill, _("Kill"),
-                   _btn_kill_clicked_cb, ui);
-   ui->btn_kill = button;
+   button = evisum_ui_tab_add(parent, &pd->btn_kill, _("Kill"),
+                   _btn_kill_clicked_cb, pd);
+   pd->btn_kill = button;
    elm_object_content_set(border, button);
    elm_box_pack_end(hbox, border);
 
@@ -822,69 +887,69 @@ static void
 _btn_name_clicked_cb(void *data, Evas_Object *obj EINA_UNUSED,
                      void *event_info EINA_UNUSED)
 {
-   Ui_Process *ui = data;
+   Ui_Data *pd = data;
 
-   if (ui->sort_cb == _sort_by_name)
-     ui->sort_reverse = !ui->sort_reverse;
+   if (pd->sort_cb == _sort_by_name)
+     pd->sort_reverse = !pd->sort_reverse;
 
-   _btn_icon_state_set(obj, ui->sort_reverse);
-   ui->sort_cb = _sort_by_name;
+   _btn_icon_state_set(obj, pd->sort_reverse);
+   pd->sort_cb = _sort_by_name;
 }
 
 static void
 _btn_thread_clicked_cb(void *data, Evas_Object *obj EINA_UNUSED,
                        void *event_info EINA_UNUSED)
 {
-   Ui_Process *ui = data;
+   Ui_Data *pd = data;
 
-   if (ui->sort_cb == _sort_by_tid)
-     ui->sort_reverse = !ui->sort_reverse;
+   if (pd->sort_cb == _sort_by_tid)
+     pd->sort_reverse = !pd->sort_reverse;
 
-   _btn_icon_state_set(obj, ui->sort_reverse);
-   ui->sort_cb = _sort_by_tid;
+   _btn_icon_state_set(obj, pd->sort_reverse);
+   pd->sort_cb = _sort_by_tid;
 }
 
 static void
 _btn_state_clicked_cb(void *data, Evas_Object *obj EINA_UNUSED,
                       void *event_info EINA_UNUSED)
 {
-   Ui_Process *ui = data;
+   Ui_Data *pd = data;
 
-   if (ui->sort_cb == _sort_by_state)
-     ui->sort_reverse = !ui->sort_reverse;
+   if (pd->sort_cb == _sort_by_state)
+     pd->sort_reverse = !pd->sort_reverse;
 
-   _btn_icon_state_set(obj, ui->sort_reverse);
-   ui->sort_cb = _sort_by_state;
+   _btn_icon_state_set(obj, pd->sort_reverse);
+   pd->sort_cb = _sort_by_state;
 }
 
 static void
 _btn_cpu_id_clicked_cb(void *data, Evas_Object *obj EINA_UNUSED,
                        void *event_info EINA_UNUSED)
 {
-   Ui_Process *ui = data;
+   Ui_Data *pd = data;
 
-   if (ui->sort_cb == _sort_by_cpu_id)
-     ui->sort_reverse = !ui->sort_reverse;
+   if (pd->sort_cb == _sort_by_cpu_id)
+     pd->sort_reverse = !pd->sort_reverse;
 
-   ui->sort_cb = _sort_by_cpu_id;
-   _btn_icon_state_set(obj, ui->sort_reverse);
+   pd->sort_cb = _sort_by_cpu_id;
+   _btn_icon_state_set(obj, pd->sort_reverse);
 }
 
 static void
 _btn_cpu_usage_clicked_cb(void *data, Evas_Object *obj EINA_UNUSED,
                           void *event_info EINA_UNUSED)
 {
-   Ui_Process *ui = data;
+   Ui_Data *pd = data;
 
-   if (ui->sort_cb == _sort_by_cpu_usage)
-     ui->sort_reverse = !ui->sort_reverse;
+   if (pd->sort_cb == _sort_by_cpu_usage)
+     pd->sort_reverse = !pd->sort_reverse;
 
-   ui->sort_cb = _sort_by_cpu_usage;
-   _btn_icon_state_set(obj, ui->sort_reverse);
+   pd->sort_cb = _sort_by_cpu_usage;
+   _btn_icon_state_set(obj, pd->sort_reverse);
 }
 
 static Evas_Object *
-_threads_tab_add(Evas_Object *parent, Ui_Process *ui)
+_threads_tab_add(Evas_Object *parent, Ui_Data *pd)
 {
    Evas_Object *frame, *box, *hbox, *btn, *genlist;
    int r, g, b, a;
@@ -913,54 +978,54 @@ _threads_tab_add(Evas_Object *parent, Ui_Process *ui)
    elm_box_homogeneous_set(hbox, EINA_TRUE);
    evas_object_show(hbox);
 
-   ui->btn_thread_id = btn = elm_button_add(hbox);
+   pd->btn_thread_id = btn = elm_button_add(hbox);
    evas_object_size_hint_weight_set(btn, EXPAND, EXPAND);
    evas_object_size_hint_align_set(btn, FILL, FILL);
    elm_object_text_set(btn, _("ID"));
-   _btn_icon_state_set(btn, ui->sort_reverse);
+   _btn_icon_state_set(btn, pd->sort_reverse);
    evas_object_show(btn);
-   evas_object_smart_callback_add(btn, "clicked", _btn_thread_clicked_cb, ui);
+   evas_object_smart_callback_add(btn, "clicked", _btn_thread_clicked_cb, pd);
    elm_box_pack_end(hbox, btn);
 
-   ui->btn_thread_name = btn = elm_button_add(hbox);
+   pd->btn_thread_name = btn = elm_button_add(hbox);
    evas_object_size_hint_weight_set(btn, EXPAND, EXPAND);
    evas_object_size_hint_align_set(btn, FILL, FILL);
    elm_object_text_set(btn, _("Name"));
-   _btn_icon_state_set(btn, ui->sort_reverse);
+   _btn_icon_state_set(btn, pd->sort_reverse);
    evas_object_show(btn);
-   evas_object_smart_callback_add(btn, "clicked", _btn_name_clicked_cb, ui);
+   evas_object_smart_callback_add(btn, "clicked", _btn_name_clicked_cb, pd);
    elm_box_pack_end(hbox, btn);
 
-   ui->btn_thread_state = btn = elm_button_add(hbox);
+   pd->btn_thread_state = btn = elm_button_add(hbox);
    evas_object_size_hint_weight_set(btn, EXPAND, EXPAND);
    evas_object_size_hint_align_set(btn, FILL, FILL);
    elm_object_text_set(btn, _("State"));
-   _btn_icon_state_set(btn, ui->sort_reverse);
+   _btn_icon_state_set(btn, pd->sort_reverse);
    evas_object_show(btn);
-   evas_object_smart_callback_add(btn, "clicked", _btn_state_clicked_cb, ui);
+   evas_object_smart_callback_add(btn, "clicked", _btn_state_clicked_cb, pd);
    elm_box_pack_end(hbox, btn);
 
-   ui->btn_thread_cpu_id = btn = elm_button_add(hbox);
+   pd->btn_thread_cpu_id = btn = elm_button_add(hbox);
    evas_object_size_hint_weight_set(btn, EXPAND, EXPAND);
    evas_object_size_hint_align_set(btn, FILL, FILL);
    elm_object_text_set(btn, _("CPU ID"));
-   _btn_icon_state_set(btn, ui->sort_reverse);
+   _btn_icon_state_set(btn, pd->sort_reverse);
    evas_object_show(btn);
-   evas_object_smart_callback_add(btn, "clicked", _btn_cpu_id_clicked_cb, ui);
+   evas_object_smart_callback_add(btn, "clicked", _btn_cpu_id_clicked_cb, pd);
    elm_box_pack_end(hbox, btn);
 
-   ui->btn_thread_cpu_usage = btn = elm_button_add(hbox);
+   pd->btn_thread_cpu_usage = btn = elm_button_add(hbox);
    evas_object_size_hint_weight_set(btn, EXPAND, EXPAND);
    evas_object_size_hint_align_set(btn, FILL, FILL);
    elm_object_text_set(btn, _("CPU %"));
-   _btn_icon_state_set(btn, ui->sort_reverse);
+   _btn_icon_state_set(btn, pd->sort_reverse);
    evas_object_show(btn);
    evas_object_smart_callback_add(btn, "clicked",
-                   _btn_cpu_usage_clicked_cb, ui);
+                   _btn_cpu_usage_clicked_cb, pd);
    elm_box_pack_end(hbox, btn);
 
-   ui->genlist_threads = genlist = elm_genlist_add(parent);
-   evas_object_data_set(genlist, "ui", ui);
+   pd->genlist_threads = genlist = elm_genlist_add(parent);
+   evas_object_data_set(genlist, "ui", pd);
    elm_object_focus_allow_set(genlist, EINA_FALSE);
    elm_genlist_homogeneous_set(genlist, EINA_TRUE);
    elm_genlist_select_mode_set(genlist, ELM_OBJECT_SELECT_MODE_NONE);
@@ -968,8 +1033,8 @@ _threads_tab_add(Evas_Object *parent, Ui_Process *ui)
    evas_object_size_hint_align_set(genlist, FILL, FILL);
    evas_object_show(genlist);
 
-   evas_object_smart_callback_add(ui->genlist_threads, "unrealized",
-                   _item_unrealized_cb, ui);
+   evas_object_smart_callback_add(pd->genlist_threads, "unrealized",
+                   _item_unrealized_cb, pd);
 
    elm_box_pack_end(box, hbox);
    elm_box_pack_end(box, genlist);
@@ -978,7 +1043,7 @@ _threads_tab_add(Evas_Object *parent, Ui_Process *ui)
 }
 
 static Evas_Object *
-_tree_tab_add(Evas_Object *parent, Ui_Process *ui)
+_tree_tab_add(Evas_Object *parent, Ui_Data *pd)
 {
    Evas_Object *frame, *box, *genlist;
    int r, g, b, a;
@@ -1000,8 +1065,8 @@ _tree_tab_add(Evas_Object *parent, Ui_Process *ui)
    evas_object_show(box);
    elm_object_content_set(frame, box);
 
-   ui->genlist_tree = genlist = elm_genlist_add(parent);
-   evas_object_data_set(genlist, "ui", ui);
+   pd->genlist_tree = genlist = elm_genlist_add(parent);
+   evas_object_data_set(genlist, "ui", pd);
    elm_object_focus_allow_set(genlist, EINA_FALSE);
    elm_genlist_homogeneous_set(genlist, EINA_TRUE);
    elm_genlist_select_mode_set(genlist, ELM_OBJECT_SELECT_MODE_DEFAULT);
@@ -1009,7 +1074,7 @@ _tree_tab_add(Evas_Object *parent, Ui_Process *ui)
    evas_object_size_hint_align_set(genlist, FILL, FILL);
    evas_object_show(genlist);
    evas_object_smart_callback_add(genlist, "selected",
-                   _item_tree_clicked_cb, ui);
+                   _item_tree_clicked_cb, pd);
 
    elm_box_pack_end(box, genlist);
 
@@ -1017,7 +1082,7 @@ _tree_tab_add(Evas_Object *parent, Ui_Process *ui)
 }
 
 static Evas_Object *
-_info_tab_add(Evas_Object *parent, Ui_Process *ui)
+_info_tab_add(Evas_Object *parent, Ui_Data *pd)
 {
    Evas_Object *frame, *box, *entry;
    int r, g, b, a;
@@ -1039,7 +1104,7 @@ _info_tab_add(Evas_Object *parent, Ui_Process *ui)
    evas_object_show(box);
    elm_object_content_set(frame, box);
 
-   ui->entry_info = entry = elm_entry_add(box);
+   pd->entry_info = entry = elm_entry_add(box);
    evas_object_size_hint_weight_set(entry, EXPAND, EXPAND);
    evas_object_size_hint_align_set(entry, FILL, FILL);
    elm_entry_single_line_set(entry, EINA_FALSE);
@@ -1053,84 +1118,84 @@ _info_tab_add(Evas_Object *parent, Ui_Process *ui)
 }
 
 static void
-_hide_all(Ui_Process *ui, Evas_Object *btn)
+_hide_all(Ui_Data *pd, Evas_Object *btn)
 {
-   elm_object_disabled_set(ui->btn_main, EINA_FALSE);
-   elm_object_disabled_set(ui->btn_info, EINA_FALSE);
-   elm_object_disabled_set(ui->btn_thread, EINA_FALSE);
-   elm_object_disabled_set(ui->btn_tree, EINA_FALSE);
+   elm_object_disabled_set(pd->btn_main, EINA_FALSE);
+   elm_object_disabled_set(pd->btn_info, EINA_FALSE);
+   elm_object_disabled_set(pd->btn_thread, EINA_FALSE);
+   elm_object_disabled_set(pd->btn_tree, EINA_FALSE);
    elm_object_disabled_set(btn, EINA_TRUE);
-   evas_object_hide(ui->main_view);
-   evas_object_hide(ui->tree_view);
-   evas_object_hide(ui->info_view);
-   evas_object_hide(ui->thread_view);
+   evas_object_hide(pd->main_view);
+   evas_object_hide(pd->tree_view);
+   evas_object_hide(pd->info_view);
+   evas_object_hide(pd->thread_view);
 }
 
 static void
 _btn_process_clicked_cb(void *data, Evas_Object *obj EINA_UNUSED,
                         void *event_info EINA_UNUSED)
 {
-   Ui_Process *ui;
+   Ui_Data *pd;
 
-   ui = data;
+   pd = data;
 
-   _hide_all(ui, obj);
-   evas_object_show(ui->main_view);
+   _hide_all(pd, obj);
+   evas_object_show(pd->main_view);
 }
 
 static void
 _btn_tree_clicked_cb(void *data, Evas_Object *obj EINA_UNUSED,
                      void *event_info EINA_UNUSED)
 {
-   Ui_Process *ui;
+   Ui_Data *pd;
 
-   ui = data;
+   pd = data;
 
-   _tree_view_update(ui);
-   _hide_all(ui, obj);
-   evas_object_show(ui->tree_view);
+   _tree_view_update(pd);
+   _hide_all(pd, obj);
+   evas_object_show(pd->tree_view);
 }
 
 static void
 _btn_threads_clicked_cb(void *data, Evas_Object *obj EINA_UNUSED,
                         void *event_info EINA_UNUSED)
 {
-   Ui_Process *ui;
+   Ui_Data *pd;
 
-   ui = data;
-   ui->threads_ready = EINA_TRUE;
+   pd = data;
+   pd->threads_ready = EINA_TRUE;
 
-   _hide_all(ui, obj);
-   evas_object_show(ui->thread_view);
+   _hide_all(pd, obj);
+   evas_object_show(pd->thread_view);
 }
 
 static void
 _btn_info_clicked_cb(void *data, Evas_Object *obj EINA_UNUSED,
                      void *event_info EINA_UNUSED)
 {
-   Ui_Process *ui;
+   Ui_Data *pd;
    Eina_List *lines = NULL;
 
-   ui = data;
+   pd = data;
 
-   _hide_all(ui, obj);
-   evas_object_show(ui->info_view);
+   _hide_all(pd, obj);
+   evas_object_show(pd->info_view);
 
-   if (ui->info_init) return;
+   if (pd->info_init) return;
 
-   if (ui->selected_cmd && ui->selected_cmd[0] && !strchr(ui->selected_cmd, ' 
'))
-     lines =_exe_response(eina_slstr_printf("man %s | col -b", 
ui->selected_cmd));
+   if (pd->selected_cmd && pd->selected_cmd[0] && !strchr(pd->selected_cmd, ' 
'))
+     lines =_exe_response(eina_slstr_printf("man %s | col -b", 
pd->selected_cmd));
 
    if (!lines)
      {
         // LAZY!!!
-        if (!strcmp(ui->selected_cmd, "evisum"))
-          elm_object_text_set(ui->entry_info, _evisum_docs());
+        if (!strcmp(pd->selected_cmd, "evisum"))
+          elm_object_text_set(pd->entry_info, _evisum_docs());
         else
           {
-             elm_object_text_set(ui->entry_info,
+             elm_object_text_set(pd->entry_info,
                                  eina_slstr_printf(_("No documentation found 
for %s."),
-                                 ui->selected_cmd));
+                                 pd->selected_cmd));
           }
      }
    else
@@ -1149,15 +1214,15 @@ _btn_info_clicked_cb(void *data, Evas_Object *obj 
EINA_UNUSED,
              free(line);
           }
         eina_strbuf_append(buf, "</code>");
-        elm_object_text_set(ui->entry_info, eina_strbuf_string_get(buf));
+        elm_object_text_set(pd->entry_info, eina_strbuf_string_get(buf));
         eina_strbuf_free(buf);
      }
 
-   ui->info_init = EINA_TRUE;
+   pd->info_init = EINA_TRUE;
 }
 
 static Evas_Object *
-_tabs_add(Evas_Object *parent, Ui_Process *ui)
+_tabs_add(Evas_Object *parent, Ui_Data *pd)
 {
    Evas_Object *hbox, *pad, *btn;
 
@@ -1180,9 +1245,9 @@ _tabs_add(Evas_Object *parent, Ui_Process *ui)
    evas_object_size_hint_align_set(pad, FILL, FILL);
    evas_object_show(pad);
 
-   btn = evisum_ui_tab_add(parent, &ui->btn_main, _("Process"),
-                   _btn_process_clicked_cb, ui);
-   elm_object_disabled_set(ui->btn_main, EINA_TRUE);
+   btn = evisum_ui_tab_add(parent, &pd->btn_main, _("Process"),
+                   _btn_process_clicked_cb, pd);
+   elm_object_disabled_set(pd->btn_main, EINA_TRUE);
    elm_object_content_set(pad, btn);
    elm_box_pack_end(hbox, pad);
 
@@ -1192,8 +1257,8 @@ _tabs_add(Evas_Object *parent, Ui_Process *ui)
    evas_object_size_hint_align_set(pad, FILL, FILL);
    evas_object_show(pad);
 
-   btn = evisum_ui_tab_add(parent, &ui->btn_tree, _("Children"),
-                   _btn_tree_clicked_cb, ui);
+   btn = evisum_ui_tab_add(parent, &pd->btn_tree, _("Children"),
+                   _btn_tree_clicked_cb, pd);
    elm_object_content_set(pad, btn);
    elm_box_pack_end(hbox, pad);
 
@@ -1203,8 +1268,8 @@ _tabs_add(Evas_Object *parent, Ui_Process *ui)
    evas_object_size_hint_align_set(pad, FILL, FILL);
    evas_object_show(pad);
 
-   btn = evisum_ui_tab_add(parent, &ui->btn_thread, _("Threads"),
-                   _btn_threads_clicked_cb, ui);
+   btn = evisum_ui_tab_add(parent, &pd->btn_thread, _("Threads"),
+                   _btn_threads_clicked_cb, pd);
    elm_object_content_set(pad, btn);
    elm_box_pack_end(hbox, pad);
 
@@ -1214,8 +1279,8 @@ _tabs_add(Evas_Object *parent, Ui_Process *ui)
    evas_object_size_hint_align_set(pad, FILL, FILL);
    evas_object_show(pad);
 
-   btn = evisum_ui_tab_add(parent, &ui->btn_info, _("Manual"),
-                   _btn_info_clicked_cb, ui);
+   btn = evisum_ui_tab_add(parent, &pd->btn_info, _("Manual"),
+                   _btn_info_clicked_cb, pd);
    elm_object_content_set(pad, btn);
    elm_box_pack_end(hbox, pad);
 
@@ -1234,30 +1299,30 @@ _win_del_cb(void *data, Evas_Object *obj EINA_UNUSED,
             void *event_info EINA_UNUSED)
 {
    Evas_Object *win;
-   Ui_Process *ui;
+   Ui_Data *pd;
 
-   ui  = data;
+   pd  = data;
    win = obj;
 
-   if (ui->hash_cpu_times)
-     eina_hash_free(ui->hash_cpu_times);
-   if (ui->timer_pid)
-     ecore_timer_del(ui->timer_pid);
-   if (ui->selected_cmd)
-     free(ui->selected_cmd);
-   if (ui->cache)
-     evisum_ui_item_cache_free(ui->cache);
+   if (pd->hash_cpu_times)
+     eina_hash_free(pd->hash_cpu_times);
+   if (pd->timer_pid)
+     ecore_timer_del(pd->timer_pid);
+   if (pd->selected_cmd)
+     free(pd->selected_cmd);
+   if (pd->cache)
+     evisum_ui_item_cache_free(pd->cache);
 
    evas_object_del(win);
 
-   free(ui);
+   free(pd);
 }
 static void
 _win_resize_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
 {
-   Ui_Process *ui = data;
+   Ui_Data *pd = data;
 
-   elm_genlist_realized_items_update(ui->genlist_threads);
+   elm_genlist_realized_items_update(pd->genlist_threads);
 }
 
 void
@@ -1266,20 +1331,20 @@ ui_process_win_add(Evas_Object *parent_win, int pid, 
const char *cmd, int poll_d
    Evas_Object *win, *ic, *box, *tabs;
    Evas_Coord x, y, w, h;
 
-   Ui_Process *ui = calloc(1, sizeof(Ui_Process));
-   ui->selected_pid = pid;
-   ui->selected_cmd = strdup(cmd);
-   ui->poll_delay = poll_delay;
-   ui->cache = NULL;
-   ui->sort_reverse = EINA_TRUE;
-   ui->sort_cb = _sort_by_cpu_usage;
+   Ui_Data *pd = calloc(1, sizeof(Ui_Data));
+   pd->selected_pid = pid;
+   pd->selected_cmd = strdup(cmd);
+   pd->poll_delay = poll_delay;
+   pd->cache = NULL;
+   pd->sort_reverse = EINA_TRUE;
+   pd->sort_cb = _sort_by_cpu_usage;
 
-   ui->win = win = elm_win_util_standard_add("evisum", "evisum");
+   pd->win = win = elm_win_util_standard_add("evisum", "evisum");
    _win_title_set(win, "%s (%d)", cmd, pid);
    ic = elm_icon_add(win);
    elm_icon_standard_set(ic, "evisum");
    elm_win_icon_object_set(win, ic);
-   tabs = _tabs_add(win, ui);
+   tabs = _tabs_add(win, pd);
 
    evisum_ui_background_random_add(win, evisum_ui_effects_enabled_get());
 
@@ -1289,26 +1354,26 @@ ui_process_win_add(Evas_Object *parent_win, int pid, 
const char *cmd, int poll_d
    evas_object_show(box);
    elm_box_pack_end(box, tabs);
 
-   ui->content = elm_table_add(box);
-   evas_object_size_hint_weight_set(ui->content, 0.5, EXPAND);
-   evas_object_size_hint_align_set(ui->content, FILL, FILL);
-   evas_object_show(ui->content);
+   pd->content = elm_table_add(box);
+   evas_object_size_hint_weight_set(pd->content, 0.5, EXPAND);
+   evas_object_size_hint_align_set(pd->content, FILL, FILL);
+   evas_object_show(pd->content);
 
-   ui->main_view = _process_tab_add(win, ui);
-   ui->tree_view = _tree_tab_add(win, ui);
-   ui->thread_view = _threads_tab_add(win, ui);
-   ui->info_view = _info_tab_add(win, ui);
+   pd->main_view = _process_tab_add(win, pd);
+   pd->tree_view = _tree_tab_add(win, pd);
+   pd->thread_view = _threads_tab_add(win, pd);
+   pd->info_view = _info_tab_add(win, pd);
 
-   elm_table_pack(ui->content, ui->info_view, 0, 0, 1, 1);
-   elm_table_pack(ui->content, ui->tree_view, 0, 0, 1, 1);
-   elm_table_pack(ui->content, ui->main_view, 0, 0, 1, 1);
-   elm_table_pack(ui->content, ui->thread_view, 0, 0, 1, 1);
+   elm_table_pack(pd->content, pd->info_view, 0, 0, 1, 1);
+   elm_table_pack(pd->content, pd->tree_view, 0, 0, 1, 1);
+   elm_table_pack(pd->content, pd->main_view, 0, 0, 1, 1);
+   elm_table_pack(pd->content, pd->thread_view, 0, 0, 1, 1);
 
-   elm_box_pack_end(box, ui->content);
+   elm_box_pack_end(box, pd->content);
    elm_object_content_set(win, box);
-   evas_object_smart_callback_add(win, "delete,request", _win_del_cb, ui);
+   evas_object_smart_callback_add(win, "delete,request", _win_del_cb, pd);
    evas_object_event_callback_add(win, EVAS_CALLBACK_RESIZE,
-                   _win_resize_cb, ui);
+                   _win_resize_cb, pd);
 
    evas_object_resize(win, 480 * elm_config_scale_get(), -1);
    if (parent_win)
@@ -1320,9 +1385,8 @@ ui_process_win_add(Evas_Object *parent_win, int pid, 
const char *cmd, int poll_d
 
    evas_object_show(win);
 
-   ui->cache = evisum_ui_item_cache_new(ui->genlist_threads, _item_create, 10);
+   pd->cache = evisum_ui_item_cache_new(pd->genlist_threads, _item_create, 10);
 
-   _proc_info_update(ui);
-   _tree_view_update(ui);
+   _proc_info_update(pd);
 }
 
diff --git a/src/bin/ui/ui_process_view.h b/src/bin/ui/ui_process_view.h
index 606e8a3..c2252e5 100644
--- a/src/bin/ui/ui_process_view.h
+++ b/src/bin/ui/ui_process_view.h
@@ -2,69 +2,6 @@
 #define __UI_PROCESS_H__
 
 #include "ui.h"
-#include "ui_cache.h"
-
-typedef struct _Ui_Process {
-   Evas_Object  *win;
-   Evas_Object  *content;
-
-   Evas_Object  *btn_main;
-   Evas_Object  *btn_tree;
-   Evas_Object  *btn_info;
-   Evas_Object  *btn_thread;
-
-   Evas_Object  *main_view;
-   Evas_Object  *tree_view;
-   Evas_Object  *info_view;
-   Evas_Object  *thread_view;
-
-   Evas_Object  *entry_info;
-
-   Evas_Object     *genlist_threads;
-   Evas_Object     *genlist_tree;
-   Evisum_Ui_Cache *cache;
-
-   Evas_Object  *entry_pid_cmd;
-   Evas_Object  *entry_pid_cmd_args;
-   Evas_Object  *entry_pid_user;
-   Evas_Object  *entry_pid_pid;
-   Evas_Object  *entry_pid_ppid;
-   Evas_Object  *entry_pid_uid;
-   Evas_Object  *entry_pid_cpu;
-   Evas_Object  *entry_pid_threads;
-   Evas_Object  *entry_pid_virt;
-   Evas_Object  *entry_pid_rss;
-   Evas_Object  *entry_pid_shared;
-   Evas_Object  *entry_pid_size;
-   Evas_Object  *entry_pid_started;
-   Evas_Object  *entry_pid_nice;
-   Evas_Object  *entry_pid_pri;
-   Evas_Object  *entry_pid_state;
-   Evas_Object  *entry_pid_cpu_usage;
-   Evas_Object  *btn_start;
-   Evas_Object  *btn_stop;
-   Evas_Object  *btn_kill;
-
-   Evas_Object  *btn_thread_id;
-   Evas_Object  *btn_thread_name;
-   Evas_Object  *btn_thread_state;
-   Evas_Object  *btn_thread_cpu_id;
-   Evas_Object  *btn_thread_cpu_usage;
-
-   Eina_Hash    *hash_cpu_times;
-
-   int          poll_delay;
-   char        *selected_cmd;
-   int          selected_pid;
-   int64_t      pid_cpu_time;
-   Eina_Bool    info_init;
-   Eina_Bool    threads_ready;
-   Eina_Bool    sort_reverse;
-
-   int          (*sort_cb)(const void *p1, const void *p2);
-
-   Ecore_Timer *timer_pid;
-} Ui_Process;
 
 void
 ui_process_win_add(Evas_Object *parent_win, int pid, const char *cmd, int 
poll_delay);

-- 


Reply via email to