e_config: remove e_config_mode_changed
[platform/upstream/enlightenment.git] / src / bin / e_config.h
index 1f65021..0d4860b 100644 (file)
@@ -2,40 +2,16 @@
 
 #define E_CONFIG_LIMIT(v, min, max) {if (v >= max) v = max; else if (v <= min) v = min; }
 
-typedef struct _E_Config                    E_Config;
-typedef struct _E_Config_Module             E_Config_Module;
-typedef struct _E_Config_Binding_Mouse      E_Config_Binding_Mouse;
-typedef struct _E_Config_Binding_Key        E_Config_Binding_Key;
-typedef struct _E_Config_Binding_Edge       E_Config_Binding_Edge;
-typedef struct _E_Config_Binding_Signal     E_Config_Binding_Signal;
-typedef struct _E_Config_Binding_Wheel      E_Config_Binding_Wheel;
-typedef struct _E_Config_Binding_Acpi       E_Config_Binding_Acpi;
-typedef struct _E_Config_Desktop_Background E_Config_Desktop_Background;
-typedef struct _E_Config_Desklock_Background E_Config_Desklock_Background;
-typedef struct _E_Config_Desktop_Name       E_Config_Desktop_Name;
+typedef struct _E_Config                        E_Config;
+typedef struct _E_Config_Module                 E_Config_Module;
+typedef struct _E_Config_Desktop_Name           E_Config_Desktop_Name;
 typedef struct _E_Config_Desktop_Window_Profile E_Config_Desktop_Window_Profile;
-typedef struct _E_Config_Gadcon             E_Config_Gadcon;
-typedef struct _E_Config_Gadcon_Client      E_Config_Gadcon_Client;
-typedef struct _E_Config_Shelf              E_Config_Shelf;
-typedef struct _E_Config_Shelf_Desk         E_Config_Shelf_Desk;
-typedef struct _E_Config_Mime_Icon          E_Config_Mime_Icon;
-typedef struct _E_Config_Syscon_Action      E_Config_Syscon_Action;
-typedef struct _E_Config_Env_Var            E_Config_Env_Var;
-typedef struct _E_Config_XKB_Layout         E_Config_XKB_Layout;
-typedef struct _E_Config_XKB_Option         E_Config_XKB_Option;
-typedef struct _E_Config_Client_Type        E_Config_Client_Type;
-
-typedef struct _E_Event_Config_Icon_Theme   E_Event_Config_Icon_Theme;
-
-typedef struct E_Config_Bindings E_Config_Bindings;
-
-typedef enum
-{
-   E_CONFIG_PROFILE_TYPE_NONE,
-   E_CONFIG_PROFILE_TYPE_MOBILE,
-   E_CONFIG_PROFILE_TYPE_TABLET,
-   E_CONFIG_PROFILE_TYPE_DESKTOP
-} E_Config_Profile_Type;
+typedef struct _E_Config_Desktop_Background     E_Config_Desktop_Background;
+typedef struct _E_Config_Env_Var                E_Config_Env_Var;
+typedef struct _E_Config_Client_Type            E_Config_Client_Type;
+typedef struct _E_Config_Policy_Desk            E_Config_Policy_Desk;
+typedef struct _E_Config_Socket_Access          E_Config_Socket_Access;
+typedef struct _E_Config_Aux_Hint_Supported     E_Config_Aux_Hint_Supported;
 
 #else
 #ifndef E_CONFIG_H
@@ -48,421 +24,291 @@ 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 17
+#define E_CONFIG_FILE_GENERATION 19
 #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!!!!!
