fixed plugin image size problem
[framework/uifw/elementary.git] / src / bin / config.c
index 2b00423..3f371a9 100644 (file)
@@ -51,10 +51,10 @@ struct _Fonts_Data
 #define ELM_LIST_DISABLE(list)                         \
   do                                                   \
     {                                                  \
-       const Eina_List *l = elm_list_items_get(list);  \
-       if (l)                                          \
+       const Eina_List *_l = elm_list_items_get(list); \
+       if (_l)                                         \
          {                                             \
-            elm_list_item_show(eina_list_data_get(l)); \
+            elm_list_item_show(eina_list_data_get(_l));\
             elm_object_disabled_set(list, EINA_TRUE);  \
          }                                             \
     }                                                  \
@@ -81,20 +81,18 @@ struct _Fonts_Data
        evas_object_size_hint_weight_set(lb, EVAS_HINT_EXPAND, 0.0); \
        evas_object_size_hint_align_set(lb, EVAS_HINT_FILL, 0.5);    \
        elm_object_text_set(lb, label);                              \
-       elm_object_content_set(pd, lb);                               \
+       elm_object_content_set(pd, lb);                              \
        evas_object_show(lb);                                        \
     }                                                               \
   while (0)
 
-static Evas_Object *main_win = NULL;
-
 static int quiet = 0;
 static int interactive = 1;
 
 static const char *theme_set = NULL;
 static const char *finger_size_set = NULL;
 static const char *scale_set = NULL;
