fields: fill the screen with text...
This commit is contained in:
parent
9dfe057478
commit
0ee2260c3f
|
@ -1310,6 +1310,25 @@ proc_sort_by_size(const void *p1, const void *p2)
|
|||
return 0;
|
||||
}
|
||||
|
||||
int
|
||||
proc_sort_by_virt(const void *p1, const void *p2)
|
||||
{
|
||||
const Proc_Info *inf1, *inf2;
|
||||
int64_t size1, size2;
|
||||
|
||||
inf1 = p1; inf2 = p2;
|
||||
|
||||
size1 = inf1->mem_virt;
|
||||
size2 = inf2->mem_virt;
|
||||
|
||||
if (size1 > size2)
|
||||
return 1;
|
||||
if (size1 < size2)
|
||||
return -1;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int
|
||||
proc_sort_by_rss(const void *p1, const void *p2)
|
||||
{
|
||||
|
@ -1329,6 +1348,25 @@ proc_sort_by_rss(const void *p1, const void *p2)
|
|||
return 0;
|
||||
}
|
||||
|
||||
int
|
||||
proc_sort_by_shared(const void *p1, const void *p2)
|
||||
{
|
||||
const Proc_Info *inf1, *inf2;
|
||||
int64_t size1, size2;
|
||||
|
||||
inf1 = p1; inf2 = p2;
|
||||
|
||||
size1 = inf1->mem_shared;
|
||||
size2 = inf2->mem_shared;
|
||||
|
||||
if (size1 > size2)
|
||||
return 1;
|
||||
if (size1 < size2)
|
||||
return -1;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int
|
||||
proc_sort_by_time(const void *p1, const void *p2)
|
||||
{
|
||||
|
|
|
@ -86,9 +86,15 @@ proc_sort_by_threads(const void *p1, const void *p2);
|
|||
int
|
||||
proc_sort_by_size(const void *p1, const void *p2);
|
||||
|
||||
int
|
||||
proc_sort_by_virt(const void *p1, const void *p2);
|
||||
|
||||
int
|
||||
proc_sort_by_rss(const void *p1, const void *p2);
|
||||
|
||||
int
|
||||
proc_sort_by_shared(const void *p1, const void *p2);
|
||||
|
||||
int
|
||||
proc_sort_by_time(const void *p1, const void *p2);
|
||||
|
||||
|
|
|
@ -68,7 +68,9 @@ typedef struct
|
|||
Evas_Object *btn_pri;
|
||||
Evas_Object *btn_nice;
|
||||
Evas_Object *btn_size;
|
||||
Evas_Object *btn_virt;
|
||||
Evas_Object *btn_rss;
|
||||
Evas_Object *btn_shared;
|
||||
Evas_Object *btn_state;
|
||||
Evas_Object *btn_time;
|
||||
Evas_Object *btn_cpu_usage;
|
||||
|
@ -127,8 +129,12 @@ _field_name(Proc_Field id)
|
|||
return _("Nice");
|
||||
case PROC_FIELD_SIZE:
|
||||
return _("Size");
|
||||
case PROC_FIELD_VIRT:
|
||||
return _("Virtual");
|
||||
case PROC_FIELD_RSS:
|
||||
return _("Reserved");
|
||||
case PROC_FIELD_SHARED:
|
||||
return _("Shared");
|
||||
case PROC_FIELD_STATE:
|
||||
return _("State");
|
||||
case PROC_FIELD_TIME:
|
||||
|
@ -406,11 +412,21 @@ _item_create(Evas_Object *obj)
|
|||
lb = _item_column_add(tb, "proc_size", i++);
|
||||
evas_object_size_hint_align_set(lb, 1.0, FILL);
|
||||
}
|
||||
if (_field_enabled(PROC_FIELD_VIRT))
|
||||
{
|
||||
lb = _item_column_add(tb, "proc_virt", i++);
|
||||
evas_object_size_hint_align_set(lb, 1.0, FILL);
|
||||
}
|
||||
if (_field_enabled(PROC_FIELD_RSS))
|
||||
{
|
||||
lb = _item_column_add(tb, "proc_rss", i++);
|
||||
evas_object_size_hint_align_set(lb, 1.0, FILL);
|
||||
}
|
||||
if (_field_enabled(PROC_FIELD_SHARED))
|
||||
{
|
||||
lb = _item_column_add(tb, "proc_shared", i++);
|
||||
evas_object_size_hint_align_set(lb, 1.0, FILL);
|
||||
}
|
||||
if (_field_enabled(PROC_FIELD_STATE))
|
||||
{
|
||||
lb = _item_column_add(tb, "proc_state", i++);
|
||||
|
@ -601,6 +617,18 @@ _content_get(void *data, Evas_Object *obj, const char *source)
|
|||
evas_object_show(lb);
|
||||
}
|
||||
|
||||
if (_field_enabled(PROC_FIELD_VIRT))
|
||||
{
|
||||
evas_object_geometry_get(pd->btn_rss, NULL, NULL, &w, NULL);
|
||||
lb = evas_object_data_get(it->obj, "proc_virt");
|
||||
snprintf(buf, sizeof(buf), "%s", evisum_size_format(proc->mem_virt));
|
||||
if (strcmp(buf, elm_object_text_get(lb)))
|
||||
elm_object_text_set(lb, buf);
|
||||
rec = evas_object_data_get(lb, "rec");
|
||||
evas_object_size_hint_min_set(rec, w, 1);
|
||||
evas_object_show(lb);
|
||||
}
|
||||
|
||||
if (_field_enabled(PROC_FIELD_RSS))
|
||||
{
|
||||
evas_object_geometry_get(pd->btn_rss, NULL, NULL, &w, NULL);
|
||||
|
@ -613,6 +641,18 @@ _content_get(void *data, Evas_Object *obj, const char *source)
|
|||
evas_object_show(lb);
|
||||
}
|
||||
|
||||
if (_field_enabled(PROC_FIELD_SHARED))
|
||||
{
|
||||
evas_object_geometry_get(pd->btn_rss, NULL, NULL, &w, NULL);
|
||||
lb = evas_object_data_get(it->obj, "proc_shared");
|
||||
snprintf(buf, sizeof(buf), "%s", evisum_size_format(proc->mem_shared));
|
||||
if (strcmp(buf, elm_object_text_get(lb)))
|
||||
elm_object_text_set(lb, buf);
|
||||
rec = evas_object_data_get(lb, "rec");
|
||||
evas_object_size_hint_min_set(rec, w, 1);
|
||||
evas_object_show(lb);
|
||||
}
|
||||
|
||||
if (_field_enabled(PROC_FIELD_STATE))
|
||||
{
|
||||
evas_object_geometry_get(pd->btn_state, NULL, NULL, &w, NULL);
|
||||
|
@ -1012,16 +1052,16 @@ _btn_clicked_state_save(Ui_Data *pd, Evas_Object *btn)
|
|||
}
|
||||
|
||||
static void
|
||||
_btn_pid_clicked_cb(void *data, Evas_Object *obj EINA_UNUSED,
|
||||
_btn_cmd_clicked_cb(void *data, Evas_Object *obj EINA_UNUSED,
|
||||
void *event_info EINA_UNUSED)
|
||||
{
|
||||
Ui_Data *pd = data;
|
||||
Ui *ui = pd->ui;
|
||||
|
||||
if (ui->proc.sort_type == PROC_SORT_BY_PID)
|
||||
if (ui->proc.sort_type == PROC_SORT_BY_CMD)
|
||||
ui->proc.sort_reverse = !ui->proc.sort_reverse;
|
||||
ui->proc.sort_type = PROC_SORT_BY_PID;
|
||||
_btn_clicked_state_save(pd, pd->btn_pid);
|
||||
ui->proc.sort_type = PROC_SORT_BY_CMD;
|
||||
_btn_clicked_state_save(pd, pd->btn_cmd);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -1038,81 +1078,16 @@ _btn_uid_clicked_cb(void *data, Evas_Object *obj EINA_UNUSED,
|
|||
}
|
||||
|
||||
static void
|
||||
_btn_cpu_usage_clicked_cb(void *data, Evas_Object *obj EINA_UNUSED,
|
||||
void *event_info EINA_UNUSED)
|
||||
{
|
||||
Ui_Data *pd = data;
|
||||
Ui *ui = pd->ui;
|
||||
|
||||
if (ui->proc.sort_type == PROC_SORT_BY_CPU_USAGE)
|
||||
ui->proc.sort_reverse = !ui->proc.sort_reverse;
|
||||
ui->proc.sort_type = PROC_SORT_BY_CPU_USAGE;
|
||||
_btn_clicked_state_save(pd, pd->btn_cpu_usage);
|
||||
}
|
||||
|
||||
static void
|
||||
_btn_size_clicked_cb(void *data, Evas_Object *obj EINA_UNUSED,
|
||||
void *event_info EINA_UNUSED)
|
||||
{
|
||||
Ui_Data *pd = data;
|
||||
Ui *ui = pd->ui;
|
||||
|
||||
if (ui->proc.sort_type == PROC_SORT_BY_SIZE)
|
||||
ui->proc.sort_reverse = !ui->proc.sort_reverse;
|
||||
ui->proc.sort_type = PROC_SORT_BY_SIZE;
|
||||
_btn_clicked_state_save(pd, pd->btn_size);
|
||||
}
|
||||
|
||||
static void
|
||||
_btn_pri_clicked_cb(void *data, Evas_Object *obj EINA_UNUSED,
|
||||
_btn_pid_clicked_cb(void *data, Evas_Object *obj EINA_UNUSED,
|
||||
void *event_info EINA_UNUSED)
|
||||
{
|
||||
Ui_Data *pd = data;
|
||||
Ui *ui = pd->ui;
|
||||
|
||||
if (ui->proc.sort_type == PROC_SORT_BY_PRI)
|
||||
if (ui->proc.sort_type == PROC_SORT_BY_PID)
|
||||
ui->proc.sort_reverse = !ui->proc.sort_reverse;
|
||||
ui->proc.sort_type = PROC_SORT_BY_PRI;
|
||||
_btn_clicked_state_save(pd, pd->btn_pri);
|
||||
}
|
||||
|
||||
static void
|
||||
_btn_nice_clicked_cb(void *data, Evas_Object *obj EINA_UNUSED,
|
||||
void *event_info EINA_UNUSED)
|
||||
{
|
||||
Ui_Data *pd = data;
|
||||
Ui *ui = pd->ui;
|
||||
|
||||
if (ui->proc.sort_type == PROC_SORT_BY_NICE)
|
||||
ui->proc.sort_reverse = !ui->proc.sort_reverse;
|
||||
ui->proc.sort_type = PROC_SORT_BY_NICE;
|
||||
_btn_clicked_state_save(pd, pd->btn_nice);
|
||||
}
|
||||
|
||||
static void
|
||||
_btn_rss_clicked_cb(void *data, Evas_Object *obj EINA_UNUSED,
|
||||
void *event_info EINA_UNUSED)
|
||||
{
|
||||
Ui_Data *pd = data;
|
||||
Ui *ui = pd->ui;
|
||||
|
||||
if (ui->proc.sort_type == PROC_SORT_BY_RSS)
|
||||
ui->proc.sort_reverse = !ui->proc.sort_reverse;
|
||||
ui->proc.sort_type = PROC_SORT_BY_RSS;
|
||||
_btn_clicked_state_save(pd, pd->btn_rss);
|
||||
}
|
||||
|
||||
static void
|
||||
_btn_cmd_clicked_cb(void *data, Evas_Object *obj EINA_UNUSED,
|
||||
void *event_info EINA_UNUSED)
|
||||
{
|
||||
Ui_Data *pd = data;
|
||||
Ui *ui = pd->ui;
|
||||
|
||||
if (ui->proc.sort_type == PROC_SORT_BY_CMD)
|
||||
ui->proc.sort_reverse = !ui->proc.sort_reverse;
|
||||
ui->proc.sort_type = PROC_SORT_BY_CMD;
|
||||
_btn_clicked_state_save(pd, pd->btn_cmd);
|
||||
ui->proc.sort_type = PROC_SORT_BY_PID;
|
||||
_btn_clicked_state_save(pd, pd->btn_pid);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -1142,16 +1117,81 @@ _btn_cpu_clicked_cb(void *data, Evas_Object *obj EINA_UNUSED,
|
|||
}
|
||||
|
||||
static void
|
||||
_btn_time_clicked_cb(void *data, Evas_Object *obj EINA_UNUSED,
|
||||
_btn_pri_clicked_cb(void *data, Evas_Object *obj EINA_UNUSED,
|
||||
void *event_info EINA_UNUSED)
|
||||
{
|
||||
Ui_Data *pd = data;
|
||||
Ui *ui = pd->ui;
|
||||
|
||||
if (ui->proc.sort_type == PROC_SORT_BY_PRI)
|
||||
ui->proc.sort_reverse = !ui->proc.sort_reverse;
|
||||
ui->proc.sort_type = PROC_SORT_BY_PRI;
|
||||
_btn_clicked_state_save(pd, pd->btn_pri);
|
||||
}
|
||||
|
||||
static void
|
||||
_btn_nice_clicked_cb(void *data, Evas_Object *obj EINA_UNUSED,
|
||||
void *event_info EINA_UNUSED)
|
||||
{
|
||||
Ui_Data *pd = data;
|
||||
Ui *ui = pd->ui;
|
||||
|
||||
if (ui->proc.sort_type == PROC_SORT_BY_NICE)
|
||||
ui->proc.sort_reverse = !ui->proc.sort_reverse;
|
||||
ui->proc.sort_type = PROC_SORT_BY_NICE;
|
||||
_btn_clicked_state_save(pd, pd->btn_nice);
|
||||
}
|
||||
|
||||
static void
|
||||
_btn_size_clicked_cb(void *data, Evas_Object *obj EINA_UNUSED,
|
||||
void *event_info EINA_UNUSED)
|
||||
{
|
||||
Ui_Data *pd = data;
|
||||
Ui *ui = pd->ui;
|
||||
|
||||
if (ui->proc.sort_type == PROC_SORT_BY_TIME)
|
||||
if (ui->proc.sort_type == PROC_SORT_BY_SIZE)
|
||||
ui->proc.sort_reverse = !ui->proc.sort_reverse;
|
||||
ui->proc.sort_type = PROC_SORT_BY_TIME;
|
||||
_btn_clicked_state_save(pd, pd->btn_time);
|
||||
ui->proc.sort_type = PROC_SORT_BY_SIZE;
|
||||
_btn_clicked_state_save(pd, pd->btn_size);
|
||||
}
|
||||
|
||||
static void
|
||||
_btn_virt_clicked_cb(void *data, Evas_Object *obj EINA_UNUSED,
|
||||
void *event_info EINA_UNUSED)
|
||||
{
|
||||
Ui_Data *pd = data;
|
||||
Ui *ui = pd->ui;
|
||||
|
||||
if (ui->proc.sort_type == PROC_SORT_BY_VIRT)
|
||||
ui->proc.sort_reverse = !ui->proc.sort_reverse;
|
||||
ui->proc.sort_type = PROC_SORT_BY_VIRT;
|
||||
_btn_clicked_state_save(pd, pd->btn_virt);
|
||||
}
|
||||
|
||||
static void
|
||||
_btn_rss_clicked_cb(void *data, Evas_Object *obj EINA_UNUSED,
|
||||
void *event_info EINA_UNUSED)
|
||||
{
|
||||
Ui_Data *pd = data;
|
||||
Ui *ui = pd->ui;
|
||||
|
||||
if (ui->proc.sort_type == PROC_SORT_BY_RSS)
|
||||
ui->proc.sort_reverse = !ui->proc.sort_reverse;
|
||||
ui->proc.sort_type = PROC_SORT_BY_RSS;
|
||||
_btn_clicked_state_save(pd, pd->btn_rss);
|
||||
}
|
||||
|
||||
static void
|
||||
_btn_shared_clicked_cb(void *data, Evas_Object *obj EINA_UNUSED,
|
||||
void *event_info EINA_UNUSED)
|
||||
{
|
||||
Ui_Data *pd = data;
|
||||
Ui *ui = pd->ui;
|
||||
|
||||
if (ui->proc.sort_type == PROC_SORT_BY_SHARED)
|
||||
ui->proc.sort_reverse = !ui->proc.sort_reverse;
|
||||
ui->proc.sort_type = PROC_SORT_BY_SHARED;
|
||||
_btn_clicked_state_save(pd, pd->btn_shared);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -1167,6 +1207,32 @@ _btn_state_clicked_cb(void *data, Evas_Object *obj EINA_UNUSED,
|
|||
_btn_clicked_state_save(pd, pd->btn_state);
|
||||
}
|
||||
|
||||
static void
|
||||
_btn_time_clicked_cb(void *data, Evas_Object *obj EINA_UNUSED,
|
||||
void *event_info EINA_UNUSED)
|
||||
{
|
||||
Ui_Data *pd = data;
|
||||
Ui *ui = pd->ui;
|
||||
|
||||
if (ui->proc.sort_type == PROC_SORT_BY_TIME)
|
||||
ui->proc.sort_reverse = !ui->proc.sort_reverse;
|
||||
ui->proc.sort_type = PROC_SORT_BY_TIME;
|
||||
_btn_clicked_state_save(pd, pd->btn_time);
|
||||
}
|
||||
|
||||
static void
|
||||
_btn_cpu_usage_clicked_cb(void *data, Evas_Object *obj EINA_UNUSED,
|
||||
void *event_info EINA_UNUSED)
|
||||
{
|
||||
Ui_Data *pd = data;
|
||||
Ui *ui = pd->ui;
|
||||
|
||||
if (ui->proc.sort_type == PROC_SORT_BY_CPU_USAGE)
|
||||
ui->proc.sort_reverse = !ui->proc.sort_reverse;
|
||||
ui->proc.sort_type = PROC_SORT_BY_CPU_USAGE;
|
||||
_btn_clicked_state_save(pd, pd->btn_cpu_usage);
|
||||
}
|
||||
|
||||
static void
|
||||
_item_menu_dismissed_cb(void *data EINA_UNUSED, Evas_Object *obj,
|
||||
void *ev EINA_UNUSED)
|
||||
|
@ -1575,6 +1641,19 @@ _content_add(Ui_Data *pd, Evas_Object *parent)
|
|||
_btn_size_clicked_cb, pd);
|
||||
_fields[PROC_FIELD_SIZE].btn = btn;
|
||||
|
||||
pd->btn_virt = btn = elm_button_add(parent);
|
||||
_btn_icon_state_init(btn,
|
||||
(ui->proc.sort_type == PROC_SORT_BY_VIRT ?
|
||||
ui->proc.sort_reverse : 0),
|
||||
ui->proc.sort_type == PROC_SORT_BY_VIRT);
|
||||
evas_object_size_hint_weight_set(btn, 1.0, 0);
|
||||
evas_object_size_hint_align_set(btn, FILL, FILL);
|
||||
elm_object_text_set(btn, _("virt"));
|
||||
evas_object_show(btn);
|
||||
evas_object_smart_callback_add(btn, "clicked",
|
||||
_btn_virt_clicked_cb, pd);
|
||||
_fields[PROC_FIELD_VIRT].btn = btn;
|
||||
|
||||
pd->btn_rss = btn = elm_button_add(parent);
|
||||
_btn_icon_state_init(btn,
|
||||
(ui->proc.sort_type == PROC_SORT_BY_RSS ?
|
||||
|
@ -1588,6 +1667,19 @@ _content_add(Ui_Data *pd, Evas_Object *parent)
|
|||
_btn_rss_clicked_cb, pd);
|
||||
_fields[PROC_FIELD_RSS].btn = btn;
|
||||
|
||||
pd->btn_shared = btn = elm_button_add(parent);
|
||||
_btn_icon_state_init(btn,
|
||||
(ui->proc.sort_type == PROC_SORT_BY_SHARED ?
|
||||
ui->proc.sort_reverse : 0),
|
||||
ui->proc.sort_type == PROC_SORT_BY_SHARED);
|
||||
evas_object_size_hint_weight_set(btn, 1.0, 0);
|
||||
evas_object_size_hint_align_set(btn, FILL, FILL);
|
||||
elm_object_text_set(btn, _("shr"));
|
||||
evas_object_show(btn);
|
||||
evas_object_smart_callback_add(btn, "clicked",
|
||||
_btn_shared_clicked_cb, pd);
|
||||
_fields[PROC_FIELD_SHARED].btn = btn;
|
||||
|
||||
pd->btn_state = btn = elm_button_add(parent);
|
||||
_btn_icon_state_init(btn,
|
||||
(ui->proc.sort_type == PROC_SORT_BY_STATE ?
|
||||
|
@ -1999,7 +2091,9 @@ _init(Ui_Data *pd)
|
|||
pd->sorters[PROC_SORT_BY_CPU].sort_cb = proc_sort_by_cpu;
|
||||
pd->sorters[PROC_SORT_BY_THREADS].sort_cb = proc_sort_by_threads;
|
||||
pd->sorters[PROC_SORT_BY_SIZE].sort_cb = proc_sort_by_size;
|
||||
pd->sorters[PROC_SORT_BY_VIRT].sort_cb = proc_sort_by_virt;
|
||||
pd->sorters[PROC_SORT_BY_RSS].sort_cb = proc_sort_by_rss;
|
||||
pd->sorters[PROC_SORT_BY_SHARED].sort_cb = proc_sort_by_shared;
|
||||
pd->sorters[PROC_SORT_BY_CMD].sort_cb = proc_sort_by_cmd;
|
||||
pd->sorters[PROC_SORT_BY_STATE].sort_cb = proc_sort_by_state;
|
||||
pd->sorters[PROC_SORT_BY_TIME].sort_cb = proc_sort_by_time;
|
||||
|
|
|
@ -14,7 +14,9 @@ typedef enum
|
|||
PROC_SORT_BY_PRI,
|
||||
PROC_SORT_BY_NICE,
|
||||
PROC_SORT_BY_SIZE,
|
||||
PROC_SORT_BY_VIRT,
|
||||
PROC_SORT_BY_RSS,
|
||||
PROC_SORT_BY_SHARED,
|
||||
PROC_SORT_BY_STATE,
|
||||
PROC_SORT_BY_TIME,
|
||||
PROC_SORT_BY_CPU_USAGE,
|
||||
|
@ -31,11 +33,13 @@ typedef enum
|
|||
PROC_FIELD_PRI = 6,
|
||||
PROC_FIELD_NICE = 7,
|
||||
PROC_FIELD_SIZE = 8,
|
||||
PROC_FIELD_RSS = 9,
|
||||
PROC_FIELD_STATE = 10,
|
||||
PROC_FIELD_TIME = 11,
|
||||
PROC_FIELD_CPU_USAGE = 12,
|
||||
PROC_FIELD_MAX = 13,
|
||||
PROC_FIELD_VIRT = 9,
|
||||
PROC_FIELD_RSS = 10,
|
||||
PROC_FIELD_SHARED = 11,
|
||||
PROC_FIELD_STATE = 12,
|
||||
PROC_FIELD_TIME = 13,
|
||||
PROC_FIELD_CPU_USAGE = 14,
|
||||
PROC_FIELD_MAX = 15,
|
||||
} Proc_Field;
|
||||
|
||||
void
|
||||
|
|
Loading…
Reference in New Issue