-
 struct _E_Config
 {
    int         config_version; // INTERNAL
-   E_Config_Profile_Type config_type; // INTERNAL
-   int         show_splash; // GUI
-   const char *desktop_default_background; // GUI
-   Eina_List  *desktop_backgrounds; // GUI
+   const char *desktop_default_background;
    const char *desktop_default_name;
    const char *desktop_default_window_profile;
-   Eina_List  *desktop_names; // GUI
-   Eina_List  *desktop_window_profiles; // GUI
-   double      menus_scroll_speed; // GUI
-   double      menus_fast_mouse_move_threshhold; // GUI
-   double      menus_click_drag_timeout; // GUI
-   int         border_shade_animate; // GUI
-   int         border_shade_transition; // GUI
-   double      border_shade_speed; // GUI
-   double      framerate; // GUI
-   int         priority; // GUI
-   int         image_cache; // GUI
-   int         font_cache; // GUI
-   int         edje_cache; // GUI
-   int         edje_collection_cache; // GUI
-   int         zone_desks_x_count; // GUI
-   int         zone_desks_y_count; // GUI
-   int         show_desktop_icons; // GUI
-   int         edge_flip_dragging; // GUI
-   int         no_module_delay; // GUI
-   const char *language; // GUI
-   const char *desklock_language; // GUI
-   Eina_List  *modules; // GUI
-   Eina_List  *bad_modules; // GUI
-   Eina_List  *font_fallbacks; // GUI
-   Eina_List  *font_defaults; // GUI
-
-   /* NO LONGER SAVED WITH THIS STRUCT */
-   Eina_List  *mouse_bindings; // GUI
-   Eina_List  *key_bindings; // GUI
-   Eina_List  *edge_bindings; // GUI
-   Eina_List  *signal_bindings; // GUI
-   Eina_List  *wheel_bindings; // GUI
-   Eina_List  *acpi_bindings; // GUI
-
-   Eina_List  *path_append_data; // GUI
-   Eina_List  *path_append_images; // GUI
-   Eina_List  *path_append_fonts; // GUI
-   Eina_List  *path_append_init; // GUI
-   Eina_List  *path_append_icons; // GUI
-   Eina_List  *path_append_modules; // GUI
-   Eina_List  *path_append_backgrounds; // GUI
-   Eina_List  *path_append_messages; // GUI
-   int         window_placement_policy; // GUI
-   int         window_grouping; // GUI
-   int         focus_policy; // GUI
-   int         focus_policy_ext; // GUI
-   int         focus_setting; // GUI
-   int         pass_click_on; // GUI
-   int         window_activehint_policy; // GUI
-   int         always_click_to_raise; // GUI
-   int         always_click_to_focus; // GUI
-   int         use_auto_raise; // GUI
-   double      auto_raise_delay; // GUI
-   int         use_resist; // GUI
-   int         drag_resist;
-   int         desk_resist; // GUI
-   int         window_resist; // GUI
-   int         gadget_resist; // GUI
-   int         geometry_auto_move; // GUI
-   int         geometry_auto_resize_limit; // GUI
-   int         winlist_warp_while_selecting; // GUI
-   int         winlist_warp_at_end; // GUI
-   int         winlist_no_warp_on_direction; // GUI
-   double      winlist_warp_speed; // GUI **** NO LONGER USED!!!
-   int         winlist_scroll_animate; // GUI
-   double      winlist_scroll_speed; // GUI
-   int         winlist_list_show_iconified; // GUI
-   int         winlist_list_show_other_desk_iconified; // GUI
-   int         winlist_list_show_other_screen_iconified; // GUI
-   int         winlist_list_show_other_desk_windows; // GUI
-   int         winlist_list_show_other_screen_windows; // GUI
-   int         winlist_list_uncover_while_selecting; // GUI
-   int         winlist_list_jump_desk_while_selecting; // GUI
-   int         winlist_list_focus_while_selecting; // GUI
-   int         winlist_list_raise_while_selecting; // GUI
-   int         winlist_list_move_after_select; // GUI
-   double      winlist_pos_align_x; // GUI
-   double      winlist_pos_align_y; // GUI
-   double      winlist_pos_size_w; // GUI
-   double      winlist_pos_size_h; // GUI
-   int         winlist_pos_min_w; // GUI
-   int         winlist_pos_min_h; // GUI
-   int         winlist_pos_max_w; // GUI
-   int         winlist_pos_max_h; // GUI
-   int         maximize_policy; // GUI
-   int         allow_manip; // GUI
-   int         border_fix_on_shelf_toggle; // GUI
-   int         allow_above_fullscreen; // GUI
-   int         kill_if_close_not_possible; // GUI
-   int         kill_process; // GUI
-   double      kill_timer_wait; // GUI
-   int         ping_clients; // GUI
-   const char *transition_start; // GUI
-   const char *transition_desk; // GUI
-   const char *transition_change; // GUI
-   Eina_List  *remembers; // GUI
-   int         remember_internal_windows; // GUI
-   Eina_Bool  remember_internal_fm_windows; // GUI
-   Eina_Bool  remember_internal_fm_windows_globally; // GUI
-   int         move_info_follows; // GUI
-   int         resize_info_follows; // GUI
-   int         move_info_visible; // GUI
-   int         resize_info_visible; // GUI
-   int         focus_last_focused_per_desktop; // GUI
-   int         focus_revert_on_hide_or_close; // GUI
-   int         disable_all_pointer_warps; // GUI
-   int         pointer_slide; // GUI
-   double      pointer_warp_speed; // GUI
-   int         use_e_cursor; // GUI
-   int         cursor_size; // GUI
-   int         menu_autoscroll_margin; // GUI
-   int         menu_autoscroll_cursor_margin; // GUI
-   const char *input_method; // GUI
+   Eina_List  *desktop_backgrounds;
+   Eina_List  *desktop_names;
+   Eina_List  *desktop_window_profiles;
+   double      framerate;
+   int         priority;
+   int         zone_desks_x_count;
+   int         zone_desks_y_count;
+   Eina_List  *modules;
+   int         use_e_policy;
+   struct
+     {
+        const char   *title;
+        const char   *clas;
+        unsigned int  type;
+     } launcher;
+   Eina_List  *policy_desks;
+   int         use_configured_desks;
+   int         use_softkey_service;
+   int         use_softkey;
+   int         softkey_size;
+   int         window_placement_policy;
+   int         focus_policy;
+   int         focus_policy_ext;
+   int         focus_setting;
+   int         always_click_to_raise;
+   int         always_click_to_focus;
+   int         use_auto_raise;
+   int         maximize_policy;
+   int         allow_manip;
+   int         kill_if_close_not_possible;
+   int         kill_process;
+   double      kill_timer_wait;
+   int         ping_clients;
+   int         use_e_cursor;
+   int         cursor_size;
    struct
    {
-      int move;      // GUI
-      int resize;      // GUI
-      int raise;      // GUI
-      int lower;      // GUI
-      int layer;      // GUI
-      int desktop;      // GUI
-      int iconify;      // GUI
+      int move;
+      int resize;
+      int raise;
+      int lower;
+      int layer;
+      int desktop;
+      int iconify;
    } transient;
-   int                       menu_eap_name_show; // GUI
-   int                       menu_eap_generic_show; // GUI
-   int                       menu_eap_comment_show; // GUI
-   int                       menu_favorites_show; // GUI
-   int                       menu_apps_show; // GUI
-   Eina_Bool                menu_icons_hide; // GUI
-   int                       menu_gadcon_client_toplevel; // GUI
-   int                       fullscreen_policy; // GUI
-   const char               *exebuf_term_cmd; // GUI
-   Eina_List                *color_classes; // GUI
-   int                       use_app_icon; // GUI
-   int                       cnfmdlg_disabled; // GUI
-   int                       cfgdlg_auto_apply; // GUI
-   int                       cfgdlg_default_mode; // GUI
-   Eina_List                *gadcons; // GUI
-   Eina_List                *shelves; // GUI
-   int                       font_hinting; // GUI
-
-   int                       desklock_passwd; // GUI // hashed
-   int                       desklock_pin; // GUI // hashed
-   Eina_List                *desklock_backgrounds; // GUI
-   int                       desklock_auth_method; // GUI
-   int                       desklock_login_box_zone; // GUI
-   int                       desklock_start_locked; // GUI
-   int                       desklock_on_suspend; // GUI
-   int                       desklock_autolock_screensaver; // GUI
-   double                    desklock_post_screensaver_time; // GUI
-   int                       desklock_autolock_idle; // GUI
-   double                    desklock_autolock_idle_timeout; // GUI
-   int                       desklock_use_custom_desklock; // GUI
-   const char               *desklock_custom_desklock_cmd; // GUI
-   unsigned char             desklock_ask_presentation; // GUI
-   double                    desklock_ask_presentation_timeout; // GUI
-
-   int                       screensaver_enable; // GUI
-   int                       screensaver_timeout; // GUI
-   int                       screensaver_interval; // GUI
-   int                       screensaver_blanking; // GUI
-   int                       screensaver_expose; // GUI
-   unsigned char             screensaver_ask_presentation; // GUI
-   double                    screensaver_ask_presentation_timeout; // GUI
-
-   int                       screensaver_wake_on_notify; // GUI
-   int                       screensaver_wake_on_urgent; // GUI
-
-   unsigned char             screensaver_suspend; // GUI
-   unsigned char             screensaver_suspend_on_ac; // GUI
-   double                    screensaver_suspend_delay; // GUI
-
-   int                       dpms_enable; // GUI
-   int                       dpms_standby_enable; // GUI
-   int                       dpms_standby_timeout; // GUI
-   int                       dpms_suspend_enable; // GUI
-   int                       dpms_suspend_timeout; // GUI
-   int                       dpms_off_enable; // GUI
-   int                       dpms_off_timeout; // GUI
-   unsigned char             no_dpms_on_fullscreen; // GUI
-
-   int                       use_hw_underlay;
-
-   int                       clientlist_group_by; // GUI
-   int                       clientlist_include_all_zones; // GUI
-   int                       clientlist_separate_with; // GUI
-   int                       clientlist_sort_by; // GUI
-   int                       clientlist_separate_iconified_apps; // GUI
-   int                       clientlist_warp_to_iconified_desktop; // GUI
-   int                       clientlist_limit_caption_len; // GUI
-   int                       clientlist_max_caption_len; // GUI
-
-   int                       mouse_hand; //GUI
-   int                       mouse_accel_numerator; // GUI
-   int                       mouse_accel_denominator; // GUI
-   int                       mouse_accel_threshold; // GUI
-
-   int                       border_raise_on_mouse_action; // GUI
-   int                       border_raise_on_focus; // GUI
-   int                       raise_on_revert_focus; // GUI
-   int                       desk_flip_wrap; // GUI
-   int                       fullscreen_flip; // GUI
-   int                       multiscreen_flip; // GUI
-
-   const char               *icon_theme; // GUI
-   unsigned char             icon_theme_overrides; // GUI
-   const char               *desktop_environment; // GUI
-
-   /* modes:
-    * 1-"pane") horizontal or vertical movement to/from next/previous "screen"
-    * 2-"zoom") 45degree diagonal movement based on border position
-    */
-   int                       desk_flip_animate_mode; // GUI
-   /* types based on theme */
-   Eina_Stringshare         *desk_flip_animate_type; // GUI
-   int                       desk_flip_animate_interpolation; // GUI
-
-   const char               *wallpaper_import_last_dev; // INTERNAL
-   const char               *wallpaper_import_last_path; // INTERNAL
-
-   const char               *theme_default_border_style; // GUI
-
-   Eina_List                *mime_icons; // GUI
-   int                       desk_auto_switch; // GUI;
-   
+   int                       fullscreen_policy;
+   int                       dpms_enable;
+   int                       dpms_standby_enable;
+   int                       dpms_suspend_enable;
+   int                       dpms_off_enable;
+   int                       dpms_standby_timeout;
+   int                       dpms_suspend_timeout;
+   int                       dpms_off_timeout;
+   unsigned char             no_dpms_on_fullscreen;
+   int                       mouse_hand;
+   int                       border_raise_on_mouse_action;
+   int                       border_raise_on_focus;
+   int                       raise_on_revert_focus;
+   const char               *theme_default_border_style;
    int                       screen_limits;
-
-   int                       thumb_nice;
-
-   int                       ping_clients_interval; // GUI
-   int                       cache_flush_poll_interval; // GUI
-
-   int                       thumbscroll_enable; // GUI
-   int                       thumbscroll_threshhold; // GUI
-   double                    thumbscroll_momentum_threshhold; // GUI
-   double                    thumbscroll_friction; // GUI
-
-   unsigned char             filemanager_single_click; // GUI
-   int                       device_desktop; // GUI
-   int                       device_auto_mount; // GUI
-   int                       device_auto_open; // GUI
-   Efm_Mode                  device_detect_mode; /* not saved, display-only */
-   unsigned char             filemanager_copy; // GUI
-   unsigned char             filemanager_secure_rm; // GUI
-
+   int                       ping_clients_interval;
    struct
    {
-      double timeout; // GUI
+      double timeout;
       struct
       {
-         unsigned char dx; // GUI
-         unsigned char dy; // GUI
+         unsigned char dx;
+         unsigned char dy;
       } move;
       struct
       {
-         unsigned char dx; // GUI
-         unsigned char dy; // GUI
+         unsigned char dx;
+         unsigned char dy;
       } resize;
    } border_keyboard;
-
    struct
    {
-      double        min; // GUI
-      double        max; // GUI
-      double        factor; // GUI
-      int           base_dpi; // GUI
-      unsigned char use_dpi; // GUI
-      unsigned char use_custom; // GUI
+      double        min;
+      double        max;
+      double        factor;
+      double        profile_factor;
+      double        inch_correction;
+      double        inch_correction_bound;
+      int           base_dpi;
+      unsigned char use_dpi;
+      unsigned char use_custom;
+      unsigned char for_tdm;
    } scale;
-
-   unsigned char show_cursor; // GUI
-   unsigned char idle_cursor; // GUI
-
-   const char   *default_system_menu; // GUI
-
-   unsigned char cfgdlg_normal_wins; // GUI
-
+   unsigned char show_cursor;
+   unsigned char idle_cursor;
+   Eina_List    *env_vars;
    struct
    {
+      int          only_label;
+      const char  *default_model;
+      Eina_Bool    dont_touch_my_damn_keyboard;
+      Eina_Bool    use_cache; // use a cached keymap file insteads generate a new keymap file
+      unsigned int delay_held_key_input_to_focus; // delay in milliseconds that sends the key press event when the focus window is changed
       struct
       {
-         int icon_size;         // GUI
-      } main, secondary, extra;
-      double        timeout;  // GUI
-      unsigned char do_input;  // GUI
-      Eina_List    *actions;
-   } syscon;
-
+          const char *rules; // enlightenment's default xkb rules
+          const char *model; // enlightenment's default xkb model
+          const char *layout; // enlightenment's default xkb layout
+          const char *variant; // enlightenment's default xkb variant
+          const char *options; // enlightenment's default xkb options
+      } default_rmlvo;
+   } xkb;
    struct
    {
-      unsigned char presentation; // INTERNAL
-      unsigned char offline; // INTERNAL
-   } mode;
-
+      int repeat_delay; // delay in milliseconds since key down until repeating starts
+      int repeat_rate; // the rate of repeating keys in characters per second
+   } keyboard;
+   int           use_desktop_window_profile;
+#ifdef _F_ZONE_WINDOW_ROTATION_
+   unsigned char wm_win_rotation;
+   Eina_Bool     wm_win_rotation_swap_size;
+#endif
+   unsigned int screen_rotation_pre; // screen-rotation value as default (0/90/180/270)
+   unsigned int screen_rotation_setting; // screen-rotation value which is set in runtime (0/90/180/270)
+   Eina_Bool screen_rotation_client_ignore; // client ignores screen rotation (0/1)
+   Eina_Bool eom_enable; // 0: eom disable, 1: eom enable
+   int use_cursor_timer; // boolean value for enabling cursor timer (default : disable : 0)
+   int cursor_timer_interval; // time value the cursor will be displayed in second (default : 5)
+   Eina_List *client_types;
+   const char *comp_shadow_file;
+   int                       sleep_for_dri;   // 0: disable the dri device file check
+                                              // 1: wait until the dri device file is created at startup
+   int                       create_wm_ready; // 0: disable the creation of wm_ready file
+                                              // 1: create a wm_ready file to let other daemons know
+                                              // about the completion of server initialization
+   int                       create_wm_start; // 0: disable the creation of wm_start file
+                                              // 1: create a wm_start file to let other daemons know
+                                              // that non-delayed server modules are loaded
+   // property of canvas background object
    struct
    {
-      double        expire_timeout;
-      unsigned char show_run_dialog;
-      unsigned char show_exit_dialog;
-   } exec;
-
-   unsigned char null_container_win; // HYPER-ADVANCED-ONLY - TURNING ON KILLS DESKTOP BG
-
-   Eina_List    *env_vars; // GUI
+      unsigned char r, g, b, a; // RGBA color components of canvas background object
+      int opmode;               // blending operation for canvas background object
+                                // e.g., EVAS_RENDER_COPY
+   } comp_canvas_bg;
+
+   int delayed_load_idle_count;
+   Eina_Bool use_buffer_flush; // 0: none, 1: let a client flush buffer when it is changed into iconic state to save memory
+   Eina_Bool use_buffer_flush_timeout; // 0: none 1: use buffer_flush timer
+   double buffer_flush_timer_interval; // time value the interval of buffer flush after iconify or commit in second (default : 0)
+   Eina_Bool use_desk_smart_obj; // 0: none, 1: make e_desk as a smart object
+   Eina_List *sock_accesses; // list of socket(wayland-0, tbm-drm-auto, tbm-socket) to grant permission without systemd
+   Eina_List *aux_hint_supported; // pre-defined aux hint list for a client launched ahead of delayed e-module loading
+   struct
+   {
+      Eina_Bool qp; // whether to use extra quickpanel module for handling quickpanel
+   } use_module_srv;
+   double launchscreen_timeout; // time to dismiss launchscreen
+   Eina_Bool enable_conformant_ack; // 0: no ack check, 1: conformant region show/hide delay until ack
+   double conformant_ack_timeout; // not to wait conformant ack if timer expires
+   Eina_Bool calc_vis_without_effect; // 0: none, 1: send visibility event to a client eventhough running effect due to performance issue.
+   Eina_Bool save_win_buffer;
+   /* NOTE:
+    * On some platform, a video client doesn't present its image buffer, but
+    * present something like dummy buffer having meta information to display
+    * server.
+    * Thus, it doesn't make sense to save this kind of buffer as an image file,
+    * and it can even cause crash like SIGSEGV.
+    * For this reason, this has to be disabled on such platform. */
+   Eina_Bool save_video_buffer; // 0: disable capturering video buffer, 1: enable, see 'e_comp_wl_capture.c'
+   Eina_Bool hold_prev_win_img;
+   const char *indicator_plug_name; // name of indicator ecore_evas_plug such as "elm_indicator"
+   Eina_Bool launchscreen_without_timer; // 0: dismiss launchscreen when timer expires, 1: it doesn't use timer
+   int log_type; // where to print dlog (0: default log, 1: system log)
+   int rsm_buffer_release_mode; // 0:none, 1:release on free, 2:release on hide
+   Eina_Bool deiconify_approve; // 0:none, 1:wait render commit when deiconify
+   double deiconify_pending_timeout;
+   Eina_Bool use_pp_zoom; // 0: pp zoom disable, 1: pp zoom enable
+   Eina_Bool priority_control; // 0: no priority change, 1: priority raise on focus
+
+   // performs evas_norender in idle to avoid memory leaks for evas objects
+   //
+   // The memory leak in the evas could occur if E doesn't perform evas rendering.
+   // It is because cleanup for evas object is processed in the rendering stage of
+   // evas. Thus if E is always performing HWC for compositing the new evas object,
+   // then leak can occurs on the evas side even after deletion of that object.
+   //
+   // In order to resolve it, we have added comp_canvas_norender configuration value.
+   // If user enables this configuration, then E always performs evas_norender in idle
+   // to cleanup evas objects which had not been rendered through evas rendering.
+   struct
+   {
+      unsigned char use; // boolean value for enabling evas_norender in idle (default : disable : 0)
+   } comp_canvas_norender;
+   Eina_Bool qp_ignore_indicator_mode;
+   Eina_Bool qp_use_bg_rect;
+   struct
+   {
+      unsigned char use_alpha; // boolean value for applying transparency to qp handler (default : disable : 0)
+      int           alpha; // alpha component (0:transparent, 255:opaque), only used when use_alpha is 1
+   } qp_handler;
+   Eina_Bool qp_add_on_desk_smart;
+
+   // e_gesture_service supports multi finger gestures.
+   // The enlightenment doesn't know when other finger's touch down is come.
+   // So waiting other fingers after first finger touch down using some methods.
+   //
+   // But each devices has different touch sensitivity, so make these values configurable.
+   // wait_time: waiting times set fingers are come
+   // wait_dist: if current touched fingers are moving sufficiently, stop waiting other fingers
+   struct
+   {
+      double wait_time; // default value is 0.1(sec)
+      int wait_dist;
+   } gesture_service;
 
