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;
17 /* increment this whenever we change config enough that you need new
18 * defaults for e to work.
20 #define E_CONFIG_FILE_EPOCH 1
21 /* increment this whenever a new set of config values are added but the users
22 * config doesn't need to be wiped - simply new values need to be put in
24 #define E_CONFIG_FILE_GENERATION 19
25 #define E_CONFIG_FILE_VERSION ((E_CONFIG_FILE_EPOCH * 1000000) + E_CONFIG_FILE_GENERATION)
30 const char *desktop_default_background;
31 const char *desktop_default_name;
32 const char *desktop_default_window_profile;
33 Eina_List *desktop_backgrounds;
34 Eina_List *desktop_names;
35 Eina_List *desktop_window_profiles;
38 int zone_desks_x_count;
39 int zone_desks_y_count;
41 int window_placement_policy;
45 int always_click_to_raise;
46 int always_click_to_focus;
50 int kill_if_close_not_possible;
52 double kill_timer_wait;
66 int fullscreen_policy;
68 int dpms_standby_enable;
69 int dpms_suspend_enable;
71 int dpms_standby_timeout;
72 int dpms_suspend_timeout;
74 unsigned char no_dpms_on_fullscreen;
76 int border_raise_on_mouse_action;
77 int border_raise_on_focus;
78 int raise_on_revert_focus;
79 const char *theme_default_border_style;
81 int ping_clients_interval;
102 unsigned char use_dpi;
103 unsigned char use_custom;
105 unsigned char show_cursor;
106 unsigned char idle_cursor;
111 const char *default_model;
112 Eina_Bool dont_touch_my_damn_keyboard;
114 unsigned int delay_held_key_input_to_focus;
118 int repeat_delay; // delay in milliseconds since key down until repeating starts
119 int repeat_rate; // the rate of repeating keys in characters per second
121 int use_desktop_window_profile;
122 #ifdef _F_ZONE_WINDOW_ROTATION_
123 unsigned char wm_win_rotation;
125 int use_cursor_timer;
126 int cursor_timer_interval;
127 Eina_List *client_types;
128 const char *comp_shadow_file;
134 unsigned int permissions;
138 struct _E_Config_Desklock_Background
144 struct _E_Config_Env_Var
151 struct _E_Config_Syscon_Action
160 struct _E_Config_Module
163 unsigned char enabled;
164 unsigned char delayed;
168 struct _E_Config_Desktop_Background
176 struct _E_Config_Desktop_Name
184 struct _E_Config_Desktop_Window_Profile
192 struct _E_Event_Config_Icon_Theme
194 const char *icon_theme;
197 struct _E_Config_Client_Type
199 const char *name; /* icccm.class_name */
200 const char *clas; /* icccm.class */
201 E_Window_Type window_type; /* Ecore_X_Window_Type / E_Window_Type */
202 int client_type; /* E_Client_Type */
205 EINTERN int e_config_init(void);
206 EINTERN int e_config_shutdown(void);
208 E_API void e_config_load(void);
210 E_API int e_config_save(void);
211 E_API void e_config_save_queue(void);
213 E_API const char *e_config_profile_get(void);
214 E_API char *e_config_profile_dir_get(const char *prof);
215 E_API void e_config_profile_set(const char *prof);
216 E_API Eina_List *e_config_profile_list(void);
217 E_API void e_config_profile_add(const char *prof);
218 E_API void e_config_profile_del(const char *prof);
220 E_API void e_config_save_block_set(int block);
221 E_API int e_config_save_block_get(void);
223 E_API void *e_config_domain_load(const char *domain, E_Config_DD *edd);
224 E_API void *e_config_domain_system_load(const char *domain, E_Config_DD *edd);
225 E_API int e_config_profile_save(void);
226 E_API int e_config_domain_save(const char *domain, E_Config_DD *edd, const void *data);
228 E_API void e_config_mode_changed(void);
230 extern E_API E_Config *e_config;
232 extern E_API int E_EVENT_CONFIG_MODE_CHANGED;