diff --git a/data/images/meson.build b/data/images/meson.build index 341a13a..68e9aac 100644 --- a/data/images/meson.build +++ b/data/images/meson.build @@ -11,4 +11,5 @@ install_data('go-up.png', 'go-down.png', 'clo.png', 'bolt.png', 'menu.png', 'lovethisdogharvey.png', 'application.png', 'e.png', 'border.png', 'freebsd.png', 'linux.png', + 'on.png', 'off.png', install_dir: join_paths(dir_data, 'evisum/images')) diff --git a/data/images/off.png b/data/images/off.png new file mode 100644 index 0000000..3131c8f Binary files /dev/null and b/data/images/off.png differ diff --git a/data/images/on.png b/data/images/on.png new file mode 100644 index 0000000..6702235 Binary files /dev/null and b/data/images/on.png differ diff --git a/src/bin/ui/ui_process_list.c b/src/bin/ui/ui_process_list.c index 643614d..ff58f0a 100644 --- a/src/bin/ui/ui_process_list.c +++ b/src/bin/ui/ui_process_list.c @@ -17,22 +17,20 @@ static Eina_Lock _lock; typedef struct { - Ecore_Thread *thread; - Evisum_Ui_Cache *cache; - Eina_List *cpu_times; - Eina_List *cpu_list; - + Ecore_Thread *thread; + Evisum_Ui_Cache *cache; + Eina_List *cpu_times; + Eina_List *cpu_list; Ecore_Event_Handler *handler[2]; + Evas_Object *win; + Evas_Object *menu; Ui *ui; pid_t selected_pid; char search[16]; int search_len; - Evas_Object *win; - Evas_Object *menu; - Ecore_Timer *timer_search; Evas_Object *entry_pop; Evas_Object *entry; @@ -196,7 +194,8 @@ _sort_by_state(const void *p1, const void *p2) return strcmp(inf1->state, inf2->state); } -typedef struct { +typedef struct +{ pid_t pid; int64_t cpu_time_prev; } pid_cpu_time_t; @@ -1527,9 +1526,9 @@ ui_process_list_win_add(Ui *ui) Ui_Data *pd = _pd = calloc(1, sizeof(Ui_Data)); if (!pd) return; + pd->selected_pid = -1; pd->ui = ui; - pd->handler[0] = ecore_event_handler_add(ELM_EVENT_CONFIG_ALL_CHANGED, _elm_config_changed_cb, pd); pd->handler[1] = ecore_event_handler_add(EVISUM_EVENT_CONFIG_CHANGED, @@ -1546,11 +1545,11 @@ ui_process_list_win_add(Ui *ui) else evas_object_resize(win, EVISUM_WIN_WIDTH * elm_config_scale_get(), EVISUM_WIN_HEIGHT * elm_config_scale_get()); + elm_win_center(win, 1, 1); + obj = _ui_content_system_add(pd, win); pd->cache = evisum_ui_item_cache_new(pd->genlist, _item_create, 50); - elm_win_center(win, EINA_TRUE, EINA_TRUE); evisum_ui_background_add(win, evisum_ui_backgrounds_enabled_get()); - evas_object_show(win); _search_add(pd); diff --git a/src/bin/ui/ui_sensors.c b/src/bin/ui/ui_sensors.c index 531c0c7..246a67e 100644 --- a/src/bin/ui/ui_sensors.c +++ b/src/bin/ui/ui_sensors.c @@ -15,6 +15,7 @@ typedef struct Evas_Object *thermal_pb; + Evas_Object *power_ic; Ui *ui; } Ui_Data; @@ -126,6 +127,15 @@ _sensors_update_feedback_cb(void *data, Ecore_Thread *thread, void *msgdata) elm_object_tooltip_text_set(pd->thermal_pb, pd->sensor->name); } + if (pd->power_ic) + { + if (msg->power.have_ac) + elm_icon_standard_set(pd->power_ic, evisum_icon_path_get("on")); + else + elm_icon_standard_set(pd->power_ic, evisum_icon_path_get("off")); + evas_object_show(pd->power_ic); + } + l = eina_list_nth_list(pd->batteries, 0); while (l && msg->power.battery_count) { @@ -238,6 +248,7 @@ ui_win_sensors_add(Ui *ui) { Evas_Object *win, *content, *bx, *tbl, *fr; Evas_Object *genlist, *pb, *pad; + Evas_Object *ic; Elm_Genlist_Item_Class *itc; power_t power; Evas_Coord x = 0, y = 0; @@ -303,9 +314,16 @@ ui_win_sensors_add(Ui *ui) evas_object_show(pb); bat->pb = pb; - elm_object_content_set(pad, pb); - elm_table_pack(tbl, pad, 0, 0, 1, 1); - elm_box_pack_end(content, tbl); + elm_table_pack(tbl, pb, 1, 0, 1, 1); + if (!i) + { + pd->power_ic = ic = elm_icon_add(win); + evas_object_size_hint_min_set(ic, ELM_SCALE_SIZE(3), ELM_SCALE_SIZE(3)); + evas_object_size_hint_align_set(ic, 0.0, 0.5); + elm_table_pack(tbl, ic, 0, 0, 1, 1); + } + elm_object_content_set(pad, tbl); + elm_box_pack_end(content, pad); pd->batteries = eina_list_append(pd->batteries, bat); }