+   // Configured output resolution
    struct
    {
-      double        normal; // GUI
-      double        dim; // GUI
-      double        transition; // GUI
-      double        timer; // GUI
-      const char   *sysdev; // GUI
-      unsigned char idle_dim; // GUI
-      E_Backlight_Mode mode; /* not saved, display-only */
-   } backlight;
+      unsigned char use; // use the configured output resolution.
+      int w;             // width of the configured output resolution.
+      int h;             // height of the configured output resolution.
+   } configured_output_resolution;
 
+   // Configured for maximum touch count
    struct
    {
-      double           none;
-      double           low;
-      double           medium;
-      double           high;
-      double           extreme;
-      E_Powersave_Mode min;
-      E_Powersave_Mode max;
-   } powersave;
+      unsigned char use; // use the configured maximum touch count
+      int count;             // value of the configured maximum touch count
+   } configured_max_touch;
 
+   // Configured output resolution for Global Cursor Window
    struct
    {
-      unsigned char load_xrdb; // GUI
-      unsigned char load_xmodmap; // GUI
-      unsigned char load_gnome; // GUI
-      unsigned char load_kde; // GUI
-   } deskenv;
+      unsigned char use; // use the configured output resolution for global cursor.
+      int w;             // width of the configured output resolution for global cursor.
+      int h;             // height of the configured output resolution for global cursor.
+   } cursor_configured_output_resolution;
 
