mem: bring this all together (linux).
This commit is contained in:
parent
2b03c8ce0b
commit
20c420967a
|
@ -142,23 +142,45 @@ _parse_line(const char *line)
|
||||||
return atol(tok);
|
return atol(tok);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_mem_shared(Proc_Info *proc, int pid)
|
||||||
|
{
|
||||||
|
FILE *f;
|
||||||
|
char buf[1024];
|
||||||
|
unsigned int dummy, shared, resident, data;
|
||||||
|
|
||||||
|
f = fopen(eina_slstr_printf("/proc/%d/statm", pid), "r");
|
||||||
|
if (!f) return;
|
||||||
|
|
||||||
|
if (fgets(buf, sizeof(buf), f))
|
||||||
|
{
|
||||||
|
if (sscanf(buf, "%u %u %u %u %u %u %u", &dummy, &resident, &shared, &dummy,
|
||||||
|
&dummy, &data, &dummy) == 7)
|
||||||
|
{
|
||||||
|
proc->mem_shared = (resident + shared + data) * getpagesize();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fclose(f);
|
||||||
|
}
|
||||||
|
|
||||||
static Eina_List *
|
static Eina_List *
|
||||||
_process_list_linux_get(void)
|
_process_list_linux_get(void)
|
||||||
{
|
{
|
||||||
Eina_List *files, *list;
|
Eina_List *files, *list;
|
||||||
FILE *f;
|
FILE *f;
|
||||||
char *name, *link, state, line[4096], name[1024];
|
char *n, *link, state, line[4096], name[1024];
|
||||||
int pid, res, utime, stime, cutime, cstime, uid, psr, pri, nice, numthreads;
|
int pid, res, utime, stime, cutime, cstime, uid, psr, pri, nice, numthreads;
|
||||||
unsigned int mem_size, mem_rss, flags;
|
unsigned int mem_virt, mem_rss, flags;
|
||||||
int pagesize = getpagesize();
|
int pagesize = getpagesize();
|
||||||
|
|
||||||
list = NULL;
|
list = NULL;
|
||||||
|
|
||||||
files = ecore_file_ls("/proc");
|
files = ecore_file_ls("/proc");
|
||||||
EINA_LIST_FREE(files, name)
|
EINA_LIST_FREE(files, n)
|
||||||
{
|
{
|
||||||
pid = atoi(name);
|
pid = atoi(n);
|
||||||
free(name);
|
free(n);
|
||||||
|
|
||||||
if (!pid) continue;
|
if (!pid) continue;
|
||||||
|
|
||||||
|
@ -174,7 +196,7 @@ _process_list_linux_get(void)
|
||||||
name[end - start] = '\0';
|
name[end - start] = '\0';
|
||||||
res = sscanf(end + 2, "%c %d %d %d %d %d %u %u %u %u %u %d %d %d %d %d %d %u %u %d %u %u %u %u %u %u %u %u %d %d %d %d %u %d %d %d %d %d %d %d %d %d",
|
res = sscanf(end + 2, "%c %d %d %d %d %d %u %u %u %u %u %d %d %d %d %d %d %u %u %d %u %u %u %u %u %u %u %u %d %d %d %d %u %d %d %d %d %d %d %d %d %d",
|
||||||
&state, &dummy, &dummy, &dummy, &dummy, &dummy, &flags, &dummy, &dummy, &dummy, &dummy, &utime, &stime, &cutime, &cstime,
|
&state, &dummy, &dummy, &dummy, &dummy, &dummy, &flags, &dummy, &dummy, &dummy, &dummy, &utime, &stime, &cutime, &cstime,
|
||||||
&pri, &nice, &numthreads, &dummy, &dummy, &mem_size, &mem_rss, &dummy, &dummy, &dummy, &dummy, &dummy, &dummy, &dummy, &dummy,
|
&pri, &nice, &numthreads, &dummy, &dummy, &mem_virt, &mem_rss, &dummy, &dummy, &dummy, &dummy, &dummy, &dummy, &dummy, &dummy,
|
||||||
&dummy, &dummy, &dummy, &dummy, &dummy, &dummy, &psr, &dummy, &dummy, &dummy, &dummy, &dummy);
|
&dummy, &dummy, &dummy, &dummy, &dummy, &dummy, &psr, &dummy, &dummy, &dummy, &dummy, &dummy);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -201,6 +223,8 @@ _process_list_linux_get(void)
|
||||||
Proc_Info *p = calloc(1, sizeof(Proc_Info));
|
Proc_Info *p = calloc(1, sizeof(Proc_Info));
|
||||||
if (!p) return NULL;
|
if (!p) return NULL;
|
||||||
|
|
||||||
|
_mem_shared(p, pid);
|
||||||
|
|
||||||
link = ecore_file_readlink(eina_slstr_printf("/proc/%d/exe", pid));
|
link = ecore_file_readlink(eina_slstr_printf("/proc/%d/exe", pid));
|
||||||
if (link)
|
if (link)
|
||||||
{
|
{
|
||||||
|
@ -231,7 +255,7 @@ _process_list_linux_get(void)
|
||||||
p->command = strdup(name);
|
p->command = strdup(name);
|
||||||
p->state = _process_state_name(state);
|
p->state = _process_state_name(state);
|
||||||
p->cpu_time = utime + stime;
|
p->cpu_time = utime + stime;
|
||||||
p->mem_size = mem_size;
|
p->mem_virt = mem_virt;
|
||||||
p->mem_rss = mem_rss * pagesize;
|
p->mem_rss = mem_rss * pagesize;
|
||||||
p->nice = nice;
|
p->nice = nice;
|
||||||
p->priority = pri;
|
p->priority = pri;
|
||||||
|
@ -252,7 +276,7 @@ proc_info_by_pid(int pid)
|
||||||
FILE *f;
|
FILE *f;
|
||||||
char *link, state, line[4096], name[1024];
|
char *link, state, line[4096], name[1024];
|
||||||
int res, dummy, utime, stime, cutime, cstime, uid, psr;
|
int res, dummy, utime, stime, cutime, cstime, uid, psr;
|
||||||
unsigned int mem_size, mem_rss, pri, nice, numthreads;
|
unsigned int mem_virt, mem_rss, pri, nice, numthreads;
|
||||||
|
|
||||||
f = fopen(eina_slstr_printf("/proc/%d/stat", pid), "r");
|
f = fopen(eina_slstr_printf("/proc/%d/stat", pid), "r");
|
||||||
if (!f) return NULL;
|
if (!f) return NULL;
|
||||||
|
@ -266,7 +290,7 @@ proc_info_by_pid(int pid)
|
||||||
|
|
||||||
res = sscanf(end + 2, "%c %d %d %d %d %d %u %u %u %u %u %d %d %d %d %d %d %u %u %d %u %u %u %u %u %u %u %u %d %d %d %d %u %d %d %d %d %d %d %d %d %d",
|
res = sscanf(end + 2, "%c %d %d %d %d %d %u %u %u %u %u %d %d %d %d %d %d %u %u %d %u %u %u %u %u %u %u %u %d %d %d %d %u %d %d %d %d %d %d %d %d %d",
|
||||||
&state, &dummy, &dummy, &dummy, &dummy, &dummy, &dummy, &dummy, &dummy, &dummy, &dummy, &utime, &stime, &cutime, &cstime,
|
&state, &dummy, &dummy, &dummy, &dummy, &dummy, &dummy, &dummy, &dummy, &dummy, &dummy, &utime, &stime, &cutime, &cstime,
|
||||||
&pri, &nice, &numthreads, &dummy, &dummy, &mem_size, &mem_rss, &dummy, &dummy, &dummy, &dummy, &dummy, &dummy, &dummy, &dummy,
|
&pri, &nice, &numthreads, &dummy, &dummy, &mem_virt, &mem_rss, &dummy, &dummy, &dummy, &dummy, &dummy, &dummy, &dummy, &dummy,
|
||||||
&dummy, &dummy, &dummy, &dummy, &dummy, &dummy, &psr, &dummy, &dummy, &dummy, &dummy, &dummy);
|
&dummy, &dummy, &dummy, &dummy, &dummy, &dummy, &psr, &dummy, &dummy, &dummy, &dummy, &dummy);
|
||||||
}
|
}
|
||||||
fclose(f);
|
fclose(f);
|
||||||
|
@ -289,6 +313,8 @@ proc_info_by_pid(int pid)
|
||||||
Proc_Info *p = calloc(1, sizeof(Proc_Info));
|
Proc_Info *p = calloc(1, sizeof(Proc_Info));
|
||||||
if (!p) return NULL;
|
if (!p) return NULL;
|
||||||
|
|
||||||
|
_mem_shared(p, pid);
|
||||||
|
|
||||||
link = ecore_file_readlink(eina_slstr_printf("/proc/%d/exe", pid));
|
link = ecore_file_readlink(eina_slstr_printf("/proc/%d/exe", pid));
|
||||||
if (link)
|
if (link)
|
||||||
{
|
{
|
||||||
|
@ -316,7 +342,7 @@ proc_info_by_pid(int pid)
|
||||||
p->command = strdup(name);
|
p->command = strdup(name);
|
||||||
p->state = _process_state_name(state);
|
p->state = _process_state_name(state);
|
||||||
p->cpu_time = utime + stime;
|
p->cpu_time = utime + stime;
|
||||||
p->mem_size = mem_size;
|
p->mem_virt = mem_virt;
|
||||||
p->mem_rss = mem_rss * getpagesize();
|
p->mem_rss = mem_rss * getpagesize();
|
||||||
p->priority = pri;
|
p->priority = pri;
|
||||||
p->nice = nice;
|
p->nice = nice;
|
||||||
|
@ -356,7 +382,7 @@ proc_info_by_pid(int pid)
|
||||||
p->cpu_id = kp->p_cpuid;
|
p->cpu_id = kp->p_cpuid;
|
||||||
p->state = _process_state_name(kp->p_stat);
|
p->state = _process_state_name(kp->p_stat);
|
||||||
p->cpu_time = kp->p_uticks + kp->p_sticks + kp->p_iticks;
|
p->cpu_time = kp->p_uticks + kp->p_sticks + kp->p_iticks;
|
||||||
p->mem_size = p->mem_cached = (kp->p_vm_tsize * pagesize) + (kp->p_vm_dsize * pagesize) + (kp->p_vm_ssize * pagesize);
|
p->mem_virt = p->mem_cached = (kp->p_vm_tsize * pagesize) + (kp->p_vm_dsize * pagesize) + (kp->p_vm_ssize * pagesize);
|
||||||
p->mem_rss = kp->p_vm_rssize * pagesize;
|
p->mem_rss = kp->p_vm_rssize * pagesize;
|
||||||
p->priority = kp->p_priority - PZERO;
|
p->priority = kp->p_priority - PZERO;
|
||||||
p->nice = kp->p_nice - NZERO;
|
p->nice = kp->p_nice - NZERO;
|
||||||
|
@ -419,7 +445,7 @@ _process_list_openbsd_get(void)
|
||||||
p->cpu_id = kp->p_cpuid;
|
p->cpu_id = kp->p_cpuid;
|
||||||
p->state = _process_state_name(kp->p_stat);
|
p->state = _process_state_name(kp->p_stat);
|
||||||
p->cpu_time = kp->p_uticks + kp->p_sticks + kp->p_iticks;
|
p->cpu_time = kp->p_uticks + kp->p_sticks + kp->p_iticks;
|
||||||
p->mem_cached = p->mem_size = (kp->p_vm_tsize * pagesize) + (kp->p_vm_dsize * pagesize) + (kp->p_vm_ssize * pagesize);
|
p->mem_cached = p->mem_virt = (kp->p_vm_tsize * pagesize) + (kp->p_vm_dsize * pagesize) + (kp->p_vm_ssize * pagesize);
|
||||||
p->mem_rss = kp->p_vm_rssize * pagesize;
|
p->mem_rss = kp->p_vm_rssize * pagesize;
|
||||||
p->priority = kp->p_priority - PZERO;
|
p->priority = kp->p_priority - PZERO;
|
||||||
p->nice = kp->p_nice - NZERO;
|
p->nice = kp->p_nice - NZERO;
|
||||||
|
@ -485,7 +511,7 @@ _process_list_macos_get(void)
|
||||||
p->cpu_time = taskinfo.ptinfo.pti_total_user + taskinfo.ptinfo.pti_total_system;
|
p->cpu_time = taskinfo.ptinfo.pti_total_user + taskinfo.ptinfo.pti_total_system;
|
||||||
p->cpu_time /= 10000000;
|
p->cpu_time /= 10000000;
|
||||||
p->state = _process_state_name(taskinfo.pbsd.pbi_status);
|
p->state = _process_state_name(taskinfo.pbsd.pbi_status);
|
||||||
p->mem_size = taskinfo.ptinfo.pti_virtual_size;
|
p->mem_virt = taskinfo.ptinfo.pti_virtual_size;
|
||||||
p->mem_rss = taskinfo.ptinfo.pti_resident_size;
|
p->mem_rss = taskinfo.ptinfo.pti_resident_size;
|
||||||
p->priority = taskinfo.ptinfo.pti_priority;
|
p->priority = taskinfo.ptinfo.pti_priority;
|
||||||
p->nice = taskinfo.pbsd.pbi_nice;
|
p->nice = taskinfo.pbsd.pbi_nice;
|
||||||
|
@ -523,7 +549,7 @@ proc_info_by_pid(int pid)
|
||||||
p->cpu_time = taskinfo.ptinfo.pti_total_user + taskinfo.ptinfo.pti_total_system;
|
p->cpu_time = taskinfo.ptinfo.pti_total_user + taskinfo.ptinfo.pti_total_system;
|
||||||
p->cpu_time /= 10000000;
|
p->cpu_time /= 10000000;
|
||||||
p->state = _process_state_name(taskinfo.pbsd.pbi_status);
|
p->state = _process_state_name(taskinfo.pbsd.pbi_status);
|
||||||
p->mem_size = taskinfo.ptinfo.pti_virtual_size;
|
p->mem_virt = taskinfo.ptinfo.pti_virtual_size;
|
||||||
p->mem_rss = taskinfo.ptinfo.pti_resident_size;
|
p->mem_rss = taskinfo.ptinfo.pti_resident_size;
|
||||||
p->priority = taskinfo.ptinfo.pti_priority;
|
p->priority = taskinfo.ptinfo.pti_priority;
|
||||||
p->nice = taskinfo.pbsd.pbi_nice;
|
p->nice = taskinfo.pbsd.pbi_nice;
|
||||||
|
@ -581,7 +607,7 @@ _process_list_freebsd_fallback_get(void)
|
||||||
p->cpu_time = (usage->ru_utime.tv_sec * 1000000) + usage->ru_utime.tv_usec + (usage->ru_stime.tv_sec * 1000000) + usage->ru_stime.tv_usec;
|
p->cpu_time = (usage->ru_utime.tv_sec * 1000000) + usage->ru_utime.tv_usec + (usage->ru_stime.tv_sec * 1000000) + usage->ru_stime.tv_usec;
|
||||||
p->cpu_time /= 10000;
|
p->cpu_time /= 10000;
|
||||||
p->state = _process_state_name(kp.ki_stat);
|
p->state = _process_state_name(kp.ki_stat);
|
||||||
p->mem_size = kp.ki_size;
|
p->mem_virt = kp.ki_size;
|
||||||
p->mem_rss = kp.ki_rssize * pagesize;
|
p->mem_rss = kp.ki_rssize * pagesize;
|
||||||
p->mem_cached = (kp.ki_tsize + kp.ki_dsize + kp.ki_ssize) * pagesize;
|
p->mem_cached = (kp.ki_tsize + kp.ki_dsize + kp.ki_ssize) * pagesize;
|
||||||
p->nice = kp.ki_nice - NZERO;
|
p->nice = kp.ki_nice - NZERO;
|
||||||
|
@ -670,7 +696,7 @@ _process_list_freebsd_get(void)
|
||||||
p->cpu_time = (usage->ru_utime.tv_sec * 1000000) + usage->ru_utime.tv_usec + (usage->ru_stime.tv_sec * 1000000) + usage->ru_stime.tv_usec;
|
p->cpu_time = (usage->ru_utime.tv_sec * 1000000) + usage->ru_utime.tv_usec + (usage->ru_stime.tv_sec * 1000000) + usage->ru_stime.tv_usec;
|
||||||
p->cpu_time /= 10000;
|
p->cpu_time /= 10000;
|
||||||
p->state = _process_state_name(kp->ki_stat);
|
p->state = _process_state_name(kp->ki_stat);
|
||||||
p->mem_size = kp->ki_size;
|
p->mem_virt = kp->ki_size;
|
||||||
p->mem_rss = kp->ki_rssize * pagesize;
|
p->mem_rss = kp->ki_rssize * pagesize;
|
||||||
p->mem_cached = (kp->ki_tsize + kp->ki_dsize + kp->ki_ssize) * pagesize;
|
p->mem_cached = (kp->ki_tsize + kp->ki_dsize + kp->ki_ssize) * pagesize;
|
||||||
p->nice = kp->ki_nice - NZERO;
|
p->nice = kp->ki_nice - NZERO;
|
||||||
|
@ -763,7 +789,7 @@ proc_info_by_pid(int pid)
|
||||||
p->cpu_time = (usage->ru_utime.tv_sec * 1000000) + usage->ru_utime.tv_usec + (usage->ru_stime.tv_sec * 1000000) + usage->ru_stime.tv_usec;
|
p->cpu_time = (usage->ru_utime.tv_sec * 1000000) + usage->ru_utime.tv_usec + (usage->ru_stime.tv_sec * 1000000) + usage->ru_stime.tv_usec;
|
||||||
p->cpu_time /= 10000;
|
p->cpu_time /= 10000;
|
||||||
p->state = _process_state_name(kp.ki_stat);
|
p->state = _process_state_name(kp.ki_stat);
|
||||||
p->mem_size = kp.ki_size;
|
p->mem_virt = kp.ki_size;
|
||||||
p->mem_rss = kp.ki_rssize * pagesize;
|
p->mem_rss = kp.ki_rssize * pagesize;
|
||||||
p->mem_cached = (kp.ki_tsize + kp.ki_dsize + kp.ki_ssize) * pagesize;
|
p->mem_cached = (kp.ki_tsize + kp.ki_dsize + kp.ki_ssize) * pagesize;
|
||||||
p->nice = kp.ki_nice - NZERO;
|
p->nice = kp.ki_nice - NZERO;
|
||||||
|
|
|
@ -34,9 +34,9 @@ typedef struct _Proc_Info
|
||||||
int8_t priority;
|
int8_t priority;
|
||||||
int cpu_id;
|
int cpu_id;
|
||||||
int32_t numthreads;
|
int32_t numthreads;
|
||||||
int64_t mem_size;
|
int64_t mem_virt;
|
||||||
int64_t mem_rss;
|
int64_t mem_rss;
|
||||||
int64_t mem_cached;
|
int64_t mem_shared;
|
||||||
double cpu_usage;
|
double cpu_usage;
|
||||||
char *command;
|
char *command;
|
||||||
char *arguments;
|
char *arguments;
|
||||||
|
|
86
src/bin/ui.c
86
src/bin/ui.c
|
@ -581,8 +581,8 @@ _sort_by_size(const void *p1, const void *p2)
|
||||||
|
|
||||||
inf1 = p1; inf2 = p2;
|
inf1 = p1; inf2 = p2;
|
||||||
|
|
||||||
size1 = inf1->mem_size;
|
size1 = inf1->mem_virt;
|
||||||
size2 = inf2->mem_size;
|
size2 = inf2->mem_virt;
|
||||||
|
|
||||||
if (size1 < size2)
|
if (size1 < size2)
|
||||||
return -1;
|
return -1;
|
||||||
|
@ -980,10 +980,9 @@ _content_get(void *data, Evas_Object *obj, const char *source)
|
||||||
r = evas_object_data_get(l, "rect");
|
r = evas_object_data_get(l, "rect");
|
||||||
evas_object_size_hint_min_set(r, w, 1);
|
evas_object_size_hint_min_set(r, w, 1);
|
||||||
|
|
||||||
// printf("size %lu and %lu \n", _mem_adjust(ui->data_unit, proc->mem_size >> 10), _mem_adjust(ui->data_unit, proc->mem_cached >> 10));
|
|
||||||
evas_object_geometry_get(ui->btn_size, NULL, NULL, &w, NULL);
|
evas_object_geometry_get(ui->btn_size, NULL, NULL, &w, NULL);
|
||||||
l = evas_object_data_get(it->obj, "proc_size");
|
l = evas_object_data_get(it->obj, "proc_size");
|
||||||
elm_object_text_set(l, eina_slstr_printf("%lu %c ", _mem_adjust(ui->data_unit, proc->mem_size >> 10), ui->data_unit));
|
elm_object_text_set(l, eina_slstr_printf("%lu %c ", _mem_adjust(ui->data_unit, proc->mem_shared >> 10), ui->data_unit));
|
||||||
evas_object_geometry_get(l, NULL, NULL, &ow, NULL);
|
evas_object_geometry_get(l, NULL, NULL, &ow, NULL);
|
||||||
if (ow > w) evas_object_size_hint_min_set(ui->btn_size, w, 1);
|
if (ow > w) evas_object_size_hint_min_set(ui->btn_size, w, 1);
|
||||||
r = evas_object_data_get(l, "rect");
|
r = evas_object_data_get(l, "rect");
|
||||||
|
@ -1400,13 +1399,16 @@ _process_panel_update(void *data)
|
||||||
|
|
||||||
if (proc->arguments)
|
if (proc->arguments)
|
||||||
elm_object_text_set(ui->entry_pid_cmd_args, proc->arguments);
|
elm_object_text_set(ui->entry_pid_cmd_args, proc->arguments);
|
||||||
|
else
|
||||||
|
elm_object_text_set(ui->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_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_uid, eina_slstr_printf("%d", proc->uid));
|
||||||
elm_object_text_set(ui->entry_pid_cpu, eina_slstr_printf("%d", proc->cpu_id));
|
elm_object_text_set(ui->entry_pid_cpu, eina_slstr_printf("%d", proc->cpu_id));
|
||||||
elm_object_text_set(ui->entry_pid_threads, eina_slstr_printf("%d", proc->numthreads));
|
elm_object_text_set(ui->entry_pid_threads, eina_slstr_printf("%d", proc->numthreads));
|
||||||
elm_object_text_set(ui->entry_pid_size, eina_slstr_printf("%lld bytes", proc->mem_size));
|
elm_object_text_set(ui->entry_pid_virt, eina_slstr_printf("%lld bytes", proc->mem_virt));
|
||||||
elm_object_text_set(ui->entry_pid_rss, eina_slstr_printf("%lld bytes", proc->mem_rss));
|
elm_object_text_set(ui->entry_pid_rss, eina_slstr_printf("%lld bytes", proc->mem_rss));
|
||||||
|
elm_object_text_set(ui->entry_pid_shared, eina_slstr_printf("%lld bytes", proc->mem_shared));
|
||||||
elm_object_text_set(ui->entry_pid_nice, eina_slstr_printf("%d", proc->nice));
|
elm_object_text_set(ui->entry_pid_nice, eina_slstr_printf("%d", proc->nice));
|
||||||
elm_object_text_set(ui->entry_pid_pri, eina_slstr_printf("%d", proc->priority));
|
elm_object_text_set(ui->entry_pid_pri, eina_slstr_printf("%d", proc->priority));
|
||||||
elm_object_text_set(ui->entry_pid_state, proc->state);
|
elm_object_text_set(ui->entry_pid_state, proc->state);
|
||||||
|
@ -1859,6 +1861,7 @@ _ui_process_panel_add(Ui *ui)
|
||||||
{
|
{
|
||||||
Evas_Object *parent, *panel, *hbox, *frame, *scroller, *table;
|
Evas_Object *parent, *panel, *hbox, *frame, *scroller, *table;
|
||||||
Evas_Object *label, *list, *entry, *button, *border;
|
Evas_Object *label, *list, *entry, *button, *border;
|
||||||
|
int i = 0;
|
||||||
|
|
||||||
parent = ui->content;
|
parent = ui->content;
|
||||||
|
|
||||||
|
@ -1918,7 +1921,7 @@ _ui_process_panel_add(Ui *ui)
|
||||||
label = elm_label_add(parent);
|
label = elm_label_add(parent);
|
||||||
elm_object_text_set(label, "Command:");
|
elm_object_text_set(label, "Command:");
|
||||||
evas_object_show(label);
|
evas_object_show(label);
|
||||||
elm_table_pack(table, label, 0, 0, 1, 1);
|
elm_table_pack(table, label, 0, i, 1, 1);
|
||||||
|
|
||||||
ui->entry_pid_cmd = entry = elm_entry_add(parent);
|
ui->entry_pid_cmd = entry = elm_entry_add(parent);
|
||||||
evas_object_size_hint_weight_set(entry, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
evas_object_size_hint_weight_set(entry, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
||||||
|
@ -1928,13 +1931,13 @@ _ui_process_panel_add(Ui *ui)
|
||||||
elm_entry_editable_set(entry, EINA_FALSE);
|
elm_entry_editable_set(entry, EINA_FALSE);
|
||||||
evas_object_show(entry);
|
evas_object_show(entry);
|
||||||
elm_entry_line_wrap_set(entry, ELM_WRAP_NONE);
|
elm_entry_line_wrap_set(entry, ELM_WRAP_NONE);
|
||||||
elm_table_pack(table, entry, 1, 0, 1, 1);
|
elm_table_pack(table, entry, 1, i++, 1, 1);
|
||||||
|
|
||||||
|
|
||||||
label = elm_label_add(parent);
|
label = elm_label_add(parent);
|
||||||
elm_object_text_set(label, "Command line:");
|
elm_object_text_set(label, "Command line:");
|
||||||
evas_object_show(label);
|
evas_object_show(label);
|
||||||
elm_table_pack(table, label, 0, 1, 1, 1);
|
elm_table_pack(table, label, 0, i, 1, 1);
|
||||||
|
|
||||||
ui->entry_pid_cmd_args = entry = elm_entry_add(parent);
|
ui->entry_pid_cmd_args = entry = elm_entry_add(parent);
|
||||||
evas_object_size_hint_weight_set(entry, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
evas_object_size_hint_weight_set(entry, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
||||||
|
@ -1944,13 +1947,13 @@ _ui_process_panel_add(Ui *ui)
|
||||||
elm_entry_editable_set(entry, EINA_FALSE);
|
elm_entry_editable_set(entry, EINA_FALSE);
|
||||||
evas_object_show(entry);
|
evas_object_show(entry);
|
||||||
elm_entry_line_wrap_set(entry, ELM_WRAP_NONE);
|
elm_entry_line_wrap_set(entry, ELM_WRAP_NONE);
|
||||||
elm_table_pack(table, entry, 1, 1, 1, 1);
|
elm_table_pack(table, entry, 1, i++, 1, 1);
|
||||||
|
|
||||||
|
|
||||||
label = elm_label_add(parent);
|
label = elm_label_add(parent);
|
||||||
elm_object_text_set(label, "PID:");
|
elm_object_text_set(label, "PID:");
|
||||||
evas_object_show(label);
|
evas_object_show(label);
|
||||||
elm_table_pack(table, label, 0, 2, 1, 1);
|
elm_table_pack(table, label, 0, i, 1, 1);
|
||||||
|
|
||||||
ui->entry_pid_pid = entry = elm_entry_add(parent);
|
ui->entry_pid_pid = entry = elm_entry_add(parent);
|
||||||
evas_object_size_hint_weight_set(entry, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
evas_object_size_hint_weight_set(entry, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
||||||
|
@ -1960,12 +1963,12 @@ _ui_process_panel_add(Ui *ui)
|
||||||
elm_entry_editable_set(entry, EINA_FALSE);
|
elm_entry_editable_set(entry, EINA_FALSE);
|
||||||
evas_object_show(entry);
|
evas_object_show(entry);
|
||||||
elm_entry_line_wrap_set(entry, ELM_WRAP_NONE);
|
elm_entry_line_wrap_set(entry, ELM_WRAP_NONE);
|
||||||
elm_table_pack(table, entry, 1, 2, 1, 1);
|
elm_table_pack(table, entry, 1, i++, 1, 1);
|
||||||
|
|
||||||
label = elm_label_add(parent);
|
label = elm_label_add(parent);
|
||||||
elm_object_text_set(label, "Username:");
|
elm_object_text_set(label, "Username:");
|
||||||
evas_object_show(label);
|
evas_object_show(label);
|
||||||
elm_table_pack(table, label, 0, 3, 1, 1);
|
elm_table_pack(table, label, 0, i, 1, 1);
|
||||||
|
|
||||||
ui->entry_pid_user = entry = elm_entry_add(parent);
|
ui->entry_pid_user = entry = elm_entry_add(parent);
|
||||||
evas_object_size_hint_weight_set(entry, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
evas_object_size_hint_weight_set(entry, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
||||||
|
@ -1975,12 +1978,12 @@ _ui_process_panel_add(Ui *ui)
|
||||||
elm_entry_editable_set(entry, EINA_FALSE);
|
elm_entry_editable_set(entry, EINA_FALSE);
|
||||||
evas_object_show(entry);
|
evas_object_show(entry);
|
||||||
elm_entry_line_wrap_set(entry, ELM_WRAP_NONE);
|
elm_entry_line_wrap_set(entry, ELM_WRAP_NONE);
|
||||||
elm_table_pack(table, entry, 1, 3, 1, 1);
|
elm_table_pack(table, entry, 1, i++, 1, 1);
|
||||||
|
|
||||||
label = elm_label_add(parent);
|
label = elm_label_add(parent);
|
||||||
elm_object_text_set(label, "UID:");
|
elm_object_text_set(label, "UID:");
|
||||||
evas_object_show(label);
|
evas_object_show(label);
|
||||||
elm_table_pack(table, label, 0, 4, 1, 1);
|
elm_table_pack(table, label, 0, i, 1, 1);
|
||||||
|
|
||||||
ui->entry_pid_uid = entry = elm_entry_add(parent);
|
ui->entry_pid_uid = entry = elm_entry_add(parent);
|
||||||
evas_object_size_hint_weight_set(entry, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
evas_object_size_hint_weight_set(entry, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
||||||
|
@ -1990,7 +1993,7 @@ _ui_process_panel_add(Ui *ui)
|
||||||
elm_entry_editable_set(entry, EINA_FALSE);
|
elm_entry_editable_set(entry, EINA_FALSE);
|
||||||
evas_object_show(entry);
|
evas_object_show(entry);
|
||||||
elm_entry_line_wrap_set(entry, ELM_WRAP_NONE);
|
elm_entry_line_wrap_set(entry, ELM_WRAP_NONE);
|
||||||
elm_table_pack(table, entry, 1, 4, 1, 1);
|
elm_table_pack(table, entry, 1, i++, 1, 1);
|
||||||
|
|
||||||
label = elm_label_add(parent);
|
label = elm_label_add(parent);
|
||||||
#if defined(__MacOS__)
|
#if defined(__MacOS__)
|
||||||
|
@ -1999,7 +2002,7 @@ _ui_process_panel_add(Ui *ui)
|
||||||
elm_object_text_set(label, "CPU #:");
|
elm_object_text_set(label, "CPU #:");
|
||||||
#endif
|
#endif
|
||||||
evas_object_show(label);
|
evas_object_show(label);
|
||||||
elm_table_pack(table, label, 0, 5, 1, 1);
|
elm_table_pack(table, label, 0, i, 1, 1);
|
||||||
|
|
||||||
ui->entry_pid_cpu = entry = elm_entry_add(parent);
|
ui->entry_pid_cpu = entry = elm_entry_add(parent);
|
||||||
evas_object_size_hint_weight_set(entry, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
evas_object_size_hint_weight_set(entry, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
||||||
|
@ -2009,12 +2012,12 @@ _ui_process_panel_add(Ui *ui)
|
||||||
elm_entry_editable_set(entry, EINA_FALSE);
|
elm_entry_editable_set(entry, EINA_FALSE);
|
||||||
evas_object_show(entry);
|
evas_object_show(entry);
|
||||||
elm_entry_line_wrap_set(entry, ELM_WRAP_NONE);
|
elm_entry_line_wrap_set(entry, ELM_WRAP_NONE);
|
||||||
elm_table_pack(table, entry, 1, 5, 1, 1);
|
elm_table_pack(table, entry, 1, i++, 1, 1);
|
||||||
|
|
||||||
label = elm_label_add(parent);
|
label = elm_label_add(parent);
|
||||||
elm_object_text_set(label, "Threads:");
|
elm_object_text_set(label, "Threads:");
|
||||||
evas_object_show(label);
|
evas_object_show(label);
|
||||||
elm_table_pack(table, label, 0, 6, 1, 1);
|
elm_table_pack(table, label, 0, i, 1, 1);
|
||||||
|
|
||||||
ui->entry_pid_threads = entry = elm_entry_add(parent);
|
ui->entry_pid_threads = entry = elm_entry_add(parent);
|
||||||
evas_object_size_hint_weight_set(entry, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
evas_object_size_hint_weight_set(entry, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
||||||
|
@ -2024,14 +2027,14 @@ _ui_process_panel_add(Ui *ui)
|
||||||
elm_entry_editable_set(entry, EINA_FALSE);
|
elm_entry_editable_set(entry, EINA_FALSE);
|
||||||
evas_object_show(entry);
|
evas_object_show(entry);
|
||||||
elm_entry_line_wrap_set(entry, ELM_WRAP_NONE);
|
elm_entry_line_wrap_set(entry, ELM_WRAP_NONE);
|
||||||
elm_table_pack(table, entry, 1, 6, 1, 1);
|
elm_table_pack(table, entry, 1, i++, 1, 1);
|
||||||
|
|
||||||
label = elm_label_add(parent);
|
label = elm_label_add(parent);
|
||||||
elm_object_text_set(label, "Total memory:");
|
elm_object_text_set(label, " Shared memory:");
|
||||||
evas_object_show(label);
|
evas_object_show(label);
|
||||||
elm_table_pack(table, label, 0, 7, 1, 1);
|
elm_table_pack(table, label, 0, i, 1, 1);
|
||||||
|
|
||||||
ui->entry_pid_size = entry = elm_entry_add(parent);
|
ui->entry_pid_shared = entry = elm_entry_add(parent);
|
||||||
evas_object_size_hint_weight_set(entry, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
evas_object_size_hint_weight_set(entry, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
||||||
evas_object_size_hint_align_set(entry, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
evas_object_size_hint_align_set(entry, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
||||||
elm_entry_single_line_set(entry, EINA_TRUE);
|
elm_entry_single_line_set(entry, EINA_TRUE);
|
||||||
|
@ -2039,12 +2042,12 @@ _ui_process_panel_add(Ui *ui)
|
||||||
elm_entry_editable_set(entry, EINA_FALSE);
|
elm_entry_editable_set(entry, EINA_FALSE);
|
||||||
evas_object_show(entry);
|
evas_object_show(entry);
|
||||||
elm_entry_line_wrap_set(entry, ELM_WRAP_NONE);
|
elm_entry_line_wrap_set(entry, ELM_WRAP_NONE);
|
||||||
elm_table_pack(table, entry, 1, 7, 1, 1);
|
elm_table_pack(table, entry, 1, i++, 1, 1);
|
||||||
|
|
||||||
label = elm_label_add(parent);
|
label = elm_label_add(parent);
|
||||||
elm_object_text_set(label, " Reserved memory:");
|
elm_object_text_set(label, " Reserved memory:");
|
||||||
evas_object_show(label);
|
evas_object_show(label);
|
||||||
elm_table_pack(table, label, 0, 8, 1, 1);
|
elm_table_pack(table, label, 0, i, 1, 1);
|
||||||
|
|
||||||
ui->entry_pid_rss = entry = elm_entry_add(parent);
|
ui->entry_pid_rss = entry = elm_entry_add(parent);
|
||||||
evas_object_size_hint_weight_set(entry, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
evas_object_size_hint_weight_set(entry, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
||||||
|
@ -2054,12 +2057,27 @@ _ui_process_panel_add(Ui *ui)
|
||||||
elm_entry_editable_set(entry, EINA_FALSE);
|
elm_entry_editable_set(entry, EINA_FALSE);
|
||||||
evas_object_show(entry);
|
evas_object_show(entry);
|
||||||
elm_entry_line_wrap_set(entry, ELM_WRAP_NONE);
|
elm_entry_line_wrap_set(entry, ELM_WRAP_NONE);
|
||||||
elm_table_pack(table, entry, 1, 8, 1, 1);
|
elm_table_pack(table, entry, 1, i++, 1, 1);
|
||||||
|
|
||||||
|
label = elm_label_add(parent);
|
||||||
|
elm_object_text_set(label, "Virtual memory:");
|
||||||
|
evas_object_show(label);
|
||||||
|
elm_table_pack(table, label, 0, i, 1, 1);
|
||||||
|
|
||||||
|
ui->entry_pid_virt = entry = elm_entry_add(parent);
|
||||||
|
evas_object_size_hint_weight_set(entry, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
||||||
|
evas_object_size_hint_align_set(entry, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
||||||
|
elm_entry_single_line_set(entry, EINA_TRUE);
|
||||||
|
elm_entry_scrollable_set(entry, EINA_TRUE);
|
||||||
|
elm_entry_editable_set(entry, EINA_FALSE);
|
||||||
|
evas_object_show(entry);
|
||||||
|
elm_entry_line_wrap_set(entry, ELM_WRAP_NONE);
|
||||||
|
elm_table_pack(table, entry, 1, i++, 1, 1);
|
||||||
|
|
||||||
label = elm_label_add(parent);
|
label = elm_label_add(parent);
|
||||||
elm_object_text_set(label, "Nice:");
|
elm_object_text_set(label, "Nice:");
|
||||||
evas_object_show(label);
|
evas_object_show(label);
|
||||||
elm_table_pack(table, label, 0, 9, 1, 1);
|
elm_table_pack(table, label, 0, i, 1, 1);
|
||||||
|
|
||||||
ui->entry_pid_nice = entry = elm_entry_add(parent);
|
ui->entry_pid_nice = entry = elm_entry_add(parent);
|
||||||
evas_object_size_hint_weight_set(entry, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
evas_object_size_hint_weight_set(entry, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
||||||
|
@ -2069,12 +2087,12 @@ _ui_process_panel_add(Ui *ui)
|
||||||
elm_entry_editable_set(entry, EINA_FALSE);
|
elm_entry_editable_set(entry, EINA_FALSE);
|
||||||
evas_object_show(entry);
|
evas_object_show(entry);
|
||||||
elm_entry_line_wrap_set(entry, ELM_WRAP_NONE);
|
elm_entry_line_wrap_set(entry, ELM_WRAP_NONE);
|
||||||
elm_table_pack(table, entry, 1, 9, 1, 1);
|
elm_table_pack(table, entry, 1, i++, 1, 1);
|
||||||
|
|
||||||
label = elm_label_add(parent);
|
label = elm_label_add(parent);
|
||||||
elm_object_text_set(label, "Priority:");
|
elm_object_text_set(label, "Priority:");
|
||||||
evas_object_show(label);
|
evas_object_show(label);
|
||||||
elm_table_pack(table, label, 0, 10, 1, 1);
|
elm_table_pack(table, label, 0, i, 1, 1);
|
||||||
|
|
||||||
ui->entry_pid_pri = entry = elm_entry_add(parent);
|
ui->entry_pid_pri = entry = elm_entry_add(parent);
|
||||||
evas_object_size_hint_weight_set(entry, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
evas_object_size_hint_weight_set(entry, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
||||||
|
@ -2084,12 +2102,12 @@ _ui_process_panel_add(Ui *ui)
|
||||||
elm_entry_editable_set(entry, EINA_FALSE);
|
elm_entry_editable_set(entry, EINA_FALSE);
|
||||||
evas_object_show(entry);
|
evas_object_show(entry);
|
||||||
elm_entry_line_wrap_set(entry, ELM_WRAP_NONE);
|
elm_entry_line_wrap_set(entry, ELM_WRAP_NONE);
|
||||||
elm_table_pack(table, entry, 1, 10, 1, 1);
|
elm_table_pack(table, entry, 1, i++, 1, 1);
|
||||||
|
|
||||||
label = elm_label_add(parent);
|
label = elm_label_add(parent);
|
||||||
elm_object_text_set(label, "State:");
|
elm_object_text_set(label, "State:");
|
||||||
evas_object_show(label);
|
evas_object_show(label);
|
||||||
elm_table_pack(table, label, 0, 11, 1, 1);
|
elm_table_pack(table, label, 0, i, 1, 1);
|
||||||
|
|
||||||
ui->entry_pid_state = entry = elm_entry_add(parent);
|
ui->entry_pid_state = entry = elm_entry_add(parent);
|
||||||
evas_object_size_hint_weight_set(entry, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
evas_object_size_hint_weight_set(entry, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
||||||
|
@ -2099,12 +2117,12 @@ _ui_process_panel_add(Ui *ui)
|
||||||
elm_entry_editable_set(entry, EINA_FALSE);
|
elm_entry_editable_set(entry, EINA_FALSE);
|
||||||
evas_object_show(entry);
|
evas_object_show(entry);
|
||||||
elm_entry_line_wrap_set(entry, ELM_WRAP_NONE);
|
elm_entry_line_wrap_set(entry, ELM_WRAP_NONE);
|
||||||
elm_table_pack(table, entry, 1, 11, 1, 1);
|
elm_table_pack(table, entry, 1, i++, 1, 1);
|
||||||
|
|
||||||
label = elm_label_add(parent);
|
label = elm_label_add(parent);
|
||||||
elm_object_text_set(label, "CPU %:");
|
elm_object_text_set(label, "CPU %:");
|
||||||
evas_object_show(label);
|
evas_object_show(label);
|
||||||
elm_table_pack(table, label, 0, 12, 1, 1);
|
elm_table_pack(table, label, 0, i, 1, 1);
|
||||||
|
|
||||||
ui->entry_pid_cpu_usage = entry = elm_entry_add(parent);
|
ui->entry_pid_cpu_usage = entry = elm_entry_add(parent);
|
||||||
evas_object_size_hint_weight_set(entry, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
evas_object_size_hint_weight_set(entry, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
||||||
|
@ -2114,14 +2132,14 @@ _ui_process_panel_add(Ui *ui)
|
||||||
elm_entry_editable_set(entry, EINA_FALSE);
|
elm_entry_editable_set(entry, EINA_FALSE);
|
||||||
evas_object_show(entry);
|
evas_object_show(entry);
|
||||||
elm_entry_line_wrap_set(entry, ELM_WRAP_NONE);
|
elm_entry_line_wrap_set(entry, ELM_WRAP_NONE);
|
||||||
elm_table_pack(table, entry, 1, 12, 1, 1);
|
elm_table_pack(table, entry, 1, i++, 1, 1);
|
||||||
|
|
||||||
hbox = elm_box_add(parent);
|
hbox = elm_box_add(parent);
|
||||||
evas_object_size_hint_weight_set(hbox, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
evas_object_size_hint_weight_set(hbox, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
||||||
evas_object_size_hint_align_set(hbox, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
evas_object_size_hint_align_set(hbox, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
||||||
elm_box_horizontal_set(hbox, EINA_TRUE);
|
elm_box_horizontal_set(hbox, EINA_TRUE);
|
||||||
evas_object_show(hbox);
|
evas_object_show(hbox);
|
||||||
elm_table_pack(table, hbox, 1, 13, 1, 1);
|
elm_table_pack(table, hbox, 1, i, 1, 1);
|
||||||
|
|
||||||
border = elm_frame_add(parent);
|
border = elm_frame_add(parent);
|
||||||
evas_object_size_hint_weight_set(border, EVAS_HINT_EXPAND, 0);
|
evas_object_size_hint_weight_set(border, EVAS_HINT_EXPAND, 0);
|
||||||
|
|
|
@ -110,8 +110,9 @@ typedef struct Ui
|
||||||
Evas_Object *entry_pid_uid;
|
Evas_Object *entry_pid_uid;
|
||||||
Evas_Object *entry_pid_cpu;
|
Evas_Object *entry_pid_cpu;
|
||||||
Evas_Object *entry_pid_threads;
|
Evas_Object *entry_pid_threads;
|
||||||
Evas_Object *entry_pid_size;
|
Evas_Object *entry_pid_virt;
|
||||||
Evas_Object *entry_pid_rss;
|
Evas_Object *entry_pid_rss;
|
||||||
|
Evas_Object *entry_pid_shared;
|
||||||
Evas_Object *entry_pid_nice;
|
Evas_Object *entry_pid_nice;
|
||||||
Evas_Object *entry_pid_pri;
|
Evas_Object *entry_pid_pri;
|
||||||
Evas_Object *entry_pid_state;
|
Evas_Object *entry_pid_state;
|
||||||
|
|
Loading…
Reference in New Issue