netstar pushed a commit to branch master.

http://git.enlightenment.org/apps/evisum.git/commit/?id=700a21573dc9665d406c47587103dbca565ca26b

commit 700a21573dc9665d406c47587103dbca565ca26b
Author: Alastair Poole <[email protected]>
Date:   Sun Jun 21 16:54:10 2020 +0100

    process_view: Keep new windows close.
    
    On larger displays the process view can be a long way from the
    main window when created. It's SUPER annoying. This will keep
    them close enough for now.
---
 src/bin/ui/ui.c              |  2 +-
 src/bin/ui/ui_process_view.c | 11 +++++++++--
 src/bin/ui/ui_process_view.h |  2 +-
 src/bin/ui/ui_util.h         |  1 +
 4 files changed, 12 insertions(+), 4 deletions(-)

diff --git a/src/bin/ui/ui.c b/src/bin/ui/ui.c
index d4cccdb..f431489 100644
--- a/src/bin/ui/ui.c
+++ b/src/bin/ui/ui.c
@@ -899,7 +899,7 @@ _item_pid_clicked_cb(void *data, Evas_Object *obj 
EINA_UNUSED, void *event_info)
    if (!proc) return;
 
    ui->selected_pid = proc->pid;
-   ui_process_win_add(proc->pid, proc->command);
+   ui_process_win_add(ui->win, proc->pid, proc->command);
 }
 
 static void
diff --git a/src/bin/ui/ui_process_view.c b/src/bin/ui/ui_process_view.c
index 313704f..01c58b2 100644
--- a/src/bin/ui/ui_process_view.c
+++ b/src/bin/ui/ui_process_view.c
@@ -1014,9 +1014,10 @@ _win_resize_cb(void *data, Evas *e, Evas_Object *obj, 
void *event_info)
 }
 
 void
-ui_process_win_add(int pid, const char *cmd)
+ui_process_win_add(Evas_Object *parent_win, int pid, const char *cmd)
 {
    Evas_Object *win, *ic, *box, *tabs;
+   Evas_Coord x, y, w, h;
 
    Ui_Process *ui = calloc(1, sizeof(Ui_Process));
    ui->selected_pid = pid;
@@ -1057,7 +1058,13 @@ ui_process_win_add(int pid, const char *cmd)
    evas_object_smart_callback_add(win, "delete,request", _win_del_cb, ui);
    evas_object_event_callback_add(win, EVAS_CALLBACK_RESIZE,
                    _win_resize_cb, ui);
-   elm_win_center(win, EINA_TRUE, EINA_TRUE);
+
+   evas_object_geometry_get(parent_win, &x, &y, &w, &h);
+   if (x > 0 && y > 0)
+     evas_object_move(win, x + 20, y + 10);
+   else
+     elm_win_center(win, EINA_TRUE, EINA_TRUE);
+
    evas_object_show(win);
 
    ui->cache = evisum_ui_item_cache_new(ui->genlist_threads, _item_create, 10);
diff --git a/src/bin/ui/ui_process_view.h b/src/bin/ui/ui_process_view.h
index 19a3876..4da3c52 100644
--- a/src/bin/ui/ui_process_view.h
+++ b/src/bin/ui/ui_process_view.h
@@ -62,6 +62,6 @@ typedef struct _Ui_Process {
 } Ui_Process;
 
 void
-ui_process_win_add(int pid, const char *cmd);
+ui_process_win_add(Evas_Object *parent_win, int pid, const char *cmd);
 
 #endif
diff --git a/src/bin/ui/ui_util.h b/src/bin/ui/ui_util.h
index e253f17..100d40b 100644
--- a/src/bin/ui/ui_util.h
+++ b/src/bin/ui/ui_util.h
@@ -21,6 +21,7 @@ evisum_icon_path_get(const char *name);
 
 int
 evisum_ui_textblock_font_size_get(Evas_Object *tb);
+
 void
 evisum_ui_textblock_font_size_set(Evas_Object *tb, int new_size);
 

-- 


Reply via email to