From 91d98c018379adda4742efd75cb69e1a8a7b4f0e Mon Sep 17 00:00:00 2001 From: Alastair Poole Date: Thu, 17 Sep 2020 19:29:36 +0100 Subject: [PATCH] xsettings: keep the logic "simple". No need for hook. Wrong use of the API. The widget already does this when checking various objects. Set DPI to a default if X application settings enabled else use the custom DPI. GTK applications only respect the changes if they are started when the xsettings is brought up. This is confusing. Sorry for the noise :( --- src/bin/e_xsettings.c | 12 +++--------- src/modules/conf_theme/e_int_config_xsettings.c | 17 +---------------- 2 files changed, 4 insertions(+), 25 deletions(-) diff --git a/src/bin/e_xsettings.c b/src/bin/e_xsettings.c index 7494e108b..971f42874 100644 --- a/src/bin/e_xsettings.c +++ b/src/bin/e_xsettings.c @@ -596,12 +596,9 @@ static void _e_xsettings_dpi_set(void) { if (e_config->xsettings.dpi.enabled) - { - _e_xsettings_int_set(_setting_xft_dpi, e_config->xsettings.dpi.value * 1024, EINA_TRUE); - return; - } - - _e_xsettings_int_set(_setting_xft_dpi, 96 * 1024, EINA_TRUE); + _e_xsettings_int_set(_setting_xft_dpi, e_config->xsettings.dpi.value * 1024, EINA_TRUE); + else + _e_xsettings_int_set(_setting_xft_dpi, 96 * 1024, EINA_TRUE); } #if 0 @@ -665,8 +662,6 @@ _e_xsettings_stop(void) { Setting *s; - _e_xsettings_dpi_set(); - if (!running) return; if (manager->timer_retry) @@ -735,7 +730,6 @@ e_xsettings_config_update(void) if (eio_op) eio_file_cancel(eio_op); if (!e_config->xsettings.enabled) { - _update_sequence(); _e_xsettings_stop(); return; } diff --git a/src/modules/conf_theme/e_int_config_xsettings.c b/src/modules/conf_theme/e_int_config_xsettings.c index 44b8a9aa5..e814a9dc3 100644 --- a/src/modules/conf_theme/e_int_config_xsettings.c +++ b/src/modules/conf_theme/e_int_config_xsettings.c @@ -157,12 +157,7 @@ _basic_apply(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata) // e_config->xsettings.match_e17_icon_theme = cfdata->match_e17_icon_theme; e_config->xsettings.match_e17_theme = cfdata->match_e17_theme; e_config->xsettings.enabled = cfdata->enable_xsettings; - - if (cfdata->enable_xsettings && cfdata->enable_xsettings_dpi) - e_config->xsettings.dpi.enabled = 1; - else - e_config->xsettings.dpi.enabled = 0; - + e_config->xsettings.dpi.enabled = cfdata->enable_xsettings_dpi; e_config->xsettings.dpi.value = cfdata->xsettings_dpi; eina_stringshare_del(e_config->icon_theme); @@ -469,14 +464,6 @@ _icon_theme_changed(void *data, Evas_Object *o EINA_UNUSED) _populate_icon_preview(cfdata); } -static void -_xsettings_changed(void *data, Evas_Object *o EINA_UNUSED) -{ - E_Config_Dialog_Data *cfdata = data; - - e_config_dialog_changed_set(cfdata->cfd, 1); -} - static Evas_Object * _basic_create(E_Config_Dialog *cfd EINA_UNUSED, Evas *evas, E_Config_Dialog_Data *cfdata) { @@ -520,11 +507,9 @@ _basic_create(E_Config_Dialog *cfd EINA_UNUSED, Evas *evas, E_Config_Dialog_Data ow = e_widget_check_add(evas, _("Enable Custom DPI"), &(cfdata->enable_xsettings_dpi)); e_widget_framelist_object_append(of, ow); e_widget_check_widget_disable_on_unchecked_add(oc, ow); - e_widget_on_change_hook_set(ow, _xsettings_changed, cfdata); os = e_widget_slider_add(evas, 1, 0, _("%1.0f dpi"), 50, 400, 1, 0, NULL, &(cfdata->xsettings_dpi), 90); - e_widget_on_change_hook_set(os, _xsettings_changed, cfdata); e_widget_framelist_object_append(of, os); e_widget_check_widget_disable_on_unchecked_add(ow, os);