3 #define E_CONFIG_LIMIT(v, min, max) {if (v >= max) v = max; else if (v <= min) v = min; }
5 typedef struct _E_Config E_Config;
6 typedef struct _E_Config_Module E_Config_Module;
7 typedef struct _E_Config_Desktop_Name E_Config_Desktop_Name;
8 typedef struct _E_Config_Desktop_Window_Profile E_Config_Desktop_Window_Profile;
9 typedef struct _E_Config_Desktop_Background E_Config_Desktop_Background;
10 typedef struct _E_Config_Env_Var E_Config_Env_Var;
11 typedef struct _E_Config_Client_Type E_Config_Client_Type;
12 typedef struct _E_Config_Policy_Desk E_Config_Policy_Desk;
13 typedef struct _E_Config_Socket_Access E_Config_Socket_Access;
14 typedef struct _E_Config_Aux_Hint_Supported E_Config_Aux_Hint_Supported;
20 /* increment this whenever we change config enough that you need new
21 * defaults for e to work.
23 #define E_CONFIG_FILE_EPOCH 1
24 /* increment this whenever a new set of config values are added but the users
25 * config doesn't need to be wiped - simply new values need to be put in
27 #define E_CONFIG_FILE_GENERATION 19
28 #define E_CONFIG_FILE_VERSION ((E_CONFIG_FILE_EPOCH * 1000000) + E_CONFIG_FILE_GENERATION)
33 const char *desktop_default_background;
34 const char *desktop_default_name;
35 const char *desktop_default_window_profile;
36 Eina_List *desktop_backgrounds;
37 Eina_List *desktop_names;
38 Eina_List *desktop_window_profiles;
41 int zone_desks_x_count;
42 int zone_desks_y_count;
51 Eina_List *policy_desks;
54 int window_placement_policy;
58 int always_click_to_raise;
59 int always_click_to_focus;
63 int kill_if_close_not_possible;
65 double kill_timer_wait;
79 int fullscreen_policy;
81 int dpms_standby_enable;
82 int dpms_suspend_enable;
84 int dpms_standby_timeout;
85 int dpms_suspend_timeout;
87 unsigned char no_dpms_on_fullscreen;
89 int border_raise_on_mouse_action;
90 int border_raise_on_focus;
91 int raise_on_revert_focus;
92 const char *theme_default_border_style;
94 int ping_clients_interval;
114 double profile_factor;
115 double inch_correction;
116 double inch_correction_bound;
118 unsigned char use_dpi;
119 unsigned char use_custom;
120 unsigned char for_tdm;
122 unsigned char show_cursor;
123 unsigned char idle_cursor;
128 const char *default_model;
129 Eina_Bool dont_touch_my_damn_keyboard;
131 unsigned int delay_held_key_input_to_focus;
143 int repeat_delay; // delay in milliseconds since key down until repeating starts
144 int repeat_rate; // the rate of repeating keys in characters per second
146 int use_desktop_window_profile;
147 #ifdef _F_ZONE_WINDOW_ROTATION_
148 unsigned char wm_win_rotation;
150 int use_cursor_timer;
151 int cursor_timer_interval;
152 Eina_List *client_types;
153 const char *comp_shadow_file;
159 unsigned char r, g, b, a;
162 int delayed_load_idle_count;
163 Eina_Bool use_buffer_flush;
164 Eina_Bool use_desk_smart_obj;
165 Eina_List *sock_accesses;
166 Eina_List *aux_hint_supported;
169 Eina_Bool qp; /* quickpanel */
171 double launchscreen_timeout;
172 double conformant_ack_timeout;
173 Eina_Bool calc_vis_without_effect;
174 Eina_Bool save_win_buffer;
175 const char *indicator_plug_name;
176 Eina_Bool launchscreen_without_timer;
179 struct _E_Config_Desklock_Background
185 struct _E_Config_Env_Var
192 struct _E_Config_Syscon_Action
201 struct _E_Config_Module
204 unsigned char enabled;
205 unsigned char delayed;
209 struct _E_Config_Desktop_Background
217 struct _E_Config_Desktop_Name
225 struct _E_Config_Desktop_Window_Profile
233 struct _E_Event_Config_Icon_Theme
235 const char *icon_theme;
238 struct _E_Config_Client_Type
240 const char *name; /* icccm.class_name */
241 const char *clas; /* icccm.class */
242 E_Window_Type window_type; /* Ecore_X_Window_Type / E_Window_Type */
243 int client_type; /* E_Client_Type */
246 struct _E_Config_Policy_Desk
248 unsigned int zone_num;
253 struct _E_Config_Socket_Access
261 unsigned int permissions;
273 const char *link_name;
282 } sock_symlink_access;
285 struct _E_Config_Aux_Hint_Supported
290 EINTERN int e_config_init(void);
291 EINTERN int e_config_shutdown(void);
293 E_API void e_config_load(void);
295 E_API int e_config_save(void);
296 E_API void e_config_save_queue(void);
298 E_API const char *e_config_profile_get(void);
299 E_API char *e_config_profile_dir_get(const char *prof);
300 E_API void e_config_profile_set(const char *prof);
301 E_API Eina_List *e_config_profile_list(void);
302 E_API void e_config_profile_add(const char *prof);
303 E_API void e_config_profile_del(const char *prof);
305 E_API void e_config_save_block_set(int block);
306 E_API int e_config_save_block_get(void);
308 E_API void *e_config_domain_load(const char *domain, E_Config_DD *edd);
309 E_API void *e_config_domain_system_load(const char *domain, E_Config_DD *edd);
310 E_API int e_config_profile_save(void);
311 E_API int e_config_domain_save(const char *domain, E_Config_DD *edd, const void *data);
313 E_API void e_config_mode_changed(void);
315 extern E_API E_Config *e_config;
317 extern E_API int E_EVENT_CONFIG_MODE_CHANGED;