summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarsten Haitzler (Rasterman) <raster@rasterman.com>2020-11-29 18:52:17 +0000
committerCarsten Haitzler (Rasterman) <raster@rasterman.com>2020-11-29 18:52:17 +0000
commit4b87781bae4a6ea70e5b6f38683e7c2ea0fd2c27 (patch)
treee9a5edab62219241492458de71cf28f2cfd4ce93
parentd9cffad0f85e6aaed49941ffa3d5482539a880a4 (diff)
scaling - remove custon x application dpi and move to central scaling
now have a base dpi (75) which is multiplied by the scale factor and then set in both xft.dpi and xsettings. also a checkbox to turn setting of this on or off so e can be told to not touch these at all.
-rw-r--r--data/config/default/e.src4
-rw-r--r--data/config/standard/e.src2
-rw-r--r--data/config/tiling/e.src2
-rw-r--r--src/bin/e_config.c17
-rw-r--r--src/bin/e_config.h9
-rw-r--r--src/bin/e_scale.c10
-rw-r--r--src/bin/e_xsettings.c20
-rw-r--r--src/modules/conf_theme/e_int_config_scale.c26
-rw-r--r--src/modules/conf_theme/e_int_config_xsettings.c30
9 files changed, 58 insertions, 62 deletions
diff --git a/data/config/default/e.src b/data/config/default/e.src
index a049d2715..c5ea4f3b9 100644
--- a/data/config/default/e.src
+++ b/data/config/default/e.src
@@ -180,11 +180,13 @@ group "E_Config" struct {
180 value "border_keyboard.resize.dy" uchar: 5; 180 value "border_keyboard.resize.dy" uchar: 5;
181 value "dbus_desktop" int: 1; 181 value "dbus_desktop" int: 1;
182 value "scale.min" double: 0.8; 182 value "scale.min" double: 0.8;
183 value "scale.max" double: 3.0; 183 value "scale.max" double: 5.0;
184 value "scale.factor" double: 1.0; 184 value "scale.factor" double: 1.0;
185 value "scale.base_dpi" int: 90; 185 value "scale.base_dpi" int: 90;
186 value "scale.use_dpi" uchar: 1; 186 value "scale.use_dpi" uchar: 1;
187 value "scale.use_custom" uchar: 0; 187 value "scale.use_custom" uchar: 0;
188 value "scale.xapp_base_dpi" int: 75;
189 value "scale.set_xapp_dpi" uchar: 1;
188 value "show_cursor" uchar: 1; 190 value "show_cursor" uchar: 1;
189 value "idle_cursor" uchar: 1; 191 value "idle_cursor" uchar: 1;
190 value "default_system_menu" string: ""; 192 value "default_system_menu" string: "";
diff --git a/data/config/standard/e.src b/data/config/standard/e.src
index fbd7ef59b..8691866da 100644
--- a/data/config/standard/e.src
+++ b/data/config/standard/e.src
@@ -178,6 +178,8 @@ group "E_Config" struct {
178 value "scale.base_dpi" int: 90; 178 value "scale.base_dpi" int: 90;
179 value "scale.use_dpi" uchar: 0; 179 value "scale.use_dpi" uchar: 0;
180 value "scale.use_custom" uchar: 0; 180 value "scale.use_custom" uchar: 0;
181 value "scale.xapp_base_dpi" int: 75;
182 value "scale.set_xapp_dpi" uchar: 1;
181 value "show_cursor" uchar: 1; 183 value "show_cursor" uchar: 1;
182 value "idle_cursor" uchar: 1; 184 value "idle_cursor" uchar: 1;
183 value "default_system_menu" string: ""; 185 value "default_system_menu" string: "";
diff --git a/data/config/tiling/e.src b/data/config/tiling/e.src
index ab420ac70..719dce665 100644
--- a/data/config/tiling/e.src
+++ b/data/config/tiling/e.src
@@ -178,6 +178,8 @@ group "E_Config" struct {
178 value "scale.base_dpi" int: 90; 178 value "scale.base_dpi" int: 90;
179 value "scale.use_dpi" uchar: 0; 179 value "scale.use_dpi" uchar: 0;
180 value "scale.use_custom" uchar: 0; 180 value "scale.use_custom" uchar: 0;
181 value "scale.xapp_base_dpi" int: 75;
182 value "scale.set_xapp_dpi" uchar: 1;
181 value "show_cursor" uchar: 1; 183 value "show_cursor" uchar: 1;
182 value "idle_cursor" uchar: 1; 184 value "idle_cursor" uchar: 1;
183 value "default_system_menu" string: ""; 185 value "default_system_menu" string: "";
diff --git a/src/bin/e_config.c b/src/bin/e_config.c
index dbc647f4d..abb05a0ea 100644
--- a/src/bin/e_config.c
+++ b/src/bin/e_config.c
@@ -907,8 +907,10 @@ _e_config_edd_init(Eina_Bool old)
907 E_CONFIG_VAL(D, T, scale.max, DOUBLE); 907 E_CONFIG_VAL(D, T, scale.max, DOUBLE);
908 E_CONFIG_VAL(D, T, scale.factor, DOUBLE); 908 E_CONFIG_VAL(D, T, scale.factor, DOUBLE);
909 E_CONFIG_VAL(D, T, scale.base_dpi, INT); 909 E_CONFIG_VAL(D, T, scale.base_dpi, INT);
910 E_CONFIG_VAL(D, T, scale.xapp_base_dpi, INT);
910 E_CONFIG_VAL(D, T, scale.use_dpi, UCHAR); 911 E_CONFIG_VAL(D, T, scale.use_dpi, UCHAR);
911 E_CONFIG_VAL(D, T, scale.use_custom, UCHAR); 912 E_CONFIG_VAL(D, T, scale.use_custom, UCHAR);
913 E_CONFIG_VAL(D, T, scale.set_xapp_dpi, UCHAR);
912 914
913 E_CONFIG_VAL(D, T, show_cursor, UCHAR); 915 E_CONFIG_VAL(D, T, show_cursor, UCHAR);
914 E_CONFIG_VAL(D, T, idle_cursor, UCHAR); 916 E_CONFIG_VAL(D, T, idle_cursor, UCHAR);
@@ -960,8 +962,6 @@ _e_config_edd_init(Eina_Bool old)
960 E_CONFIG_VAL(D, T, xsettings.xft_hinting, INT); 962 E_CONFIG_VAL(D, T, xsettings.xft_hinting, INT);
961 E_CONFIG_VAL(D, T, xsettings.xft_hint_style, STR); 963 E_CONFIG_VAL(D, T, xsettings.xft_hint_style, STR);
962 E_CONFIG_VAL(D, T, xsettings.xft_rgba, STR); 964 E_CONFIG_VAL(D, T, xsettings.xft_rgba, STR);
963 E_CONFIG_VAL(D, T, xsettings.xft_dpi.enabled, UCHAR);
964 E_CONFIG_VAL(D, T, xsettings.xft_dpi.value, INT);
965 E_CONFIG_VAL(D, T, xsettings.net_theme_name, STR); 965 E_CONFIG_VAL(D, T, xsettings.net_theme_name, STR);
966 E_CONFIG_VAL(D, T, xsettings.net_icon_theme_name, STR); 966 E_CONFIG_VAL(D, T, xsettings.net_icon_theme_name, STR);
967 E_CONFIG_VAL(D, T, xsettings.gtk_font_name, STR); 967 E_CONFIG_VAL(D, T, xsettings.gtk_font_name, STR);
@@ -1799,6 +1799,13 @@ e_config_load(void)
1799 e_config->touch_palm_detect = 1; 1799 e_config->touch_palm_detect = 1;
1800 e_config_save_queue(); 1800 e_config_save_queue();
1801 } 1801 }
1802 CONFIG_VERSION_CHECK(34)
1803 {
1804 CONFIG_VERSION_UPDATE_INFO(34);
1805 e_config->scale.xapp_base_dpi = 75;
1806 e_config->scale.set_xapp_dpi = 1;
1807 e_config_save_queue();
1808 }
1802 } 1809 }
1803 elm_config_profile_set(_e_config_profile); 1810 elm_config_profile_set(_e_config_profile);
1804 if (!e_config->remember_internal_fm_windows) 1811 if (!e_config->remember_internal_fm_windows)
@@ -1912,6 +1919,12 @@ e_config_load(void)
1912 E_CONFIG_LIMIT(e_config->dpms_suspend_timeout, 30, 5400); 1919 E_CONFIG_LIMIT(e_config->dpms_suspend_timeout, 30, 5400);
1913 E_CONFIG_LIMIT(e_config->dpms_off_timeout, 30, 5400); 1920 E_CONFIG_LIMIT(e_config->dpms_off_timeout, 30, 5400);
1914 1921
1922 E_CONFIG_LIMIT(e_config->scale.min, 0.1, 40.0);
1923 E_CONFIG_LIMIT(e_config->scale.max, 0.1, 40.0);
1924 E_CONFIG_LIMIT(e_config->scale.factor, 0.1, 40.0);
1925 E_CONFIG_LIMIT(e_config->scale.base_dpi, 10, 4000);
1926 E_CONFIG_LIMIT(e_config->scale.xapp_base_dpi, 10, 4000);
1927
1915 E_CONFIG_LIMIT(e_config->backlight.timer, 1, 3600); 1928 E_CONFIG_LIMIT(e_config->backlight.timer, 1, 3600);
1916 1929
1917 E_CONFIG_LIMIT(e_config->screensaver_timeout, 6, 5400); 1930 E_CONFIG_LIMIT(e_config->screensaver_timeout, 6, 5400);
diff --git a/src/bin/e_config.h b/src/bin/e_config.h
index 92757cac8..7473a28db 100644
--- a/src/bin/e_config.h
+++ b/src/bin/e_config.h
@@ -47,7 +47,7 @@ typedef enum
47/* increment this whenever a new set of config values are added but the users 47/* increment this whenever a new set of config values are added but the users
48 * config doesn't need to be wiped - simply new values need to be put in 48 * config doesn't need to be wiped - simply new values need to be put in
49 */ 49 */
50#define E_CONFIG_FILE_GENERATION 33 50#define E_CONFIG_FILE_GENERATION 34
51#define E_CONFIG_FILE_VERSION ((E_CONFIG_FILE_EPOCH * 1000000) + E_CONFIG_FILE_GENERATION) 51#define E_CONFIG_FILE_VERSION ((E_CONFIG_FILE_EPOCH * 1000000) + E_CONFIG_FILE_GENERATION)
52 52
53#define E_CONFIG_BINDINGS_VERSION 0 // DO NOT INCREMENT UNLESS YOU WANT TO WIPE ALL BINDINGS!!!!! 53#define E_CONFIG_BINDINGS_VERSION 0 // DO NOT INCREMENT UNLESS YOU WANT TO WIPE ALL BINDINGS!!!!!
@@ -326,8 +326,10 @@ struct _E_Config
326 double max; // GUI 326 double max; // GUI
327 double factor; // GUI 327 double factor; // GUI
328 int base_dpi; // GUI 328 int base_dpi; // GUI
329 int xapp_base_dpi; // GUI
329 unsigned char use_dpi; // GUI 330 unsigned char use_dpi; // GUI
330 unsigned char use_custom; // GUI 331 unsigned char use_custom; // GUI
332 unsigned char set_xapp_dpi; // GUI
331 } scale; 333 } scale;
332 334
333 unsigned char show_cursor; // GUI 335 unsigned char show_cursor; // GUI
@@ -396,11 +398,6 @@ struct _E_Config
396 unsigned char match_e17_icon_theme; // GUI 398 unsigned char match_e17_icon_theme; // GUI
397 int xft_antialias; 399 int xft_antialias;
398 int xft_hinting; 400 int xft_hinting;
399 struct
400 {
401 unsigned char enabled;
402 int value;
403 } xft_dpi; // GUI
404 const char *xft_hint_style; 401 const char *xft_hint_style;
405 const char *xft_rgba; 402 const char *xft_rgba;
406 const char *net_theme_name; // GUI 403 const char *net_theme_name; // GUI
diff --git a/src/bin/e_scale.c b/src/bin/e_scale.c
index 4b869cb1c..158dccf31 100644
--- a/src/bin/e_scale.c
+++ b/src/bin/e_scale.c
@@ -93,8 +93,12 @@ e_scale_update(void)
93 e_pointers_size_set(e_config->cursor_size); 93 e_pointers_size_set(e_config->cursor_size);
94#ifndef HAVE_WAYLAND_ONLY 94#ifndef HAVE_WAYLAND_ONLY
95 e_xsettings_config_update(); 95 e_xsettings_config_update();
96 snprintf(buf, sizeof(buf), "%i", (int)(75.0 * e_scale)); 96 if (e_config->scale.set_xapp_dpi)
97 ecore_x_resource_db_string_set("Xft.dpi", buf); 97 {
98 ecore_x_resource_db_flush(); 98 snprintf(buf, sizeof(buf), "%i",
99 (int)((double)e_config->scale.xapp_base_dpi * e_scale));
100 ecore_x_resource_db_string_set("Xft.dpi", buf);
101 ecore_x_resource_db_flush();
102 }
99#endif 103#endif
100} 104}
diff --git a/src/bin/e_xsettings.c b/src/bin/e_xsettings.c
index fda1a421a..4fe460837 100644
--- a/src/bin/e_xsettings.c
+++ b/src/bin/e_xsettings.c
@@ -589,26 +589,12 @@ _e_xsettings_font_set(void)
589static void 589static void
590_e_xsettings_dpi_set(void) 590_e_xsettings_dpi_set(void)
591{ 591{
592 if ((e_config->xsettings.xft_dpi.enabled) && 592 if (e_config->scale.set_xapp_dpi)
593 (e_config->xsettings.xft_dpi.value > 0))
594 _e_xsettings_int_set(_setting_xft_dpi, e_config->xsettings.xft_dpi.value * 1024, EINA_TRUE);
595 else
596 _e_xsettings_int_set(_setting_xft_dpi, 75.0 * e_scale * 1024, EINA_TRUE);
597}
598
599#if 0
600static void
601_e_xsettings_xft_set(void)
602{
603 if (e_config->scale.use_dpi)
604 _e_xsettings_int_set(_setting_xft_dpi, 593 _e_xsettings_int_set(_setting_xft_dpi,
605 e_config->scale.base_dpi, EINA_TRUE); // set 594 (double)e_config->scale.xapp_base_dpi * e_scale * 1024.0,
606 else 595 EINA_TRUE);
607 _e_xsettings_int_set(_setting_xft_dpi, 0, EINA_FALSE); // remove
608} 596}
609 597
610#endif
611
612static void 598static void
613_e_xsettings_cursor_path_set(void) 599_e_xsettings_cursor_path_set(void)
614{ 600{
diff --git a/src/modules/conf_theme/e_int_config_scale.c b/src/modules/conf_theme/e_int_config_scale.c
index b0d572864..b4e75016f 100644
--- a/src/modules/conf_theme/e_int_config_scale.c
+++ b/src/modules/conf_theme/e_int_config_scale.c
@@ -16,6 +16,7 @@ struct _E_Config_Dialog_Data
16 int use_dpi; 16 int use_dpi;
17 double min, max, factor; 17 double min, max, factor;
18 int use_mode, base_dpi, use_custom; 18 int use_mode, base_dpi, use_custom;
19 int xapp_base_dpi, set_xapp_dpi;
19 struct 20 struct
20 { 21 {
21 struct 22 struct
@@ -58,14 +59,12 @@ _scale_preview_sel_set(Evas_Object *ob, int sel)
58 cfdata->use_dpi = EINA_TRUE; 59 cfdata->use_dpi = EINA_TRUE;
59 cfdata->use_mode = 1; 60 cfdata->use_mode = 1;
60 cfdata->use_custom = 0; 61 cfdata->use_custom = 0;
61 fprintf(stderr, "custom 0\n");
62 } 62 }
63 else 63 else
64 { 64 {
65 cfdata->use_dpi = EINA_FALSE; 65 cfdata->use_dpi = EINA_FALSE;
66 cfdata->use_mode = 2; 66 cfdata->use_mode = 2;
67 cfdata->use_custom = 1; 67 cfdata->use_custom = 1;
68 fprintf(stderr, "custom 1\n");
69 } 68 }
70 EINA_LIST_FOREACH(cfdata->obs, l, ob2) 69 EINA_LIST_FOREACH(cfdata->obs, l, ob2)
71 { 70 {
@@ -206,6 +205,8 @@ _fill_data(E_Config_Dialog_Data *cfdata)
206 cfdata->max = e_config->scale.max; 205 cfdata->max = e_config->scale.max;
207 cfdata->factor = e_config->scale.factor; 206 cfdata->factor = e_config->scale.factor;
208 cfdata->base_dpi = e_config->scale.base_dpi; 207 cfdata->base_dpi = e_config->scale.base_dpi;
208 cfdata->xapp_base_dpi = e_config->scale.xapp_base_dpi;
209 cfdata->set_xapp_dpi = e_config->scale.set_xapp_dpi;
209} 210}
210 211
211static void 212static void
@@ -270,6 +271,8 @@ _basic_apply(E_Config_Dialog *cfd EINA_UNUSED, E_Config_Dialog_Data *cfdata)
270 e_config->scale.max = cfdata->max; 271 e_config->scale.max = cfdata->max;
271 e_config->scale.factor = cfdata->factor; 272 e_config->scale.factor = cfdata->factor;
272 e_config->scale.base_dpi = cfdata->base_dpi; 273 e_config->scale.base_dpi = cfdata->base_dpi;
274 e_config->scale.xapp_base_dpi = cfdata->xapp_base_dpi;
275 e_config->scale.set_xapp_dpi = cfdata->set_xapp_dpi;
273 276
274 fprintf(stderr, "dpi: %i, custom: %i, min: %3.3f, max: %3.3f, sc: %3.3f: base: %i\n", 277 fprintf(stderr, "dpi: %i, custom: %i, min: %3.3f, max: %3.3f, sc: %3.3f: base: %i\n",
275 e_config->scale.use_dpi, e_config->scale.use_custom, 278 e_config->scale.use_dpi, e_config->scale.use_custom,
@@ -329,7 +332,7 @@ _adv_create(E_Config_Dialog *cfd EINA_UNUSED, Evas *evas, E_Config_Dialog_Data *
329 ow = e_widget_label_add(evas, buff); 332 ow = e_widget_label_add(evas, buff);
330 cfdata->gui.adv.dpi_lbl = ow; 333 cfdata->gui.adv.dpi_lbl = ow;
331 e_widget_list_object_append(o, ow, 1, 1, 0.5); 334 e_widget_list_object_append(o, ow, 1, 1, 0.5);
332 ow = e_widget_slider_add(evas, 1, 0, _("%1.0f DPI"), 30, 600, 1, 0, 335 ow = e_widget_slider_add(evas, 1, 0, _("%1.0f DPI"), 20, 1000, 1, 0,
333 NULL, &(cfdata->base_dpi), 100); 336 NULL, &(cfdata->base_dpi), 100);
334 cfdata->gui.adv.dpi_slider = ow; 337 cfdata->gui.adv.dpi_slider = ow;
335 e_widget_list_object_append(o, ow, 1, 1, 0.5); 338 e_widget_list_object_append(o, ow, 1, 1, 0.5);
@@ -340,6 +343,17 @@ _adv_create(E_Config_Dialog *cfd EINA_UNUSED, Evas *evas, E_Config_Dialog_Data *
340 0, &(cfdata->factor), NULL, 100); 343 0, &(cfdata->factor), NULL, 100);
341 cfdata->gui.adv.custom_slider = ow; 344 cfdata->gui.adv.custom_slider = ow;
342 e_widget_list_object_append(o, ow, 1, 1, 0.5); 345 e_widget_list_object_append(o, ow, 1, 1, 0.5);
346
347 ow = e_widget_label_add(evas, _("Application Base DPI"));
348 e_widget_list_object_append(o, ow, 1, 1, 0.5);
349 ow = e_widget_slider_add(evas, 1, 0, _("%1.0f DPI"), 20, 1000, 1, 0,
350 NULL, &(cfdata->xapp_base_dpi), 100);
351 e_widget_list_object_append(o, ow, 1, 1, 0.5);
352
353 ow = e_widget_check_add(evas, _("Set Appliocation DPI"),
354 &(cfdata->set_xapp_dpi));
355 e_widget_list_object_append(o, ow, 1, 1, 0.5);
356
343 e_widget_toolbook_page_append(otb, NULL, _("Policy"), o, 357 e_widget_toolbook_page_append(otb, NULL, _("Policy"), o,
344 1, 0, 1, 0, 0.5, 0.0); 358 1, 0, 1, 0, 0.5, 0.0);
345 359
@@ -385,6 +399,8 @@ _adv_apply(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata)
385 e_config->scale.max = cfdata->max; 399 e_config->scale.max = cfdata->max;
386 e_config->scale.factor = cfdata->factor; 400 e_config->scale.factor = cfdata->factor;
387 e_config->scale.base_dpi = cfdata->base_dpi; 401 e_config->scale.base_dpi = cfdata->base_dpi;
402 e_config->scale.xapp_base_dpi = cfdata->xapp_base_dpi;
403 e_config->scale.set_xapp_dpi = cfdata->set_xapp_dpi;
388 404
389 e_win_no_reopen_set(cfd->dia->win, 1); 405 e_win_no_reopen_set(cfd->dia->win, 1);
390 e_remember_update(e_win_client_get(cfd->dia->win)); 406 e_remember_update(e_win_client_get(cfd->dia->win));
@@ -411,7 +427,9 @@ _adv_changed(E_Config_Dialog *cfd EINA_UNUSED, E_Config_Dialog_Data *cfdata)
411 (!EINA_DBL_EQ(cfdata->min, e_config->scale.min)) || 427 (!EINA_DBL_EQ(cfdata->min, e_config->scale.min)) ||
412 (!EINA_DBL_EQ(cfdata->max, e_config->scale.max)) || 428 (!EINA_DBL_EQ(cfdata->max, e_config->scale.max)) ||
413 (!EINA_DBL_EQ(cfdata->factor, e_config->scale.factor)) || 429 (!EINA_DBL_EQ(cfdata->factor, e_config->scale.factor)) ||
414 (cfdata->base_dpi != e_config->scale.base_dpi); 430 (cfdata->base_dpi != e_config->scale.base_dpi) ||
431 (cfdata->xapp_base_dpi != e_config->scale.xapp_base_dpi) ||
432 (e_config->scale.set_xapp_dpi != cfdata->set_xapp_dpi);
415} 433}
416 434
417static void 435static void
diff --git a/src/modules/conf_theme/e_int_config_xsettings.c b/src/modules/conf_theme/e_int_config_xsettings.c
index 89ac29ee1..a5888548b 100644
--- a/src/modules/conf_theme/e_int_config_xsettings.c
+++ b/src/modules/conf_theme/e_int_config_xsettings.c
@@ -14,8 +14,6 @@ struct _E_Config_Dialog_Data
14 Eina_List *widget_themes; 14 Eina_List *widget_themes;
15 const char *widget_theme; 15 const char *widget_theme;
16 int enable_xsettings; 16 int enable_xsettings;
17 int enable_xsettings_dpi;
18 int xsettings_dpi;
19 Eina_List *icon_themes; 17 Eina_List *icon_themes;
20 int match_e17_theme; 18 int match_e17_theme;
21 int match_e17_icon_theme; 19 int match_e17_icon_theme;
@@ -77,8 +75,6 @@ _create_data(E_Config_Dialog *cfd)
77 cfdata->match_e17_icon_theme = e_config->xsettings.match_e17_icon_theme; 75 cfdata->match_e17_icon_theme = e_config->xsettings.match_e17_icon_theme;
78 cfdata->match_e17_theme = e_config->xsettings.match_e17_theme; 76 cfdata->match_e17_theme = e_config->xsettings.match_e17_theme;
79 cfdata->enable_xsettings = e_config->xsettings.enabled; 77 cfdata->enable_xsettings = e_config->xsettings.enabled;
80 cfdata->enable_xsettings_dpi = e_config->xsettings.xft_dpi.enabled;
81 cfdata->xsettings_dpi = e_config->xsettings.xft_dpi.value;
82 cfdata->icon_theme = eina_stringshare_add(e_config->icon_theme); 78 cfdata->icon_theme = eina_stringshare_add(e_config->icon_theme);
83 cfdata->icon_overrides = e_config->icon_theme_overrides; 79 cfdata->icon_overrides = e_config->icon_theme_overrides;
84 //cfdata->enable_icon_theme = !!(e_config->icon_theme); 80 //cfdata->enable_icon_theme = !!(e_config->icon_theme);
@@ -135,12 +131,6 @@ _basic_check_changed(E_Config_Dialog *cfd EINA_UNUSED, E_Config_Dialog_Data *cfd
135 (strcmp(cfdata->icon_theme, e_config->icon_theme) != 0)) 131 (strcmp(cfdata->icon_theme, e_config->icon_theme) != 0))
136 return 1; 132 return 1;
137 133
138 if (cfdata->enable_xsettings_dpi != e_config->xsettings.xft_dpi.enabled)
139 return 1;
140
141 if (cfdata->xsettings_dpi != e_config->xsettings.xft_dpi.value)
142 return 1;
143
144 return 0; 134 return 0;
145} 135}
146 136
@@ -158,8 +148,6 @@ _basic_apply(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata)
158// e_config->xsettings.match_e17_icon_theme = cfdata->match_e17_icon_theme; 148// e_config->xsettings.match_e17_icon_theme = cfdata->match_e17_icon_theme;
159 e_config->xsettings.match_e17_theme = cfdata->match_e17_theme; 149 e_config->xsettings.match_e17_theme = cfdata->match_e17_theme;
160 e_config->xsettings.enabled = cfdata->enable_xsettings; 150 e_config->xsettings.enabled = cfdata->enable_xsettings;
161 e_config->xsettings.xft_dpi.enabled = cfdata->enable_xsettings_dpi;
162 e_config->xsettings.xft_dpi.value = cfdata->xsettings_dpi;
163 151
164 eina_stringshare_del(e_config->icon_theme); 152 eina_stringshare_del(e_config->icon_theme);
165 if (cfdata->icon_overrides || cfdata->match_e17_icon_theme) 153 if (cfdata->icon_overrides || cfdata->match_e17_icon_theme)
@@ -468,7 +456,7 @@ _icon_theme_changed(void *data, Evas_Object *o EINA_UNUSED)
468static Evas_Object * 456static Evas_Object *
469_basic_create(E_Config_Dialog *cfd EINA_UNUSED, Evas *evas, E_Config_Dialog_Data *cfdata) 457_basic_create(E_Config_Dialog *cfd EINA_UNUSED, Evas *evas, E_Config_Dialog_Data *cfdata)
470{ 458{
471 Evas_Object *otb, *ol, *ilist, *of, *ow, *oc, *os; 459 Evas_Object *otb, *ol, *ilist, *of, *ow, *oc;
472 struct _fill_icon_themes_data *d; 460 struct _fill_icon_themes_data *d;
473 unsigned int i; 461 unsigned int i;
474 462
@@ -502,22 +490,6 @@ _basic_create(E_Config_Dialog *cfd EINA_UNUSED, Evas *evas, E_Config_Dialog_Data
502 490
503 e_widget_check_widget_disable_on_unchecked_add(oc, ilist); 491 e_widget_check_widget_disable_on_unchecked_add(oc, ilist);
504 e_widget_check_widget_disable_on_unchecked_add(oc, ow); 492 e_widget_check_widget_disable_on_unchecked_add(oc, ow);
505
506 of = e_widget_framelist_add(evas, "X Application Settings", 0);
507
508 ow = e_widget_check_add(evas, _("Enable Custom DPI"), &(cfdata->enable_xsettings_dpi));
509 e_widget_framelist_object_append(of, ow);
510 e_widget_check_widget_disable_on_unchecked_add(oc, ow);
511
512 os = e_widget_slider_add(evas, 1, 0, _("%1.0f dpi"), 50, 400, 1, 0,
513 NULL, &(cfdata->xsettings_dpi), 90);
514 e_widget_framelist_object_append(of, os);
515
516 e_widget_check_widget_disable_on_unchecked_add(ow, os);
517 e_widget_check_widget_disable_on_unchecked_add(oc, os);
518
519 e_widget_list_object_append(ol, of, 1, 0, 0.5);
520
521#endif 493#endif
522 494
523 e_widget_toolbook_page_append(otb, NULL, _("GTK Applications"), ol, 495 e_widget_toolbook_page_append(otb, NULL, _("GTK Applications"), ol,