+   //specific global object( client not to bind )
    struct
    {
-      unsigned char enabled;  // GUI
-      unsigned char match_e17_theme;  // GUI
-      unsigned char match_e17_icon_theme;  // GUI
-      int           xft_antialias;
-      int           xft_hinting;
-      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;
-   } xsettings;
+      Eina_Bool launch_effect; // iface name : tizen_launch_effect
+   } global_object_not_provide;
+
+   Eina_Bool use_thread_max_cpu; //set cpu count to ecore thread max
+   Eina_Bool use_desk_area;
 
    struct
    {
-      unsigned char check; // INTERNAL
-      unsigned char later; // INTERNAL
-   } update;
+      Eina_Bool enable;
+      double    duration;
+   } desk_zoom_effect;
 
+   //set fake output resolution environment
    struct
    {
-      Eina_List  *used_layouts;
-      Eina_List  *used_options;
-      int         only_label;
-      const char *default_model;
-      int         cur_group;
-      E_Config_XKB_Layout *current_layout;
-      E_Config_XKB_Layout *sel_layout;
-      E_Config_XKB_Layout *lock_layout;
-      Eina_Bool dont_touch_my_damn_keyboard;
-      Eina_Bool use_cache;
-
-      /* NO LONGER USED BECAUSE I SUCK
-       * -zmike, 31 January 2013
-       */
-      const char *cur_layout; // whatever the current layout is
-      const char *selected_layout; // whatever teh current layout that the user has selected is
-      const char *desklock_layout;
-   } xkb;
-   
+      unsigned char use; // use fake_output_resolution
+      int w;             // fake resolution width
+      int h;             // fake resolution height
+   } fake_output_resolution;
+   Eina_Bool raise_before_show; // 0: raise after show, 1: raise before show
+   Eina_Bool interactive_resize; // 0: resize when pointer release, 1: interactive resize during pointer drag
+
    struct
    {
-      int repeat_delay;//delay in milliseconds since key down until repeating starts
-      int repeat_rate;//the rate of repeating keys in characters per second
-   } keyboard;
+      int type; // 0: rectangle, 1: image
 
