netstar pushed a commit to branch master.

http://git.enlightenment.org/apps/evisum.git/commit/?id=73b2d015f196a55c67d0066794cef740258ef712

commit 73b2d015f196a55c67d0066794cef740258ef712
Author: Alastair Poole <nets...@gmail.com>
Date:   Wed Jul 1 11:00:19 2020 +0100

    evisum: Minor Changes
---
 NEWS                         |  1 +
 src/bin/ui/ui.c              | 63 +++++++++++++++++++++++++++++++++++++++-----
 src/bin/ui/ui_process_view.c |  3 ++-
 3 files changed, 60 insertions(+), 7 deletions(-)

diff --git a/NEWS b/NEWS
index ec562fd..4cba82d 100644
--- a/NEWS
+++ b/NEWS
@@ -18,6 +18,7 @@ Evisum 0.5.0
   * Massive rearrangement of the source tree.
   * Indicate process list sorting.
   * Fix swap calculation on macOS.
+  * Allow user to attach to a process (no more excuses users!!!).
   * Add an about window.
 
 ============
diff --git a/src/bin/ui/ui.c b/src/bin/ui/ui.c
index 0e6b926..389fb1e 100644
--- a/src/bin/ui/ui.c
+++ b/src/bin/ui/ui.c
@@ -603,7 +603,7 @@ _btn_icon_state_update(Evas_Object *button, Eina_Bool 
reverse)
    Evas_Object *icon = elm_icon_add(button);
 
    if (_selected)
-     evas_object_color_set(_selected, 128, 128, 128, 255);
+     evas_object_color_set(_selected, 47, 153, 255, 255);
 
    if (reverse)
      elm_icon_standard_set(icon, evisum_icon_path_get("go-down"));
@@ -611,7 +611,7 @@ _btn_icon_state_update(Evas_Object *button, Eina_Bool 
reverse)
      elm_icon_standard_set(icon, evisum_icon_path_get("go-up"));
 
    _selected = icon;
-   evas_object_color_set(_selected, 192, 192, 192, 255);
+   evas_object_color_set(_selected, 228, 228, 228, 255);
 
    elm_object_part_content_set(button, "icon", icon);
    evas_object_show(icon);
@@ -628,11 +628,11 @@ _btn_icon_state_init(Evas_Object *button, Eina_Bool 
reverse, Eina_Bool selected)
      elm_icon_standard_set(icon, evisum_icon_path_get("go-up"));
 
    if (!selected)
-     evas_object_color_set(icon, 128, 128, 128, 255);
+     evas_object_color_set(icon, 47, 153, 255, 255);
    else
      {
         _selected = icon;
-        evas_object_color_set(icon, 192, 192, 192, 255);
+        evas_object_color_set(icon, 228, 228, 228, 255);
      }
 
    elm_object_part_content_set(button, "icon", icon);
@@ -828,6 +828,16 @@ _item_menu_priority_decrease_cb(void *data, Evas_Object 
*obj EINA_UNUSED,
    setpriority(PRIO_PROCESS, proc->pid, proc->nice + 1);
 }
 
+static void
+_item_menu_debug_cb(void *data, Evas_Object *obj EINA_UNUSED,
+                   void *event_info EINA_UNUSED)
+{
+   int *pid = data;
+   if (!pid) return;
+
+   ecore_exe_run(eina_slstr_printf("terminology -e gdb  attach %d", *pid), 
NULL);
+}
+
 static void
 _item_menu_priority_add(Evas_Object *menu, Elm_Object_Item *menu_it,
                         Proc_Info *proc)
@@ -844,14 +854,28 @@ _item_menu_priority_add(Evas_Object *menu, 
Elm_Object_Item *menu_it,
    elm_object_item_disabled_set(it, EINA_TRUE);
 }
 
+static void
+_item_menu_actions_add(Evas_Object *menu, Elm_Object_Item *menu_it,
+                       pid_t *pid)
+{
+   if (ecore_file_app_installed("terminology"))
+     elm_menu_item_add(menu, menu_it, evisum_icon_path_get("terminology"),
+                   _("Debug"), _item_menu_debug_cb, pid);
+}
+
 static Evas_Object *
 _item_menu_create(Ui *ui, Proc_Info *proc)
 {
    Elm_Object_Item *menu_it, *menu_it2;
    Evas_Object *menu;
    Eina_Bool stopped;
+   static pid_t pid;
+
    if (!proc) return NULL;
 
+   pid = proc->pid;
+
+   printf("pid is %d\n", pid);
    ui->menu = menu = elm_menu_add(ui->win);
    if (!menu) return NULL;
 
@@ -868,6 +892,13 @@ _item_menu_create(Ui *ui, Proc_Info *proc)
    _item_menu_priority_add(menu, menu_it2, proc);
 
    elm_menu_item_separator_add(menu, menu_it);
+
+   menu_it2 = elm_menu_item_add(menu, menu_it, evisum_icon_path_get("window"),
+                   _("Actions"), NULL, NULL);
+   _item_menu_actions_add(menu, menu_it2, &pid);
+
+   elm_menu_item_separator_add(menu, menu_it);
+
    menu_it2 = elm_menu_item_add(menu, menu_it, evisum_icon_path_get("start"),
                    _("Start"), _item_menu_start_cb, proc);
 
@@ -932,6 +963,21 @@ _item_pid_clicked_cb(void *data, Evas_Object *obj 
EINA_UNUSED, void *event_info)
    ui_process_win_add(ui->win, proc->pid, proc->command);
 }
 
