2020-01-04 04:59:03 -08:00
|
|
|
#include "config.h"
|
2020-10-26 18:33:20 -07:00
|
|
|
#include "evisum_actions.h"
|
2020-11-09 06:28:55 -08:00
|
|
|
#include "evisum_config.h"
|
|
|
|
#include "evisum_server.h"
|
|
|
|
|
2020-12-01 04:45:51 -08:00
|
|
|
#include "system/filesystems.h"
|
|
|
|
|
2020-04-14 10:24:27 -07:00
|
|
|
#include "ui.h"
|
2020-05-12 16:51:30 -07:00
|
|
|
#include "ui/ui_cpu.h"
|
2020-10-05 08:11:26 -07:00
|
|
|
#include "ui/ui_memory.h"
|
|
|
|
#include "ui/ui_disk.h"
|
|
|
|
#include "ui/ui_sensors.h"
|
2020-05-17 08:33:27 -07:00
|
|
|
#include "ui/ui_process_view.h"
|
2020-11-09 05:40:00 -08:00
|
|
|
#include "ui/ui_process_list.h"
|
2020-05-12 16:51:30 -07:00
|
|
|
|
2020-04-20 11:42:35 -07:00
|
|
|
Evisum_Config *_evisum_config;
|
2020-11-10 19:20:14 -08:00
|
|
|
int EVISUM_EVENT_CONFIG_CHANGED;
|
2020-04-14 10:24:27 -07:00
|
|
|
|
2021-02-09 11:10:03 -08:00
|
|
|
static Evas_Object *_slider_alpha = NULL;
|
|
|
|
|
2020-11-09 05:40:00 -08:00
|
|
|
void
|
|
|
|
evisum_ui_config_save(Ui *ui)
|
2020-04-18 05:41:25 -07:00
|
|
|
{
|
2020-12-30 03:51:59 -08:00
|
|
|
Evas_Coord x, y, w, h;
|
2021-01-24 05:48:40 -08:00
|
|
|
Eina_Bool notify = 0;
|
2020-05-24 05:34:26 -07:00
|
|
|
|
2020-11-09 05:40:00 -08:00
|
|
|
if (!_evisum_config) return;
|
2020-05-24 05:34:26 -07:00
|
|
|
|
2020-12-17 03:12:15 -08:00
|
|
|
_evisum_config->effects = 0;
|
2020-11-09 05:40:00 -08:00
|
|
|
_evisum_config->backgrounds = evisum_ui_backgrounds_enabled_get();
|
2020-05-24 05:34:26 -07:00
|
|
|
|
2020-12-28 12:20:15 -08:00
|
|
|
if (ui->proc.win)
|
|
|
|
{
|
2021-01-20 00:49:00 -08:00
|
|
|
if ((_evisum_config->proc.poll_delay != ui->proc.poll_delay) ||
|
|
|
|
(_evisum_config->proc.show_kthreads != ui->proc.show_kthreads) ||
|
2021-01-20 09:12:59 -08:00
|
|
|
(_evisum_config->proc.show_user != ui->proc.show_user) ||
|
2021-02-09 11:10:03 -08:00
|
|
|
(_evisum_config->proc.show_scroller != ui->proc.show_scroller) ||
|
|
|
|
(_evisum_config->proc.transparant != ui->proc.transparant) ||
|
|
|
|
(_evisum_config->proc.alpha != ui->proc.alpha)
|
2021-01-22 01:46:55 -08:00
|
|
|
)
|
2020-12-28 12:20:15 -08:00
|
|
|
{
|
2021-01-24 05:48:40 -08:00
|
|
|
notify = 1;
|
2020-12-28 12:20:15 -08:00
|
|
|
}
|
|
|
|
|
2021-01-01 12:56:29 -08:00
|
|
|
_evisum_config->proc.width = ui->proc.width;
|
|
|
|
_evisum_config->proc.height = ui->proc.height;
|
|
|
|
_evisum_config->proc.x = ui->proc.x;
|
|
|
|
_evisum_config->proc.y = ui->proc.y;
|
2020-12-30 03:58:18 -08:00
|
|
|
_evisum_config->proc.restart = ui->proc.restart;
|
2020-12-28 12:20:15 -08:00
|
|
|
_evisum_config->proc.sort_type = ui->proc.sort_type;
|
|
|
|
_evisum_config->proc.sort_reverse = ui->proc.sort_reverse;
|
|
|
|
_evisum_config->proc.poll_delay = ui->proc.poll_delay;
|
|
|
|
_evisum_config->proc.show_kthreads = ui->proc.show_kthreads;
|
|
|
|
_evisum_config->proc.show_user = ui->proc.show_user;
|
2021-01-20 00:49:00 -08:00
|
|
|
_evisum_config->proc.show_scroller = ui->proc.show_scroller;
|
2021-02-09 11:10:03 -08:00
|
|
|
_evisum_config->proc.transparant = ui->proc.transparant;
|
|
|
|
_evisum_config->proc.alpha = ui->proc.alpha;
|
2021-02-24 03:32:21 -08:00
|
|
|
_evisum_config->proc.fields = ui->proc.fields;
|
2020-12-28 12:20:15 -08:00
|
|
|
proc_info_kthreads_show_set(ui->proc.show_kthreads);
|
|
|
|
}
|
2020-04-18 05:41:25 -07:00
|
|
|
|
2020-11-10 04:14:17 -08:00
|
|
|
if (ui->cpu.win)
|
|
|
|
{
|
2020-12-30 03:51:59 -08:00
|
|
|
evas_object_geometry_get(ui->cpu.win, &x, &y, &w, &h);
|
2020-11-10 04:14:17 -08:00
|
|
|
_evisum_config->cpu.width = ui->cpu.width = w;
|
|
|
|
_evisum_config->cpu.height = ui->cpu.height = h;
|
2020-12-30 03:51:59 -08:00
|
|
|
_evisum_config->cpu.x = x;
|
|
|
|
_evisum_config->cpu.y = y;
|
|
|
|
_evisum_config->cpu.restart = ui->cpu.restart;
|
2020-11-10 04:14:17 -08:00
|
|
|
}
|
|
|
|
|
2020-11-10 05:12:10 -08:00
|
|
|
if (ui->mem.win)
|
|
|
|
{
|
2020-12-30 03:51:59 -08:00
|
|
|
evas_object_geometry_get(ui->mem.win, &x, &y, &w, &h);
|
2020-11-10 05:12:10 -08:00
|
|
|
_evisum_config->mem.width = ui->mem.width = w;
|
|
|
|
_evisum_config->mem.height = ui->mem.height = h;
|
2020-12-30 03:51:59 -08:00
|
|
|
_evisum_config->mem.x = x;
|
|
|
|
_evisum_config->mem.y = y;
|
|
|
|
_evisum_config->mem.restart = ui->mem.restart;
|
2020-11-10 05:12:10 -08:00
|
|
|
}
|
|
|
|
|
|
|
|
if (ui->disk.win)
|
|
|
|
{
|
2020-12-30 03:51:59 -08:00
|
|
|
evas_object_geometry_get(ui->disk.win, &x, &y, &w, &h);
|
2020-11-10 05:12:10 -08:00
|
|
|
_evisum_config->disk.width = ui->disk.width = w;
|
|
|
|
_evisum_config->disk.height = ui->disk.height = h;
|
2020-12-30 03:51:59 -08:00
|
|
|
_evisum_config->disk.x = x;
|
|
|
|
_evisum_config->disk.y = y;
|
|
|
|
_evisum_config->disk.restart = ui->disk.restart;
|
2020-11-10 05:12:10 -08:00
|
|
|
}
|
|
|
|
|
|
|
|
if (ui->sensors.win)
|
|
|
|
{
|
2020-12-30 03:51:59 -08:00
|
|
|
evas_object_geometry_get(ui->sensors.win, &x, &y, &w, &h);
|
2020-11-10 05:12:10 -08:00
|
|
|
_evisum_config->sensors.width = ui->sensors.width = w;
|
|
|
|
_evisum_config->sensors.height = ui->sensors.height = h;
|
2020-12-30 03:51:59 -08:00
|
|
|
_evisum_config->sensors.x = x;
|
|
|
|
_evisum_config->sensors.y = y;
|
|
|
|
_evisum_config->sensors.restart = ui->sensors.restart;
|
2020-11-10 05:12:10 -08:00
|
|
|
}
|
|
|
|
|
2020-11-09 05:40:00 -08:00
|
|
|
config_save(_evisum_config);
|
2020-11-10 19:20:14 -08:00
|
|
|
|
|
|
|
if (notify)
|
|
|
|
ecore_event_add(EVISUM_EVENT_CONFIG_CHANGED, NULL, NULL, NULL);
|
2020-04-18 05:41:25 -07:00
|
|
|
}
|
|
|
|
|
2020-11-09 05:40:00 -08:00
|
|
|
void
|
|
|
|
evisum_ui_config_load(Ui *ui)
|
2020-04-18 05:41:25 -07:00
|
|
|
{
|
2020-11-09 06:28:55 -08:00
|
|
|
_evisum_config = NULL;
|
|
|
|
|
2020-11-10 05:12:10 -08:00
|
|
|
_evisum_config = config_load();
|
2020-04-18 05:41:25 -07:00
|
|
|
|
2021-01-01 12:56:29 -08:00
|
|
|
evisum_ui_backgrounds_enabled_set(_evisum_config->backgrounds);
|
|
|
|
|
2020-12-28 12:20:15 -08:00
|
|
|
ui->proc.sort_type = _evisum_config->proc.sort_type;
|
|
|
|
ui->proc.sort_reverse = _evisum_config->proc.sort_reverse;
|
|
|
|
ui->proc.poll_delay = _evisum_config->proc.poll_delay;
|
|
|
|
ui->proc.show_kthreads = _evisum_config->proc.show_kthreads;
|
2021-02-24 03:32:21 -08:00
|
|
|
ui->proc.fields = _evisum_config->proc.fields;
|
2020-12-28 12:20:15 -08:00
|
|
|
proc_info_kthreads_show_set(ui->proc.show_kthreads);
|
|
|
|
ui->proc.show_user = _evisum_config->proc.show_user;
|
2021-01-20 00:49:00 -08:00
|
|
|
ui->proc.show_scroller = _evisum_config->proc.show_scroller;
|
2021-02-09 11:10:03 -08:00
|
|
|
ui->proc.transparant = _evisum_config->proc.transparant;
|
|
|
|
ui->proc.alpha = _evisum_config->proc.alpha;
|
2020-12-28 12:20:15 -08:00
|
|
|
|
|
|
|
ui->proc.width = _evisum_config->proc.width;
|
|
|
|
ui->proc.height = _evisum_config->proc.height;
|
2020-12-30 03:51:59 -08:00
|
|
|
ui->proc.x = _evisum_config->proc.x;
|
|
|
|
ui->proc.y = _evisum_config->proc.y;
|
|
|
|
ui->proc.restart = _evisum_config->proc.restart;
|
2020-11-10 04:14:17 -08:00
|
|
|
|
|
|
|
ui->cpu.width = _evisum_config->cpu.width;
|
|
|
|
ui->cpu.height = _evisum_config->cpu.height;
|
2020-12-30 03:51:59 -08:00
|
|
|
ui->cpu.x = _evisum_config->cpu.x;
|
|
|
|
ui->cpu.y = _evisum_config->cpu.y;
|
|
|
|
ui->cpu.restart = _evisum_config->cpu.restart;
|
2020-11-10 05:12:10 -08:00
|
|
|
|
|
|
|
ui->mem.width = _evisum_config->mem.width;
|
|
|
|
ui->mem.height = _evisum_config->mem.height;
|
2020-12-30 03:51:59 -08:00
|
|
|
ui->mem.x = _evisum_config->mem.x;
|
|
|
|
ui->mem.y = _evisum_config->mem.y;
|
|
|
|
ui->mem.restart = _evisum_config->mem.restart;
|
2020-11-10 05:12:10 -08:00
|
|
|
|
|
|
|
ui->disk.width = _evisum_config->disk.width;
|
|
|
|
ui->disk.height = _evisum_config->disk.height;
|
2020-12-30 03:51:59 -08:00
|
|
|
ui->disk.x = _evisum_config->disk.x;
|
|
|
|
ui->disk.y = _evisum_config->disk.y;
|
|
|
|
ui->disk.restart = _evisum_config->disk.restart;
|
2020-11-10 05:12:10 -08:00
|
|
|
|
|
|
|
ui->sensors.width = _evisum_config->sensors.width;
|
|
|
|
ui->sensors.height = _evisum_config->sensors.height;
|
2020-12-30 03:51:59 -08:00
|
|
|
ui->sensors.x = _evisum_config->sensors.x;
|
|
|
|
ui->sensors.y = _evisum_config->sensors.y;
|
|
|
|
ui->sensors.restart = _evisum_config->sensors.restart;
|
2020-04-18 05:41:25 -07:00
|
|
|
}
|
|
|
|
|
2020-11-11 18:51:46 -08:00
|
|
|
void
|
2020-12-30 03:51:59 -08:00
|
|
|
evisum_ui_restart(Ui *ui)
|
2020-11-11 18:51:46 -08:00
|
|
|
{
|
2020-12-30 03:51:59 -08:00
|
|
|
if (ui->proc.win) ui->proc.restart = 1;
|
|
|
|
if (ui->cpu.win) ui->cpu.restart = 1;
|
|
|
|
if (ui->mem.win) ui->mem.restart = 1;
|
|
|
|
if (ui->disk.win) ui->disk.restart = 1;
|
|
|
|
if (ui->sensors.win) ui->sensors.restart = 1;
|
|
|
|
|
|
|
|
evisum_ui_config_save(ui);
|
2020-11-11 18:51:46 -08:00
|
|
|
evisum_server_shutdown();
|
|
|
|
ecore_app_restart();
|
|
|
|
ecore_main_loop_quit();
|
|
|
|
}
|
|
|
|
|
2020-09-02 08:10:08 -07:00
|
|
|
static void
|
|
|
|
_about_clicked_cb(void *data, Evas_Object *obj EINA_UNUSED,
|
|
|
|
void *event_info EINA_UNUSED)
|
|
|
|
{
|
|
|
|
Ui *ui = data;
|
|
|
|
|
|
|
|
evisum_about_window_show(ui);
|
|
|
|
}
|
|
|
|
|
|
|
|
static void
|
|
|
|
_menu_memory_activity_clicked_cb(void *data, Evas_Object *obj EINA_UNUSED,
|
|
|
|
void *event_info EINA_UNUSED)
|
|
|
|
{
|
|
|
|
Ui *ui = data;
|
|
|
|
|
2021-01-15 04:42:31 -08:00
|
|
|
ui_mem_win_add(ui);
|
2020-09-02 08:10:08 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
static void
|
|
|
|
_menu_disk_activity_clicked_cb(void *data, Evas_Object *obj EINA_UNUSED,
|
|
|
|
void *event_info EINA_UNUSED)
|
|
|
|
{
|
|
|
|
Ui *ui = data;
|
|
|
|
|
2021-01-15 04:42:31 -08:00
|
|
|
ui_disk_win_add(ui);
|
2020-09-02 08:10:08 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
static void
|
2020-10-05 08:11:26 -07:00
|
|
|
_menu_sensors_activity_clicked_cb(void *data, Evas_Object *obj EINA_UNUSED,
|
2020-09-02 08:10:08 -07:00
|
|
|
void *event_info EINA_UNUSED)
|
|
|
|
{
|
|
|
|
Ui *ui = data;
|
|
|
|
|
2021-01-15 04:42:31 -08:00
|
|
|
ui_sensors_win_add(ui);
|
2020-09-02 08:10:08 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
static void
|
|
|
|
_menu_cpu_activity_clicked_cb(void *data, Evas_Object *obj EINA_UNUSED,
|
|
|
|
void *event_info EINA_UNUSED)
|
|
|
|
{
|
|
|
|
Ui *ui = data;
|
|
|
|
|
2021-01-15 04:42:31 -08:00
|
|
|
ui_cpu_win_add(ui);
|
2020-09-02 08:10:08 -07:00
|
|
|
}
|
|
|
|
|
2021-01-02 01:49:12 -08:00
|
|
|
static void
|
|
|
|
_menu_process_view_clicked_cb(void *data, Evas_Object *obj EINA_UNUSED,
|
|
|
|
void *event_info EINA_UNUSED)
|
|
|
|
{
|
|
|
|
Ui *ui = data;
|
|
|
|
|
2021-01-02 16:58:08 -08:00
|
|
|
ui_process_list_win_add(ui);
|
2021-01-02 01:49:12 -08:00
|
|
|
}
|
|
|
|
|
2020-09-02 08:10:08 -07:00
|
|
|
static void
|
|
|
|
_menu_effects_clicked_cb(void *data, Evas_Object *obj EINA_UNUSED,
|
|
|
|
void *event_info EINA_UNUSED)
|
|
|
|
{
|
2020-12-17 03:12:15 -08:00
|
|
|
Ui *ui;
|
|
|
|
Eina_Bool state;
|
2020-09-02 08:10:08 -07:00
|
|
|
|
2020-12-17 03:12:15 -08:00
|
|
|
ui = data;
|
|
|
|
|
|
|
|
state = !evisum_ui_backgrounds_enabled_get();
|
|
|
|
|
|
|
|
evisum_ui_backgrounds_enabled_set(state);
|
2020-09-02 08:10:08 -07:00
|
|
|
|
2020-11-09 05:40:00 -08:00
|
|
|
evisum_ui_config_save(ui);
|
2020-10-27 10:52:24 -07:00
|
|
|
|
2020-12-30 03:51:59 -08:00
|
|
|
evisum_ui_restart(ui);
|
2020-09-02 08:10:08 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
static Evas_Object *
|
2020-10-03 07:44:32 -07:00
|
|
|
_btn_create(Evas_Object *parent, const char *icon, const char *text, void *cb,
|
|
|
|
void *data)
|
2020-09-02 08:10:08 -07:00
|
|
|
{
|
2021-02-06 01:57:58 -08:00
|
|
|
Evas_Object *btn, *ic;
|
2020-09-02 08:10:08 -07:00
|
|
|
|
|
|
|
btn = elm_button_add(parent);
|
2021-02-09 11:10:03 -08:00
|
|
|
evas_object_size_hint_weight_set(btn, EXPAND, EXPAND);
|
2020-09-02 08:10:08 -07:00
|
|
|
evas_object_size_hint_align_set(btn, FILL, FILL);
|
|
|
|
evas_object_show(btn);
|
|
|
|
|
|
|
|
ic = elm_icon_add(btn);
|
|
|
|
elm_icon_standard_set(ic, evisum_icon_path_get(icon));
|
|
|
|
evas_object_show(ic);
|
|
|
|
|
2021-02-06 01:57:58 -08:00
|
|
|
elm_object_part_content_set(btn, "icon", ic);
|
2020-09-02 08:10:08 -07:00
|
|
|
elm_object_tooltip_text_set(btn, text);
|
|
|
|
evas_object_smart_callback_add(btn, "clicked", cb, data);
|
|
|
|
|
2021-02-06 01:57:58 -08:00
|
|
|
return btn;
|
2020-09-02 08:10:08 -07:00
|
|
|
}
|
|
|
|
|
2020-09-04 09:01:40 -07:00
|
|
|
static void
|
2020-10-03 07:44:32 -07:00
|
|
|
_main_menu_slider_changed_cb(void *data EINA_UNUSED, Evas_Object *obj,
|
|
|
|
void *event_info EINA_UNUSED)
|
2020-09-04 09:01:40 -07:00
|
|
|
{
|
|
|
|
Ui *ui = data;
|
|
|
|
|
2020-12-28 12:20:15 -08:00
|
|
|
ui->proc.poll_delay = elm_slider_value_get(obj) + 0.5;
|
2020-09-04 09:01:40 -07:00
|
|
|
|
2020-12-28 12:20:15 -08:00
|
|
|
if (ui->proc.poll_delay > 1)
|
2020-09-12 05:57:53 -07:00
|
|
|
elm_slider_unit_format_set(obj, _("%1.0f secs"));
|
|
|
|
else
|
|
|
|
elm_slider_unit_format_set(obj, _("%1.0f sec"));
|
|
|
|
|
2020-11-09 05:40:00 -08:00
|
|
|
evisum_ui_config_save(ui);
|
2020-09-04 09:01:40 -07:00
|
|
|
}
|
|
|
|
|
2021-02-09 11:10:03 -08:00
|
|
|
static void
|
|
|
|
_main_menu_slider_alpha_changed_cb(void *data EINA_UNUSED, Evas_Object *obj,
|
|
|
|
void *event_info EINA_UNUSED)
|
|
|
|
{
|
|
|
|
Ui *ui = data;
|
|
|
|
|
|
|
|
ui->proc.alpha = elm_slider_value_get(obj) + 0.5;
|
|
|
|
|
|
|
|
evisum_ui_config_save(ui);
|
|
|
|
}
|
|
|
|
|
|
|
|
static void
|
|
|
|
_main_menu_transparant_changed_cb(void *data EINA_UNUSED, Evas_Object *obj,
|
|
|
|
void *event_info EINA_UNUSED)
|
|
|
|
{
|
|
|
|
Ui *ui = data;
|
|
|
|
|
|
|
|
if (!ui->proc.alpha) return;
|
|
|
|
|
|
|
|
ui->proc.transparant = elm_check_state_get(obj);
|
|
|
|
elm_object_disabled_set(_slider_alpha, !ui->proc.transparant);
|
|
|
|
|
|
|
|
evisum_ui_config_save(ui);
|
|
|
|
}
|
|
|
|
|
2020-10-03 06:19:29 -07:00
|
|
|
static void
|
2020-10-03 07:44:32 -07:00
|
|
|
_main_menu_show_threads_changed_cb(void *data EINA_UNUSED, Evas_Object *obj,
|
|
|
|
void *event_info EINA_UNUSED)
|
2020-10-03 06:19:29 -07:00
|
|
|
{
|
|
|
|
Ui *ui = data;
|
|
|
|
|
2020-12-28 12:20:15 -08:00
|
|
|
ui->proc.show_kthreads = elm_check_state_get(obj);
|
2020-11-09 05:40:00 -08:00
|
|
|
evisum_ui_config_save(ui);
|
2020-10-03 06:19:29 -07:00
|
|
|
}
|
|
|
|
|
2021-01-20 00:49:00 -08:00
|
|
|
static void
|
|
|
|
_main_menu_show_scroller_changed_cb(void *data EINA_UNUSED, Evas_Object *obj,
|
|
|
|
void *event_info EINA_UNUSED)
|
|
|
|
{
|
|
|
|
Ui *ui = data;
|
|
|
|
|
|
|
|
ui->proc.show_scroller = elm_check_state_get(obj);
|
|
|
|
evisum_ui_config_save(ui);
|
|
|
|
}
|
|
|
|
|
2020-10-28 10:00:53 -07:00
|
|
|
static void
|
|
|
|
_main_menu_show_user_changed_cb(void *data EINA_UNUSED, Evas_Object *obj,
|
|
|
|
void *event_info EINA_UNUSED)
|
|
|
|
{
|
|
|
|
Ui *ui = data;
|
|
|
|
|
2020-12-28 12:20:15 -08:00
|
|
|
ui->proc.show_user = elm_check_state_get(obj);
|
2020-11-09 05:40:00 -08:00
|
|
|
evisum_ui_config_save(ui);
|
2020-10-28 10:00:53 -07:00
|
|
|
}
|
2021-01-20 00:49:00 -08:00
|
|
|
|
2021-01-08 10:38:50 -08:00
|
|
|
typedef struct
|
|
|
|
{
|
|
|
|
Ecore_Timer *timer;
|
|
|
|
Evas_Object *it_focus;
|
|
|
|
} Menu_Inst;
|
|
|
|
|
|
|
|
static void
|
|
|
|
_main_menu_deleted_cb(void *data EINA_UNUSED, Evas_Object *obj, Evas *e,
|
2021-01-20 00:49:00 -08:00
|
|
|
void *event_info EINA_UNUSED)
|
2021-01-08 10:38:50 -08:00
|
|
|
{
|
|
|
|
Menu_Inst *inst = data;
|
|
|
|
|
|
|
|
inst->it_focus = NULL;
|
|
|
|
if (inst->timer)
|
|
|
|
ecore_timer_del(inst->timer);
|
|
|
|
inst->timer = NULL;
|
|
|
|
free(inst);
|
|
|
|
}
|
2020-10-28 10:00:53 -07:00
|
|
|
|
2020-12-19 03:47:23 -08:00
|
|
|
static Eina_Bool
|
2021-01-08 10:38:50 -08:00
|
|
|
_main_menu_focus_timer_cb(void *data)
|
2020-12-19 03:47:23 -08:00
|
|
|
{
|
2021-01-08 10:38:50 -08:00
|
|
|
Menu_Inst *inst = data;
|
|
|
|
if (inst->it_focus)
|
|
|
|
elm_object_focus_set(inst->it_focus, 1);
|
|
|
|
inst->timer = NULL;
|
|
|
|
|
2021-01-24 05:48:40 -08:00
|
|
|
return 0;
|
2020-12-19 03:47:23 -08:00
|
|
|
}
|
|
|
|
|
2020-12-31 14:58:25 -08:00
|
|
|
Evas_Object *
|
2020-12-28 12:20:15 -08:00
|
|
|
evisum_ui_main_menu_create(Ui *ui, Evas_Object *parent, Evas_Object *obj)
|
2020-09-04 09:01:40 -07:00
|
|
|
{
|
2021-02-09 11:10:03 -08:00
|
|
|
Evas_Object *o, *obx, *bx, *tb, *hbx, *sep, *fr, *sli;
|
2021-02-09 00:15:47 -08:00
|
|
|
Evas_Object *it_focus, *btn, *chk, *rec;
|
2020-09-04 09:01:40 -07:00
|
|
|
Evas_Coord ox, oy, ow, oh;
|
2021-02-09 00:15:47 -08:00
|
|
|
int i = 0;
|
2020-09-04 09:01:40 -07:00
|
|
|
|
2020-12-28 12:20:15 -08:00
|
|
|
evas_object_geometry_get(obj, &ox, &oy, &ow, &oh);
|
|
|
|
o = elm_ctxpopup_add(parent);
|
2020-09-04 09:01:40 -07:00
|
|
|
evas_object_size_hint_weight_set(o, EXPAND, EXPAND);
|
|
|
|
evas_object_size_hint_align_set(o, FILL, FILL);
|
|
|
|
elm_object_style_set(o, "noblock");
|
|
|
|
|
2021-02-09 11:10:03 -08:00
|
|
|
obx = elm_box_add(o);
|
|
|
|
evas_object_size_hint_weight_set(obx, EXPAND, EXPAND);
|
|
|
|
evas_object_size_hint_align_set(obx, FILL, FILL);
|
|
|
|
evas_object_show(obx);
|
2020-09-04 09:01:40 -07:00
|
|
|
|
|
|
|
fr = elm_frame_add(o);
|
2020-10-03 06:19:29 -07:00
|
|
|
elm_object_text_set(fr, _("Actions"));
|
2020-09-04 09:01:40 -07:00
|
|
|
evas_object_size_hint_weight_set(fr, EXPAND, EXPAND);
|
|
|
|
evas_object_size_hint_align_set(fr, FILL, FILL);
|
|
|
|
evas_object_show(fr);
|
|
|
|
|
2021-02-09 11:10:03 -08:00
|
|
|
elm_object_content_set(fr, obx);
|
2020-10-03 06:19:29 -07:00
|
|
|
elm_object_content_set(o, fr);
|
|
|
|
|
2021-02-09 00:15:47 -08:00
|
|
|
tb = elm_table_add(o);
|
|
|
|
evas_object_size_hint_align_set(tb, FILL, FILL);
|
|
|
|
evas_object_size_hint_weight_set(tb, EXPAND, EXPAND);
|
|
|
|
evas_object_show(tb);
|
2020-09-04 09:01:40 -07:00
|
|
|
|
2021-02-09 11:10:03 -08:00
|
|
|
rec = evas_object_rectangle_add(evas_object_evas_get(obx));
|
|
|
|
evas_object_size_hint_min_set(rec, ELM_SCALE_SIZE(BTN_HEIGHT), ELM_SCALE_SIZE(BTN_HEIGHT));
|
2021-02-09 00:15:47 -08:00
|
|
|
elm_table_pack(tb, rec, i, 0, 1, 1);
|
|
|
|
|
|
|
|
it_focus = btn = _btn_create(tb, "proc", _("Processes"),
|
2021-01-02 01:49:12 -08:00
|
|
|
_menu_process_view_clicked_cb, ui);
|
2021-02-09 11:10:03 -08:00
|
|
|
rec = evas_object_rectangle_add(evas_object_evas_get(obx));
|
|
|
|
evas_object_size_hint_min_set(rec, ELM_SCALE_SIZE(BTN_HEIGHT), ELM_SCALE_SIZE(BTN_HEIGHT));
|
2021-02-09 00:15:47 -08:00
|
|
|
elm_table_pack(tb, rec, i, 0, 1, 1);
|
|
|
|
elm_table_pack(tb, btn, i++, 0, 1, 1);
|
2021-01-02 01:49:12 -08:00
|
|
|
|
2021-02-09 00:15:47 -08:00
|
|
|
btn = _btn_create(tb, "cpu", _("CPU"),
|
2020-10-03 07:44:32 -07:00
|
|
|
_menu_cpu_activity_clicked_cb, ui);
|
2021-02-09 11:10:03 -08:00
|
|
|
rec = evas_object_rectangle_add(evas_object_evas_get(obx));
|
|
|
|
evas_object_size_hint_min_set(rec, ELM_SCALE_SIZE(BTN_HEIGHT), ELM_SCALE_SIZE(BTN_HEIGHT));
|
2021-02-09 00:15:47 -08:00
|
|
|
elm_table_pack(tb, rec, i, 0, 1, 1);
|
|
|
|
elm_table_pack(tb, btn, i++, 0, 1, 1);
|
2020-09-04 09:01:40 -07:00
|
|
|
|
2021-02-09 00:15:47 -08:00
|
|
|
btn = _btn_create(tb, "memory", _("Memory"),
|
2020-10-03 07:44:32 -07:00
|
|
|
_menu_memory_activity_clicked_cb, ui);
|
2021-02-09 11:10:03 -08:00
|
|
|
rec = evas_object_rectangle_add(evas_object_evas_get(obx));
|
|
|
|
evas_object_size_hint_min_set(rec, ELM_SCALE_SIZE(BTN_HEIGHT), ELM_SCALE_SIZE(BTN_HEIGHT));
|
2021-02-09 00:15:47 -08:00
|
|
|
elm_table_pack(tb, rec, i, 0, 1, 1);
|
|
|
|
elm_table_pack(tb, btn, i++, 0, 1, 1);
|
2020-09-04 09:01:40 -07:00
|
|
|
|
2021-02-09 00:15:47 -08:00
|
|
|
btn = _btn_create(tb, "storage", _("Storage"),
|
2020-10-03 07:44:32 -07:00
|
|
|
_menu_disk_activity_clicked_cb, ui);
|
2021-02-09 11:10:03 -08:00
|
|
|
rec = evas_object_rectangle_add(evas_object_evas_get(obx));
|
|
|
|
evas_object_size_hint_min_set(rec, ELM_SCALE_SIZE(BTN_HEIGHT), ELM_SCALE_SIZE(BTN_HEIGHT));
|
2021-02-09 00:15:47 -08:00
|
|
|
elm_table_pack(tb, rec, i, 0, 1, 1);
|
|
|
|
elm_table_pack(tb, btn, i++, 0, 1, 1);
|
2020-09-04 09:01:40 -07:00
|
|
|
|
2021-02-09 00:15:47 -08:00
|
|
|
btn = _btn_create(tb, "sensor", _("Sensors"),
|
2020-10-05 08:11:26 -07:00
|
|
|
_menu_sensors_activity_clicked_cb, ui);
|
2021-02-09 11:10:03 -08:00
|
|
|
rec = evas_object_rectangle_add(evas_object_evas_get(obx));
|
|
|
|
evas_object_size_hint_min_set(rec, ELM_SCALE_SIZE(BTN_HEIGHT), ELM_SCALE_SIZE(BTN_HEIGHT));
|
2021-02-09 00:15:47 -08:00
|
|
|
elm_table_pack(tb, rec, i, 0, 1, 1);
|
|
|
|
elm_table_pack(tb, btn, i++, 0, 1, 1);
|
2020-09-04 09:01:40 -07:00
|
|
|
|
2021-02-09 00:15:47 -08:00
|
|
|
sep = elm_separator_add(tb);
|
2020-09-04 09:01:40 -07:00
|
|
|
evas_object_size_hint_align_set(sep, FILL, FILL);
|
|
|
|
evas_object_size_hint_weight_set(sep, EXPAND, EXPAND);
|
|
|
|
elm_separator_horizontal_set(sep, 0);
|
|
|
|
evas_object_show(sep);
|
2021-02-09 00:15:47 -08:00
|
|
|
elm_table_pack(tb, sep, i++, 0, 1, 1);
|
2020-09-04 09:01:40 -07:00
|
|
|
|
2021-02-09 00:15:47 -08:00
|
|
|
btn = _btn_create(tb, "effects", _("Effects"),
|
2020-10-03 07:44:32 -07:00
|
|
|
_menu_effects_clicked_cb, ui);
|
2021-02-09 11:10:03 -08:00
|
|
|
rec = evas_object_rectangle_add(evas_object_evas_get(obx));
|
|
|
|
evas_object_size_hint_min_set(rec, ELM_SCALE_SIZE(BTN_HEIGHT), ELM_SCALE_SIZE(BTN_HEIGHT));
|
2021-02-09 00:15:47 -08:00
|
|
|
elm_table_pack(tb, rec, i, 0, 1, 1);
|
|
|
|
elm_table_pack(tb, btn, i++, 0, 1, 1);
|
2020-09-04 09:01:40 -07:00
|
|
|
|
2021-02-09 00:15:47 -08:00
|
|
|
sep = elm_separator_add(tb);
|
2020-09-04 09:01:40 -07:00
|
|
|
evas_object_size_hint_align_set(sep, FILL, FILL);
|
|
|
|
evas_object_size_hint_weight_set(sep, EXPAND, EXPAND);
|
|
|
|
elm_separator_horizontal_set(sep, 0);
|
|
|
|
evas_object_show(sep);
|
2021-02-09 00:15:47 -08:00
|
|
|
elm_table_pack(tb, sep, i++, 0, 1, 1);
|
|
|
|
|
|
|
|
btn = _btn_create(tb, "evisum", _("About"), _about_clicked_cb, ui);
|
2021-02-09 11:10:03 -08:00
|
|
|
rec = evas_object_rectangle_add(evas_object_evas_get(obx));
|
|
|
|
evas_object_size_hint_min_set(rec, ELM_SCALE_SIZE(BTN_HEIGHT), ELM_SCALE_SIZE(BTN_HEIGHT));
|
2021-02-09 00:15:47 -08:00
|
|
|
elm_table_pack(tb, rec, i, 0, 1, 1);
|
|
|
|
elm_table_pack(tb, btn, i++, 0, 1, 1);
|
2020-09-04 09:01:40 -07:00
|
|
|
|
2021-02-09 11:10:03 -08:00
|
|
|
elm_box_pack_end(obx, tb);
|
2020-10-03 06:19:29 -07:00
|
|
|
|
2021-01-08 10:38:50 -08:00
|
|
|
Menu_Inst *inst = calloc(1, sizeof(Menu_Inst));
|
|
|
|
if (!inst) return NULL;
|
|
|
|
inst->timer = ecore_timer_add(0.5, _main_menu_focus_timer_cb, inst);
|
|
|
|
inst->it_focus = it_focus;
|
|
|
|
evas_object_event_callback_add(o, EVAS_CALLBACK_DEL,
|
|
|
|
_main_menu_deleted_cb, inst);
|
|
|
|
|
2020-12-31 14:58:25 -08:00
|
|
|
elm_ctxpopup_direction_priority_set(o, ELM_CTXPOPUP_DIRECTION_UP,
|
|
|
|
ELM_CTXPOPUP_DIRECTION_DOWN,
|
|
|
|
ELM_CTXPOPUP_DIRECTION_LEFT,
|
|
|
|
ELM_CTXPOPUP_DIRECTION_RIGHT);
|
|
|
|
evas_object_move(o, ox + (ow / 2), oy + oh);
|
|
|
|
evas_object_show(o);
|
2021-01-08 10:38:50 -08:00
|
|
|
|
2020-12-31 14:58:25 -08:00
|
|
|
if (parent != ui->proc.win) return o;
|
|
|
|
|
2020-10-03 06:19:29 -07:00
|
|
|
fr = elm_frame_add(o);
|
|
|
|
elm_object_text_set(fr, _("Options"));
|
|
|
|
evas_object_size_hint_weight_set(fr, EXPAND, EXPAND);
|
|
|
|
evas_object_size_hint_align_set(fr, FILL, FILL);
|
|
|
|
evas_object_show(fr);
|
|
|
|
|
2021-02-09 11:10:03 -08:00
|
|
|
bx = elm_box_add(o);
|
|
|
|
evas_object_size_hint_weight_set(bx, EXPAND, EXPAND);
|
|
|
|
evas_object_size_hint_align_set(bx, FILL, FILL);
|
|
|
|
evas_object_show(bx);
|
2020-09-04 09:01:40 -07:00
|
|
|
|
|
|
|
sli = elm_slider_add(o);
|
|
|
|
evas_object_size_hint_weight_set(sli, EXPAND, EXPAND);
|
|
|
|
elm_slider_min_max_set(sli, 1.0, 10.0);
|
|
|
|
elm_slider_span_size_set(sli, 10.0);
|
|
|
|
elm_slider_step_set(sli, 1 / 10.0);
|
|
|
|
elm_slider_indicator_format_set(sli, "%1.0f");
|
|
|
|
elm_slider_unit_format_set(sli, _("%1.0f secs"));
|
2020-12-28 12:20:15 -08:00
|
|
|
elm_slider_value_set(sli, ui->proc.poll_delay);
|
2020-09-04 09:01:40 -07:00
|
|
|
evas_object_size_hint_align_set(sli, FILL, FILL);
|
2020-10-12 06:56:27 -07:00
|
|
|
elm_object_tooltip_text_set(sli, _("Poll delay"));
|
2020-10-03 07:44:32 -07:00
|
|
|
evas_object_smart_callback_add(sli, "slider,drag,stop",
|
|
|
|
_main_menu_slider_changed_cb, ui);
|
|
|
|
evas_object_smart_callback_add(sli, "changed",
|
|
|
|
_main_menu_slider_changed_cb, ui);
|
2020-09-04 09:01:40 -07:00
|
|
|
evas_object_show(sli);
|
2020-09-12 05:57:53 -07:00
|
|
|
_main_menu_slider_changed_cb(ui, sli, NULL);
|
2021-02-09 11:10:03 -08:00
|
|
|
elm_box_pack_end(bx, sli);
|
2020-09-04 09:01:40 -07:00
|
|
|
|
2021-02-09 11:10:03 -08:00
|
|
|
sep = elm_separator_add(bx);
|
2020-10-03 06:19:29 -07:00
|
|
|
evas_object_size_hint_align_set(sep, FILL, FILL);
|
|
|
|
evas_object_size_hint_weight_set(sep, EXPAND, EXPAND);
|
|
|
|
elm_separator_horizontal_set(sep, 1);
|
|
|
|
evas_object_show(sep);
|
2021-02-09 11:10:03 -08:00
|
|
|
elm_box_pack_end(bx, sep);
|
2020-09-04 09:01:40 -07:00
|
|
|
|
2021-01-22 01:46:55 -08:00
|
|
|
if (ui->proc.has_kthreads)
|
|
|
|
{
|
2021-02-09 11:10:03 -08:00
|
|
|
chk = elm_check_add(bx);
|
2021-01-22 01:46:55 -08:00
|
|
|
evas_object_size_hint_weight_set(chk, EXPAND, EXPAND);
|
|
|
|
evas_object_size_hint_align_set(chk, FILL, FILL);
|
|
|
|
elm_object_text_set(chk, _("Show kernel threads?"));
|
|
|
|
elm_check_state_set(chk, ui->proc.show_kthreads);
|
|
|
|
evas_object_show(chk);
|
|
|
|
evas_object_smart_callback_add(chk, "changed",
|
|
|
|
_main_menu_show_threads_changed_cb, ui);
|
2021-02-09 11:10:03 -08:00
|
|
|
elm_box_pack_end(bx, chk);
|
2021-01-22 01:46:55 -08:00
|
|
|
}
|
2020-10-03 06:19:29 -07:00
|
|
|
|
2021-02-09 11:10:03 -08:00
|
|
|
chk = elm_check_add(bx);
|
2020-10-28 10:00:53 -07:00
|
|
|
evas_object_size_hint_weight_set(chk, EXPAND, EXPAND);
|
|
|
|
evas_object_size_hint_align_set(chk, FILL, FILL);
|
|
|
|
elm_object_text_set(chk, _("User only?"));
|
2020-12-28 12:20:15 -08:00
|
|
|
elm_check_state_set(chk, ui->proc.show_user);
|
2020-10-28 10:00:53 -07:00
|
|
|
evas_object_show(chk);
|
|
|
|
evas_object_smart_callback_add(chk, "changed",
|
|
|
|
_main_menu_show_user_changed_cb, ui);
|
2021-02-09 11:10:03 -08:00
|
|
|
elm_box_pack_end(bx, chk);
|
2020-10-28 10:00:53 -07:00
|
|
|
|
2021-02-09 11:10:03 -08:00
|
|
|
elm_object_content_set(fr, bx);
|
|
|
|
elm_box_pack_end(obx, fr);
|
|
|
|
|
|
|
|
fr = elm_frame_add(o);
|
|
|
|
elm_object_text_set(fr, _("Display"));
|
|
|
|
evas_object_size_hint_weight_set(fr, EXPAND, EXPAND);
|
|
|
|
evas_object_size_hint_align_set(fr, FILL, FILL);
|
|
|
|
evas_object_show(fr);
|
|
|
|
|
|
|
|
bx = elm_box_add(o);
|
|
|
|
evas_object_size_hint_weight_set(bx, EXPAND, EXPAND);
|
|
|
|
evas_object_size_hint_align_set(bx, FILL, FILL);
|
|
|
|
evas_object_show(bx);
|
2021-01-20 00:49:00 -08:00
|
|
|
|
2021-02-09 11:10:03 -08:00
|
|
|
chk = elm_check_add(bx);
|
2021-01-20 00:49:00 -08:00
|
|
|
evas_object_size_hint_weight_set(chk, EXPAND, EXPAND);
|
|
|
|
evas_object_size_hint_align_set(chk, FILL, FILL);
|
|
|
|
elm_object_text_set(chk, _("Display scroll bar?"));
|
|
|
|
elm_check_state_set(chk, ui->proc.show_scroller);
|
|
|
|
evas_object_show(chk);
|
|
|
|
evas_object_smart_callback_add(chk, "changed",
|
|
|
|
_main_menu_show_scroller_changed_cb, ui);
|
2021-02-09 11:10:03 -08:00
|
|
|
elm_box_pack_end(bx, chk);
|
|
|
|
|
|
|
|
hbx = elm_box_add(o);
|
|
|
|
evas_object_size_hint_weight_set(hbx, EXPAND, 0);
|
|
|
|
elm_box_horizontal_set(hbx, 1);
|
|
|
|
evas_object_show(hbx);
|
|
|
|
|
|
|
|
chk = elm_check_add(bx);
|
|
|
|
evas_object_size_hint_weight_set(chk, EXPAND, EXPAND);
|
|
|
|
evas_object_size_hint_align_set(chk, FILL, FILL);
|
|
|
|
elm_object_text_set(chk, _("Alpha"));
|
|
|
|
elm_check_state_set(chk, ui->proc.transparant);
|
|
|
|
evas_object_show(chk);
|
|
|
|
evas_object_smart_callback_add(chk, "changed",
|
|
|
|
_main_menu_transparant_changed_cb, ui);
|
|
|
|
elm_box_pack_end(hbx, chk);
|
|
|
|
|
|
|
|
_slider_alpha = sli = elm_slider_add(o);
|
|
|
|
evas_object_size_hint_weight_set(sli, EXPAND, EXPAND);
|
|
|
|
elm_slider_min_max_set(sli, 25.0, 100.0);
|
|
|
|
elm_slider_span_size_set(sli, 100.0);
|
|
|
|
elm_slider_step_set(sli, 1 / 100.0);
|
|
|
|
elm_slider_unit_format_set(sli, _("%1.0f %%"));
|
|
|
|
elm_slider_indicator_visible_mode_set(sli, ELM_SLIDER_INDICATOR_VISIBLE_MODE_NONE);
|
|
|
|
elm_slider_value_set(sli, ui->proc.alpha);
|
|
|
|
evas_object_size_hint_align_set(sli, FILL, FILL);
|
|
|
|
elm_object_disabled_set(sli, !ui->proc.transparant);
|
|
|
|
evas_object_smart_callback_add(sli, "slider,drag,stop",
|
|
|
|
_main_menu_slider_alpha_changed_cb, ui);
|
|
|
|
evas_object_smart_callback_add(sli, "changed",
|
|
|
|
_main_menu_slider_alpha_changed_cb, ui);
|
|
|
|
evas_object_show(sli);
|
|
|
|
elm_box_pack_end(hbx, sli);
|
|
|
|
elm_box_pack_end(bx, hbx);
|
|
|
|
elm_object_content_set(fr, bx);
|
2021-01-20 00:49:00 -08:00
|
|
|
|
2021-02-09 11:10:03 -08:00
|
|
|
elm_box_pack_end(obx, fr);
|
2020-09-04 09:01:40 -07:00
|
|
|
|
2020-12-31 14:58:25 -08:00
|
|
|
return o;
|
2020-09-04 09:01:40 -07:00
|
|
|
}
|
|
|
|
|
2021-01-22 01:46:55 -08:00
|
|
|
// Any OS specific feature checks.
|
2020-10-03 03:35:36 -07:00
|
|
|
static void
|
|
|
|
_ui_init_system_probe(Ui *ui)
|
|
|
|
{
|
2021-01-22 01:46:55 -08:00
|
|
|
#if defined(__OpenBSD__)
|
|
|
|
ui->proc.has_kthreads = 0;
|
|
|
|
#else
|
|
|
|
ui->proc.has_kthreads = 1;
|
|
|
|
#endif
|
|
|
|
#if defined(__FreeBSD__) || defined(__DragonFly__)
|
2020-10-03 03:35:36 -07:00
|
|
|
ui->mem.zfs_mounted = file_system_in_use("ZFS");
|
2021-01-22 01:46:55 -08:00
|
|
|
#endif
|
2020-10-03 03:35:36 -07:00
|
|
|
}
|
|
|
|
|
2020-10-26 18:33:20 -07:00
|
|
|
void
|
2020-10-26 20:33:01 -07:00
|
|
|
evisum_ui_activate(Ui *ui, Evisum_Action action, int pid)
|
2020-10-26 18:33:20 -07:00
|
|
|
{
|
2020-12-30 03:51:59 -08:00
|
|
|
Eina_Bool restart = 0;
|
|
|
|
|
|
|
|
if (ui->proc.restart)
|
|
|
|
{
|
2021-01-02 16:58:08 -08:00
|
|
|
ui_process_list_win_add(ui);
|
2020-12-30 03:51:59 -08:00
|
|
|
restart = 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
if (ui->cpu.restart)
|
|
|
|
{
|
2021-01-15 04:42:31 -08:00
|
|
|
ui_cpu_win_add(ui);
|
2020-12-30 03:51:59 -08:00
|
|
|
restart = 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
if (ui->mem.restart)
|
|
|
|
{
|
2021-01-15 04:42:31 -08:00
|
|
|
ui_mem_win_add(ui);
|
2020-12-30 03:51:59 -08:00
|
|
|
restart = 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
if (ui->disk.restart)
|
|
|
|
{
|
2021-01-15 04:42:31 -08:00
|
|
|
ui_disk_win_add(ui);
|
2020-12-30 03:51:59 -08:00
|
|
|
restart = 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
if (ui->sensors.restart)
|
|
|
|
{
|
2021-01-15 04:42:31 -08:00
|
|
|
ui_sensors_win_add(ui);
|
2020-12-30 03:51:59 -08:00
|
|
|
restart = 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
if (restart)
|
|
|
|
{
|
|
|
|
ui->proc.restart = ui->cpu.restart = 0;
|
|
|
|
ui->mem.restart = ui->disk.restart = 0;
|
|
|
|
ui->sensors.restart = 0;
|
|
|
|
evisum_ui_config_save(ui);
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
2020-10-26 18:33:20 -07:00
|
|
|
switch (action)
|
|
|
|
{
|
|
|
|
case EVISUM_ACTION_DEFAULT:
|
2021-01-02 16:58:08 -08:00
|
|
|
ui_process_list_win_add(ui);
|
2020-10-26 18:33:20 -07:00
|
|
|
break;
|
2020-10-26 20:33:01 -07:00
|
|
|
case EVISUM_ACTION_PROCESS:
|
2021-01-16 04:30:15 -08:00
|
|
|
ui_process_view_win_add(pid, PROC_VIEW_DEFAULT);
|
2020-10-26 20:33:01 -07:00
|
|
|
break;
|
2020-10-26 18:33:20 -07:00
|
|
|
case EVISUM_ACTION_CPU:
|
2021-01-15 04:42:31 -08:00
|
|
|
ui_cpu_win_add(ui);
|
2020-10-26 18:33:20 -07:00
|
|
|
break;
|
|
|
|
case EVISUM_ACTION_MEM:
|
2021-01-15 04:42:31 -08:00
|
|
|
ui_mem_win_add(ui);
|
2020-10-26 18:33:20 -07:00
|
|
|
break;
|
|
|
|
case EVISUM_ACTION_STORAGE:
|
2021-01-15 04:42:31 -08:00
|
|
|
ui_disk_win_add(ui);
|
2020-10-26 18:33:20 -07:00
|
|
|
break;
|
|
|
|
case EVISUM_ACTION_SENSORS:
|
2021-01-15 04:42:31 -08:00
|
|
|
ui_sensors_win_add(ui);
|
2020-10-26 18:33:20 -07:00
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2020-10-29 06:26:31 -07:00
|
|
|
void
|
2020-11-14 09:45:22 -08:00
|
|
|
evisum_ui_shutdown(Ui *ui)
|
2020-10-29 06:26:31 -07:00
|
|
|
{
|
|
|
|
evisum_icon_cache_shutdown();
|
|
|
|
|
|
|
|
free(ui);
|
|
|
|
}
|
|
|
|
|
2020-11-09 06:28:55 -08:00
|
|
|
Ui *
|
|
|
|
evisum_ui_init(void)
|
2018-06-04 03:11:21 -07:00
|
|
|
{
|
2019-09-05 14:33:38 -07:00
|
|
|
Ui *ui = calloc(1, sizeof(Ui));
|
|
|
|
if (!ui) return NULL;
|
2018-06-04 03:11:21 -07:00
|
|
|
|
2020-12-28 12:20:15 -08:00
|
|
|
ui->proc.poll_delay = 3;
|
2021-01-24 05:48:40 -08:00
|
|
|
ui->proc.sort_reverse = 0;
|
2021-02-24 03:32:21 -08:00
|
|
|
ui->proc.sort_type = PROC_SORT_BY_PID;
|
2020-12-28 12:20:15 -08:00
|
|
|
|
2018-06-04 03:11:21 -07:00
|
|
|
ui->program_pid = getpid();
|
2020-04-20 11:42:35 -07:00
|
|
|
|
2020-11-10 19:20:14 -08:00
|
|
|
EVISUM_EVENT_CONFIG_CHANGED = ecore_event_type_new();
|
|
|
|
|
2020-12-28 12:20:15 -08:00
|
|
|
evisum_ui_backgrounds_enabled_set(0);
|
2020-11-09 05:40:00 -08:00
|
|
|
evisum_ui_config_load(ui);
|
2020-04-14 10:24:27 -07:00
|
|
|
|
2020-11-09 06:28:55 -08:00
|
|
|
evisum_icon_cache_init();
|
2018-06-09 03:30:07 -07:00
|
|
|
|
2020-11-09 06:28:55 -08:00
|
|
|
_ui_init_system_probe(ui);
|
2019-09-05 14:33:38 -07:00
|
|
|
|
2018-06-16 13:31:49 -07:00
|
|
|
return ui;
|
2018-06-04 03:11:21 -07:00
|
|
|
}
|
|
|
|
|