-   Eina_List  *menu_applications;
-   unsigned char exe_always_single_instance; // GUI
-   int           use_desktop_window_profile; // GUI
-#ifdef _F_ZONE_WINDOW_ROTATION_
-   unsigned char wm_win_rotation;
-#endif
-   Eina_List *client_types;
-};
+      // for rectangle
+      Eina_Bool customize; // 0: use default color, 1: use customized color
+      int r, g, b, a;
 
-struct E_Config_Bindings
-{
-   unsigned int config_version;
-   Eina_List  *mouse_bindings; // GUI
-   Eina_List  *key_bindings; // GUI
-   Eina_List  *edge_bindings; // GUI
-   Eina_List  *signal_bindings; // GUI
-   Eina_List  *wheel_bindings; // GUI
-   Eina_List  *acpi_bindings; // GUI
+      // for image
+      const char *image_path; // path of an image object
+      struct
+      {
+         int l, r, t, b;
+      } border_width; // border of an image object
+   } resize_object;
+
+   Eina_Bool calc_vis_ignore_geometry; // 0: unset ignore geometry, 1: ignore geometry calculate when the calculation of visibility.
 };
 
 struct _E_Config_Desklock_Background
@@ -495,69 +341,8 @@ struct _E_Config_Module
    int           priority;
 };
 
