diff --git a/src/bin/e_config.c b/src/bin/e_config.c index 52c357c90..dd9b75379 100644 --- a/src/bin/e_config.c +++ b/src/bin/e_config.c @@ -958,11 +958,11 @@ _e_config_edd_init(Eina_Bool old) E_CONFIG_VAL(D, T, xsettings.xft_hinting, INT); E_CONFIG_VAL(D, T, xsettings.xft_hint_style, STR); E_CONFIG_VAL(D, T, xsettings.xft_rgba, STR); + E_CONFIG_VAL(D, T, xsettings.xft_dpi.enabled, UCHAR); + E_CONFIG_VAL(D, T, xsettings.xft_dpi.value, INT); E_CONFIG_VAL(D, T, xsettings.net_theme_name, STR); E_CONFIG_VAL(D, T, xsettings.net_icon_theme_name, STR); E_CONFIG_VAL(D, T, xsettings.gtk_font_name, STR); - E_CONFIG_VAL(D, T, xsettings.dpi.enabled, UCHAR); - E_CONFIG_VAL(D, T, xsettings.dpi.value, INT); E_CONFIG_VAL(D, T, update.check, UCHAR); E_CONFIG_VAL(D, T, update.later, UCHAR); diff --git a/src/bin/e_config.h b/src/bin/e_config.h index d8d7be59f..f95ccd8c8 100644 --- a/src/bin/e_config.h +++ b/src/bin/e_config.h @@ -47,7 +47,7 @@ typedef enum /* increment this whenever a new set of config values are added but the users * config doesn't need to be wiped - simply new values need to be put in */ -#define E_CONFIG_FILE_GENERATION 30 +#define E_CONFIG_FILE_GENERATION 31 #define E_CONFIG_FILE_VERSION ((E_CONFIG_FILE_EPOCH * 1000000) + E_CONFIG_FILE_GENERATION) #define E_CONFIG_BINDINGS_VERSION 0 // DO NOT INCREMENT UNLESS YOU WANT TO WIPE ALL BINDINGS!!!!! @@ -392,12 +392,6 @@ struct _E_Config unsigned char load_kde; // GUI } deskenv; - struct dpi - { - unsigned char enabled; - int value; - } dpi; - struct { unsigned char enabled; // GUI @@ -405,13 +399,17 @@ struct _E_Config unsigned char match_e17_icon_theme; // GUI int xft_antialias; int xft_hinting; + struct + { + unsigned char enabled; + int value; + } xft_dpi; // GUI const char *xft_hint_style; const char *xft_rgba; const char *net_theme_name; // GUI const char *net_theme_name_detected; // not saved const char *net_icon_theme_name; const char *gtk_font_name; - struct dpi dpi; } xsettings; struct diff --git a/src/bin/e_xsettings.c b/src/bin/e_xsettings.c index 971f42874..3a379f70b 100644 --- a/src/bin/e_xsettings.c +++ b/src/bin/e_xsettings.c @@ -595,10 +595,10 @@ _e_xsettings_font_set(void) 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); + if ((e_config->xsettings.xft_dpi.enabled) && (e_config->xsettings.xft_dpi.value > 0)) + _e_xsettings_int_set(_setting_xft_dpi, e_config->xsettings.xft_dpi.value * 1024, EINA_TRUE); else - _e_xsettings_int_set(_setting_xft_dpi, 96 * 1024, EINA_TRUE); + _e_xsettings_int_set(_setting_xft_dpi, 0, EINA_FALSE); } #if 0 diff --git a/src/modules/conf_theme/e_int_config_xsettings.c b/src/modules/conf_theme/e_int_config_xsettings.c index e814a9dc3..89ac29ee1 100644 --- a/src/modules/conf_theme/e_int_config_xsettings.c +++ b/src/modules/conf_theme/e_int_config_xsettings.c @@ -77,8 +77,8 @@ _create_data(E_Config_Dialog *cfd) cfdata->match_e17_icon_theme = e_config->xsettings.match_e17_icon_theme; cfdata->match_e17_theme = e_config->xsettings.match_e17_theme; cfdata->enable_xsettings = e_config->xsettings.enabled; - cfdata->enable_xsettings_dpi = e_config->xsettings.dpi.enabled; - cfdata->xsettings_dpi = e_config->xsettings.dpi.value; + cfdata->enable_xsettings_dpi = e_config->xsettings.xft_dpi.enabled; + cfdata->xsettings_dpi = e_config->xsettings.xft_dpi.value; cfdata->icon_theme = eina_stringshare_add(e_config->icon_theme); cfdata->icon_overrides = e_config->icon_theme_overrides; //cfdata->enable_icon_theme = !!(e_config->icon_theme); @@ -135,9 +135,10 @@ _basic_check_changed(E_Config_Dialog *cfd EINA_UNUSED, E_Config_Dialog_Data *cfd (strcmp(cfdata->icon_theme, e_config->icon_theme) != 0)) return 1; - if (cfdata->enable_xsettings_dpi != e_config->xsettings.dpi.enabled) + if (cfdata->enable_xsettings_dpi != e_config->xsettings.xft_dpi.enabled) return 1; - if (cfdata->xsettings_dpi != e_config->xsettings.dpi.value) + + if (cfdata->xsettings_dpi != e_config->xsettings.xft_dpi.value) return 1; return 0; @@ -157,8 +158,8 @@ _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; - e_config->xsettings.dpi.enabled = cfdata->enable_xsettings_dpi; - e_config->xsettings.dpi.value = cfdata->xsettings_dpi; + e_config->xsettings.xft_dpi.enabled = cfdata->enable_xsettings_dpi; + e_config->xsettings.xft_dpi.value = cfdata->xsettings_dpi; eina_stringshare_del(e_config->icon_theme); if (cfdata->icon_overrides || cfdata->match_e17_icon_theme)