Refactoring and fixing stuff.
This commit is contained in:
parent
f5a1292c39
commit
45b3dcfa87
|
@ -6,6 +6,10 @@ This is a process monitor and system monitor.
|
|||
|
||||
Currently have full engines for Linux, FreeBSD, OpenBSD and MacOS.
|
||||
|
||||
The plan is to rewrite the whole program to log system information
|
||||
over time to disk so we can do nice things with E and displaying
|
||||
system information (not duplicating loads of code).
|
||||
|
||||
REQUIREMENTS:
|
||||
|
||||
An installation of EFL (v1.19.0+). Remember to set your PKG_CONFIG_PATH environment
|
||||
|
|
|
@ -265,3 +265,4 @@ disks_get(void)
|
|||
return NULL;
|
||||
#endif
|
||||
}
|
||||
|
||||
|
|
|
@ -13,5 +13,4 @@ disk_mount_point_get(const char *path);
|
|||
Eina_List *
|
||||
disks_get(void);
|
||||
|
||||
|
||||
#endif
|
||||
|
|
13
src/system.c
13
src/system.c
|
@ -155,7 +155,11 @@ _sysctlfromname(const char *name, void *mib, int depth, size_t *len)
|
|||
static int
|
||||
cpu_count(void)
|
||||
{
|
||||
int cores = 0;
|
||||
static int cores = 0;
|
||||
|
||||
if (cores != 0)
|
||||
return cores;
|
||||
|
||||
#if defined(__linux__)
|
||||
char buf[4096];
|
||||
FILE *f;
|
||||
|
@ -1124,7 +1128,6 @@ system_power_state_get(power_t *power)
|
|||
_power_state_get(power);
|
||||
}
|
||||
|
||||
|
||||
bool
|
||||
system_network_transfer_get(unsigned long *incoming, unsigned long *outgoing)
|
||||
{
|
||||
|
@ -1176,13 +1179,14 @@ system_cpu_memory_get(double *percent_cpu, long *memory_total, long *memory_used
|
|||
return results.cpu_count;
|
||||
}
|
||||
|
||||
static void *_network_transfer_get_thread_cb(void *arg)
|
||||
static void *
|
||||
_network_transfer_get_thread_cb(void *arg)
|
||||
{
|
||||
results_t *results = arg;
|
||||
|
||||
_network_transfer_get(results);
|
||||
|
||||
return ((void *) 0);
|
||||
return (void *)0;
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -1214,4 +1218,3 @@ system_stats_all_get(results_t *results)
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
|
|
69
src/ui.c
69
src/ui.c
|
@ -251,9 +251,11 @@ _data_unit_symbol_get(Data_Unit unit)
|
|||
case DATA_UNIT_KB:
|
||||
symbol = "K";
|
||||
break;
|
||||
|
||||
case DATA_UNIT_MB:
|
||||
symbol = "M";
|
||||
break;
|
||||
|
||||
case DATA_UNIT_GB:
|
||||
symbol = "G";
|
||||
break;
|
||||
|
@ -265,13 +267,13 @@ _data_unit_symbol_get(Data_Unit unit)
|
|||
static void
|
||||
_fields_append(Ui *ui, Proc_Stats *proc)
|
||||
{
|
||||
const char *format;
|
||||
const char *symbol;
|
||||
int64_t mem_size, mem_rss;
|
||||
|
||||
if (ui->program_pid == proc->pid)
|
||||
return;
|
||||
|
||||
format = _data_unit_symbol_get(ui->data_unit);
|
||||
symbol = _data_unit_symbol_get(ui->data_unit);
|
||||
|
||||
mem_size = proc->mem_size;
|
||||
mem_rss = proc->mem_rss;
|
||||
|
@ -284,7 +286,7 @@ _fields_append(Ui *ui, Proc_Stats *proc)
|
|||
else if (ui->data_unit == DATA_UNIT_MB)
|
||||
{
|
||||
mem_size >>= 20;
|
||||
mem_rss >>= 10;
|
||||
mem_rss >>= 20;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -294,8 +296,8 @@ _fields_append(Ui *ui, Proc_Stats *proc)
|
|||
|
||||
eina_strlcat(ui->fields[PROCESS_INFO_FIELD_PID], eina_slstr_printf("<link>%d</link> <br>", proc->pid), TEXT_FIELD_MAX);
|
||||
eina_strlcat(ui->fields[PROCESS_INFO_FIELD_UID], eina_slstr_printf("%d <br>", proc->uid), TEXT_FIELD_MAX);
|
||||
eina_strlcat(ui->fields[PROCESS_INFO_FIELD_SIZE], eina_slstr_printf("%lld %c<br>", mem_size, *format), TEXT_FIELD_MAX);
|
||||
eina_strlcat(ui->fields[PROCESS_INFO_FIELD_RSS], eina_slstr_printf("%lld %c<br>", mem_rss, *format), TEXT_FIELD_MAX);
|
||||
eina_strlcat(ui->fields[PROCESS_INFO_FIELD_SIZE], eina_slstr_printf("%lld %c<br>", mem_size, *symbol), TEXT_FIELD_MAX);
|
||||
eina_strlcat(ui->fields[PROCESS_INFO_FIELD_RSS], eina_slstr_printf("%lld %c<br>", mem_rss, *symbol), TEXT_FIELD_MAX);
|
||||
eina_strlcat(ui->fields[PROCESS_INFO_FIELD_COMMAND], eina_slstr_printf("%s<br>", proc->command), TEXT_FIELD_MAX);
|
||||
eina_strlcat(ui->fields[PROCESS_INFO_FIELD_STATE], eina_slstr_printf("%s <br>", proc->state), TEXT_FIELD_MAX);
|
||||
eina_strlcat(ui->fields[PROCESS_INFO_FIELD_CPU_USAGE], eina_slstr_printf("%.1f%% <br>", proc->cpu_usage), TEXT_FIELD_MAX);
|
||||
|
@ -534,7 +536,6 @@ _btn_uid_clicked_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_info E
|
|||
elm_scroller_page_bring_in(ui->scroller, 0, 0);
|
||||
}
|
||||
|
||||
|
||||
static void
|
||||
_btn_cpu_usage_clicked_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
|
||||
{
|
||||
|
@ -628,18 +629,6 @@ _btn_quit_clicked_cb(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void
|
|||
ui_shutdown(ui);
|
||||
}
|
||||
|
||||
static void
|
||||
_btn_about_clicked_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
|
||||
{
|
||||
Ui *ui;
|
||||
Evas_Object *win;
|
||||
|
||||
ui = data;
|
||||
win = ui->win;
|
||||
|
||||
printf("(c) Copyright 2018. Alastair Poole <netstar@gmail.com>\n");
|
||||
}
|
||||
|
||||
static void
|
||||
_list_item_del_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
|
||||
{
|
||||
|
@ -878,14 +867,15 @@ _disk_adjust(Data_Unit unit, unsigned long value)
|
|||
{
|
||||
if (unit == DATA_UNIT_KB)
|
||||
{
|
||||
value <<= 10;
|
||||
value >>= 10;
|
||||
}
|
||||
else if (unit == DATA_UNIT_MB)
|
||||
{
|
||||
value >>= 20;
|
||||
}
|
||||
else if (unit == DATA_UNIT_GB)
|
||||
{
|
||||
value >>= 10;
|
||||
value >>= 30;
|
||||
}
|
||||
|
||||
return value;
|
||||
|
@ -895,7 +885,7 @@ static void
|
|||
_ui_disk_add(Ui *ui, const char *path, const char *mount, unsigned long total, unsigned long used)
|
||||
{
|
||||
Evas_Object *frame, *progress;
|
||||
const char *format;
|
||||
const char *symbol;
|
||||
double ratio, value;
|
||||
|
||||
frame = elm_frame_add(ui->disk_activity);
|
||||
|
@ -909,10 +899,13 @@ _ui_disk_add(Ui *ui, const char *path, const char *mount, unsigned long total, u
|
|||
evas_object_size_hint_weight_set(progress, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
||||
elm_progressbar_span_size_set(progress, 1.0);
|
||||
|
||||
format = _data_unit_symbol_get(ui->data_unit);
|
||||
symbol = _data_unit_symbol_get(ui->data_unit);
|
||||
|
||||
elm_progressbar_unit_format_set(progress,
|
||||
eina_slstr_printf("%lu%c of %lu%c", _disk_adjust(ui->data_unit, used), *format, _disk_adjust(ui->data_unit, total), *format));
|
||||
eina_slstr_printf(
|
||||
"%lu%c of %lu%c",
|
||||
_disk_adjust(ui->data_unit, used), *symbol,
|
||||
_disk_adjust(ui->data_unit, total), *symbol));
|
||||
|
||||
elm_object_content_set(frame, progress);
|
||||
|
||||
|
@ -949,7 +942,6 @@ _disk_view_update(Ui *ui)
|
|||
{
|
||||
if (disk_usage_get(mount, &total, &used))
|
||||
{
|
||||
total >>= 20; used >>= 20;
|
||||
_ui_disk_add(ui, path, mount, total, used);
|
||||
}
|
||||
free(mount);
|
||||
|
@ -1088,7 +1080,7 @@ static void
|
|||
_memory_view_update(Ui *ui, results_t *results)
|
||||
{
|
||||
Evas_Object *box, *frame, *progress;
|
||||
const char *format;
|
||||
const char *symbol;
|
||||
double ratio, value;
|
||||
|
||||
if (!ui->mem_visible)
|
||||
|
@ -1096,7 +1088,7 @@ _memory_view_update(Ui *ui, results_t *results)
|
|||
|
||||
elm_box_clear(ui->mem_activity);
|
||||
|
||||
format = _data_unit_symbol_get(ui->data_unit);
|
||||
symbol = _data_unit_symbol_get(ui->data_unit);
|
||||
|
||||
box = elm_box_add(ui->content);
|
||||
evas_object_size_hint_align_set(box, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
||||
|
@ -1113,7 +1105,11 @@ _memory_view_update(Ui *ui, results_t *results)
|
|||
evas_object_size_hint_weight_set(progress, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
||||
elm_progressbar_span_size_set(progress, 1.0);
|
||||
elm_progressbar_unit_format_set(progress,
|
||||
eina_slstr_printf("%lu %c / %lu %c", _mem_adjust(ui->data_unit, results->memory.used), *format, _mem_adjust(ui->data_unit, results->memory.total), *format));
|
||||
eina_slstr_printf(
|
||||
"%lu %c / %lu %c",
|
||||
_mem_adjust(ui->data_unit, results->memory.used), *symbol,
|
||||
_mem_adjust(ui->data_unit, results->memory.total), *symbol));
|
||||
|
||||
ratio = results->memory.total / 100.0;
|
||||
value = results->memory.used / ratio;
|
||||
elm_progressbar_value_set(progress, value / 100);
|
||||
|
@ -1130,8 +1126,11 @@ _memory_view_update(Ui *ui, results_t *results)
|
|||
evas_object_size_hint_align_set(progress, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
||||
evas_object_size_hint_weight_set(progress, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
||||
elm_progressbar_span_size_set(progress, 1.0);
|
||||
elm_progressbar_unit_format_set(progress,
|
||||
eina_slstr_printf("%lu %c / %lu %c", _mem_adjust(ui->data_unit, results->memory.cached), *format, _mem_adjust(ui->data_unit, results->memory.total), *format));
|
||||
elm_progressbar_unit_format_set(progress, eina_slstr_printf(
|
||||
"%lu %c / %lu %c",
|
||||
_mem_adjust(ui->data_unit, results->memory.cached), *symbol,
|
||||
_mem_adjust(ui->data_unit, results->memory.total), *symbol));
|
||||
|
||||
ratio = results->memory.total / 100.0;
|
||||
value = results->memory.cached / ratio;
|
||||
elm_progressbar_value_set(progress, value / 100);
|
||||
|
@ -1149,7 +1148,11 @@ _memory_view_update(Ui *ui, results_t *results)
|
|||
evas_object_size_hint_weight_set(progress, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
||||
elm_progressbar_span_size_set(progress, 1.0);
|
||||
elm_progressbar_unit_format_set(progress,
|
||||
eina_slstr_printf("%lu %c / %lu %c", _mem_adjust(ui->data_unit, results->memory.buffered), *format, _mem_adjust(ui->data_unit, results->memory.total), *format));
|
||||
eina_slstr_printf(
|
||||
"%lu %c / %lu %c",
|
||||
_mem_adjust(ui->data_unit, results->memory.buffered), *symbol,
|
||||
_mem_adjust(ui->data_unit, results->memory.total), *symbol));
|
||||
|
||||
ratio = results->memory.total / 100.0;
|
||||
value = results->memory.buffered / ratio;
|
||||
elm_progressbar_value_set(progress, value / 100);
|
||||
|
@ -1167,7 +1170,11 @@ _memory_view_update(Ui *ui, results_t *results)
|
|||
evas_object_size_hint_weight_set(progress, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
||||
elm_progressbar_span_size_set(progress, 1.0);
|
||||
elm_progressbar_unit_format_set(progress,
|
||||
eina_slstr_printf("%lu %c / %lu %c", _mem_adjust(ui->data_unit, results->memory.shared), *format, _mem_adjust(ui->data_unit, results->memory.total), *format));
|
||||
eina_slstr_printf(
|
||||
"%lu %c / %lu %c",
|
||||
_mem_adjust(ui->data_unit, results->memory.shared), *symbol,
|
||||
_mem_adjust(ui->data_unit, results->memory.total), *symbol));
|
||||
|
||||
ratio = results->memory.total / 100.0;
|
||||
value = results->memory.shared / ratio;
|
||||
elm_progressbar_value_set(progress, value / 100);
|
||||
|
|
Loading…
Reference in New Issue