evisum/src/bin/ui/ui.h

155 lines
3.0 KiB
C
Raw Normal View History

2020-04-14 10:24:27 -07:00
#ifndef __UI_H__
2018-06-04 03:11:21 -07:00
#define __UI_H__
#include <Elementary.h>
2020-04-23 04:28:07 -07:00
#include "gettext.h"
#include "system/process.h"
#include "../evisum_config.h"
2018-06-04 03:11:21 -07:00
2020-04-23 04:28:07 -07:00
#define _(STR) gettext(STR)
2020-05-17 05:56:21 -07:00
#define EVISUM_SIZE_WIDTH 600
#define EVISUM_SIZE_HEIGHT 520
2019-08-24 08:28:56 -07:00
2018-06-04 03:11:21 -07:00
typedef enum
{
PROCESS_INFO_FIELD_PID,
PROCESS_INFO_FIELD_UID,
PROCESS_INFO_FIELD_SIZE,
PROCESS_INFO_FIELD_RSS,
PROCESS_INFO_FIELD_COMMAND,
PROCESS_INFO_FIELD_STATE,
PROCESS_INFO_FIELD_CPU_USAGE,
// Not displayed in the main UI.
PROCESS_INFO_FIELD_NICE,
PROCESS_INFO_FIELD_PRI,
PROCESS_INFO_FIELD_CPU,
PROCESS_INFO_FIELD_THREADS,
// Not used yet in UI.
PROCESS_INFO_FIELD_CPU_TIME,
2020-04-16 14:03:25 -07:00
} Proc_Info_Field;
2018-06-04 03:11:21 -07:00
#define PROCESS_INFO_FIELDS 7
typedef enum
{
2020-04-23 08:20:37 -07:00
DATA_UNIT_B = 'B',
2018-10-24 05:27:53 -07:00
DATA_UNIT_KB = 'K',
DATA_UNIT_MB = 'M',
DATA_UNIT_GB = 'G',
} Data_Unit;
2018-06-04 03:11:21 -07:00
typedef enum
{
SORT_BY_NONE,
SORT_BY_PID,
SORT_BY_UID,
SORT_BY_NICE,
SORT_BY_PRI,
SORT_BY_CPU,
SORT_BY_THREADS,
SORT_BY_SIZE,
SORT_BY_RSS,
SORT_BY_CMD,
SORT_BY_STATE,
SORT_BY_CPU_USAGE,
} Sort_Type;
2020-05-12 13:03:26 -07:00
#define TAB_BTN_SIZE 96
2018-06-04 03:11:21 -07:00
typedef struct Ui
{
2018-10-02 07:38:06 -07:00
Evas_Object *win;
Evas_Object *menu;
2018-10-02 07:38:06 -07:00
Evas_Object *scroller;
Evas_Object *content;
Evas_Object *btn_general;
Evas_Object *btn_cpu;
Evas_Object *btn_mem;
Evas_Object *btn_storage;
Evas_Object *btn_misc;
2018-10-02 07:38:06 -07:00
Evas_Object *disk_view;
Evas_Object *disk_activity;
Evas_Object *cpu_view;
Evas_Object *cpu_activity;
Evas_Object *mem_view;
Evas_Object *mem_activity;
Evas_Object *misc_view;
Evas_Object *misc_activity;
2018-10-02 07:38:06 -07:00
Evas_Object *system_activity;
2020-05-08 19:06:05 -07:00
Elm_Transit *transit;
2020-05-08 18:17:17 -07:00
Evas_Object *current_view;
2018-10-02 07:38:06 -07:00
Eina_Bool cpu_visible;
Eina_Bool misc_visible;
2018-10-02 07:38:06 -07:00
Eina_Bool disk_visible;
Eina_Bool mem_visible;
Evas_Object *progress_cpu;
Evas_Object *progress_mem;
Evas_Object *title_mem;
2018-10-24 03:49:27 -07:00
Evas_Object *progress_mem_used;
Evas_Object *progress_mem_cached;
Evas_Object *progress_mem_buffered;
Evas_Object *progress_mem_shared;
Evas_Object *progress_mem_swap;
2018-10-24 03:49:27 -07:00
2018-10-02 07:38:06 -07:00
Evas_Object *btn_pid;
Evas_Object *btn_uid;
Evas_Object *btn_size;
Evas_Object *btn_rss;
Evas_Object *btn_cmd;
Evas_Object *btn_state;
Evas_Object *btn_cpu_usage;
2020-04-14 10:24:27 -07:00
2020-04-17 20:11:03 -07:00
Eina_List *item_cache;
2020-04-14 10:24:27 -07:00
Evas_Object *genlist_procs;
Evas_Object *entry_search;
2018-06-04 03:11:21 -07:00
Ecore_Thread *thread_system;
Ecore_Thread *thread_process;
2018-10-02 07:38:06 -07:00
Ecore_Timer *timer_pid;
pid_t selected_pid;
pid_t program_pid;
2018-06-04 03:11:21 -07:00
char *search_text;
2018-10-02 07:38:06 -07:00
Evas_Object *list_pid;
2018-06-04 03:11:21 -07:00
Eina_Bool skip_wait;
2020-04-14 10:24:27 -07:00
Eina_Bool ready;
2018-06-04 03:11:21 -07:00
Eina_List *cpu_times;
2018-06-04 03:11:21 -07:00
Eina_List *cpu_list;
Evas_Object *temp_label;
2018-10-02 07:38:06 -07:00
int poll_delay;
2018-06-04 03:11:21 -07:00
2018-10-02 07:38:06 -07:00
Sort_Type sort_type;
Eina_Bool sort_reverse;
Eina_Bool searching;
2020-04-14 10:24:27 -07:00
Eina_Bool show_self;
2020-02-15 18:03:32 -08:00
uint64_t incoming_max;
uint64_t outgoing_max;
2018-06-04 03:11:21 -07:00
} Ui;
Ui *
2020-05-13 05:15:58 -07:00
evisum_ui_add(Evas_Object *win);
2018-06-04 03:11:21 -07:00
void
2020-05-13 05:15:58 -07:00
evisum_ui_shutdown(Ui *ui);
const char *
evisum_icon_path_get(const char *name);
const char *
evisum_size_format(unsigned long value);
2018-06-04 03:11:21 -07:00
#endif