+static void
+_genlist_resize_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
+{
+   Ui *ui;
+   Evas_Coord w, ow;
+
+   ui = data;
+
+   evas_object_geometry_get(ui->genlist_procs, NULL, NULL, &ow, NULL);
+   evas_object_geometry_get(ui->win, NULL, NULL, &w, NULL);
+
+   if (ow > w)
+     elm_genlist_realized_items_update(ui->genlist_procs);
+}
+
 static void
 _ui_content_system_add(Ui *ui)
 {
@@ -1061,14 +1107,17 @@ _ui_content_system_add(Ui *ui)
    ui->scroller = ui->genlist_procs = plist = elm_genlist_add(parent);
    elm_scroller_gravity_set(ui->scroller, 0.0, 1.0);
    elm_object_focus_allow_set(plist, EINA_FALSE);
+   elm_scroller_policy_set(ui->scroller, ELM_SCROLLER_POLICY_OFF,
+                   ELM_SCROLLER_POLICY_AUTO);
    elm_genlist_homogeneous_set(plist, EINA_TRUE);
    evas_object_size_hint_weight_set(plist, EXPAND, EXPAND);
    evas_object_size_hint_align_set(plist, FILL, FILL);
    evas_object_show(plist);
+   evas_object_event_callback_add(ui->genlist_procs, EVAS_CALLBACK_RESIZE,
+                    _genlist_resize_cb, ui);
 
    elm_box_pack_end(box, table);
    elm_box_pack_end(box, plist);
-   elm_win_resize_object_add(ui->win, box);
 
    evas_object_smart_callback_add(ui->btn_pid, "clicked",
                    _btn_pid_clicked_cb, ui);
@@ -1176,7 +1225,7 @@ static Evas_Object *
 _ui_content_add(Evas_Object *parent, Ui *ui)
 {
    Evas_Object *table, *box, *entry, *hbox, *frame;
-   Evas_Object *border, *ic;
+   Evas_Object *border;
 
    ui->content = table = elm_table_add(parent);
    evas_object_size_hint_weight_set(table, EXPAND, EXPAND);
@@ -1216,12 +1265,14 @@ _ui_content_add(Evas_Object *parent, Ui *ui)
    elm_entry_editable_set(entry, EINA_TRUE);
    evas_object_show(entry);
 
+   /*
    ic = elm_icon_add(parent);
    elm_icon_standard_set(ic, evisum_icon_path_get("find"));
    evas_object_size_hint_min_set(ic, 24, 24);
    evas_object_show(ic);
    evas_object_color_set(ic, 64, 64, 64, 255);
    elm_object_part_content_set(entry, "icon", ic);
+   */
 
    elm_object_content_set(border, entry);
    elm_box_pack_end(box, border);
diff --git a/src/bin/ui/ui_process_view.c b/src/bin/ui/ui_process_view.c
index d1c193e..3457ffa 100644
--- a/src/bin/ui/ui_process_view.c
+++ b/src/bin/ui/ui_process_view.c
@@ -775,7 +775,7 @@ _threads_tab_add(Evas_Object *parent, Ui_Process *ui)
    ui->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 Usage"));
+   elm_object_text_set(btn, _("CPU %"));
    _btn_icon_state_set(btn, ui->sort_reverse);
    evas_object_show(btn);
    evas_object_smart_callback_add(btn, "clicked",
@@ -1048,6 +1048,7 @@ ui_process_win_add(Evas_Object *parent_win, int pid, 
const char *cmd)
    evas_object_event_callback_add(win, EVAS_CALLBACK_RESIZE,
                    _win_resize_cb, ui);
 
+   evas_object_resize(win, 480 * elm_config_scale_get(), -1);
    evas_object_geometry_get(parent_win, &x, &y, &w, &h);
    if (x > 0 && y > 0)
      evas_object_move(win, x + 20, y + 10);

-- 


Reply via email to