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 :(
This commit is contained in:
Alastair Poole 2020-09-17 19:29:36 +01:00
parent 1183f221cc
commit 91d98c0183
2 changed files with 4 additions and 25 deletions

View File

@ -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;
}

View File

@ -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);