-struct _E_Config_Binding_Mouse
-{
-   int           context;
-   int           modifiers;
-   const char   *action;
-   const char   *params;
-   unsigned char button;
-   unsigned char any_mod;
-};
-
-struct _E_Config_Binding_Key
-{
-   int           context;
-   unsigned int  modifiers;
-   const char   *key;
-   const char   *action;
-   const char   *params;
-   unsigned char any_mod;
-};
-
-struct _E_Config_Binding_Edge
-{
-   int           context;
-   int           modifiers;
-   float         delay;
-   const char   *action;
-   const char   *params;
-   unsigned char edge;
-   unsigned char any_mod;
-   Eina_Bool    drag_only;
-};
-
-struct _E_Config_Binding_Signal
-{
-   int           context;
-   const char   *signal;
-   const char   *source;
-   int           modifiers;
-   unsigned char any_mod;
-   const char   *action;
-   const char   *params;
-};
-
-struct _E_Config_Binding_Wheel
-{
-   int           context;
-   int           direction;
-   int           z;
-   int           modifiers;
-   unsigned char any_mod;
-   const char   *action;
-   const char   *params;
-};
-
-struct _E_Config_Binding_Acpi
-{
-   int         context, type, status;
-   const char *action, *params;
-};
-
 struct _E_Config_Desktop_Background
 {
-   int         manager;
    int         zone;
    int         desk_x;
    int         desk_y;
@@ -566,7 +351,6 @@ struct _E_Config_Desktop_Background
 
 struct _E_Config_Desktop_Name
 {
-   int         manager;
    int         zone;
    int         desk_x;
    int         desk_y;
@@ -575,145 +359,93 @@ struct _E_Config_Desktop_Name
 
 struct _E_Config_Desktop_Window_Profile
 {
-   int         manager;
    int         zone;
    int         desk_x;
    int         desk_y;
    const char *profile;
 };
 
-struct _E_Config_Gadcon
-{
-   const char  *name;
-   int          id;
-   unsigned int zone;
-   Eina_List   *clients;
-};
-
-struct _E_Config_Gadcon_Client
+struct _E_Event_Config_Icon_Theme
 {
-   const char   *name;
-   const char   *id;
-   struct
-   {
-      int    pos, size, res; //gadcon
-      double pos_x, pos_y, size_w, size_h;  //gadman
-   } geom;
-   struct
-   {
-      int seq, flags;
-   } state_info;
-   const char   *style;
-   int           orient;
-   unsigned char autoscroll;
-   unsigned char resizable;
-   const char   *theme;
+   const char *icon_theme;
 };
 
-struct _E_Config_Shelf
+struct _E_Config_Client_Type
 {
-   const char   *name;
-   int           id;
-   int           manager, zone;
-   int           layer; //E_Layer
-   unsigned char popup; //DEAD
-   int           orient;
-   unsigned char fit_along;
-   unsigned char fit_size;
-   const char   *style;
-   int           size;
-   int           overlap;
-   int           autohide;
-   int           autohide_show_action;
-   float         hide_timeout;
-   float         hide_duration;
-   int           desk_show_mode;
-   Eina_List    *desk_list;
+   const char     *name; /* icccm.class_name */
+   const char     *clas; /* icccm.class */
+   E_Window_Type   window_type; /* Ecore_X_Window_Type / E_Window_Type */
+   int             client_type; /* E_Client_Type */
 };
 
-struct _E_Config_Shelf_Desk
+struct _E_Config_Policy_Desk
 {
+   unsigned int zone_num;
    int x, y;
+   int enable;
 };
 
-struct _E_Config_Mime_Icon
-{
-   const char *mime;
-   const char *icon;
-};
-
-struct _E_Event_Config_Icon_Theme
+struct _E_Config_Socket_Access
 {
-   const char *icon_theme;
-};
-
-struct _E_Config_XKB_Layout
-{
-   const char *name;
-   const char *model;
-   const char *variant;
+   struct
+   {
+      unsigned char use;
+      const char   *name;
+      const char   *owner;
+      const char   *group;
+      unsigned int  permissions;
+      struct
+      {
+         unsigned char use;
+         const char   *name;
+         const char   *value;
+         int           flags;
+      } smack;
+   } sock_access;
+   struct
+   {
+      unsigned char use;
+      const char   *link_name;
+      const char   *owner;
+      const char   *group;
+      struct
+      {
+         const char   *name;
+         const char   *value;
+         int           flags;
+      } smack;
+   } sock_symlink_access;
 };
 
-struct _E_Config_XKB_Option
+struct _E_Config_Aux_Hint_Supported
 {
    const char *name;
 };
 
-struct _E_Config_Client_Type
-{
-   const char     *name; /* icccm.class_name */
-   const char     *clas; /* icccm.class */
-   E_Window_Type   window_type; /* Ecore_X_Window_Type / E_Window_Type */
-   int             client_type; /* E_Client_Type */
-};
-
 EINTERN int                   e_config_init(void);
 EINTERN int                   e_config_shutdown(void);
 
-EAPI void                     e_config_load(void);
-
-EAPI int                      e_config_save(void);
-EAPI void                     e_config_save_flush(void);
-EAPI void                     e_config_save_queue(void);
-
-EAPI const char              *e_config_profile_get(void);
-EAPI char                    *e_config_profile_dir_get(const char *prof);
-EAPI void                     e_config_profile_set(const char *prof);
-EAPI Eina_List               *e_config_profile_list(void);
-EAPI void                     e_config_profile_add(const char *prof);
-EAPI void                     e_config_profile_del(const char *prof);
-
-EAPI void                     e_config_save_block_set(int block);
-EAPI int                      e_config_save_block_get(void);
-
-EAPI void                    *e_config_domain_load(const char *domain, E_Config_DD *edd);
-EAPI void                    *e_config_domain_system_load(const char *domain, E_Config_DD *edd);
-EAPI int                      e_config_profile_save(void);
-EAPI int                      e_config_domain_save(const char *domain, E_Config_DD *edd, const void *data);
-
-EAPI E_Config_Binding_Mouse  *e_config_binding_mouse_match(E_Config_Binding_Mouse *eb_in);
-EAPI E_Config_Binding_Key    *e_config_binding_key_match(E_Config_Binding_Key *eb_in);
-EAPI E_Config_Binding_Edge   *e_config_binding_edge_match(E_Config_Binding_Edge *eb_in);
-EAPI E_Config_Binding_Signal *e_config_binding_signal_match(E_Config_Binding_Signal *eb_in);
-EAPI E_Config_Binding_Wheel  *e_config_binding_wheel_match(E_Config_Binding_Wheel *eb_in);
-EAPI E_Config_Binding_Acpi   *e_config_binding_acpi_match(E_Config_Binding_Acpi *eb_in);
-EAPI void                     e_config_mode_changed(void);
-
-
-EAPI void e_config_bindings_free(E_Config_Bindings *ecb);
-EAPI void e_config_binding_signal_free(E_Config_Binding_Signal *ebs);
-EAPI void e_config_binding_wheel_free(E_Config_Binding_Wheel *ebw);
-EAPI void e_config_binding_mouse_free(E_Config_Binding_Mouse *ebm);
-EAPI void e_config_binding_edge_free(E_Config_Binding_Edge *ebe);
-EAPI void e_config_binding_key_free(E_Config_Binding_Key *ebk);
-EAPI void e_config_binding_acpi_free(E_Config_Binding_Acpi *eba);
-
-extern EAPI E_Config *e_config;
-extern EAPI E_Config_Bindings *e_bindings;
-
-extern EAPI int E_EVENT_CONFIG_ICON_THEME;
-extern EAPI int E_EVENT_CONFIG_MODE_CHANGED;
-extern EAPI int E_EVENT_CONFIG_LOADED;
+E_API void                     e_config_load(void);
+
+E_API int                      e_config_save(void);
+E_API void                     e_config_save_queue(void);
+
+E_API const char              *e_config_profile_get(void);
+E_API char                    *e_config_profile_dir_get(const char *prof);
+E_API void                     e_config_profile_set(const char *prof);
+E_API Eina_List               *e_config_profile_list(void);
+E_API void                     e_config_profile_add(const char *prof);
+E_API void                     e_config_profile_del(const char *prof);
+
+E_API void                     e_config_save_block_set(int block);
+E_API int                      e_config_save_block_get(void);
+
+E_API void                    *e_config_domain_load(const char *domain, E_Config_DD *edd);
+E_API void                    *e_config_domain_system_load(const char *domain, E_Config_DD *edd);
+E_API int                      e_config_profile_save(void);
+E_API int                      e_config_domain_save(const char *domain, E_Config_DD *edd, const void *data);
+
+extern E_API E_Config *e_config;
 
 #endif
 #endif