#include "e_intern.h"
#include "e_config.h"
+struct _E_Config
+{
+ int config_version; // INTERNAL
+ const char *desktop_default_background;
+ const char *desktop_default_name;
+ Eina_List *desktop_backgrounds;
+ Eina_List *desktop_names;
+ double framerate;
+ int priority;
+ E_DEPRECATED int zone_desks_x_count;
+ E_DEPRECATED int zone_desks_y_count;
+ Eina_List *modules;
+ int use_e_policy;
+ struct
+ {
+ const char *title;
+ const char *clas;
+ unsigned int type;
+ } launcher;
+ E_DEPRECATED Eina_List *policy_desks;
+ E_DEPRECATED int use_configured_desks;
+ int use_softkey_service;
+ E_DEPRECATED 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;
+ E_DEPRECATED int ping_clients;
+ int use_e_cursor;
+ int cursor_size;
+ struct
+ {
+ int move;
+ int resize;
+ int raise;
+ int lower;
+ int layer;
+ int desktop;
+ int iconify;
+ } transient;
+ int fullscreen_policy;
+ int fullscreen_layer;
+ 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;
+ E_DEPRECATED int ping_clients_interval;
+ struct
+ {
+ double timeout;
+ struct
+ {
+ unsigned char dx;
+ unsigned char dy;
+ } move;
+ struct
+ {
+ unsigned char dx;
+ unsigned char dy;
+ } resize;
+ } border_keyboard;
+ struct
+ {
+ 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;
+ 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
+ {
+ 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
+ {
+ 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;
+ unsigned char wm_win_rotation;
+ Eina_Bool wm_win_rotation_swap_size;
+ 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)
+ 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
+ {
+ 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
+ // use_cleanup_timer: use timer to cleanup gestures
+ // cleanup_time: wait for gesture ends after started
+ struct
+ {
+ double wait_time; // default value is 0.1(sec)
+ int wait_dist;
+ int use_cleanup_timer;
+ int cleanup_time;
+ } gesture_service;
+
+ // Configured output resolution
+ struct
+ {
+ 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
+ {
+ 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 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
+ {
+ 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
+ {
+ Eina_Bool enable;
+ double duration;
+ } desk_zoom_effect;
+
+ //set fake output resolution environment
+ struct
+ {
+ 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 type; // 0: rectangle, 1: image
+
+ // for rectangle
+ Eina_Bool customize; // 0: use default color, 1: use customized color
+ int r, g, b, a;
+
+ // 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.
+ Eina_Bool input_thread_mode; // 0: process key input event in main thread, 1: process key input event in input thread
+ unsigned int key_input_time_limit;
+ Eina_Bool key_input_ttrace_enable; // 0: disable the performance measurement of key inputs , 1: enable the performance measurement of key inputs
+ Eina_Bool input_thread_data_clone; // 0: disable to clone data into input thread, 1: enable to clone data into input thread
+ Eina_Bool pointer_thread_mode; // 0: process pointer/touch event in main thread, 1: process pointer/touch in input thread
+ Eina_Bool input_use_ecore_event; // 0: process pointer/touch event without evas event, 1: process pointer/touch event with evas event
+};
+
+struct _E_Config_Module
+{
+ const char *name;
+ unsigned char enabled;
+ unsigned char delayed;
+ int priority;
+};
+
+struct _E_Config_Desktop_Name
+{
+ int zone;
+ int desk_x;
+ int desk_y;
+ const char *name;
+};
+
+struct _E_Config_Desktop_Background
+{
+ int zone;
+ int desk_x;
+ int desk_y;
+ const char *file;
+};
+
+struct _E_Config_Env_Var
+{
+ const char *var;
+ const char *val;
+ unsigned char unset;
+};
+
+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 */
+};
+
+struct _E_Config_Policy_Desk
+{
+ unsigned int zone_num;
+ int x, y;
+ int enable;
+};
+
+struct _E_Config_Socket_Access
+{
+ 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_Aux_Hint_Supported
+{
+ const char *name;
+};
+
EINTERN int e_config_init(void);
EINTERN int e_config_shutdown(void);
typedef struct _E_Config_Socket_Access E_Config_Socket_Access;
typedef struct _E_Config_Aux_Hint_Supported E_Config_Aux_Hint_Supported;
-struct _E_Config
-{
- int config_version; // INTERNAL
- const char *desktop_default_background;
- const char *desktop_default_name;
- Eina_List *desktop_backgrounds;
- Eina_List *desktop_names;
- double framerate;
- int priority;
- E_DEPRECATED int zone_desks_x_count;
- E_DEPRECATED int zone_desks_y_count;
- Eina_List *modules;
- int use_e_policy;
- struct
- {
- const char *title;
- const char *clas;
- unsigned int type;
- } launcher;
- E_DEPRECATED Eina_List *policy_desks;
- E_DEPRECATED int use_configured_desks;
- int use_softkey_service;
- E_DEPRECATED 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;
- E_DEPRECATED int ping_clients;
- int use_e_cursor;
- int cursor_size;
- struct
- {
- int move;
- int resize;
- int raise;
- int lower;
- int layer;
- int desktop;
- int iconify;
- } transient;
- int fullscreen_policy;
- int fullscreen_layer;
- 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;
- E_DEPRECATED int ping_clients_interval;
- struct
- {
- double timeout;
- struct
- {
- unsigned char dx;
- unsigned char dy;
- } move;
- struct
- {
- unsigned char dx;
- unsigned char dy;
- } resize;
- } border_keyboard;
- struct
- {
- 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;
- 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
- {
- 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
- {
- 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;
- unsigned char wm_win_rotation;
- Eina_Bool wm_win_rotation_swap_size;
- 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)
- 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
- {
- 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
- // use_cleanup_timer: use timer to cleanup gestures
- // cleanup_time: wait for gesture ends after started
- struct
- {
- double wait_time; // default value is 0.1(sec)
- int wait_dist;
- int use_cleanup_timer;
- int cleanup_time;
- } gesture_service;
-
- // Configured output resolution
- struct
- {
- 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
- {
- 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 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
- {
- 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
- {
- Eina_Bool enable;
- double duration;
- } desk_zoom_effect;
-
- //set fake output resolution environment
- struct
- {
- 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 type; // 0: rectangle, 1: image
-
- // for rectangle
- Eina_Bool customize; // 0: use default color, 1: use customized color
- int r, g, b, a;
-
- // 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.
- Eina_Bool input_thread_mode; // 0: process key input event in main thread, 1: process key input event in input thread
- unsigned int key_input_time_limit;
- Eina_Bool key_input_ttrace_enable; // 0: disable the performance measurement of key inputs , 1: enable the performance measurement of key inputs
- Eina_Bool input_thread_data_clone; // 0: disable to clone data into input thread, 1: enable to clone data into input thread
- Eina_Bool pointer_thread_mode; // 0: process pointer/touch event in main thread, 1: process pointer/touch in input thread
- Eina_Bool input_use_ecore_event; // 0: process pointer/touch event without evas event, 1: process pointer/touch event with evas event
-};
-
struct _E_Config_Desklock_Background
{
const char *file;
Eina_Bool hide_logo;
};
-struct _E_Config_Env_Var
-{
- const char *var;
- const char *val;
- unsigned char unset;
-};
-
struct _E_Config_Syscon_Action
{
const char *action;
int is_main;
};
-struct _E_Config_Module
-{
- const char *name;
- unsigned char enabled;
- unsigned char delayed;
- int priority;
-};
-
-struct _E_Config_Desktop_Background
-{
- int zone;
- int desk_x;
- int desk_y;
- const char *file;
-};
-
-struct _E_Config_Desktop_Name
-{
- int zone;
- int desk_x;
- int desk_y;
- const char *name;
-};
-
struct _E_Event_Config_Icon_Theme
{
const char *icon_theme;
};
-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 */
-};
-
-struct _E_Config_Policy_Desk
-{
- unsigned int zone_num;
- int x, y;
- int enable;
-};
-
-struct _E_Config_Socket_Access
-{
- 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_Aux_Hint_Supported
-{
- const char *name;
-};
-
E_API void e_config_save_queue(void);
E_API void *e_config_domain_load(const char *domain, E_Config_DD *edd);
E_API int e_config_domain_save(const char *domain, E_Config_DD *edd, const void *data);