effects: does something...

This commit is contained in:
Alastair Poole 2021-03-12 16:59:27 +00:00
parent 9cc9b8c8e4
commit 7351bff3af
4 changed files with 112 additions and 8 deletions

View File

@ -64,7 +64,44 @@ collections {
visible: 1;
}
}
part
{
name: "evisum/indicator-clip";
type: RECT;
description
{
state: "default" 0.0;
min: 128 128;
max: 128 128;
visible: 0;
color: 255 255 255 0;
}
description
{
inherit: "default";
state: "visible" 0.0;
visible: 1;
color: 255 255 255 255;
}
}
part
{
name: "evisum/indicator";
type: SWALLOW;
description
{
aspect: 1.0 1.0; aspect_preference: BOTH;
clip_to: "evisum/indicator-clip";
state: "default" 0.0;
visible: 1;
}
description
{
clip_to: "evisum/indicator-clip";
state: "visible" 0.0;
visible: 1;
}
}
}
programs
{
@ -76,7 +113,6 @@ collections {
transition: SINUSOIDAL 0.5;
target: "evisum/menu-clip";
}
program
{
signal: "menu,hide";
@ -85,6 +121,23 @@ collections {
transition: SINUSOIDAL 0.5;
target: "evisum/menu-clip";
}
program
{
signal: "indicator,show";
source: "evisum/indicator";
action: STATE_SET "visible" 0.0;
target: "evisum/indicator-clip";
after: "indicator_hide";
}
program
{
name: "indicator_hide";
signal: "indicator,hide";
source: "evisum/indicator";
action: STATE_SET "default" 0.0;
transition: SINUSOIDAL 2.0;
target: "evisum/indicator-clip";
}
}
}
}

View File

@ -26,7 +26,7 @@ evisum_ui_config_save(Evisum_Ui *ui)
if (!_evisum_config) return;
_evisum_config->effects = 0;
_evisum_config->effects = ui->effects;
_evisum_config->backgrounds = 0;
if (ui->proc.win)
@ -110,6 +110,18 @@ evisum_ui_config_save(Evisum_Ui *ui)
ecore_event_add(EVISUM_EVENT_CONFIG_CHANGED, NULL, NULL, NULL);
}
Eina_Bool
evisum_ui_effects_enabled_get(Evisum_Ui *ui)
{
return ui->effects;
}
void
evisum_ui_effects_enabled_set(Evisum_Ui *ui, Eina_Bool enabled)
{
ui->effects = enabled;
}
void
evisum_ui_config_load(Evisum_Ui *ui)
{
@ -117,6 +129,8 @@ evisum_ui_config_load(Evisum_Ui *ui)
_evisum_config = config_load();
ui->effects = _evisum_config->effects;
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;
@ -249,14 +263,15 @@ _menu_effects_clicked_cb(void *data, Evas_Object *obj EINA_UNUSED,
void *event_info EINA_UNUSED)
{
Evisum_Ui *ui;
Eina_Bool state;
ui = data;
#if 0
evisum_ui_config_save(ui);
state = evisum_ui_effects_enabled_get(ui);
evisum_ui_effects_enabled_set(ui, !state);
evisum_ui_config_save(ui);
evisum_ui_restart(ui);
#endif
}
static Evas_Object *

View File

@ -21,6 +21,8 @@ typedef struct _Evisum_Ui
pid_t program_pid;
Ecore_Event_Handler *handler_sig;
Eina_Bool effects;
struct
{
Evas_Object *win;
@ -117,4 +119,10 @@ evisum_ui_config_save(Evisum_Ui *ui);
void
evisum_ui_restart(Evisum_Ui *ui);
Eina_Bool
evisum_ui_effects_enabled_get(Evisum_Ui *ui);
void
evisum_ui_effects_enabled_set(Evisum_Ui *ui, Eina_Bool enabled);
#endif

View File

@ -90,6 +90,7 @@ typedef struct
int dsleep;
} summary;
Elm_Layout *indicator;
Evisum_Ui *ui;
} Data;
@ -992,6 +993,8 @@ _process_list_feedback_cb(void *data, Ecore_Thread *thread EINA_UNUSED,
ecore_timer_add(1.0, _bring_in, pd);
pd->poll_count++;
if (evisum_ui_effects_enabled_get(pd->ui))
elm_object_signal_emit(pd->indicator, "indicator,show", "evisum/indicator");
}
static void
@ -1963,6 +1966,7 @@ _win_resize_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
evas_object_geometry_get(obj, NULL, NULL,
&ui->proc.width, &ui->proc.height);
evas_object_move(pd->indicator, 32, ui->proc.height - 32);
}
static void
@ -2084,6 +2088,30 @@ _win_del_cb(void *data EINA_UNUSED, Evas *e EINA_UNUSED,
pd = NULL;
}
static void
_effects_add(Data *pd, Evas_Object *win)
{
Elm_Layout *lay;
Evas_Object *pb;
if (evisum_ui_effects_enabled_get(pd->ui))
{
pb = elm_progressbar_add(win);
elm_object_style_set(pb, "wheel");
elm_progressbar_pulse_set(pb, 1);
elm_progressbar_pulse(pb, 1);
evas_object_show(pb);
pd->indicator = lay = elm_layout_add(win);
elm_layout_file_set(lay, PACKAGE_DATA_DIR"/themes/evisum.edj", "evisum");
elm_layout_content_set(lay, "evisum/indicator", pb);
evas_object_show(lay);
}
_win_alpha_set(pd);
evas_object_show(win);
}
static void
_init(Data *pd)
{
@ -2161,8 +2189,8 @@ ui_process_list_win_add(Evisum_Ui *ui)
_win_move_cb, pd);
evas_object_event_callback_add(tb, EVAS_CALLBACK_KEY_DOWN,
_win_key_down_cb, pd);
_win_alpha_set(pd);
evas_object_show(win);
_effects_add(pd, win);
_win_resize_cb(pd, NULL, win, NULL);
pd->thread = ecore_thread_feedback_run(_process_list,