-static Fonts_Data fdata = {NULL, NULL, NULL, NULL, NULL, NULL, 0.0};
+static Fonts_Data fndata = {NULL, NULL, NULL, NULL, NULL, NULL, 0.0};
 
 static void
 _font_styles_list_sel(void *data   __UNUSED__,
@@ -109,7 +107,7 @@ config_exit(void *data       __UNUSED__,
    Elm_Text_Class_Data *tc_data;
    Elm_Font_Size_Data *sd;
 
-   EINA_LIST_FREE(fdata.text_classes, tc_data)
+   EINA_LIST_FREE(fndata.text_classes, tc_data)
      {
         eina_stringshare_del(tc_data->name);
         eina_stringshare_del(tc_data->desc);
@@ -118,26 +116,26 @@ config_exit(void *data       __UNUSED__,
         free(tc_data);
      }
 
-   elm_font_available_hash_del(fdata.font_hash);
-   fdata.font_hash = NULL;
+   elm_font_available_hash_del(fndata.font_hash);
+   fndata.font_hash = NULL;
 
-   EINA_LIST_FREE(fdata.font_px_list, sd)
+   EINA_LIST_FREE(fndata.font_px_list, sd)
      {
         eina_stringshare_del(sd->size_str);
         free(sd);
      }
 
-   EINA_LIST_FREE(fdata.font_scale_list, sd)
+   EINA_LIST_FREE(fndata.font_scale_list, sd)
      {
         eina_stringshare_del(sd->size_str);
         free(sd);
      }
 
-   if (fdata.cur_font) eina_stringshare_del(fdata.cur_font);
-   fdata.cur_font = NULL;
+   if (fndata.cur_font) eina_stringshare_del(fndata.cur_font);
+   fndata.cur_font = NULL;
 
-   if (fdata.cur_style) eina_stringshare_del(fdata.cur_style);
-   fdata.cur_style = NULL;
+   if (fndata.cur_style) eina_stringshare_del(fndata.cur_style);
+   fndata.cur_style = NULL;
 
    elm_config_save();
    elm_exit(); /* exit the program's main loop that runs in elm_run() */
@@ -149,10 +147,10 @@ sb_change(void *data       __UNUSED__,
           void *event_info __UNUSED__)
 {
    Eina_Bool val = elm_check_state_get(obj);
-   Eina_Bool sb = elm_scroll_bounce_enabled_get();
+   Eina_Bool sb = elm_config_scroll_bounce_enabled_get();
 
    if (val == sb) return;
-   elm_scroll_bounce_enabled_set(val);
+   elm_config_scroll_bounce_enabled_set(val);
    elm_config_all_flush();
 
    /*TODO: enable/disable subordinate sliders (make 'em support it 1st)*/
@@ -175,11 +173,11 @@ bf_change(void *data       __UNUSED__,
           Evas_Object     *obj,
           void *event_info __UNUSED__)
 {
-   double bf = elm_scroll_bounce_friction_get();
+   double bf = elm_config_scroll_bounce_friction_get();
    double val = elm_slider_value_get(obj);
 
    if (bf == val) return;
-   elm_scroll_bounce_friction_set(val);
+   elm_config_scroll_bounce_friction_set(val);
    elm_config_all_flush();
 }
 
@@ -200,11 +198,11 @@ ps_change(void *data       __UNUSED__,
           Evas_Object     *obj,
           void *event_info __UNUSED__)
 {
-   double ps = elm_scroll_page_scroll_friction_get();
+   double ps = elm_config_scroll_page_scroll_friction_get();
    double val = elm_slider_value_get(obj);
 
    if (ps == val) return;
-   elm_scroll_page_scroll_friction_set(val);
+   elm_config_scroll_page_scroll_friction_set(val);
    elm_config_all_flush();
 }
 
@@ -225,11 +223,11 @@ bis_change(void *data       __UNUSED__,
            Evas_Object     *obj,
            void *event_info __UNUSED__)
 {
-   double bis = elm_scroll_bring_in_scroll_friction_get();
+   double bis = elm_config_scroll_bring_in_scroll_friction_get();
    double val = elm_slider_value_get(obj);
 
    if (bis == val) return;
-   elm_scroll_bring_in_scroll_friction_set(val);
+   elm_config_scroll_bring_in_scroll_friction_set(val);
    elm_config_all_flush();
 }
 
@@ -250,11 +248,11 @@ zf_change(void *data       __UNUSED__,
           Evas_Object     *obj,
           void *event_info __UNUSED__)
 {
-   double zf = elm_scroll_zoom_friction_get();
+   double zf = elm_config_scroll_zoom_friction_get();
    double val = elm_slider_value_get(obj);
 
    if (zf == val) return;
-   elm_scroll_zoom_friction_set(val);
+   elm_config_scroll_zoom_friction_set(val);
    elm_config_all_flush();
 }
 
@@ -264,10 +262,10 @@ ts_change(void *data       __UNUSED__,
           void *event_info __UNUSED__)
 {
    Eina_Bool val = elm_check_state_get(obj);
-   Eina_Bool sb = elm_scroll_thumbscroll_enabled_get();
+   Eina_Bool sb = elm_config_scroll_thumbscroll_enabled_get();
 
    if (val == sb) return;
-   elm_scroll_thumbscroll_enabled_set(val);
+   elm_config_scroll_thumbscroll_enabled_set(val);
    elm_config_all_flush();
 
    /*TODO: enable/disable subordinate sliders (make 'em support it 1st)*/
@@ -290,11 +288,11 @@ tst_change(void *data       __UNUSED__,
            Evas_Object     *obj,
            void *event_info __UNUSED__)
 {
-   double tst = elm_scroll_thumbscroll_threshold_get();
+   double tst = elm_config_scroll_thumbscroll_threshold_get();
    double val = elm_slider_value_get(obj);
 
    if (tst == val) return;
-   elm_scroll_thumbscroll_threshold_set(val);
+   elm_config_scroll_thumbscroll_threshold_set(val);
    elm_config_all_flush();
 }
 
@@ -315,11 +313,11 @@ tsmt_change(void *data       __UNUSED__,
             Evas_Object     *obj,
             void *event_info __UNUSED__)
 {
-   double tsmt = elm_scroll_thumbscroll_momentum_threshold_get();
+   double tsmt = elm_config_scroll_thumbscroll_momentum_threshold_get();
    double val = elm_slider_value_get(obj);
 
    if (tsmt == val) return;
-   elm_scroll_thumbscroll_momentum_threshold_set(val);
+   elm_config_scroll_thumbscroll_momentum_threshold_set(val);
    elm_config_all_flush();
 }
 
@@ -340,11 +338,11 @@ tsf_change(void *data       __UNUSED__,
            Evas_Object     *obj,
            void *event_info __UNUSED__)
 {
-   double tsf = elm_scroll_thumbscroll_friction_get();
+   double tsf = elm_config_scroll_thumbscroll_friction_get();
    double val = elm_slider_value_get(obj);
 
    if (tsf == val) return;
-   elm_scroll_thumbscroll_friction_set(val);
+   elm_config_scroll_thumbscroll_friction_set(val);
    elm_config_all_flush();
 }
 
@@ -365,11 +363,11 @@ tsbf_change(void *data       __UNUSED__,
             Evas_Object     *obj,
             void *event_info __UNUSED__)
 {
-   double tsbf = elm_scroll_thumbscroll_border_friction_get();
+   double tsbf = elm_config_scroll_thumbscroll_border_friction_get();
    double val = elm_slider_value_get(obj);
 
    if (tsbf == val) return;
-   elm_scroll_thumbscroll_border_friction_set(val);
+   elm_config_scroll_thumbscroll_border_friction_set(val);
    elm_config_all_flush();
 }
 
@@ -390,11 +388,11 @@ tssf_change(void *data       __UNUSED__,
             Evas_Object     *obj,
             void *event_info __UNUSED__)
 {
-   double tssf = elm_scroll_thumbscroll_sensitivity_friction_get();
+   double tssf = elm_config_scroll_thumbscroll_sensitivity_friction_get();
    double val = elm_slider_value_get(obj);
 
    if (tssf == val) return;
-   elm_scroll_thumbscroll_sensitivity_friction_set(val);
+   elm_config_scroll_thumbscroll_sensitivity_friction_set(val);
    elm_config_all_flush();
 }
 
@@ -403,12 +401,12 @@ cf_enable(void *data,
           Evas_Object     *obj,
           void *event_info __UNUSED__)
 {
-   Eina_Bool cf = elm_cache_flush_enabled_get();
+   Eina_Bool cf = elm_config_cache_flush_enabled_get();
    Eina_Bool val = elm_check_state_get(obj);
 
    if (cf == val) return;
    elm_object_disabled_set((Evas_Object *)data, !val);
-   elm_cache_flush_enabled_set(val);
+   elm_config_cache_flush_enabled_set(val);
    elm_config_all_flush();
 }
 
@@ -429,11 +427,11 @@ cf_change(void *data       __UNUSED__,
           Evas_Object     *obj,
           void *event_info __UNUSED__)
 {
-   double cf = elm_cache_flush_interval_get();
+   double cf = elm_config_cache_flush_interval_get();
    double val = elm_slider_value_get(obj);
 
    if (cf == val) return;
-   elm_cache_flush_interval_set(val);
+   elm_config_cache_flush_interval_set(val);
    elm_config_all_flush();
 }
 
@@ -454,11 +452,11 @@ fc_change(void *data       __UNUSED__,
           Evas_Object     *obj,
           void *event_info __UNUSED__)
 {
-   double font_cache = elm_cache_font_cache_size_get();
+   double font_cache = elm_config_cache_font_cache_size_get();
    double val = elm_slider_value_get(obj);
 
    if (font_cache == val) return;
-   elm_cache_font_cache_size_set(val * 1024);
+   elm_config_cache_font_cache_size_set(val * 1024);
    elm_config_all_flush();
 }
 
@@ -479,11 +477,11 @@ ic_change(void *data       __UNUSED__,
           Evas_Object     *obj,
           void *event_info __UNUSED__)
 {
-   double image_cache = elm_cache_image_cache_size_get();
+   double image_cache = elm_config_cache_image_cache_size_get();
    double val = elm_slider_value_get(obj);
 
    if (image_cache == val) return;
-   elm_cache_image_cache_size_set(val * 1024);
+   elm_config_cache_image_cache_size_set(val * 1024);
    elm_config_all_flush();
 }
 
@@ -504,11 +502,11 @@ sc_change(void *data       __UNUSED__,
           Evas_Object     *obj,
           void *event_info __UNUSED__)
 {
-   double scale = elm_scale_get();
+   double scale = elm_config_scale_get();
    double val = elm_slider_value_get(obj);
 
    if (scale == val) return;
-   elm_scale_set(val);
+   elm_config_scale_set(val);
    elm_config_all_flush();
 }
 
@@ -529,11 +527,11 @@ fs_change(void *data       __UNUSED__,
           Evas_Object     *obj,
           void *event_info __UNUSED__)
 {
-   double fs = elm_finger_size_get();
+   double fs = elm_config_finger_size_get();
    double val = elm_slider_value_get(obj);
 
    if (fs == val) return;
-   elm_finger_size_set(val);
+   elm_config_finger_size_set(val);
    elm_config_all_flush();
 }
 
@@ -554,11 +552,11 @@ efc_change(void *data       __UNUSED__,
            Evas_Object     *obj,
            void *event_info __UNUSED__)
 {
-   double efc = elm_cache_edje_file_cache_size_get();
+   double efc = elm_config_cache_edje_file_cache_size_get();
    double val = elm_slider_value_get(obj);
 
    if (efc == val) return;
-   elm_cache_edje_file_cache_size_set(val);
+   elm_config_cache_edje_file_cache_size_set(val);
    elm_config_all_flush();
 }
 
@@ -579,11 +577,11 @@ ecc_change(void *data       __UNUSED__,
            Evas_Object     *obj,
            void *event_info __UNUSED__)
 {
-   double ecc = elm_cache_edje_collection_cache_size_get();
+   double ecc = elm_config_cache_edje_collection_cache_size_get();
    double val = elm_slider_value_get(obj);
 
    if (ecc == val) return;
-   elm_cache_edje_collection_cache_size_set(val);
+   elm_config_cache_edje_collection_cache_size_set(val);
    elm_config_all_flush();
 }
 
@@ -633,7 +631,7 @@ _status_config(Evas_Object *win,
    elm_slider_unit_format_set(sl, "%1.2f");
    elm_slider_indicator_format_set(sl, "%1.2f");
    elm_slider_min_max_set(sl, 0.25, 5.0);
-   elm_slider_value_set(sl, elm_scale_get());
+   elm_slider_value_set(sl, elm_config_scale_get());
    elm_box_pack_end(bx, sl);
    evas_object_show(sl);
 
@@ -656,7 +654,7 @@ _status_config(Evas_Object *win,
    elm_slider_unit_format_set(sl, "%1.0f");
    elm_slider_indicator_format_set(sl, "%1.0f");
    elm_slider_min_max_set(sl, 5, 200);
-   elm_slider_value_set(sl, elm_finger_size_get());
+   elm_slider_value_set(sl, elm_config_finger_size_get());
    elm_box_pack_end(bx, sl);
    evas_object_show(sl);
 
@@ -784,13 +782,14 @@ _font_overlay_set_all(void            *data,
    if (!list_it) return;
    tc_data = elm_object_item_data_get(list_it);
 
-   EINA_LIST_FOREACH(fdata.text_classes, l, tc)
+   EINA_LIST_FOREACH(fndata.text_classes, l, tc)
      {
         eina_stringshare_replace(&tc->font, tc_data->font);
         eina_stringshare_replace(&tc->style, tc_data->style);
         tc->size = tc_data->size;
      }
 
+   elm_config_all_flush();
    elm_config_save();
 }
 
@@ -814,19 +813,20 @@ _font_overlay_reset(void            *data,
    fstyles = evas_object_data_get(win, "font_styles_list");
    fsizes = evas_object_data_get(win, "font_sizes_list");
 
-   elm_font_overlay_unset(tc_data->name);
+   elm_config_font_overlay_unset(tc_data->name);
 
-   eina_stringshare_replace(&fdata.cur_font, NULL);
+   eina_stringshare_replace(&fndata.cur_font, NULL);
    eina_stringshare_replace(&tc_data->font, NULL);
-   eina_stringshare_replace(&fdata.cur_style, NULL);
+   eina_stringshare_replace(&fndata.cur_style, NULL);
    eina_stringshare_replace(&tc_data->style, NULL);
-   fdata.cur_size = 0.0;
+   fndata.cur_size = 0.0;
    tc_data->size = 0.0;
 
    ELM_LIST_DISABLE(fnames);
    ELM_LIST_DISABLE(fstyles);
    ELM_LIST_DISABLE(fsizes);
 
+   elm_config_all_flush();
    elm_config_save();
 }
 
@@ -841,13 +841,13 @@ _font_overlay_reset_all(void            *data,
    Eina_List *l;
 
    win = data;
-   eina_stringshare_replace(&fdata.cur_font, NULL);
-   eina_stringshare_replace(&fdata.cur_style, NULL);
-   fdata.cur_size = 0.0;
+   eina_stringshare_replace(&fndata.cur_font, NULL);
+   eina_stringshare_replace(&fndata.cur_style, NULL);
+   fndata.cur_size = 0.0;
 
-   EINA_LIST_FOREACH(fdata.text_classes, l, tc_data)
+   EINA_LIST_FOREACH(fndata.text_classes, l, tc_data)
      {
-        elm_font_overlay_unset(tc_data->name);
+        elm_config_font_overlay_unset(tc_data->name);
 
         eina_stringshare_replace(&tc_data->font, NULL);
         eina_stringshare_replace(&tc_data->style, NULL);
@@ -866,6 +866,7 @@ _font_overlay_reset_all(void            *data,
    ELM_LIST_DISABLE(fstyles);
    ELM_LIST_DISABLE(fsizes);
 
+   elm_config_all_flush();
    elm_config_save();
 }
 
@@ -877,7 +878,7 @@ _font_overlay_change(void *data       __UNUSED__,
    Elm_Text_Class_Data *tc_data;
    Eina_List *l;
 
-   EINA_LIST_FOREACH(fdata.text_classes, l, tc_data)
+   EINA_LIST_FOREACH(fndata.text_classes, l, tc_data)
      {
         if (tc_data->font)
           {
@@ -885,17 +886,17 @@ _font_overlay_change(void *data       __UNUSED__,
 
              name = elm_font_fontconfig_name_get(tc_data->font,
                                                  tc_data->style);
-             elm_font_overlay_set(tc_data->name, name,
-                                  tc_data->size ? tc_data->size : -100);
+             elm_config_font_overlay_set(tc_data->name, name,
+                                         tc_data->size ? tc_data->size : -100);
              elm_font_fontconfig_name_free(name);
           }
         else
-          elm_font_overlay_unset(tc_data->name);
+          elm_config_font_overlay_unset(tc_data->name);
      }
 
-   elm_config_save();
-   elm_font_overlay_apply();
+   elm_config_font_overlay_apply();
    elm_config_all_flush();
+   elm_config_save();
 
    /* TODO: apply hinting */
 }
@@ -913,25 +914,25 @@ _config_display_update(Evas_Object *win)
    Elm_Theme *th;
    int fs;
 
-   scale = elm_scale_get();
-   fs = elm_finger_size_get();
-   flush_interval = elm_cache_flush_interval_get();
-   font_c = elm_cache_font_cache_size_get();
-   image_c = elm_cache_image_cache_size_get();
-   edje_file_c = elm_cache_edje_file_cache_size_get();
-   edje_col_c = elm_cache_edje_collection_cache_size_get();
-
-   s_bounce = elm_scroll_bounce_enabled_get();
-   s_bounce_friction = elm_scroll_bounce_friction_get();
-   ts = elm_scroll_thumbscroll_enabled_get();
-   ts_threshould = elm_scroll_thumbscroll_threshold_get();
-   ts_momentum_threshold = elm_scroll_thumbscroll_momentum_threshold_get();
-   ts_friction = elm_scroll_thumbscroll_friction_get();
-   ts_border_friction = elm_scroll_thumbscroll_border_friction_get();
-   ts_sensitivity_friction = elm_scroll_thumbscroll_sensitivity_friction_get();
-   page_friction = elm_scroll_page_scroll_friction_get();
-   bring_in_friction = elm_scroll_bring_in_scroll_friction_get();
-   zoom_friction = elm_scroll_zoom_friction_get();
+   scale = elm_config_scale_get();
+   fs = elm_config_finger_size_get();
+   flush_interval = elm_config_cache_flush_interval_get();
+   font_c = elm_config_cache_font_cache_size_get();
+   image_c = elm_config_cache_image_cache_size_get();
+   edje_file_c = elm_config_cache_edje_file_cache_size_get();
+   edje_col_c = elm_config_cache_edje_collection_cache_size_get();
+
+   s_bounce = elm_config_scroll_bounce_enabled_get();
+   s_bounce_friction = elm_config_scroll_bounce_friction_get();
+   ts = elm_config_scroll_thumbscroll_enabled_get();
+   ts_threshould = elm_config_scroll_thumbscroll_threshold_get();
+   ts_momentum_threshold = elm_config_scroll_thumbscroll_momentum_threshold_get();
+   ts_friction = elm_config_scroll_thumbscroll_friction_get();
+   ts_border_friction = elm_config_scroll_thumbscroll_border_friction_get();
+   ts_sensitivity_friction = elm_config_scroll_thumbscroll_sensitivity_friction_get();
+   page_friction = elm_config_scroll_page_scroll_friction_get();
+   bring_in_friction = elm_config_scroll_bring_in_scroll_friction_get();
+   zoom_friction = elm_config_scroll_zoom_friction_get();
 
    /* gotta update root windows' atoms */
    elm_slider_value_set(evas_object_data_get(win, "scale_slider"), scale);
@@ -986,7 +987,7 @@ _config_display_update(Evas_Object *win)
    elm_theme_free(th);
    eina_stringshare_del(curr_theme);
 
-   curr_engine = elm_engine_get();
+   curr_engine = elm_config_engine_get();
    l_items = elm_list_items_get(evas_object_data_get(win, "engines_list"));
    EINA_LIST_FOREACH(l_items, l, list_it)
      {
@@ -1002,7 +1003,7 @@ static void
 _profile_change_do(Evas_Object *win,
                    const char  *profile)
 {
-   elm_profile_set(profile);
+   elm_config_profile_set(profile);
    elm_config_all_flush();
    _config_display_update(win);
 }
@@ -1028,10 +1029,11 @@ _engine_use(void            *data,
    li = data;
    selection = elm_object_item_data_get(elm_list_selected_item_get(li));
 
-   if (!strcmp(elm_engine_get(), selection))
+   if (!strcmp(elm_config_engine_get(), selection))
      return;
 
-   elm_engine_set(selection);
+   elm_config_engine_set(selection);
+   elm_config_all_flush();
    elm_config_save(); /* make sure new engine has its data dir */
 }
 
@@ -1046,7 +1048,7 @@ _profile_use(void            *data,
 
    li = data;
    selection = elm_object_item_data_get(elm_list_selected_item_get(li));
-   profile = elm_profile_current_get();
+   profile = elm_config_profile_get();
 
    if (!profile)
      {
@@ -1057,9 +1059,10 @@ _profile_use(void            *data,
    if (!strcmp(profile, selection))
      return;
 
-   elm_profile_set(selection); /* just here to update info for getters below */
+   elm_config_profile_set(selection); /* just here to update info for getters below */
 
    _profile_change_do(elm_object_top_widget_get(li), selection);
+   elm_config_all_flush();
    elm_config_save(); /* make sure new profile has its data dir */
 }
 
@@ -1082,20 +1085,22 @@ _profile_reset(void            *data,
 
    li = data;
    selection = elm_object_item_data_get(elm_list_selected_item_get(li));
-   curr = elm_profile_current_get();
+   curr = elm_config_profile_get();
 
+   elm_config_all_flush();
    elm_config_save(); /* dump config into old profile's data dir */
 
-   pdir = elm_profile_dir_get(selection, EINA_TRUE);
+   pdir = elm_config_profile_dir_get(selection, EINA_TRUE);
    if (!pdir)
      return;
 
    ecore_file_recursive_rm(pdir);
-   elm_profile_dir_free(pdir);
+   elm_config_profile_dir_free(pdir);
 
    elm_config_reload();
 
    _profile_change_do(elm_object_top_widget_get(li), curr);
+   elm_config_all_flush();
    elm_config_save(); /* make sure new profile has its data dir */
 }
 
@@ -1111,7 +1116,8 @@ _theme_use(void *data       __UNUSED__,
 
    th = elm_object_theme_get(sample);
    defth = elm_theme_get(th);
-   elm_theme_all_set(defth);
+   elm_theme_set(NULL, defth);
+   elm_config_all_flush();
    elm_config_save();
 }
 
@@ -1177,7 +1183,7 @@ _status_config_sizing(Evas_Object *win,
    elm_slider_unit_format_set(sl, "%1.2f");
    elm_slider_indicator_format_set(sl, "%1.2f");
    elm_slider_min_max_set(sl, 0.25, 5.0);
-   elm_slider_value_set(sl, elm_scale_get());
+   elm_slider_value_set(sl, elm_config_scale_get());
    elm_box_pack_end(bx, sl);
    evas_object_show(sl);
 
@@ -1201,7 +1207,7 @@ _status_config_sizing(Evas_Object *win,
    elm_slider_unit_format_set(sl, "%1.0f");
    elm_slider_indicator_format_set(sl, "%1.0f");
    elm_slider_min_max_set(sl, 5, 200);
-   elm_slider_value_set(sl, elm_finger_size_get());
+   elm_slider_value_set(sl, elm_config_finger_size_get());
    elm_box_pack_end(bx, sl);
    evas_object_show(sl);
 
@@ -1485,11 +1491,11 @@ _font_preview_update(Evas_Object *win)
    Evas_Font_Size sz;
    char *name;
 
-   if (!fdata.cur_font)
+   if (!fndata.cur_font)
      return;
 
-   name = elm_font_fontconfig_name_get(fdata.cur_font, fdata.cur_style);
-   sz = fdata.cur_size;
+   name = elm_font_fontconfig_name_get(fndata.cur_font, fndata.cur_style);
+   sz = fndata.cur_size;
 
    if (sz < 0)
      sz = (-sz * 10) / 100;
@@ -1522,11 +1528,11 @@ _font_classes_list_sel(void *data   __UNUSED__,
 
    EINA_LIST_FOREACH(f_names_items, l, list_it)
      {
-        const char *l;
+        const char *s;
 
-        l = elm_object_item_text_get(list_it);
+        s = elm_object_item_text_get(list_it);
 
-        if (tc_data->font && !strcmp(l, tc_data->font))
+        if (tc_data->font && !strcmp(s, tc_data->font))
           {
              elm_list_item_selected_set(list_it, EINA_TRUE);
              elm_list_item_show(list_it);
@@ -1558,14 +1564,14 @@ _font_names_list_sel(void *data   __UNUSED__,
    if (!fc_list_it) return;  /* should not happen, fonts list disabled in
                          * this case */
 
-   eina_stringshare_replace(&fdata.cur_font, sel_font);
+   eina_stringshare_replace(&fndata.cur_font, sel_font);
 
    tc_data = elm_object_item_data_get(fc_list_it);
    if (tc_data->font) eina_stringshare_del(tc_data->font);
-   if (fdata.cur_font) tc_data->font = eina_stringshare_ref(fdata.cur_font);
+   if (fndata.cur_font) tc_data->font = eina_stringshare_ref(fndata.cur_font);
 
    /* load styles list */
-   efp = eina_hash_find(fdata.font_hash, sel_font);
+   efp = eina_hash_find(fndata.font_hash, sel_font);
 
    ELM_LIST_ENABLE(style_list);
    elm_list_clear(style_list);
@@ -1614,13 +1620,13 @@ _font_styles_list_sel(void *data   __UNUSED__,
    list_it = elm_list_selected_item_get(fc_list);
    if (!list_it) return;  /* should not happen */
 
-   eina_stringshare_replace(&fdata.cur_style,
+   eina_stringshare_replace(&fndata.cur_style,
                             elm_object_item_text_get(event_info));
    ELM_LIST_ENABLE(fs_list);
 
    tc_data = elm_object_item_data_get(list_it);
    eina_stringshare_del(tc_data->style);
-   tc_data->style = eina_stringshare_ref(fdata.cur_style);
+   tc_data->style = eina_stringshare_ref(fndata.cur_style);
 
    evas_event_freeze(evas_object_evas_get(fs_list));
    edje_freeze();
@@ -1663,10 +1669,10 @@ _font_sizes_list_sel(void *data       __UNUSED__,
    if (!list_it) return;  /* should not happen */
 
    sd = elm_object_item_data_get(event_info);
-   fdata.cur_size = sd->size;
+   fndata.cur_size = sd->size;
 
    tc_data = elm_object_item_data_get(list_it);
-   tc_data->size = fdata.cur_size;
+   tc_data->size = fndata.cur_size;
 
    _font_preview_update(win);
 }
@@ -1718,7 +1724,7 @@ _font_classes_list_load(Evas_Object *li)
    evas_event_freeze(evas);
    edje_freeze();
 
-   EINA_LIST_FOREACH(fdata.text_classes, l, tc_data)
+   EINA_LIST_FOREACH(fndata.text_classes, l, tc_data)
      elm_list_item_append(li, tc_data->desc, NULL, NULL,
                           _font_classes_list_sel, tc_data);
 
@@ -1743,17 +1749,19 @@ _fonts_data_fill(Evas *evas)
    int i;
 
    evas_fonts = evas_font_available_list(evas);
-   fdata.font_hash = elm_font_available_hash_add(evas_fonts);
+   fndata.font_hash = elm_font_available_hash_add(evas_fonts);
    evas_font_available_list_free(evas, evas_fonts);
 
-   text_classes = elm_text_classes_list_get();
-   fo_list = elm_font_overlay_list_get();
+   text_classes = elm_config_text_classes_list_get();
+   fo_list = elm_config_font_overlay_list_get();
 
    EINA_LIST_FOREACH(text_classes, l, etc)
      {
         const Eina_List *ll;
 
         tc_data = calloc(1, sizeof(*tc_data));
+        if (!tc_data) continue;
+
         tc_data->name = eina_stringshare_add(etc->name);
         tc_data->desc = eina_stringshare_add(etc->desc);
 
@@ -1778,43 +1786,43 @@ _fonts_data_fill(Evas *evas)
              tc_data->size = efo->size;
           }
 
-        fdata.text_classes = eina_list_append(fdata.text_classes, tc_data);
+        fndata.text_classes = eina_list_append(fndata.text_classes, tc_data);
      }
 
-   elm_text_classes_list_free(text_classes);
+   elm_config_text_classes_list_free(text_classes);
 
    /* FIXME: hinting later */
-   /* fdata.hinting = e_config->font_hinting; */
+   /* fndata.hinting = e_config->font_hinting; */
 
    sd = calloc(1, sizeof(Elm_Font_Size_Data));
    sd->size_str = eina_stringshare_add("Tiny");
    sd->size = -50;
-   fdata.font_scale_list = eina_list_append(fdata.font_scale_list, sd);
+   fndata.font_scale_list = eina_list_append(fndata.font_scale_list, sd);
 
    sd = calloc(1, sizeof(Elm_Font_Size_Data));
    sd->size_str = eina_stringshare_add("Small");
    sd->size = -80;
-   fdata.font_scale_list = eina_list_append(fdata.font_scale_list, sd);
+   fndata.font_scale_list = eina_list_append(fndata.font_scale_list, sd);
 
    sd = calloc(1, sizeof(Elm_Font_Size_Data));
    sd->size_str = eina_stringshare_add("Normal");
    sd->size = -100;
-   fdata.font_scale_list = eina_list_append(fdata.font_scale_list, sd);
+   fndata.font_scale_list = eina_list_append(fndata.font_scale_list, sd);
 
    sd = calloc(1, sizeof(Elm_Font_Size_Data));
    sd->size_str = eina_stringshare_add("Big");
    sd->size = -150;
-   fdata.font_scale_list = eina_list_append(fdata.font_scale_list, sd);
+   fndata.font_scale_list = eina_list_append(fndata.font_scale_list, sd);
 
    sd = calloc(1, sizeof(Elm_Font_Size_Data));
    sd->size_str = eina_stringshare_add("Really Big");
    sd->size = -190;
-   fdata.font_scale_list = eina_list_append(fdata.font_scale_list, sd);
+   fndata.font_scale_list = eina_list_append(fndata.font_scale_list, sd);
 
    sd = calloc(1, sizeof(Elm_Font_Size_Data));
    sd->size_str = eina_stringshare_add("Huge");
    sd->size = -250;
-   fdata.font_scale_list = eina_list_append(fdata.font_scale_list, sd);
+   fndata.font_scale_list = eina_list_append(fndata.font_scale_list, sd);
 
    for (i = 5; i < 51; i++)
      {
@@ -1826,7 +1834,7 @@ _fonts_data_fill(Evas *evas)
         sd = calloc(1, sizeof(Elm_Font_Size_Data));
         sd->size_str = eina_stringshare_add(str);
         sd->size = i;
-        fdata.font_px_list = eina_list_append(fdata.font_px_list, sd);
+        fndata.font_px_list = eina_list_append(fndata.font_px_list, sd);
      }
 }
 
@@ -1850,11 +1858,11 @@ _font_sizes_list_load(Evas_Object *size_list)
    evas_event_freeze(evas);
    edje_freeze();
 
-   EINA_LIST_FOREACH(fdata.font_scale_list, l, size_data)
+   EINA_LIST_FOREACH(fndata.font_scale_list, l, size_data)
      elm_list_item_append(size_list, size_data->size_str, NULL, NULL,
                           _font_sizes_list_sel, size_data);
 
-   EINA_LIST_FOREACH(fdata.font_px_list, l, size_data)
+   EINA_LIST_FOREACH(fndata.font_px_list, l, size_data)
      elm_list_item_append(size_list, size_data->size_str, NULL, NULL,
                           _font_sizes_list_sel, size_data);
 
@@ -1909,7 +1917,7 @@ _font_names_list_load(Evas_Object *flist)
    evas_event_freeze(evas);
    edje_freeze();
 
-   eina_hash_foreach(fdata.font_hash, _font_list_fill, &names_list);
+   eina_hash_foreach(fndata.font_hash, _font_list_fill, &names_list);
    names_list = eina_list_sort(names_list, eina_list_count(names_list),
                                _font_sort_cb);
 
@@ -2135,10 +2143,10 @@ _profiles_list_selected_cb(void            *data,
    if (!sel_profile)
      return;
 
-   cur_profile = elm_profile_current_get();
+   cur_profile = elm_config_profile_get();
 
-   pdir = elm_profile_dir_get(sel_profile, EINA_TRUE);
-   if (!pdir) pdir = elm_profile_dir_get(sel_profile, EINA_FALSE);
+   pdir = elm_config_profile_dir_get(sel_profile, EINA_TRUE);
+   if (!pdir) pdir = elm_config_profile_dir_get(sel_profile, EINA_FALSE);
 #ifdef ELM_EFREET
    snprintf(buf, sizeof(buf), "%s/profile.desktop", pdir);
    desk = efreet_desktop_new(buf);
@@ -2146,7 +2154,7 @@ _profiles_list_selected_cb(void            *data,
    else
      {
         if (desk) efreet_desktop_free(desk);
-        pdir = elm_profile_dir_get(sel_profile, EINA_FALSE);
+        pdir = elm_config_profile_dir_get(sel_profile, EINA_FALSE);
         snprintf(buf, sizeof(buf), "%s/profile.desktop", pdir);
         desk = efreet_desktop_new(buf);
         if ((desk) && (desk->name)) prof_name = desk->name;
@@ -2166,7 +2174,7 @@ _profiles_list_selected_cb(void            *data,
                                 EINA_FALSE);
         elm_object_disabled_set(evas_object_data_get(obj, "prof_use_btn"),
                                 EINA_FALSE);
-        elm_profile_dir_free(pdir);
+        elm_config_profile_dir_free(pdir);
      }
 
    snprintf(buf, sizeof(buf), "<hilight>Selected profile: %s</><br/>",
@@ -2199,7 +2207,7 @@ _profiles_list_fill(Evas_Object *l_widget,
 
    elm_list_clear(l_widget);
 
-   cur_profile = elm_profile_current_get();
+   cur_profile = elm_config_profile_get();
 
    EINA_LIST_FOREACH(p_names, l, profile)
      {
@@ -2211,8 +2219,8 @@ _profiles_list_fill(Evas_Object *l_widget,
         Elm_Object_Item *list_it;
         Evas_Object *ic;
 
-        pdir = elm_profile_dir_get(profile, EINA_TRUE);
-        if (!pdir) pdir = elm_profile_dir_get(profile, EINA_FALSE);
+        pdir = elm_config_profile_dir_get(profile, EINA_TRUE);
+        if (!pdir) pdir = elm_config_profile_dir_get(profile, EINA_FALSE);
         label = profile;
 
 #ifdef ELM_EFREET
@@ -2222,7 +2230,7 @@ _profiles_list_fill(Evas_Object *l_widget,
         else
           {
              if (desk) efreet_desktop_free(desk);
-             pdir = elm_profile_dir_get(profile, EINA_FALSE);
+             pdir = elm_config_profile_dir_get(profile, EINA_FALSE);
              snprintf(buf, sizeof(buf), "%s/profile.desktop", pdir);
              desk = efreet_desktop_new(buf);
              if ((desk) && (desk->name)) label = desk->name;
@@ -2255,7 +2263,7 @@ _profiles_list_fill(Evas_Object *l_widget,
         if (cur_profile && !strcmp(profile, cur_profile))
           sel_it = list_it;
 
-        elm_profile_dir_free(pdir);
+        elm_config_profile_dir_free(pdir);
 
 #ifdef ELM_EFREET
         if (desk) efreet_desktop_free(desk);
@@ -2320,7 +2328,7 @@ _status_config_profiles(Evas_Object *win,
    evas_object_smart_callback_add(li, "unselected", _profiles_list_unselect_cb,
                                   NULL);
 
-   profs = elm_profile_list_get();
+   profs = elm_config_profile_list_get();
 
    evas_object_show(li);
    elm_box_pack_end(fr_bx2, li);
@@ -2413,7 +2421,7 @@ _status_config_profiles(Evas_Object *win,
 
    _profiles_list_fill(li, profs);
 
-   elm_profile_list_free(profs);
+   elm_config_profile_list_free(profs);
 
    edje_thaw();
    evas_event_thaw(evas);
@@ -2447,7 +2455,7 @@ _status_config_scrolling(Evas_Object *win,
    evas_object_data_set(win, "scroll_bounce_check", ck);
    evas_object_size_hint_weight_set(ck, EVAS_HINT_EXPAND, 0.0);
    evas_object_size_hint_align_set(ck, EVAS_HINT_FILL, 0.5);
-   elm_check_state_set(ck, elm_scroll_bounce_enabled_get());
+   elm_check_state_set(ck, elm_config_scroll_bounce_enabled_get());
    elm_box_pack_end(bx, ck);
    evas_object_show(ck);
 
@@ -2465,7 +2473,7 @@ _status_config_scrolling(Evas_Object *win,
    elm_slider_unit_format_set(sl, "%1.2f");
    elm_slider_indicator_format_set(sl, "%1.2f");
    elm_slider_min_max_set(sl, 0.0, 4.0);
-   elm_slider_value_set(sl, elm_scroll_bounce_friction_get());
+   elm_slider_value_set(sl, elm_config_scroll_bounce_friction_get());
    elm_box_pack_end(bx, sl);
    evas_object_show(sl);
 
@@ -2486,7 +2494,7 @@ _status_config_scrolling(Evas_Object *win,
    evas_object_data_set(win, "thumbscroll_check", ck);
    evas_object_size_hint_weight_set(ck, EVAS_HINT_EXPAND, 0.0);
    evas_object_size_hint_align_set(ck, EVAS_HINT_FILL, 0.5);
-   elm_check_state_set(ck, elm_scroll_thumbscroll_enabled_get());
+   elm_check_state_set(ck, elm_config_scroll_thumbscroll_enabled_get());
    elm_box_pack_end(bx, ck);
    evas_object_show(ck);
 
@@ -2505,7 +2513,7 @@ _status_config_scrolling(Evas_Object *win,
    elm_slider_unit_format_set(sl, "%1.0f pixels");
    elm_slider_indicator_format_set(sl, "%1.0f");
    elm_slider_min_max_set(sl, 8.0, 50.0);
-   elm_slider_value_set(sl, elm_scroll_thumbscroll_threshold_get());
+   elm_slider_value_set(sl, elm_config_scroll_thumbscroll_threshold_get());
    elm_box_pack_end(bx, sl);
    evas_object_show(sl);
 
@@ -2526,7 +2534,7 @@ _status_config_scrolling(Evas_Object *win,
    elm_slider_unit_format_set(sl, "%1.0f pixels/s");
    elm_slider_indicator_format_set(sl, "%1.0f");
    elm_slider_min_max_set(sl, 10.0, 200.0);
-   elm_slider_value_set(sl, elm_scroll_thumbscroll_momentum_threshold_get());
+   elm_slider_value_set(sl, elm_config_scroll_thumbscroll_momentum_threshold_get());
    elm_box_pack_end(bx, sl);
    evas_object_show(sl);
 
@@ -2547,7 +2555,7 @@ _status_config_scrolling(Evas_Object *win,
    elm_slider_unit_format_set(sl, "%1.1f");
    elm_slider_indicator_format_set(sl, "%1.1f");
    elm_slider_min_max_set(sl, 0.0, 15.0);
-   elm_slider_value_set(sl, elm_scroll_thumbscroll_friction_get());
+   elm_slider_value_set(sl, elm_config_scroll_thumbscroll_friction_get());
    elm_box_pack_end(bx, sl);
    evas_object_show(sl);
 
@@ -2569,7 +2577,7 @@ _status_config_scrolling(Evas_Object *win,
    elm_slider_unit_format_set(sl, "%1.2f");
    elm_slider_indicator_format_set(sl, "%1.2f");
    elm_slider_min_max_set(sl, 0.0, 1.0);
-   elm_slider_value_set(sl, elm_scroll_thumbscroll_border_friction_get());
+   elm_slider_value_set(sl, elm_config_scroll_thumbscroll_border_friction_get());
    elm_box_pack_end(bx, sl);
    evas_object_show(sl);
 
@@ -2589,7 +2597,7 @@ _status_config_scrolling(Evas_Object *win,
    elm_slider_unit_format_set(sl, "%1.2f");
    elm_slider_indicator_format_set(sl, "%1.2f");
    elm_slider_min_max_set(sl, 0.1, 1.0);
-   elm_slider_value_set(sl, elm_scroll_thumbscroll_sensitivity_friction_get());
+   elm_slider_value_set(sl, elm_config_scroll_thumbscroll_sensitivity_friction_get());
    elm_box_pack_end(bx, sl);
    evas_object_show(sl);
 
@@ -2616,7 +2624,7 @@ _status_config_scrolling(Evas_Object *win,
    elm_slider_unit_format_set(sl, "%1.1f");
    elm_slider_indicator_format_set(sl, "%1.1f");
    elm_slider_min_max_set(sl, 0.0, 5.0);
-   elm_slider_value_set(sl, elm_scroll_page_scroll_friction_get());
+   elm_slider_value_set(sl, elm_config_scroll_page_scroll_friction_get());
    elm_box_pack_end(bx, sl);
    evas_object_show(sl);
 
@@ -2636,7 +2644,7 @@ _status_config_scrolling(Evas_Object *win,
    elm_slider_unit_format_set(sl, "%1.1f");
    elm_slider_indicator_format_set(sl, "%1.1f");
    elm_slider_min_max_set(sl, 0.0, 5.0);
-   elm_slider_value_set(sl, elm_scroll_bring_in_scroll_friction_get());
+   elm_slider_value_set(sl, elm_config_scroll_bring_in_scroll_friction_get());
    elm_box_pack_end(bx, sl);
    evas_object_show(sl);
 
@@ -2657,7 +2665,7 @@ _status_config_scrolling(Evas_Object *win,
    elm_slider_unit_format_set(sl, "%1.1f");
    elm_slider_indicator_format_set(sl, "%1.1f");
    elm_slider_min_max_set(sl, 0.0, 5.0);
-   elm_slider_value_set(sl, elm_scroll_zoom_friction_get());
+   elm_slider_value_set(sl, elm_config_scroll_zoom_friction_get());
    elm_box_pack_end(bx, sl);
    evas_object_show(sl);
 
@@ -2735,7 +2743,7 @@ _engines_list_fill(Evas_Object *l_widget,
    if (!e_names)
      return;
 
-   cur_engine = elm_engine_get();
+   cur_engine = elm_config_engine_get();
 
    EINA_LIST_FOREACH(e_names, l, engine)
      {
@@ -2837,14 +2845,14 @@ _status_config_caches(Evas_Object *win,
    elm_slider_unit_format_set(sl, "%1.0f ticks");
    elm_slider_indicator_format_set(sl, "%1.0f");
    elm_slider_min_max_set(sl, 8.0, 4096.0);
-   elm_slider_value_set(sl, elm_cache_flush_interval_get());
-   elm_object_disabled_set(sl, !elm_cache_flush_enabled_get());
+   elm_slider_value_set(sl, elm_config_cache_flush_interval_get());
+   elm_object_disabled_set(sl, !elm_config_cache_flush_enabled_get());
 
    ck = elm_check_add(win);
    evas_object_size_hint_weight_set(ck, EVAS_HINT_EXPAND, 0.0);
    evas_object_size_hint_align_set(ck, EVAS_HINT_FILL, 0.5);
    elm_object_text_set(ck, "Enable Flushing");
-   elm_check_state_set(ck, elm_cache_flush_enabled_get());
+   elm_check_state_set(ck, elm_config_cache_flush_enabled_get());
    evas_object_smart_callback_add(ck, "changed", cf_enable, sl);
    elm_box_pack_end(bx, ck);
    evas_object_show(ck);
@@ -2872,7 +2880,7 @@ _status_config_caches(Evas_Object *win,
    elm_slider_unit_format_set(sl, "%1.1f MB");
    elm_slider_indicator_format_set(sl, "%1.1f");
    elm_slider_min_max_set(sl, 0.0, 4.0);
-   elm_slider_value_set(sl, (double)elm_cache_font_cache_size_get() / 1024.0);
+   elm_slider_value_set(sl, (double)elm_config_cache_font_cache_size_get() / 1024.0);
    elm_box_pack_end(bx, sl);
    evas_object_show(sl);
 
@@ -2896,7 +2904,7 @@ _status_config_caches(Evas_Object *win,
    elm_slider_unit_format_set(sl, "%1.0f MB");
    elm_slider_indicator_format_set(sl, "%1.0f");
    elm_slider_min_max_set(sl, 0, 32);
-   elm_slider_value_set(sl, (double)elm_cache_image_cache_size_get() / 1024.0);
+   elm_slider_value_set(sl, (double)elm_config_cache_image_cache_size_get() / 1024.0);
    elm_box_pack_end(bx, sl);
    evas_object_show(sl);
 
@@ -2920,7 +2928,7 @@ _status_config_caches(Evas_Object *win,
    elm_slider_unit_format_set(sl, "%1.0f files");
    elm_slider_indicator_format_set(sl, "%1.0f");
    elm_slider_min_max_set(sl, 0, 32);
-   elm_slider_value_set(sl, elm_cache_edje_file_cache_size_get());
+   elm_slider_value_set(sl, elm_config_cache_edje_file_cache_size_get());
    elm_box_pack_end(bx, sl);
    evas_object_show(sl);
 
@@ -2944,7 +2952,7 @@ _status_config_caches(Evas_Object *win,
    elm_slider_unit_format_set(sl, "%1.0f collections");
    elm_slider_indicator_format_set(sl, "%1.0f");
    elm_slider_min_max_set(sl, 0, 128);
-   elm_slider_value_set(sl, elm_cache_edje_collection_cache_size_get());
+   elm_slider_value_set(sl, elm_config_cache_edje_collection_cache_size_get());
    elm_box_pack_end(bx, sl);
    evas_object_show(sl);
 
@@ -2964,6 +2972,7 @@ _status_config_full(Evas_Object *win,
    Elm_Object_Item *tb_sizing, *tb_it;
 
    tb = elm_toolbar_add(win);
+   elm_toolbar_select_mode_set(tb, ELM_OBJECT_SELECT_MODE_ALWAYS);
    elm_toolbar_menu_parent_set(tb, win);
    elm_toolbar_homogeneous_set(tb, EINA_FALSE);
    evas_object_size_hint_weight_set(tb, 1.0, 0.0);
@@ -3013,22 +3022,14 @@ _status_config_full(Evas_Object *win,
 }
 
 static void
-status_win(void)
+win_create(void)
 {
-   Evas_Object *win, *bg, *bx0;
-
-   win = elm_win_add(NULL, "main", ELM_WIN_BASIC);
-   main_win = win;
-   elm_win_title_set(win, "Elementary Config");
+   Evas_Object *win, *bx0;
 
+   win = elm_win_util_standard_add("main", "Elementary Config");
    ecore_event_handler_add(ELM_EVENT_CONFIG_ALL_CHANGED, _config_all_changed,
                            win);
-
    evas_object_smart_callback_add(win, "delete,request", config_exit, NULL);
-   bg = elm_bg_add(win);
-   evas_object_size_hint_weight_set(bg, 1.0, 1.0);
-   elm_win_resize_object_add(win, bg);
-   evas_object_show(bg);
 
    bx0 = elm_box_add(win);
    evas_object_size_hint_weight_set(bx0, 1.0, 1.0);
@@ -3106,15 +3107,15 @@ elm_main(int    argc,
 #ifdef ELM_EFREET
         elm_need_efreet();
 #endif
-        status_win(); /* create main window */
+        win_create(); /* create main window */
         if (!interactive)
           ecore_timer_add(2.0, _exit_timer, NULL);
      }
    if (!interactive)
      {
-        if (theme_set) elm_theme_all_set(theme_set);
-        if (finger_size_set) elm_finger_size_set(atoi(finger_size_set));
-        if (scale_set)  elm_scale_set(atof(scale_set));
+        if (theme_set) elm_theme_set(NULL, theme_set);
+        if (finger_size_set) elm_config_finger_size_set(atoi(finger_size_set));
+        if (scale_set)  elm_config_scale_set(atof(scale_set));
 
         elm_config_all_flush();