diff --git a/src/bin/config.c b/src/bin/config.c index 97e10a9..78d9d27 100644 --- a/src/bin/config.c +++ b/src/bin/config.c @@ -318,6 +318,8 @@ config_sync(const Config *config_src, Config *config) config->changedir_to_current = config_src->changedir_to_current; config->emoji_dbl_width = config_src->emoji_dbl_width; config->shine = config_src->shine; + config->translucent = config_src->translucent; + config->opacity = config_src->opacity; } static void diff --git a/src/bin/main.c b/src/bin/main.c index c6dd7a3..35ddece 100644 --- a/src/bin/main.c +++ b/src/bin/main.c @@ -413,7 +413,7 @@ main_ipc_new(Ipc_Instance *inst) if (win_term_set(wn, term) < 0) return; - main_trans_update(config); + main_trans_update(); main_media_update(config); if (inst->pos) { @@ -607,7 +607,7 @@ _start(Ipc_Instance *instance, Eina_Bool need_scale_wizard) goto exit; } - main_trans_update(config); + main_trans_update(); main_media_update(config); win_sizing_handle(wn); win = win_evas_object_get(wn); diff --git a/src/bin/options_background.c b/src/bin/options_background.c index 530ade1..43241d2 100644 --- a/src/bin/options_background.c +++ b/src/bin/options_background.c @@ -76,8 +76,8 @@ _cb_op_video_trans_chg(void *data, config->translucent = elm_check_state_get(obj); elm_object_disabled_set(ctx->op_opacity, !config->translucent); - main_trans_update(config); config_save(config); + main_trans_update(); } static void @@ -91,8 +91,8 @@ _cb_op_video_opacity_chg(void *data, config->opacity = elm_slider_value_get(obj); if (!config->translucent) return; - main_trans_update(config); config_save(config); + main_trans_update(); } static void diff --git a/src/bin/win.c b/src/bin/win.c index 0b305e9..1ccc34d 100644 --- a/src/bin/win.c +++ b/src/bin/win.c @@ -1013,7 +1013,7 @@ win_evas_object_get(const Win *wn) } static void -_win_trans(Win *wn, Term *term, Eina_Bool trans) +_win_trans(Win *wn, Term *term) { Edje_Message_Int msg; Evas_Object *edje = elm_layout_edje_get(term->core); @@ -1025,7 +1025,7 @@ _win_trans(Win *wn, Term *term, Eina_Bool trans) edje_object_message_send(term->bg, EDJE_MESSAGE_INT, 1, &msg); edje_object_message_send(edje, EDJE_MESSAGE_INT, 1, &msg); - if (trans) + if (term->config->translucent) { elm_win_alpha_set(wn->win, EINA_TRUE); evas_object_hide(wn->backbg); @@ -1038,36 +1038,17 @@ _win_trans(Win *wn, Term *term, Eina_Bool trans) } void -main_trans_update(const Config *config) +main_trans_update(void) { Win *wn; - Term *term, *term2; + Term *term; Eina_List *l, *ll; EINA_LIST_FOREACH(wins, l, wn) { EINA_LIST_FOREACH(wn->terms, ll, term) { - if (term->config == config) - { - if (config->translucent) - _win_trans(wn, term, EINA_TRUE); - else - { - Eina_Bool trans_exists = EINA_FALSE; - - EINA_LIST_FOREACH(wn->terms, ll, term2) - { - if (term2->config->translucent) - { - trans_exists = EINA_TRUE; - break; - } - } - _win_trans(wn, term, trans_exists); - } - return; - } + _win_trans(wn, term); } } } @@ -5831,7 +5812,7 @@ void change_theme(Evas_Object *win, Config *config) if (l) l = eina_list_last(l); if (l) elm_theme_overlay_del(NULL, l->data); elm_theme_overlay_add(NULL, config_theme_path_get(config)); - main_trans_update(config); + main_trans_update(); } void @@ -6166,10 +6147,9 @@ _set_alpha(Config *config, const char *val, Eina_Bool save) config->translucent = EINA_TRUE; else config->translucent = EINA_FALSE; - main_trans_update(config); - if (save) config_save(config); + main_trans_update(); } static void diff --git a/src/bin/win.h b/src/bin/win.h index 2986dac..7b7d6dd 100644 --- a/src/bin/win.h +++ b/src/bin/win.h @@ -90,6 +90,6 @@ void term_apply_shine(Term *term, int shine); void background_set_shine(Config *config, Evas_Object *bg); -void main_trans_update(const Config *config); +void main_trans_update(); #endif