Compare commits

...

7 Commits

Author SHA1 Message Date
Michaël Bouchaud (yoz) bef6457d03 bryce_migration: add a module to migrate from shelf to bryce 2017-01-08 12:12:08 +01:00
Michaël Bouchaud (yoz) fe821b5eea e_time: make time external config 2017-01-08 12:12:08 +01:00
Michaël Bouchaud (yoz) 59b4b3f5a3 e_pager: make pager external config 2017-01-08 12:12:08 +01:00
Michaël Bouchaud (yoz) 2abbab5043 e_clock: make clock external config 2017-01-08 12:12:08 +01:00
Michaël Bouchaud (yoz) 8c8cb30cef e_ibar: make ibar external config 2017-01-08 12:12:07 +01:00
Michaël Bouchaud (yoz) e694ba3942 e_luncher: make external luncher config 2017-01-08 12:12:07 +01:00
Michaël Bouchaud (yoz) 6b42eb12e5 e: make external e_config 2017-01-08 12:12:07 +01:00
40 changed files with 2219 additions and 1097 deletions

View File

@ -902,6 +902,7 @@ AC_E_OPTIONAL_MODULE([geolocation], true)
AC_E_OPTIONAL_MODULE([xwayland], $have_wayland_dep, [CHECK_MODULE_XWAYLAND])
AC_E_OPTIONAL_MODULE([wireless], true)
AC_E_OPTIONAL_MODULE([time], true)
AC_E_OPTIONAL_MODULE([bryce_migration], true)
if test "x${HAVE_WL_X11}" != "xyes" && test "x${have_wayland}" = "xyes" && test "x${HAVE_XWAYLAND}" != "xyes"; then
AC_DEFINE_UNQUOTED([HAVE_WAYLAND_ONLY],[1],[enable wayland-only version of enlightenment])
@ -1132,6 +1133,7 @@ src/modules/wl_desktop_shell/module.desktop
src/modules/wireless/module.desktop
src/modules/time/module.desktop
src/modules/luncher/module.desktop
src/modules/bryce_migration/module.desktop
data/xsession/enlightenment.desktop
data/etc/sysactions.conf
data/units/enlightenment.service

View File

@ -85,6 +85,7 @@ src/bin/e_comp_x_randr.h \
src/bin/e_config_data.h \
src/bin/e_config_dialog.h \
src/bin/e_config.h \
src/bin/e_config_descriptor.h \
src/bin/e_configure.h \
src/bin/e_confirm_dialog.h \
src/bin/e_datastore.h \
@ -252,6 +253,7 @@ src/bin/e_comp_canvas.c \
src/bin/e_comp_cfdata.c \
src/bin/e_comp_object.c \
src/bin/e_config.c \
src/bin/e_config_descriptor.c \
src/bin/e_config_data.c \
src/bin/e_config_dialog.c \
src/bin/e_configure.c \

View File

@ -53,6 +53,9 @@ typedef struct Bryces
Eina_List *bryces;
} Bryces;
static void _bryce_delete(Bryce *b);
static E_Config_DD *edd_bryces;
static E_Config_DD *edd_bryce;
static Bryces *bryces;
@ -750,13 +753,7 @@ _bryce_autohide_menu(void *data, E_Menu *m EINA_UNUSED, E_Menu_Item *mi EINA_UNU
static void
_bryce_remove_menu(void *data, E_Menu *m EINA_UNUSED, E_Menu_Item *mi EINA_UNUSED)
{
Bryce *b = data;
bryces->bryces = eina_list_remove(bryces->bryces, data);
e_gadget_site_del(b->site);
eina_stringshare_del(b->name);
eina_stringshare_del(b->style);
evas_object_hide(b->bryce);
evas_object_del(b->bryce);
_bryce_delete(data);
e_config_save_queue();
}
@ -940,6 +937,17 @@ _bryce_create(Bryce *b, Evas_Object *parent)
_bryce_autosize(b);
}
static void
_bryce_delete(Bryce *b)
{
bryces->bryces = eina_list_remove(bryces->bryces, b);
e_gadget_site_del(b->site);
eina_stringshare_del(b->name);
eina_stringshare_del(b->style);
evas_object_hide(b->bryce);
evas_object_del(b->bryce);
}
static Eina_Bool
_bryce_act_resize(E_Object *obj, const char *params, E_Binding_Event_Wheel *ev)
{
@ -1034,6 +1042,13 @@ e_bryce_add(Evas_Object *parent, const char *name, E_Gadget_Site_Orient orient,
return b->bryce;
}
E_API void
e_bryce_delete(Evas_Object *bryce)
{
BRYCE_GET(bryce);
_bryce_delete(b);
}
E_API void
e_bryce_orient(Evas_Object *bryce, E_Gadget_Site_Orient orient, E_Gadget_Site_Anchor an)
{

View File

@ -6,6 +6,7 @@ EINTERN void e_bryce_init(void);
EINTERN void e_bryce_shutdown(void);
E_API Evas_Object *e_bryce_add(Evas_Object *parent, const char *name, E_Gadget_Site_Orient orient, E_Gadget_Site_Anchor an);
E_API void e_bryce_delete(Evas_Object *bryce);
E_API void e_bryce_orient(Evas_Object *bryce, E_Gadget_Site_Orient orient, E_Gadget_Site_Anchor an);
E_API Evas_Object *e_bryce_site_get(Evas_Object *bryce);
E_API Eina_Bool e_bryce_autosize_get(Evas_Object *bryce);

View File

@ -22,34 +22,6 @@ static int _e_config_save_block = 0;
static E_Powersave_Deferred_Action *_e_config_save_defer = NULL;
static const char *_e_config_profile = NULL;
static E_Config_DD *_e_config_edd = NULL;
static E_Config_DD *_e_config_binding_edd = NULL;
static E_Config_DD *_e_config_module_edd = NULL;
static E_Config_DD *_e_config_font_fallback_edd = NULL;
static E_Config_DD *_e_config_font_default_edd = NULL;
static E_Config_DD *_e_config_theme_edd = NULL;
static E_Config_DD *_e_config_bindings_mouse_edd = NULL;
static E_Config_DD *_e_config_bindings_key_edd = NULL;
static E_Config_DD *_e_config_bindings_edge_edd = NULL;
static E_Config_DD *_e_config_bindings_signal_edd = NULL;
static E_Config_DD *_e_config_bindings_wheel_edd = NULL;
static E_Config_DD *_e_config_bindings_acpi_edd = NULL;
static E_Config_DD *_e_config_path_append_edd = NULL;
static E_Config_DD *_e_config_desktop_bg_edd = NULL;
static E_Config_DD *_e_config_desklock_bg_edd = NULL;
static E_Config_DD *_e_config_desktop_name_edd = NULL;
static E_Config_DD *_e_config_menu_applications_edd = NULL;
static E_Config_DD *_e_config_color_class_edd = NULL;
static E_Config_DD *_e_config_gadcon_edd = NULL;
static E_Config_DD *_e_config_gadcon_client_edd = NULL;
static E_Config_DD *_e_config_shelf_edd = NULL;
static E_Config_DD *_e_config_shelf_desk_edd = NULL;
static E_Config_DD *_e_config_mime_icon_edd = NULL;
static E_Config_DD *_e_config_syscon_action_edd = NULL;
static E_Config_DD *_e_config_env_var_edd = NULL;
static E_Config_DD *_e_config_xkb_layout_edd = NULL;
static E_Config_DD *_e_config_xkb_option_edd = NULL;
E_API int E_EVENT_CONFIG_ICON_THEME = 0;
E_API int E_EVENT_CONFIG_MODE_CHANGED = 0;
E_API int E_EVENT_CONFIG_LOADED = 0;
@ -57,14 +29,6 @@ E_API int E_EVENT_CONFIG_LOADED = 0;
static E_Dialog *_e_config_error_dialog = NULL;
static Eina_List *handlers = NULL;
typedef struct _E_Color_Class
{
const char *name; /* stringshared name */
int r, g, b, a;
int r2, g2, b2, a2;
int r3, g3, b3, a3;
} E_Color_Class;
static void
_e_config_binding_mouse_add(E_Binding_Context ctxt, int button, E_Binding_Modifier mod, int any_mod, const char *action, const char *params)
{
@ -153,657 +117,6 @@ _e_config_profile_name_get(Eet_File *ef)
return s;
}
static void
_e_config_edd_shutdown(void)
{
E_CONFIG_DD_FREE(_e_config_edd);
E_CONFIG_DD_FREE(_e_config_module_edd);
E_CONFIG_DD_FREE(_e_config_font_default_edd);
E_CONFIG_DD_FREE(_e_config_font_fallback_edd);
E_CONFIG_DD_FREE(_e_config_theme_edd);
E_CONFIG_DD_FREE(_e_config_path_append_edd);
E_CONFIG_DD_FREE(_e_config_desktop_bg_edd);
E_CONFIG_DD_FREE(_e_config_desklock_bg_edd);
E_CONFIG_DD_FREE(_e_config_desktop_name_edd);
E_CONFIG_DD_FREE(e_remember_edd);
E_CONFIG_DD_FREE(_e_config_menu_applications_edd);
E_CONFIG_DD_FREE(_e_config_gadcon_edd);
E_CONFIG_DD_FREE(_e_config_gadcon_client_edd);
E_CONFIG_DD_FREE(_e_config_shelf_edd);
E_CONFIG_DD_FREE(_e_config_shelf_desk_edd);
E_CONFIG_DD_FREE(_e_config_mime_icon_edd);
E_CONFIG_DD_FREE(_e_config_syscon_action_edd);
E_CONFIG_DD_FREE(_e_config_env_var_edd);
E_CONFIG_DD_FREE(_e_config_xkb_layout_edd);
E_CONFIG_DD_FREE(_e_config_xkb_option_edd);
}
static void
_e_config_edd_init(Eina_Bool old)
{
_e_config_gadcon_client_edd = E_CONFIG_DD_NEW("E_Config_Gadcon_Client", E_Config_Gadcon_Client);
#undef T
#undef D
#define T E_Config_Gadcon_Client
#define D _e_config_gadcon_client_edd
E_CONFIG_VAL(D, T, name, STR);
E_CONFIG_VAL(D, T, id, STR);
E_CONFIG_VAL(D, T, geom.pos, INT);
E_CONFIG_VAL(D, T, geom.size, INT);
E_CONFIG_VAL(D, T, geom.res, INT);
E_CONFIG_VAL(D, T, geom.pos_x, DOUBLE);
E_CONFIG_VAL(D, T, geom.pos_y, DOUBLE);
E_CONFIG_VAL(D, T, geom.size_w, DOUBLE);
E_CONFIG_VAL(D, T, geom.size_h, DOUBLE);
E_CONFIG_VAL(D, T, state_info.seq, INT);
E_CONFIG_VAL(D, T, state_info.flags, INT);
E_CONFIG_VAL(D, T, style, STR);
E_CONFIG_VAL(D, T, orient, INT);
E_CONFIG_VAL(D, T, autoscroll, UCHAR);
E_CONFIG_VAL(D, T, resizable, UCHAR);
_e_config_gadcon_edd = E_CONFIG_DD_NEW("E_Config_Gadcon", E_Config_Gadcon);
#undef T
#undef D
#define T E_Config_Gadcon
#define D _e_config_gadcon_edd
E_CONFIG_VAL(D, T, name, STR);
E_CONFIG_VAL(D, T, id, INT);
E_CONFIG_VAL(D, T, zone, UINT);
E_CONFIG_LIST(D, T, clients, _e_config_gadcon_client_edd);
_e_config_shelf_desk_edd = E_CONFIG_DD_NEW("E_Config_Shelf_Desk", E_Config_Shelf_Desk);
#undef T
#undef D
#define T E_Config_Shelf_Desk
#define D _e_config_shelf_desk_edd
E_CONFIG_VAL(D, T, x, INT);
E_CONFIG_VAL(D, T, y, INT);
_e_config_shelf_edd = E_CONFIG_DD_NEW("E_Config_Shelf", E_Config_Shelf);
#undef T
#undef D
#define T E_Config_Shelf
#define D _e_config_shelf_edd
E_CONFIG_VAL(D, T, name, STR);
E_CONFIG_VAL(D, T, id, INT);
E_CONFIG_VAL(D, T, zone, INT);
E_CONFIG_VAL(D, T, layer, INT);
E_CONFIG_VAL(D, T, popup, UCHAR);
E_CONFIG_VAL(D, T, orient, INT);
E_CONFIG_VAL(D, T, fit_along, UCHAR);
E_CONFIG_VAL(D, T, fit_size, UCHAR);
E_CONFIG_VAL(D, T, style, STR);
E_CONFIG_VAL(D, T, size, INT);
E_CONFIG_VAL(D, T, overlap, INT);
E_CONFIG_VAL(D, T, autohide, INT);
E_CONFIG_VAL(D, T, autohide_show_action, INT);
E_CONFIG_VAL(D, T, hide_timeout, FLOAT);
E_CONFIG_VAL(D, T, hide_duration, FLOAT);
E_CONFIG_VAL(D, T, desk_show_mode, INT);
E_CONFIG_LIST(D, T, desk_list, _e_config_shelf_desk_edd);
_e_config_desklock_bg_edd = E_CONFIG_DD_NEW("E_Config_Desklock_Background", E_Config_Desklock_Background);
#undef T
#undef D
#define T E_Config_Desklock_Background
#define D _e_config_desklock_bg_edd
E_CONFIG_VAL(D, T, file, STR);
E_CONFIG_VAL(D, T, hide_logo, UCHAR);
_e_config_desktop_bg_edd = E_CONFIG_DD_NEW("E_Config_Desktop_Background", E_Config_Desktop_Background);
#undef T
#undef D
#define T E_Config_Desktop_Background
#define D _e_config_desktop_bg_edd
E_CONFIG_VAL(D, T, zone, INT);
E_CONFIG_VAL(D, T, desk_x, INT);
E_CONFIG_VAL(D, T, desk_y, INT);
E_CONFIG_VAL(D, T, file, STR);
_e_config_desktop_name_edd = E_CONFIG_DD_NEW("E_Config_Desktop_Name", E_Config_Desktop_Name);
#undef T
#undef D
#define T E_Config_Desktop_Name
#define D _e_config_desktop_name_edd
E_CONFIG_VAL(D, T, zone, INT);
E_CONFIG_VAL(D, T, desk_x, INT);
E_CONFIG_VAL(D, T, desk_y, INT);
E_CONFIG_VAL(D, T, name, STR);
_e_config_path_append_edd = E_CONFIG_DD_NEW("E_Path_Dir", E_Path_Dir);
#undef T
#undef D
#define T E_Path_Dir
#define D _e_config_path_append_edd
E_CONFIG_VAL(D, T, dir, STR);
_e_config_module_edd = E_CONFIG_DD_NEW("E_Config_Module", E_Config_Module);
#undef T
#undef D
#define T E_Config_Module
#define D _e_config_module_edd
E_CONFIG_VAL(D, T, name, STR);
E_CONFIG_VAL(D, T, enabled, UCHAR);
E_CONFIG_VAL(D, T, delayed, UCHAR);
E_CONFIG_VAL(D, T, priority, INT);
_e_config_font_default_edd = E_CONFIG_DD_NEW("E_Font_Default",
E_Font_Default);
#undef T
#undef D
#define T E_Font_Default
#define D _e_config_font_default_edd
E_CONFIG_VAL(D, T, text_class, STR);
E_CONFIG_VAL(D, T, font, STR);
E_CONFIG_VAL(D, T, size, INT);
_e_config_font_fallback_edd = E_CONFIG_DD_NEW("E_Font_Fallback",
E_Font_Fallback);
#undef T
#undef D
#define T E_Font_Fallback
#define D _e_config_font_fallback_edd
E_CONFIG_VAL(D, T, name, STR);
_e_config_menu_applications_edd = E_CONFIG_DD_NEW("E_Int_Menu_Applications",
E_Int_Menu_Applications);
#undef T
#undef D
#define T E_Int_Menu_Applications
#define D _e_config_menu_applications_edd
E_CONFIG_VAL(D, T, orig_path, STR);
E_CONFIG_VAL(D, T, try_exec, STR);
E_CONFIG_VAL(D, T, exec, STR);
E_CONFIG_VAL(D, T, load_time, LL);
E_CONFIG_VAL(D, T, exec_valid, INT);
e_remember_edd = E_CONFIG_DD_NEW("E_Remember", E_Remember);
#undef T
#undef D
#define T E_Remember
#define D e_remember_edd
E_CONFIG_VAL(D, T, version, UINT);
E_CONFIG_VAL(D, T, match, INT);
E_CONFIG_VAL(D, T, no_reopen, INT);
E_CONFIG_VAL(D, T, apply_first_only, UCHAR);
E_CONFIG_VAL(D, T, keep_settings, UCHAR);
E_CONFIG_VAL(D, T, name, STR);
E_CONFIG_VAL(D, T, class, STR);
E_CONFIG_VAL(D, T, title, STR);
E_CONFIG_VAL(D, T, role, STR);
E_CONFIG_VAL(D, T, type, INT);
E_CONFIG_VAL(D, T, transient, UCHAR);
E_CONFIG_VAL(D, T, apply, INT);
E_CONFIG_VAL(D, T, max_score, INT);
E_CONFIG_VAL(D, T, prop.pos_x, INT);
E_CONFIG_VAL(D, T, prop.pos_y, INT);
E_CONFIG_VAL(D, T, prop.res_x, INT);
E_CONFIG_VAL(D, T, prop.res_y, INT);
E_CONFIG_VAL(D, T, prop.pos_w, INT);
E_CONFIG_VAL(D, T, prop.pos_h, INT);
E_CONFIG_VAL(D, T, prop.w, INT);
E_CONFIG_VAL(D, T, prop.h, INT);
E_CONFIG_VAL(D, T, prop.layer, INT);
E_CONFIG_VAL(D, T, prop.maximize, UINT);
E_CONFIG_VAL(D, T, prop.lock_user_location, UCHAR);
E_CONFIG_VAL(D, T, prop.lock_client_location, UCHAR);
E_CONFIG_VAL(D, T, prop.lock_user_size, UCHAR);
E_CONFIG_VAL(D, T, prop.lock_client_size, UCHAR);
E_CONFIG_VAL(D, T, prop.lock_user_stacking, UCHAR);
E_CONFIG_VAL(D, T, prop.lock_client_stacking, UCHAR);
E_CONFIG_VAL(D, T, prop.lock_user_iconify, UCHAR);
E_CONFIG_VAL(D, T, prop.lock_client_iconify, UCHAR);
E_CONFIG_VAL(D, T, prop.lock_user_desk, UCHAR);
E_CONFIG_VAL(D, T, prop.lock_client_desk, UCHAR);
E_CONFIG_VAL(D, T, prop.lock_user_sticky, UCHAR);
E_CONFIG_VAL(D, T, prop.lock_client_sticky, UCHAR);
E_CONFIG_VAL(D, T, prop.lock_user_shade, UCHAR);
E_CONFIG_VAL(D, T, prop.lock_client_shade, UCHAR);
E_CONFIG_VAL(D, T, prop.lock_user_maximize, UCHAR);
E_CONFIG_VAL(D, T, prop.lock_client_maximize, UCHAR);
E_CONFIG_VAL(D, T, prop.lock_user_fullscreen, UCHAR);
E_CONFIG_VAL(D, T, prop.lock_client_fullscreen, UCHAR);
E_CONFIG_VAL(D, T, prop.lock_border, UCHAR);
E_CONFIG_VAL(D, T, prop.lock_close, UCHAR);
E_CONFIG_VAL(D, T, prop.lock_focus_in, UCHAR);
E_CONFIG_VAL(D, T, prop.lock_focus_out, UCHAR);
E_CONFIG_VAL(D, T, prop.lock_life, UCHAR);
E_CONFIG_VAL(D, T, prop.border, STR);
E_CONFIG_VAL(D, T, prop.sticky, UCHAR);
E_CONFIG_VAL(D, T, prop.shaded, UCHAR);
E_CONFIG_VAL(D, T, prop.skip_winlist, UCHAR);
E_CONFIG_VAL(D, T, prop.skip_pager, UCHAR);
E_CONFIG_VAL(D, T, prop.skip_taskbar, UCHAR);
E_CONFIG_VAL(D, T, prop.fullscreen, UCHAR);
E_CONFIG_VAL(D, T, prop.desk_x, INT);
E_CONFIG_VAL(D, T, prop.desk_y, INT);
E_CONFIG_VAL(D, T, prop.zone, INT);
E_CONFIG_VAL(D, T, prop.command, STR);
E_CONFIG_VAL(D, T, prop.icon_preference, UCHAR);
E_CONFIG_VAL(D, T, prop.desktop_file, STR);
E_CONFIG_VAL(D, T, prop.offer_resistance, UCHAR);
E_CONFIG_VAL(D, T, prop.opacity, UCHAR);
E_CONFIG_VAL(D, T, prop.volume, INT);
E_CONFIG_VAL(D, T, prop.volume_min, INT);
E_CONFIG_VAL(D, T, prop.volume_max, INT);
E_CONFIG_VAL(D, T, prop.mute, UCHAR);
E_CONFIG_VAL(D, T, uuid, STR);
E_CONFIG_VAL(D, T, pid, INT);
_e_config_color_class_edd = E_CONFIG_DD_NEW("E_Color_Class", E_Color_Class);
#undef T
#undef D
#define T E_Color_Class
#define D _e_config_color_class_edd
E_CONFIG_VAL(D, T, name, STR);
E_CONFIG_VAL(D, T, r, INT);
E_CONFIG_VAL(D, T, g, INT);
E_CONFIG_VAL(D, T, b, INT);
E_CONFIG_VAL(D, T, a, INT);
E_CONFIG_VAL(D, T, r2, INT);
E_CONFIG_VAL(D, T, g2, INT);
E_CONFIG_VAL(D, T, b2, INT);
E_CONFIG_VAL(D, T, a2, INT);
E_CONFIG_VAL(D, T, r3, INT);
E_CONFIG_VAL(D, T, g3, INT);
E_CONFIG_VAL(D, T, b3, INT);
E_CONFIG_VAL(D, T, a3, INT);
_e_config_mime_icon_edd = E_CONFIG_DD_NEW("E_Config_Mime_Icon",
E_Config_Mime_Icon);
#undef T
#undef D
#define T E_Config_Mime_Icon
#define D _e_config_mime_icon_edd
E_CONFIG_VAL(D, T, mime, STR);
E_CONFIG_VAL(D, T, icon, STR);
_e_config_syscon_action_edd = E_CONFIG_DD_NEW("E_Config_Syscon_Action",
E_Config_Syscon_Action);
#undef T
#undef D
#define T E_Config_Syscon_Action
#define D _e_config_syscon_action_edd
E_CONFIG_VAL(D, T, action, STR);
E_CONFIG_VAL(D, T, params, STR);
E_CONFIG_VAL(D, T, button, STR);
E_CONFIG_VAL(D, T, icon, STR);
E_CONFIG_VAL(D, T, is_main, INT);
_e_config_env_var_edd = E_CONFIG_DD_NEW("E_Config_Env_Var",
E_Config_Env_Var);
#undef T
#undef D
#define T E_Config_Env_Var
#define D _e_config_env_var_edd
E_CONFIG_VAL(D, T, var, STR);
E_CONFIG_VAL(D, T, val, STR);
E_CONFIG_VAL(D, T, unset, UCHAR);
_e_config_xkb_layout_edd = E_CONFIG_DD_NEW("E_Config_XKB_Layout",
E_Config_XKB_Layout);
#undef T
#undef D
#define T E_Config_XKB_Layout
#define D _e_config_xkb_layout_edd
E_CONFIG_VAL(D, T, name, STR);
E_CONFIG_VAL(D, T, model, STR);
E_CONFIG_VAL(D, T, variant, STR);
_e_config_xkb_option_edd = E_CONFIG_DD_NEW("E_Config_XKB_Option",
E_Config_XKB_Option);
#undef T
#undef D
#define T E_Config_XKB_Option
#define D _e_config_xkb_option_edd
E_CONFIG_VAL(D, T, name, STR);
_e_config_edd = E_CONFIG_DD_NEW("E_Config", E_Config);
#undef T
#undef D
#define T E_Config
#define D _e_config_edd
/**/ /* == already configurable via ipc */
E_CONFIG_VAL(D, T, config_version, INT); /**/
E_CONFIG_VAL(D, T, config_type, UINT); /**/
E_CONFIG_VAL(D, T, show_splash, INT); /**/
E_CONFIG_VAL(D, T, desktop_default_background, STR); /**/
E_CONFIG_VAL(D, T, desktop_default_name, STR); /**/
E_CONFIG_LIST(D, T, desktop_backgrounds, _e_config_desktop_bg_edd); /**/
E_CONFIG_LIST(D, T, desktop_names, _e_config_desktop_name_edd); /**/
E_CONFIG_VAL(D, T, menus_scroll_speed, DOUBLE); /**/
E_CONFIG_VAL(D, T, menus_fast_mouse_move_threshhold, DOUBLE); /**/
E_CONFIG_VAL(D, T, menus_click_drag_timeout, DOUBLE); /**/
E_CONFIG_VAL(D, T, window_maximize_animate, INT); /**/
E_CONFIG_VAL(D, T, window_maximize_transition, INT); /**/
E_CONFIG_VAL(D, T, window_maximize_time, DOUBLE); /**/
E_CONFIG_VAL(D, T, border_shade_animate, INT); /**/
E_CONFIG_VAL(D, T, border_shade_transition, INT); /**/
E_CONFIG_VAL(D, T, border_shade_speed, DOUBLE); /**/
E_CONFIG_VAL(D, T, framerate, DOUBLE); /**/
E_CONFIG_VAL(D, T, priority, INT); /**/
E_CONFIG_VAL(D, T, zone_desks_x_count, INT); /**/
E_CONFIG_VAL(D, T, zone_desks_y_count, INT); /**/
E_CONFIG_VAL(D, T, show_desktop_icons, INT); /**/
E_CONFIG_VAL(D, T, edge_flip_dragging, INT); /**/
E_CONFIG_VAL(D, T, language, STR); /**/
E_CONFIG_VAL(D, T, no_module_delay, INT); /**/
E_CONFIG_VAL(D, T, desklock_language, STR); /**/
E_CONFIG_LIST(D, T, modules, _e_config_module_edd); /**/
EET_DATA_DESCRIPTOR_ADD_LIST_STRING(D, T, "bad_modules", bad_modules);
E_CONFIG_LIST(D, T, font_fallbacks, _e_config_font_fallback_edd); /**/
E_CONFIG_LIST(D, T, font_defaults, _e_config_font_default_edd); /**/
E_CONFIG_LIST(D, T, mouse_bindings, _e_config_bindings_mouse_edd); /**/
E_CONFIG_LIST(D, T, key_bindings, _e_config_bindings_key_edd); /**/
E_CONFIG_LIST(D, T, edge_bindings, _e_config_bindings_edge_edd); /**/
E_CONFIG_LIST(D, T, signal_bindings, _e_config_bindings_signal_edd); /**/
E_CONFIG_LIST(D, T, wheel_bindings, _e_config_bindings_wheel_edd); /**/
E_CONFIG_LIST(D, T, acpi_bindings, _e_config_bindings_acpi_edd); /**/
E_CONFIG_LIST(D, T, path_append_data, _e_config_path_append_edd); /**/
E_CONFIG_LIST(D, T, path_append_images, _e_config_path_append_edd); /**/
E_CONFIG_LIST(D, T, path_append_fonts, _e_config_path_append_edd); /**/
E_CONFIG_LIST(D, T, path_append_init, _e_config_path_append_edd); /**/
E_CONFIG_LIST(D, T, path_append_icons, _e_config_path_append_edd); /**/
E_CONFIG_LIST(D, T, path_append_modules, _e_config_path_append_edd); /**/
E_CONFIG_LIST(D, T, path_append_backgrounds, _e_config_path_append_edd); /**/
E_CONFIG_VAL(D, T, window_placement_policy, INT); /**/
E_CONFIG_VAL(D, T, window_grouping, INT); /**/
E_CONFIG_VAL(D, T, focus_policy, INT); /**/
E_CONFIG_VAL(D, T, focus_setting, INT); /**/
E_CONFIG_VAL(D, T, pass_click_on, INT); /**/
E_CONFIG_VAL(D, T, window_activehint_policy, INT); /**/
E_CONFIG_VAL(D, T, always_click_to_raise, INT); /**/
E_CONFIG_VAL(D, T, always_click_to_focus, INT); /**/
E_CONFIG_VAL(D, T, use_auto_raise, INT); /**/
E_CONFIG_VAL(D, T, auto_raise_delay, DOUBLE); /**/
E_CONFIG_VAL(D, T, use_resist, INT); /**/
E_CONFIG_VAL(D, T, drag_resist, INT); /**/
E_CONFIG_VAL(D, T, desk_resist, INT); /**/
E_CONFIG_VAL(D, T, window_resist, INT); /**/
E_CONFIG_VAL(D, T, gadget_resist, INT); /**/
E_CONFIG_VAL(D, T, geometry_auto_resize_limit, INT); /**/
E_CONFIG_VAL(D, T, geometry_auto_move, INT); /**/
E_CONFIG_VAL(D, T, winlist_warp_while_selecting, INT); /**/
E_CONFIG_VAL(D, T, winlist_warp_at_end, INT); /**/
E_CONFIG_VAL(D, T, winlist_no_warp_on_direction, INT); /**/
E_CONFIG_VAL(D, T, winlist_warp_speed, DOUBLE); /**/
E_CONFIG_VAL(D, T, winlist_scroll_animate, INT); /**/
E_CONFIG_VAL(D, T, winlist_scroll_speed, DOUBLE); /**/
E_CONFIG_VAL(D, T, winlist_list_show_iconified, INT); /**/
E_CONFIG_VAL(D, T, winlist_list_show_other_desk_iconified, INT); /**/
E_CONFIG_VAL(D, T, winlist_list_show_other_screen_iconified, INT); /**/
E_CONFIG_VAL(D, T, winlist_list_show_other_desk_windows, INT); /**/
E_CONFIG_VAL(D, T, winlist_list_show_other_screen_windows, INT); /**/
E_CONFIG_VAL(D, T, winlist_list_uncover_while_selecting, INT); /**/
E_CONFIG_VAL(D, T, winlist_list_jump_desk_while_selecting, INT); /**/
E_CONFIG_VAL(D, T, winlist_list_focus_while_selecting, INT); /**/
E_CONFIG_VAL(D, T, winlist_list_raise_while_selecting, INT); /**/
E_CONFIG_VAL(D, T, winlist_list_move_after_select, INT); /**/
E_CONFIG_VAL(D, T, winlist_pos_align_x, DOUBLE); /**/
E_CONFIG_VAL(D, T, winlist_pos_align_y, DOUBLE); /**/
E_CONFIG_VAL(D, T, winlist_pos_size_w, DOUBLE); /**/
E_CONFIG_VAL(D, T, winlist_pos_size_h, DOUBLE); /**/
E_CONFIG_VAL(D, T, winlist_pos_min_w, INT); /**/
E_CONFIG_VAL(D, T, winlist_pos_min_h, INT); /**/
E_CONFIG_VAL(D, T, winlist_pos_max_w, INT); /**/
E_CONFIG_VAL(D, T, winlist_pos_max_h, INT); /**/
E_CONFIG_VAL(D, T, maximize_policy, INT); /**/
E_CONFIG_VAL(D, T, allow_manip, INT); /**/
E_CONFIG_VAL(D, T, border_fix_on_shelf_toggle, INT); /**/
E_CONFIG_VAL(D, T, allow_above_fullscreen, INT); /**/
E_CONFIG_VAL(D, T, kill_if_close_not_possible, INT); /**/
E_CONFIG_VAL(D, T, kill_process, INT); /**/
E_CONFIG_VAL(D, T, kill_timer_wait, DOUBLE); /**/
E_CONFIG_VAL(D, T, ping_clients, INT); /**/
E_CONFIG_VAL(D, T, transition_start, STR); /**/
E_CONFIG_VAL(D, T, transition_desk, STR); /**/
E_CONFIG_VAL(D, T, transition_change, STR); /**/
E_CONFIG_LIST(D, T, remembers, e_remember_edd);
E_CONFIG_LIST(D, T, menu_applications, _e_config_menu_applications_edd);
E_CONFIG_VAL(D, T, remember_internal_windows, INT);
E_CONFIG_VAL(D, T, remember_internal_fm_windows, UCHAR);
E_CONFIG_VAL(D, T, remember_internal_fm_windows_globally, UCHAR);
E_CONFIG_VAL(D, T, move_info_follows, INT); /**/
E_CONFIG_VAL(D, T, resize_info_follows, INT); /**/
E_CONFIG_VAL(D, T, move_info_visible, INT); /**/
E_CONFIG_VAL(D, T, resize_info_visible, INT); /**/
E_CONFIG_VAL(D, T, focus_last_focused_per_desktop, INT); /**/
E_CONFIG_VAL(D, T, focus_revert_on_hide_or_close, INT); /**/
E_CONFIG_VAL(D, T, focus_revert_allow_sticky, INT); /**/
E_CONFIG_VAL(D, T, pointer_slide, INT); /**/
E_CONFIG_VAL(D, T, disable_all_pointer_warps, INT); /**/
E_CONFIG_VAL(D, T, pointer_warp_speed, DOUBLE); /**/
E_CONFIG_VAL(D, T, use_e_cursor, INT); /**/
E_CONFIG_VAL(D, T, cursor_size, INT); /**/
E_CONFIG_VAL(D, T, menu_autoscroll_margin, INT); /**/
E_CONFIG_VAL(D, T, menu_autoscroll_cursor_margin, INT); /**/
E_CONFIG_VAL(D, T, transient.move, INT); /* FIXME: implement */
E_CONFIG_VAL(D, T, transient.resize, INT); /* FIXME: implement */
E_CONFIG_VAL(D, T, transient.raise, INT); /**/
E_CONFIG_VAL(D, T, transient.lower, INT); /**/
E_CONFIG_VAL(D, T, transient.layer, INT); /**/
E_CONFIG_VAL(D, T, transient.desktop, INT); /**/
E_CONFIG_VAL(D, T, transient.iconify, INT); /**/
E_CONFIG_VAL(D, T, menu_eap_name_show, INT); /**/
E_CONFIG_VAL(D, T, menu_eap_generic_show, INT); /**/
E_CONFIG_VAL(D, T, menu_eap_comment_show, INT); /**/
E_CONFIG_VAL(D, T, fullscreen_policy, INT); /**/
E_CONFIG_VAL(D, T, input_method, STR); /**/
E_CONFIG_LIST(D, T, path_append_messages, _e_config_path_append_edd); /**/
E_CONFIG_VAL(D, T, exebuf_term_cmd, STR);
E_CONFIG_LIST(D, T, color_classes, _e_config_color_class_edd);
E_CONFIG_VAL(D, T, use_app_icon, INT);
E_CONFIG_VAL(D, T, cnfmdlg_disabled, INT); /**/
E_CONFIG_VAL(D, T, cfgdlg_auto_apply, INT); /**/
E_CONFIG_VAL(D, T, cfgdlg_default_mode, INT); /**/
E_CONFIG_LIST(D, T, gadcons, _e_config_gadcon_edd);
E_CONFIG_LIST(D, T, shelves, _e_config_shelf_edd);
E_CONFIG_VAL(D, T, font_hinting, INT); /**/
E_CONFIG_VAL(D, T, desklock_passwd, INT);
E_CONFIG_VAL(D, T, desklock_pin, INT);
E_CONFIG_LIST(D, T, desklock_backgrounds, _e_config_desklock_bg_edd); /**/
E_CONFIG_VAL(D, T, desklock_auth_method, INT);
E_CONFIG_VAL(D, T, desklock_login_box_zone, INT);
E_CONFIG_VAL(D, T, desklock_start_locked, INT);
E_CONFIG_VAL(D, T, desklock_on_suspend, INT);
E_CONFIG_VAL(D, T, desklock_autolock_screensaver, INT);
E_CONFIG_VAL(D, T, desklock_post_screensaver_time, DOUBLE);
E_CONFIG_VAL(D, T, desklock_autolock_idle, INT);
E_CONFIG_VAL(D, T, desklock_autolock_idle_timeout, DOUBLE);
E_CONFIG_VAL(D, T, desklock_use_custom_desklock, INT);
E_CONFIG_VAL(D, T, desklock_custom_desklock_cmd, STR);
E_CONFIG_VAL(D, T, desklock_ask_presentation, UCHAR);
E_CONFIG_VAL(D, T, desklock_ask_presentation_timeout, DOUBLE);
E_CONFIG_VAL(D, T, screensaver_enable, INT);
E_CONFIG_VAL(D, T, screensaver_timeout, INT);
E_CONFIG_VAL(D, T, screensaver_interval, INT);
E_CONFIG_VAL(D, T, screensaver_blanking, INT);
E_CONFIG_VAL(D, T, screensaver_expose, INT);
E_CONFIG_VAL(D, T, screensaver_ask_presentation, UCHAR);
E_CONFIG_VAL(D, T, screensaver_ask_presentation_timeout, DOUBLE);
E_CONFIG_VAL(D, T, screensaver_wake_on_notify, INT);
E_CONFIG_VAL(D, T, screensaver_wake_on_urgent, INT);
E_CONFIG_VAL(D, T, screensaver_suspend, UCHAR);
E_CONFIG_VAL(D, T, screensaver_suspend_on_ac, UCHAR);
E_CONFIG_VAL(D, T, screensaver_suspend_delay, DOUBLE);
E_CONFIG_VAL(D, T, dpms_enable, INT);
E_CONFIG_VAL(D, T, dpms_standby_enable, INT);
E_CONFIG_VAL(D, T, dpms_suspend_enable, INT);
E_CONFIG_VAL(D, T, dpms_off_enable, INT);
E_CONFIG_VAL(D, T, dpms_standby_timeout, INT);
E_CONFIG_VAL(D, T, dpms_suspend_timeout, INT);
E_CONFIG_VAL(D, T, dpms_off_timeout, INT);
E_CONFIG_VAL(D, T, no_dpms_on_fullscreen, UCHAR);
E_CONFIG_VAL(D, T, clientlist_group_by, INT);
E_CONFIG_VAL(D, T, clientlist_include_all_zones, INT);
E_CONFIG_VAL(D, T, clientlist_separate_with, INT);
E_CONFIG_VAL(D, T, clientlist_sort_by, INT);
E_CONFIG_VAL(D, T, clientlist_separate_iconified_apps, INT);
E_CONFIG_VAL(D, T, clientlist_warp_to_iconified_desktop, INT);
E_CONFIG_VAL(D, T, clientlist_limit_caption_len, INT);
E_CONFIG_VAL(D, T, clientlist_max_caption_len, INT);
E_CONFIG_VAL(D, T, mouse_hand, INT);
E_CONFIG_VAL(D, T, mouse_accel_numerator, INT);
E_CONFIG_VAL(D, T, mouse_accel_denominator, INT);
E_CONFIG_VAL(D, T, mouse_accel_threshold, INT);
E_CONFIG_VAL(D, T, border_raise_on_mouse_action, INT);
E_CONFIG_VAL(D, T, border_raise_on_focus, INT);
E_CONFIG_VAL(D, T, raise_on_revert_focus, INT);
E_CONFIG_VAL(D, T, desk_flip_wrap, INT);
E_CONFIG_VAL(D, T, fullscreen_flip, INT);
E_CONFIG_VAL(D, T, multiscreen_flip, INT);
E_CONFIG_VAL(D, T, icon_theme, STR);
E_CONFIG_VAL(D, T, icon_theme_overrides, UCHAR);
E_CONFIG_VAL(D, T, desktop_environment, STR);
E_CONFIG_VAL(D, T, desk_flip_animate_mode, INT);
E_CONFIG_VAL(D, T, desk_flip_animate_type, STR);
E_CONFIG_VAL(D, T, desk_flip_animate_interpolation, INT);
E_CONFIG_VAL(D, T, wallpaper_import_last_dev, STR);
E_CONFIG_VAL(D, T, wallpaper_import_last_path, STR);
E_CONFIG_VAL(D, T, theme_default_border_style, STR);
E_CONFIG_LIST(D, T, mime_icons, _e_config_mime_icon_edd); /**/
E_CONFIG_VAL(D, T, desk_auto_switch, INT);
E_CONFIG_VAL(D, T, screen_limits, INT);
E_CONFIG_VAL(D, T, thumb_nice, INT);
E_CONFIG_VAL(D, T, menu_icons_hide, UCHAR);
E_CONFIG_VAL(D, T, menu_favorites_show, INT);
E_CONFIG_VAL(D, T, menu_apps_show, INT);
E_CONFIG_VAL(D, T, menu_gadcon_client_toplevel, INT);
E_CONFIG_VAL(D, T, ping_clients_interval, INT);
E_CONFIG_VAL(D, T, thumbscroll_enable, INT);
E_CONFIG_VAL(D, T, thumbscroll_threshhold, INT);
E_CONFIG_VAL(D, T, thumbscroll_momentum_threshhold, DOUBLE);
E_CONFIG_VAL(D, T, thumbscroll_friction, DOUBLE);
E_CONFIG_VAL(D, T, filemanager_single_click, UCHAR);
E_CONFIG_VAL(D, T, device_desktop, INT);
E_CONFIG_VAL(D, T, device_auto_mount, INT);
E_CONFIG_VAL(D, T, device_auto_open, INT);
E_CONFIG_VAL(D, T, filemanager_copy, UCHAR);
E_CONFIG_VAL(D, T, filemanager_secure_rm, UCHAR);
E_CONFIG_VAL(D, T, border_keyboard.timeout, DOUBLE);
E_CONFIG_VAL(D, T, border_keyboard.move.dx, UCHAR);
E_CONFIG_VAL(D, T, border_keyboard.move.dy, UCHAR);
E_CONFIG_VAL(D, T, border_keyboard.resize.dx, UCHAR);
E_CONFIG_VAL(D, T, border_keyboard.resize.dy, UCHAR);
E_CONFIG_VAL(D, T, scale.min, DOUBLE);
E_CONFIG_VAL(D, T, scale.max, DOUBLE);
E_CONFIG_VAL(D, T, scale.factor, DOUBLE);
E_CONFIG_VAL(D, T, scale.base_dpi, INT);
E_CONFIG_VAL(D, T, scale.use_dpi, UCHAR);
E_CONFIG_VAL(D, T, scale.use_custom, UCHAR);
E_CONFIG_VAL(D, T, show_cursor, UCHAR);
E_CONFIG_VAL(D, T, idle_cursor, UCHAR);
E_CONFIG_VAL(D, T, default_system_menu, STR);
E_CONFIG_VAL(D, T, cfgdlg_normal_wins, UCHAR);
E_CONFIG_VAL(D, T, syscon.main.icon_size, INT);
E_CONFIG_VAL(D, T, syscon.secondary.icon_size, INT);
E_CONFIG_VAL(D, T, syscon.extra.icon_size, INT);
E_CONFIG_VAL(D, T, syscon.timeout, DOUBLE);
E_CONFIG_VAL(D, T, syscon.do_input, UCHAR);
E_CONFIG_LIST(D, T, syscon.actions, _e_config_syscon_action_edd);
E_CONFIG_VAL(D, T, mode.presentation, UCHAR);
E_CONFIG_VAL(D, T, mode.offline, UCHAR);
E_CONFIG_VAL(D, T, exec.expire_timeout, DOUBLE);
E_CONFIG_VAL(D, T, exec.show_run_dialog, UCHAR);
E_CONFIG_VAL(D, T, exec.show_exit_dialog, UCHAR);
E_CONFIG_VAL(D, T, null_container_win, UCHAR);
E_CONFIG_LIST(D, T, env_vars, _e_config_env_var_edd);
E_CONFIG_VAL(D, T, backlight.normal, DOUBLE);
E_CONFIG_VAL(D, T, backlight.dim, DOUBLE);
E_CONFIG_VAL(D, T, backlight.transition, DOUBLE);
E_CONFIG_VAL(D, T, backlight.timer, DOUBLE);
E_CONFIG_VAL(D, T, backlight.sysdev, STR);
E_CONFIG_VAL(D, T, backlight.idle_dim, UCHAR);
E_CONFIG_VAL(D, T, deskenv.load_xrdb, UCHAR);
E_CONFIG_VAL(D, T, deskenv.load_xmodmap, UCHAR);
E_CONFIG_VAL(D, T, deskenv.load_gnome, UCHAR);
E_CONFIG_VAL(D, T, deskenv.load_kde, UCHAR);
E_CONFIG_VAL(D, T, powersave.none, DOUBLE);
E_CONFIG_VAL(D, T, powersave.low, DOUBLE);
E_CONFIG_VAL(D, T, powersave.medium, DOUBLE);
E_CONFIG_VAL(D, T, powersave.high, DOUBLE);
E_CONFIG_VAL(D, T, powersave.extreme, DOUBLE);
E_CONFIG_VAL(D, T, powersave.min, INT);
E_CONFIG_VAL(D, T, powersave.max, INT);
E_CONFIG_VAL(D, T, xsettings.enabled, UCHAR);
E_CONFIG_VAL(D, T, xsettings.match_e17_theme, UCHAR);
E_CONFIG_VAL(D, T, xsettings.match_e17_icon_theme, UCHAR);
E_CONFIG_VAL(D, T, xsettings.xft_antialias, INT);
E_CONFIG_VAL(D, T, xsettings.xft_hinting, INT);
E_CONFIG_VAL(D, T, xsettings.xft_hint_style, STR);
E_CONFIG_VAL(D, T, xsettings.xft_rgba, STR);
E_CONFIG_VAL(D, T, xsettings.net_theme_name, STR);
E_CONFIG_VAL(D, T, xsettings.net_icon_theme_name, STR);
E_CONFIG_VAL(D, T, xsettings.gtk_font_name, STR);
E_CONFIG_VAL(D, T, update.check, UCHAR);
E_CONFIG_VAL(D, T, update.later, UCHAR);
E_CONFIG_LIST(D, T, xkb.used_layouts, _e_config_xkb_layout_edd);
E_CONFIG_LIST(D, T, xkb.used_options, _e_config_xkb_option_edd);
E_CONFIG_VAL(D, T, xkb.only_label, INT);
E_CONFIG_VAL(D, T, xkb.dont_touch_my_damn_keyboard, UCHAR);
E_CONFIG_VAL(D, T, xkb.default_model, STR);
E_CONFIG_VAL(D, T, xkb.use_cache, UCHAR);
E_CONFIG_VAL(D, T, keyboard.repeat_delay, INT);
E_CONFIG_VAL(D, T, keyboard.repeat_rate, INT);
if (old)
{
E_CONFIG_SUB(D, T, xkb.current_layout, _e_config_xkb_option_edd);
E_CONFIG_SUB(D, T, xkb.sel_layout, _e_config_xkb_option_edd);
E_CONFIG_SUB(D, T, xkb.lock_layout, _e_config_xkb_option_edd);
}
else
{
E_CONFIG_SUB(D, T, xkb.current_layout, _e_config_xkb_layout_edd);
E_CONFIG_SUB(D, T, xkb.sel_layout, _e_config_xkb_layout_edd);
E_CONFIG_SUB(D, T, xkb.lock_layout, _e_config_xkb_layout_edd);
}
E_CONFIG_VAL(D, T, xkb.selected_layout, STR);
E_CONFIG_VAL(D, T, xkb.cur_layout, STR);
E_CONFIG_VAL(D, T, xkb.desklock_layout, STR);
//E_CONFIG_VAL(D, T, xkb.cur_group, INT);
E_CONFIG_VAL(D, T, exe_always_single_instance, UCHAR);
}
/* externally accessible functions */
EINTERN int
e_config_init(void)
@ -879,101 +192,7 @@ e_config_init(void)
e_util_env_set("E_CONF_PROFILE", _e_config_profile);
}
_e_config_bindings_mouse_edd = E_CONFIG_DD_NEW("E_Config_Binding_Mouse",
E_Config_Binding_Mouse);
#undef T
#undef D
#define T E_Config_Binding_Mouse
#define D _e_config_bindings_mouse_edd
E_CONFIG_VAL(D, T, context, INT);
E_CONFIG_VAL(D, T, modifiers, INT);
E_CONFIG_VAL(D, T, action, STR);
E_CONFIG_VAL(D, T, params, STR);
E_CONFIG_VAL(D, T, button, UCHAR);
E_CONFIG_VAL(D, T, any_mod, UCHAR);
_e_config_bindings_key_edd = E_CONFIG_DD_NEW("E_Config_Binding_Key",
E_Config_Binding_Key);
#undef T
#undef D
#define T E_Config_Binding_Key
#define D _e_config_bindings_key_edd
E_CONFIG_VAL(D, T, context, INT);
E_CONFIG_VAL(D, T, modifiers, INT);
E_CONFIG_VAL(D, T, key, STR);
E_CONFIG_VAL(D, T, action, STR);
E_CONFIG_VAL(D, T, params, STR);
E_CONFIG_VAL(D, T, any_mod, UCHAR);
_e_config_bindings_edge_edd = E_CONFIG_DD_NEW("E_Config_Binding_Edge",
E_Config_Binding_Edge);
#undef T
#undef D
#define T E_Config_Binding_Edge
#define D _e_config_bindings_edge_edd
E_CONFIG_VAL(D, T, context, INT);
E_CONFIG_VAL(D, T, modifiers, INT);
E_CONFIG_VAL(D, T, action, STR);
E_CONFIG_VAL(D, T, params, STR);
E_CONFIG_VAL(D, T, edge, UCHAR);
E_CONFIG_VAL(D, T, any_mod, UCHAR);
E_CONFIG_VAL(D, T, drag_only, UCHAR);
E_CONFIG_VAL(D, T, delay, FLOAT);
_e_config_bindings_signal_edd = E_CONFIG_DD_NEW("E_Config_Binding_Signal",
E_Config_Binding_Signal);
#undef T
#undef D
#define T E_Config_Binding_Signal
#define D _e_config_bindings_signal_edd
E_CONFIG_VAL(D, T, context, INT);
E_CONFIG_VAL(D, T, signal, STR);
E_CONFIG_VAL(D, T, source, STR);
E_CONFIG_VAL(D, T, modifiers, INT);
E_CONFIG_VAL(D, T, any_mod, UCHAR);
E_CONFIG_VAL(D, T, action, STR);
E_CONFIG_VAL(D, T, params, STR);
_e_config_bindings_wheel_edd = E_CONFIG_DD_NEW("E_Config_Binding_Wheel",
E_Config_Binding_Wheel);
#undef T
#undef D
#define T E_Config_Binding_Wheel
#define D _e_config_bindings_wheel_edd
E_CONFIG_VAL(D, T, context, INT);
E_CONFIG_VAL(D, T, direction, INT);
E_CONFIG_VAL(D, T, z, INT);
E_CONFIG_VAL(D, T, modifiers, INT);
E_CONFIG_VAL(D, T, any_mod, UCHAR);
E_CONFIG_VAL(D, T, action, STR);
E_CONFIG_VAL(D, T, params, STR);
_e_config_bindings_acpi_edd = E_CONFIG_DD_NEW("E_Config_Binding_Acpi",
E_Config_Binding_Acpi);
#undef T
#undef D
#define T E_Config_Binding_Acpi
#define D _e_config_bindings_acpi_edd
E_CONFIG_VAL(D, T, context, INT);
E_CONFIG_VAL(D, T, type, INT);
E_CONFIG_VAL(D, T, status, INT);
E_CONFIG_VAL(D, T, action, STR);
E_CONFIG_VAL(D, T, params, STR);
_e_config_edd_init(EINA_FALSE);
_e_config_binding_edd = E_CONFIG_DD_NEW("E_Config_Bindings", E_Config_Bindings);
#undef T
#undef D
#define T E_Config_Bindings
#define D _e_config_binding_edd
E_CONFIG_VAL(D, T, config_version, UINT); /**/
E_CONFIG_LIST(D, T, mouse_bindings, _e_config_bindings_mouse_edd); /**/
E_CONFIG_LIST(D, T, key_bindings, _e_config_bindings_key_edd); /**/
E_CONFIG_LIST(D, T, edge_bindings, _e_config_bindings_edge_edd); /**/
E_CONFIG_LIST(D, T, signal_bindings, _e_config_bindings_signal_edd); /**/
E_CONFIG_LIST(D, T, wheel_bindings, _e_config_bindings_wheel_edd); /**/
E_CONFIG_LIST(D, T, acpi_bindings, _e_config_bindings_acpi_edd); /**/
e_config_descriptor_init(EINA_FALSE);
e_config_load();
@ -994,14 +213,7 @@ e_config_shutdown(void)
{
E_FREE_LIST(handlers, ecore_event_handler_del);
eina_stringshare_del(_e_config_profile);
E_CONFIG_DD_FREE(_e_config_binding_edd);
E_CONFIG_DD_FREE(_e_config_bindings_mouse_edd);
E_CONFIG_DD_FREE(_e_config_bindings_key_edd);
E_CONFIG_DD_FREE(_e_config_bindings_edge_edd);
E_CONFIG_DD_FREE(_e_config_bindings_signal_edd);
E_CONFIG_DD_FREE(_e_config_bindings_wheel_edd);
E_CONFIG_DD_FREE(_e_config_bindings_acpi_edd);
_e_config_edd_shutdown();
e_config_descriptor_shutdown();
return 1;
}
@ -1010,7 +222,7 @@ e_config_load(void)
{
int reload = 0;
e_config = e_config_domain_load("e", _e_config_edd);
e_config = e_config_domain_load("e", e_config_descriptor_get());
if (e_config)
{
/* major version change - that means wipe and restart */
@ -1049,14 +261,14 @@ e_config_load(void)
{
e_config_profile_del(e_config_profile_get());
e_config_profile_set("default");
e_config = e_config_domain_load("e", _e_config_edd);
e_config = e_config_domain_load("e", e_config_descriptor_get());
}
}
while (!e_config)
{
_e_config_edd_shutdown();
_e_config_edd_init(EINA_TRUE);
e_config = e_config_domain_load("e", _e_config_edd);
e_config_descriptor_shutdown();
e_config_descriptor_init(EINA_TRUE);
e_config = e_config_domain_load("e", e_config_descriptor_get());
/* I made a c&p error here and fucked the world, so this ugliness
* will be my public mark of shame until E :/
* -zmike, 2013
@ -1069,8 +281,8 @@ e_config_load(void)
/* this is essentially CONFIG_VERSION_CHECK(7) */
INF("Performing config upgrade to %d.%d", 1, 7);
_e_config_edd_shutdown();
_e_config_edd_init(EINA_FALSE);
e_config_descriptor_shutdown();
e_config_descriptor_init(EINA_FALSE);
set += !!e_config->xkb.current_layout;
set += !!e_config->xkb.sel_layout;
set += !!e_config->xkb.lock_layout;
@ -1134,14 +346,14 @@ e_config_load(void)
SET(signal_bindings);
SET(wheel_bindings);
SET(acpi_bindings);
e_config_domain_save("e_bindings", _e_config_binding_edd, e_bindings);
e_config_domain_save("e_bindings", e_config_binding_descriptor_get(), e_bindings);
#undef SET
}
else
e_bindings = e_config_domain_load("e_bindings", _e_config_binding_edd);
e_bindings = e_config_domain_load("e_bindings", e_config_binding_descriptor_get());
}
else
e_bindings = e_config_domain_load("e_bindings", _e_config_binding_edd);
e_bindings = e_config_domain_load("e_bindings", e_config_binding_descriptor_get());
if ((!e_bindings) || (e_bindings->config_version != E_CONFIG_BINDINGS_VERSION))
{
@ -1150,7 +362,7 @@ e_config_load(void)
e_config_bindings_free(e_bindings);
prof = eina_stringshare_ref(e_config_profile_get());
e_config_profile_set("standard");
e_bindings = e_config_domain_system_load("e_bindings", _e_config_binding_edd);
e_bindings = e_config_domain_system_load("e_bindings", e_config_binding_descriptor_get());
e_config_profile_set(prof);
eina_stringshare_del(prof);
ecore_timer_add(1.0, _e_config_cb_timer,
@ -1199,7 +411,7 @@ e_config_load(void)
SET(wheel_bindings);
SET(acpi_bindings);
#undef SET
e_config_domain_save("e_bindings", _e_config_binding_edd, e_bindings);
e_config_domain_save("e_bindings", e_config_binding_descriptor_get(), e_bindings);
}
*/
CONFIG_VERSION_CHECK(8)
@ -1650,7 +862,7 @@ e_config_save(void)
{
E_FREE_FUNC(_e_config_save_defer, e_powersave_deferred_action_del);
_e_config_save_cb(NULL);
return e_config_domain_save("e", _e_config_edd, e_config);
return e_config_domain_save("e", e_config_descriptor_get(), e_config);
}
E_API void
@ -2256,8 +1468,8 @@ _e_config_save_cb(void *data EINA_UNUSED)
e_config_profile_save();
e_module_save_all();
elm_config_save();
e_config_domain_save("e", _e_config_edd, e_config);
e_config_domain_save("e_bindings", _e_config_binding_edd, e_bindings);
e_config_domain_save("e", e_config_descriptor_get(), e_config);
e_config_domain_save("e_bindings", e_config_binding_descriptor_get(), e_bindings);
if (E_EFL_VERSION_MINIMUM(1, 17, 99))
{
e_gadget_save();

View File

@ -0,0 +1,797 @@
#include "e.h"
static E_Config_DD *_e_config_edd = NULL;
static E_Config_DD *_e_config_module_edd = NULL;
static E_Config_DD *_e_config_font_fallback_edd = NULL;
static E_Config_DD *_e_config_font_default_edd = NULL;
static E_Config_DD *_e_config_theme_edd = NULL;
static E_Config_DD *_e_config_path_append_edd = NULL;
static E_Config_DD *_e_config_desktop_bg_edd = NULL;
static E_Config_DD *_e_config_desklock_bg_edd = NULL;
static E_Config_DD *_e_config_desktop_name_edd = NULL;
static E_Config_DD *_e_config_menu_applications_edd = NULL;
static E_Config_DD *_e_config_color_class_edd = NULL;
static E_Config_DD *_e_config_gadcon_edd = NULL;
static E_Config_DD *_e_config_gadcon_client_edd = NULL;
static E_Config_DD *_e_config_shelf_edd = NULL;
static E_Config_DD *_e_config_shelf_desk_edd = NULL;
static E_Config_DD *_e_config_mime_icon_edd = NULL;
static E_Config_DD *_e_config_syscon_action_edd = NULL;
static E_Config_DD *_e_config_env_var_edd = NULL;
static E_Config_DD *_e_config_xkb_layout_edd = NULL;
static E_Config_DD *_e_config_xkb_option_edd = NULL;
static E_Config_DD *_e_config_binding_edd = NULL;
static E_Config_DD *_e_config_bindings_mouse_edd = NULL;
static E_Config_DD *_e_config_bindings_key_edd = NULL;
static E_Config_DD *_e_config_bindings_edge_edd = NULL;
static E_Config_DD *_e_config_bindings_signal_edd = NULL;
static E_Config_DD *_e_config_bindings_wheel_edd = NULL;
static E_Config_DD *_e_config_bindings_acpi_edd = NULL;
EINTERN void
e_config_descriptor_init(Eina_Bool old)
{
_e_config_bindings_mouse_edd = E_CONFIG_DD_NEW("E_Config_Binding_Mouse",
E_Config_Binding_Mouse);
#undef T
#undef D
#define T E_Config_Binding_Mouse
#define D _e_config_bindings_mouse_edd
E_CONFIG_VAL(D, T, context, INT);
E_CONFIG_VAL(D, T, modifiers, INT);
E_CONFIG_VAL(D, T, action, STR);
E_CONFIG_VAL(D, T, params, STR);
E_CONFIG_VAL(D, T, button, UCHAR);
E_CONFIG_VAL(D, T, any_mod, UCHAR);
_e_config_bindings_key_edd = E_CONFIG_DD_NEW("E_Config_Binding_Key",
E_Config_Binding_Key);
#undef T
#undef D
#define T E_Config_Binding_Key
#define D _e_config_bindings_key_edd
E_CONFIG_VAL(D, T, context, INT);
E_CONFIG_VAL(D, T, modifiers, INT);
E_CONFIG_VAL(D, T, key, STR);
E_CONFIG_VAL(D, T, action, STR);
E_CONFIG_VAL(D, T, params, STR);
E_CONFIG_VAL(D, T, any_mod, UCHAR);
_e_config_bindings_edge_edd = E_CONFIG_DD_NEW("E_Config_Binding_Edge",
E_Config_Binding_Edge);
#undef T
#undef D
#define T E_Config_Binding_Edge
#define D _e_config_bindings_edge_edd
E_CONFIG_VAL(D, T, context, INT);
E_CONFIG_VAL(D, T, modifiers, INT);
E_CONFIG_VAL(D, T, action, STR);
E_CONFIG_VAL(D, T, params, STR);
E_CONFIG_VAL(D, T, edge, UCHAR);
E_CONFIG_VAL(D, T, any_mod, UCHAR);
E_CONFIG_VAL(D, T, drag_only, UCHAR);
E_CONFIG_VAL(D, T, delay, FLOAT);
_e_config_bindings_signal_edd = E_CONFIG_DD_NEW("E_Config_Binding_Signal",
E_Config_Binding_Signal);
#undef T
#undef D
#define T E_Config_Binding_Signal
#define D _e_config_bindings_signal_edd
E_CONFIG_VAL(D, T, context, INT);
E_CONFIG_VAL(D, T, signal, STR);
E_CONFIG_VAL(D, T, source, STR);
E_CONFIG_VAL(D, T, modifiers, INT);
E_CONFIG_VAL(D, T, any_mod, UCHAR);
E_CONFIG_VAL(D, T, action, STR);
E_CONFIG_VAL(D, T, params, STR);
_e_config_bindings_wheel_edd = E_CONFIG_DD_NEW("E_Config_Binding_Wheel",
E_Config_Binding_Wheel);
#undef T
#undef D
#define T E_Config_Binding_Wheel
#define D _e_config_bindings_wheel_edd
E_CONFIG_VAL(D, T, context, INT);
E_CONFIG_VAL(D, T, direction, INT);
E_CONFIG_VAL(D, T, z, INT);
E_CONFIG_VAL(D, T, modifiers, INT);
E_CONFIG_VAL(D, T, any_mod, UCHAR);
E_CONFIG_VAL(D, T, action, STR);
E_CONFIG_VAL(D, T, params, STR);
_e_config_bindings_acpi_edd = E_CONFIG_DD_NEW("E_Config_Binding_Acpi",
E_Config_Binding_Acpi);
#undef T
#undef D
#define T E_Config_Binding_Acpi
#define D _e_config_bindings_acpi_edd
E_CONFIG_VAL(D, T, context, INT);
E_CONFIG_VAL(D, T, type, INT);
E_CONFIG_VAL(D, T, status, INT);
E_CONFIG_VAL(D, T, action, STR);
E_CONFIG_VAL(D, T, params, STR);
_e_config_gadcon_client_edd = E_CONFIG_DD_NEW("E_Config_Gadcon_Client", E_Config_Gadcon_Client);
#undef T
#undef D
#define T E_Config_Gadcon_Client
#define D _e_config_gadcon_client_edd
E_CONFIG_VAL(D, T, name, STR);
E_CONFIG_VAL(D, T, id, STR);
E_CONFIG_VAL(D, T, geom.pos, INT);
E_CONFIG_VAL(D, T, geom.size, INT);
E_CONFIG_VAL(D, T, geom.res, INT);
E_CONFIG_VAL(D, T, geom.pos_x, DOUBLE);
E_CONFIG_VAL(D, T, geom.pos_y, DOUBLE);
E_CONFIG_VAL(D, T, geom.size_w, DOUBLE);
E_CONFIG_VAL(D, T, geom.size_h, DOUBLE);
E_CONFIG_VAL(D, T, state_info.seq, INT);
E_CONFIG_VAL(D, T, state_info.flags, INT);
E_CONFIG_VAL(D, T, style, STR);
E_CONFIG_VAL(D, T, orient, INT);
E_CONFIG_VAL(D, T, autoscroll, UCHAR);
E_CONFIG_VAL(D, T, resizable, UCHAR);
_e_config_gadcon_edd = E_CONFIG_DD_NEW("E_Config_Gadcon", E_Config_Gadcon);
#undef T
#undef D
#define T E_Config_Gadcon
#define D _e_config_gadcon_edd
E_CONFIG_VAL(D, T, name, STR);
E_CONFIG_VAL(D, T, id, INT);
E_CONFIG_VAL(D, T, zone, UINT);
E_CONFIG_LIST(D, T, clients, _e_config_gadcon_client_edd);
_e_config_shelf_desk_edd = E_CONFIG_DD_NEW("E_Config_Shelf_Desk", E_Config_Shelf_Desk);
#undef T
#undef D
#define T E_Config_Shelf_Desk
#define D _e_config_shelf_desk_edd
E_CONFIG_VAL(D, T, x, INT);
E_CONFIG_VAL(D, T, y, INT);
_e_config_shelf_edd = E_CONFIG_DD_NEW("E_Config_Shelf", E_Config_Shelf);
#undef T
#undef D
#define T E_Config_Shelf
#define D _e_config_shelf_edd
E_CONFIG_VAL(D, T, name, STR);
E_CONFIG_VAL(D, T, id, INT);
E_CONFIG_VAL(D, T, zone, INT);
E_CONFIG_VAL(D, T, layer, INT);
E_CONFIG_VAL(D, T, popup, UCHAR);
E_CONFIG_VAL(D, T, orient, INT);
E_CONFIG_VAL(D, T, fit_along, UCHAR);
E_CONFIG_VAL(D, T, fit_size, UCHAR);
E_CONFIG_VAL(D, T, style, STR);
E_CONFIG_VAL(D, T, size, INT);
E_CONFIG_VAL(D, T, overlap, INT);
E_CONFIG_VAL(D, T, autohide, INT);
E_CONFIG_VAL(D, T, autohide_show_action, INT);
E_CONFIG_VAL(D, T, hide_timeout, FLOAT);
E_CONFIG_VAL(D, T, hide_duration, FLOAT);
E_CONFIG_VAL(D, T, desk_show_mode, INT);
E_CONFIG_LIST(D, T, desk_list, _e_config_shelf_desk_edd);
_e_config_desklock_bg_edd = E_CONFIG_DD_NEW("E_Config_Desklock_Background", E_Config_Desklock_Background);
#undef T
#undef D
#define T E_Config_Desklock_Background
#define D _e_config_desklock_bg_edd
E_CONFIG_VAL(D, T, file, STR);
E_CONFIG_VAL(D, T, hide_logo, UCHAR);
_e_config_desktop_bg_edd = E_CONFIG_DD_NEW("E_Config_Desktop_Background", E_Config_Desktop_Background);
#undef T
#undef D
#define T E_Config_Desktop_Background
#define D _e_config_desktop_bg_edd
E_CONFIG_VAL(D, T, zone, INT);
E_CONFIG_VAL(D, T, desk_x, INT);
E_CONFIG_VAL(D, T, desk_y, INT);
E_CONFIG_VAL(D, T, file, STR);
_e_config_desktop_name_edd = E_CONFIG_DD_NEW("E_Config_Desktop_Name", E_Config_Desktop_Name);
#undef T
#undef D
#define T E_Config_Desktop_Name
#define D _e_config_desktop_name_edd
E_CONFIG_VAL(D, T, zone, INT);
E_CONFIG_VAL(D, T, desk_x, INT);
E_CONFIG_VAL(D, T, desk_y, INT);
E_CONFIG_VAL(D, T, name, STR);
_e_config_path_append_edd = E_CONFIG_DD_NEW("E_Path_Dir", E_Path_Dir);
#undef T
#undef D
#define T E_Path_Dir
#define D _e_config_path_append_edd
E_CONFIG_VAL(D, T, dir, STR);
_e_config_module_edd = E_CONFIG_DD_NEW("E_Config_Module", E_Config_Module);
#undef T
#undef D
#define T E_Config_Module
#define D _e_config_module_edd
E_CONFIG_VAL(D, T, name, STR);
E_CONFIG_VAL(D, T, enabled, UCHAR);
E_CONFIG_VAL(D, T, delayed, UCHAR);
E_CONFIG_VAL(D, T, priority, INT);
_e_config_font_default_edd = E_CONFIG_DD_NEW("E_Font_Default",
E_Font_Default);
#undef T
#undef D
#define T E_Font_Default
#define D _e_config_font_default_edd
E_CONFIG_VAL(D, T, text_class, STR);
E_CONFIG_VAL(D, T, font, STR);
E_CONFIG_VAL(D, T, size, INT);
_e_config_font_fallback_edd = E_CONFIG_DD_NEW("E_Font_Fallback",
E_Font_Fallback);
#undef T
#undef D
#define T E_Font_Fallback
#define D _e_config_font_fallback_edd
E_CONFIG_VAL(D, T, name, STR);
_e_config_menu_applications_edd = E_CONFIG_DD_NEW("E_Int_Menu_Applications",
E_Int_Menu_Applications);
#undef T
#undef D
#define T E_Int_Menu_Applications
#define D _e_config_menu_applications_edd
E_CONFIG_VAL(D, T, orig_path, STR);
E_CONFIG_VAL(D, T, try_exec, STR);
E_CONFIG_VAL(D, T, exec, STR);
E_CONFIG_VAL(D, T, load_time, LL);
E_CONFIG_VAL(D, T, exec_valid, INT);
e_remember_edd = E_CONFIG_DD_NEW("E_Remember", E_Remember);
#undef T
#undef D
#define T E_Remember
#define D e_remember_edd
E_CONFIG_VAL(D, T, version, UINT);
E_CONFIG_VAL(D, T, match, INT);
E_CONFIG_VAL(D, T, no_reopen, INT);
E_CONFIG_VAL(D, T, apply_first_only, UCHAR);
E_CONFIG_VAL(D, T, keep_settings, UCHAR);
E_CONFIG_VAL(D, T, name, STR);
E_CONFIG_VAL(D, T, class, STR);
E_CONFIG_VAL(D, T, title, STR);
E_CONFIG_VAL(D, T, role, STR);
E_CONFIG_VAL(D, T, type, INT);
E_CONFIG_VAL(D, T, transient, UCHAR);
E_CONFIG_VAL(D, T, apply, INT);
E_CONFIG_VAL(D, T, max_score, INT);
E_CONFIG_VAL(D, T, prop.pos_x, INT);
E_CONFIG_VAL(D, T, prop.pos_y, INT);
E_CONFIG_VAL(D, T, prop.res_x, INT);
E_CONFIG_VAL(D, T, prop.res_y, INT);
E_CONFIG_VAL(D, T, prop.pos_w, INT);
E_CONFIG_VAL(D, T, prop.pos_h, INT);
E_CONFIG_VAL(D, T, prop.w, INT);
E_CONFIG_VAL(D, T, prop.h, INT);
E_CONFIG_VAL(D, T, prop.layer, INT);
E_CONFIG_VAL(D, T, prop.maximize, UINT);
E_CONFIG_VAL(D, T, prop.lock_user_location, UCHAR);
E_CONFIG_VAL(D, T, prop.lock_client_location, UCHAR);
E_CONFIG_VAL(D, T, prop.lock_user_size, UCHAR);
E_CONFIG_VAL(D, T, prop.lock_client_size, UCHAR);
E_CONFIG_VAL(D, T, prop.lock_user_stacking, UCHAR);
E_CONFIG_VAL(D, T, prop.lock_client_stacking, UCHAR);
E_CONFIG_VAL(D, T, prop.lock_user_iconify, UCHAR);
E_CONFIG_VAL(D, T, prop.lock_client_iconify, UCHAR);
E_CONFIG_VAL(D, T, prop.lock_user_desk, UCHAR);
E_CONFIG_VAL(D, T, prop.lock_client_desk, UCHAR);
E_CONFIG_VAL(D, T, prop.lock_user_sticky, UCHAR);
E_CONFIG_VAL(D, T, prop.lock_client_sticky, UCHAR);
E_CONFIG_VAL(D, T, prop.lock_user_shade, UCHAR);
E_CONFIG_VAL(D, T, prop.lock_client_shade, UCHAR);
E_CONFIG_VAL(D, T, prop.lock_user_maximize, UCHAR);
E_CONFIG_VAL(D, T, prop.lock_client_maximize, UCHAR);
E_CONFIG_VAL(D, T, prop.lock_user_fullscreen, UCHAR);
E_CONFIG_VAL(D, T, prop.lock_client_fullscreen, UCHAR);
E_CONFIG_VAL(D, T, prop.lock_border, UCHAR);
E_CONFIG_VAL(D, T, prop.lock_close, UCHAR);
E_CONFIG_VAL(D, T, prop.lock_focus_in, UCHAR);
E_CONFIG_VAL(D, T, prop.lock_focus_out, UCHAR);
E_CONFIG_VAL(D, T, prop.lock_life, UCHAR);
E_CONFIG_VAL(D, T, prop.border, STR);
E_CONFIG_VAL(D, T, prop.sticky, UCHAR);
E_CONFIG_VAL(D, T, prop.shaded, UCHAR);
E_CONFIG_VAL(D, T, prop.skip_winlist, UCHAR);
E_CONFIG_VAL(D, T, prop.skip_pager, UCHAR);
E_CONFIG_VAL(D, T, prop.skip_taskbar, UCHAR);
E_CONFIG_VAL(D, T, prop.fullscreen, UCHAR);
E_CONFIG_VAL(D, T, prop.desk_x, INT);
E_CONFIG_VAL(D, T, prop.desk_y, INT);
E_CONFIG_VAL(D, T, prop.zone, INT);
E_CONFIG_VAL(D, T, prop.command, STR);
E_CONFIG_VAL(D, T, prop.icon_preference, UCHAR);
E_CONFIG_VAL(D, T, prop.desktop_file, STR);
E_CONFIG_VAL(D, T, prop.offer_resistance, UCHAR);
E_CONFIG_VAL(D, T, prop.opacity, UCHAR);
E_CONFIG_VAL(D, T, prop.volume, INT);
E_CONFIG_VAL(D, T, prop.volume_min, INT);
E_CONFIG_VAL(D, T, prop.volume_max, INT);
E_CONFIG_VAL(D, T, prop.mute, UCHAR);
E_CONFIG_VAL(D, T, uuid, STR);
E_CONFIG_VAL(D, T, pid, INT);
_e_config_color_class_edd = E_CONFIG_DD_NEW("E_Color_Class", E_Color_Class);
#undef T
#undef D
#define T E_Color_Class
#define D _e_config_color_class_edd
E_CONFIG_VAL(D, T, name, STR);
E_CONFIG_VAL(D, T, r, INT);
E_CONFIG_VAL(D, T, g, INT);
E_CONFIG_VAL(D, T, b, INT);
E_CONFIG_VAL(D, T, a, INT);
E_CONFIG_VAL(D, T, r2, INT);
E_CONFIG_VAL(D, T, g2, INT);
E_CONFIG_VAL(D, T, b2, INT);
E_CONFIG_VAL(D, T, a2, INT);
E_CONFIG_VAL(D, T, r3, INT);
E_CONFIG_VAL(D, T, g3, INT);
E_CONFIG_VAL(D, T, b3, INT);
E_CONFIG_VAL(D, T, a3, INT);
_e_config_mime_icon_edd = E_CONFIG_DD_NEW("E_Config_Mime_Icon",
E_Config_Mime_Icon);
#undef T
#undef D
#define T E_Config_Mime_Icon
#define D _e_config_mime_icon_edd
E_CONFIG_VAL(D, T, mime, STR);
E_CONFIG_VAL(D, T, icon, STR);
_e_config_syscon_action_edd = E_CONFIG_DD_NEW("E_Config_Syscon_Action",
E_Config_Syscon_Action);
#undef T
#undef D
#define T E_Config_Syscon_Action
#define D _e_config_syscon_action_edd
E_CONFIG_VAL(D, T, action, STR);
E_CONFIG_VAL(D, T, params, STR);
E_CONFIG_VAL(D, T, button, STR);
E_CONFIG_VAL(D, T, icon, STR);
E_CONFIG_VAL(D, T, is_main, INT);
_e_config_env_var_edd = E_CONFIG_DD_NEW("E_Config_Env_Var",
E_Config_Env_Var);
#undef T
#undef D
#define T E_Config_Env_Var
#define D _e_config_env_var_edd
E_CONFIG_VAL(D, T, var, STR);
E_CONFIG_VAL(D, T, val, STR);
E_CONFIG_VAL(D, T, unset, UCHAR);
_e_config_xkb_layout_edd = E_CONFIG_DD_NEW("E_Config_XKB_Layout",
E_Config_XKB_Layout);
#undef T
#undef D
#define T E_Config_XKB_Layout
#define D _e_config_xkb_layout_edd
E_CONFIG_VAL(D, T, name, STR);
E_CONFIG_VAL(D, T, model, STR);
E_CONFIG_VAL(D, T, variant, STR);
_e_config_xkb_option_edd = E_CONFIG_DD_NEW("E_Config_XKB_Option",
E_Config_XKB_Option);
#undef T
#undef D
#define T E_Config_XKB_Option
#define D _e_config_xkb_option_edd
E_CONFIG_VAL(D, T, name, STR);
_e_config_edd = E_CONFIG_DD_NEW("E_Config", E_Config);
#undef T
#undef D
#define T E_Config
#define D _e_config_edd
/**/ /* == already configurable via ipc */
E_CONFIG_VAL(D, T, config_version, INT); /**/
E_CONFIG_VAL(D, T, config_type, UINT); /**/
E_CONFIG_VAL(D, T, show_splash, INT); /**/
E_CONFIG_VAL(D, T, desktop_default_background, STR); /**/
E_CONFIG_VAL(D, T, desktop_default_name, STR); /**/
E_CONFIG_LIST(D, T, desktop_backgrounds, _e_config_desktop_bg_edd); /**/
E_CONFIG_LIST(D, T, desktop_names, _e_config_desktop_name_edd); /**/
E_CONFIG_VAL(D, T, menus_scroll_speed, DOUBLE); /**/
E_CONFIG_VAL(D, T, menus_fast_mouse_move_threshhold, DOUBLE); /**/
E_CONFIG_VAL(D, T, menus_click_drag_timeout, DOUBLE); /**/
E_CONFIG_VAL(D, T, window_maximize_animate, INT); /**/
E_CONFIG_VAL(D, T, window_maximize_transition, INT); /**/
E_CONFIG_VAL(D, T, window_maximize_time, DOUBLE); /**/
E_CONFIG_VAL(D, T, border_shade_animate, INT); /**/
E_CONFIG_VAL(D, T, border_shade_transition, INT); /**/
E_CONFIG_VAL(D, T, border_shade_speed, DOUBLE); /**/
E_CONFIG_VAL(D, T, framerate, DOUBLE); /**/
E_CONFIG_VAL(D, T, priority, INT); /**/
E_CONFIG_VAL(D, T, zone_desks_x_count, INT); /**/
E_CONFIG_VAL(D, T, zone_desks_y_count, INT); /**/
E_CONFIG_VAL(D, T, show_desktop_icons, INT); /**/
E_CONFIG_VAL(D, T, edge_flip_dragging, INT); /**/
E_CONFIG_VAL(D, T, language, STR); /**/
E_CONFIG_VAL(D, T, no_module_delay, INT); /**/
E_CONFIG_VAL(D, T, desklock_language, STR); /**/
E_CONFIG_LIST(D, T, modules, _e_config_module_edd); /**/
EET_DATA_DESCRIPTOR_ADD_LIST_STRING(D, T, "bad_modules", bad_modules);
E_CONFIG_LIST(D, T, font_fallbacks, _e_config_font_fallback_edd); /**/
E_CONFIG_LIST(D, T, font_defaults, _e_config_font_default_edd); /**/
E_CONFIG_LIST(D, T, mouse_bindings, _e_config_bindings_mouse_edd); /**/
E_CONFIG_LIST(D, T, key_bindings, _e_config_bindings_key_edd); /**/
E_CONFIG_LIST(D, T, edge_bindings, _e_config_bindings_edge_edd); /**/
E_CONFIG_LIST(D, T, signal_bindings, _e_config_bindings_signal_edd); /**/
E_CONFIG_LIST(D, T, wheel_bindings, _e_config_bindings_wheel_edd); /**/
E_CONFIG_LIST(D, T, acpi_bindings, _e_config_bindings_acpi_edd); /**/
E_CONFIG_LIST(D, T, path_append_data, _e_config_path_append_edd); /**/
E_CONFIG_LIST(D, T, path_append_images, _e_config_path_append_edd); /**/
E_CONFIG_LIST(D, T, path_append_fonts, _e_config_path_append_edd); /**/
E_CONFIG_LIST(D, T, path_append_init, _e_config_path_append_edd); /**/
E_CONFIG_LIST(D, T, path_append_icons, _e_config_path_append_edd); /**/
E_CONFIG_LIST(D, T, path_append_modules, _e_config_path_append_edd); /**/
E_CONFIG_LIST(D, T, path_append_backgrounds, _e_config_path_append_edd); /**/
E_CONFIG_VAL(D, T, window_placement_policy, INT); /**/
E_CONFIG_VAL(D, T, window_grouping, INT); /**/
E_CONFIG_VAL(D, T, focus_policy, INT); /**/
E_CONFIG_VAL(D, T, focus_setting, INT); /**/
E_CONFIG_VAL(D, T, pass_click_on, INT); /**/
E_CONFIG_VAL(D, T, window_activehint_policy, INT); /**/
E_CONFIG_VAL(D, T, always_click_to_raise, INT); /**/
E_CONFIG_VAL(D, T, always_click_to_focus, INT); /**/
E_CONFIG_VAL(D, T, use_auto_raise, INT); /**/
E_CONFIG_VAL(D, T, auto_raise_delay, DOUBLE); /**/
E_CONFIG_VAL(D, T, use_resist, INT); /**/
E_CONFIG_VAL(D, T, drag_resist, INT); /**/
E_CONFIG_VAL(D, T, desk_resist, INT); /**/
E_CONFIG_VAL(D, T, window_resist, INT); /**/
E_CONFIG_VAL(D, T, gadget_resist, INT); /**/
E_CONFIG_VAL(D, T, geometry_auto_resize_limit, INT); /**/
E_CONFIG_VAL(D, T, geometry_auto_move, INT); /**/
E_CONFIG_VAL(D, T, winlist_warp_while_selecting, INT); /**/
E_CONFIG_VAL(D, T, winlist_warp_at_end, INT); /**/
E_CONFIG_VAL(D, T, winlist_no_warp_on_direction, INT); /**/
E_CONFIG_VAL(D, T, winlist_warp_speed, DOUBLE); /**/
E_CONFIG_VAL(D, T, winlist_scroll_animate, INT); /**/
E_CONFIG_VAL(D, T, winlist_scroll_speed, DOUBLE); /**/
E_CONFIG_VAL(D, T, winlist_list_show_iconified, INT); /**/
E_CONFIG_VAL(D, T, winlist_list_show_other_desk_iconified, INT); /**/
E_CONFIG_VAL(D, T, winlist_list_show_other_screen_iconified, INT); /**/
E_CONFIG_VAL(D, T, winlist_list_show_other_desk_windows, INT); /**/
E_CONFIG_VAL(D, T, winlist_list_show_other_screen_windows, INT); /**/
E_CONFIG_VAL(D, T, winlist_list_uncover_while_selecting, INT); /**/
E_CONFIG_VAL(D, T, winlist_list_jump_desk_while_selecting, INT); /**/
E_CONFIG_VAL(D, T, winlist_list_focus_while_selecting, INT); /**/
E_CONFIG_VAL(D, T, winlist_list_raise_while_selecting, INT); /**/
E_CONFIG_VAL(D, T, winlist_list_move_after_select, INT); /**/
E_CONFIG_VAL(D, T, winlist_pos_align_x, DOUBLE); /**/
E_CONFIG_VAL(D, T, winlist_pos_align_y, DOUBLE); /**/
E_CONFIG_VAL(D, T, winlist_pos_size_w, DOUBLE); /**/
E_CONFIG_VAL(D, T, winlist_pos_size_h, DOUBLE); /**/
E_CONFIG_VAL(D, T, winlist_pos_min_w, INT); /**/
E_CONFIG_VAL(D, T, winlist_pos_min_h, INT); /**/
E_CONFIG_VAL(D, T, winlist_pos_max_w, INT); /**/
E_CONFIG_VAL(D, T, winlist_pos_max_h, INT); /**/
E_CONFIG_VAL(D, T, maximize_policy, INT); /**/
E_CONFIG_VAL(D, T, allow_manip, INT); /**/
E_CONFIG_VAL(D, T, border_fix_on_shelf_toggle, INT); /**/
E_CONFIG_VAL(D, T, allow_above_fullscreen, INT); /**/
E_CONFIG_VAL(D, T, kill_if_close_not_possible, INT); /**/
E_CONFIG_VAL(D, T, kill_process, INT); /**/
E_CONFIG_VAL(D, T, kill_timer_wait, DOUBLE); /**/
E_CONFIG_VAL(D, T, ping_clients, INT); /**/
E_CONFIG_VAL(D, T, transition_start, STR); /**/
E_CONFIG_VAL(D, T, transition_desk, STR); /**/
E_CONFIG_VAL(D, T, transition_change, STR); /**/
E_CONFIG_LIST(D, T, remembers, e_remember_edd);
E_CONFIG_LIST(D, T, menu_applications, _e_config_menu_applications_edd);
E_CONFIG_VAL(D, T, remember_internal_windows, INT);
E_CONFIG_VAL(D, T, remember_internal_fm_windows, UCHAR);
E_CONFIG_VAL(D, T, remember_internal_fm_windows_globally, UCHAR);
E_CONFIG_VAL(D, T, move_info_follows, INT); /**/
E_CONFIG_VAL(D, T, resize_info_follows, INT); /**/
E_CONFIG_VAL(D, T, move_info_visible, INT); /**/
E_CONFIG_VAL(D, T, resize_info_visible, INT); /**/
E_CONFIG_VAL(D, T, focus_last_focused_per_desktop, INT); /**/
E_CONFIG_VAL(D, T, focus_revert_on_hide_or_close, INT); /**/
E_CONFIG_VAL(D, T, focus_revert_allow_sticky, INT); /**/
E_CONFIG_VAL(D, T, pointer_slide, INT); /**/
E_CONFIG_VAL(D, T, disable_all_pointer_warps, INT); /**/
E_CONFIG_VAL(D, T, pointer_warp_speed, DOUBLE); /**/
E_CONFIG_VAL(D, T, use_e_cursor, INT); /**/
E_CONFIG_VAL(D, T, cursor_size, INT); /**/
E_CONFIG_VAL(D, T, menu_autoscroll_margin, INT); /**/
E_CONFIG_VAL(D, T, menu_autoscroll_cursor_margin, INT); /**/
E_CONFIG_VAL(D, T, transient.move, INT); /* FIXME: implement */
E_CONFIG_VAL(D, T, transient.resize, INT); /* FIXME: implement */
E_CONFIG_VAL(D, T, transient.raise, INT); /**/
E_CONFIG_VAL(D, T, transient.lower, INT); /**/
E_CONFIG_VAL(D, T, transient.layer, INT); /**/
E_CONFIG_VAL(D, T, transient.desktop, INT); /**/
E_CONFIG_VAL(D, T, transient.iconify, INT); /**/
E_CONFIG_VAL(D, T, menu_eap_name_show, INT); /**/
E_CONFIG_VAL(D, T, menu_eap_generic_show, INT); /**/
E_CONFIG_VAL(D, T, menu_eap_comment_show, INT); /**/
E_CONFIG_VAL(D, T, fullscreen_policy, INT); /**/
E_CONFIG_VAL(D, T, input_method, STR); /**/
E_CONFIG_LIST(D, T, path_append_messages, _e_config_path_append_edd); /**/
E_CONFIG_VAL(D, T, exebuf_term_cmd, STR);
E_CONFIG_LIST(D, T, color_classes, _e_config_color_class_edd);
E_CONFIG_VAL(D, T, use_app_icon, INT);
E_CONFIG_VAL(D, T, cnfmdlg_disabled, INT); /**/
E_CONFIG_VAL(D, T, cfgdlg_auto_apply, INT); /**/
E_CONFIG_VAL(D, T, cfgdlg_default_mode, INT); /**/
E_CONFIG_LIST(D, T, gadcons, _e_config_gadcon_edd);
E_CONFIG_LIST(D, T, shelves, _e_config_shelf_edd);
E_CONFIG_VAL(D, T, font_hinting, INT); /**/
E_CONFIG_VAL(D, T, desklock_passwd, INT);
E_CONFIG_VAL(D, T, desklock_pin, INT);
E_CONFIG_LIST(D, T, desklock_backgrounds, _e_config_desklock_bg_edd); /**/
E_CONFIG_VAL(D, T, desklock_auth_method, INT);
E_CONFIG_VAL(D, T, desklock_login_box_zone, INT);
E_CONFIG_VAL(D, T, desklock_start_locked, INT);
E_CONFIG_VAL(D, T, desklock_on_suspend, INT);
E_CONFIG_VAL(D, T, desklock_autolock_screensaver, INT);
E_CONFIG_VAL(D, T, desklock_post_screensaver_time, DOUBLE);
E_CONFIG_VAL(D, T, desklock_autolock_idle, INT);
E_CONFIG_VAL(D, T, desklock_autolock_idle_timeout, DOUBLE);
E_CONFIG_VAL(D, T, desklock_use_custom_desklock, INT);
E_CONFIG_VAL(D, T, desklock_custom_desklock_cmd, STR);
E_CONFIG_VAL(D, T, desklock_ask_presentation, UCHAR);
E_CONFIG_VAL(D, T, desklock_ask_presentation_timeout, DOUBLE);
E_CONFIG_VAL(D, T, screensaver_enable, INT);
E_CONFIG_VAL(D, T, screensaver_timeout, INT);
E_CONFIG_VAL(D, T, screensaver_interval, INT);
E_CONFIG_VAL(D, T, screensaver_blanking, INT);
E_CONFIG_VAL(D, T, screensaver_expose, INT);
E_CONFIG_VAL(D, T, screensaver_ask_presentation, UCHAR);
E_CONFIG_VAL(D, T, screensaver_ask_presentation_timeout, DOUBLE);
E_CONFIG_VAL(D, T, screensaver_wake_on_notify, INT);
E_CONFIG_VAL(D, T, screensaver_wake_on_urgent, INT);
E_CONFIG_VAL(D, T, screensaver_suspend, UCHAR);
E_CONFIG_VAL(D, T, screensaver_suspend_on_ac, UCHAR);
E_CONFIG_VAL(D, T, screensaver_suspend_delay, DOUBLE);
E_CONFIG_VAL(D, T, dpms_enable, INT);
E_CONFIG_VAL(D, T, dpms_standby_enable, INT);
E_CONFIG_VAL(D, T, dpms_suspend_enable, INT);
E_CONFIG_VAL(D, T, dpms_off_enable, INT);
E_CONFIG_VAL(D, T, dpms_standby_timeout, INT);
E_CONFIG_VAL(D, T, dpms_suspend_timeout, INT);
E_CONFIG_VAL(D, T, dpms_off_timeout, INT);
E_CONFIG_VAL(D, T, no_dpms_on_fullscreen, UCHAR);
E_CONFIG_VAL(D, T, clientlist_group_by, INT);
E_CONFIG_VAL(D, T, clientlist_include_all_zones, INT);
E_CONFIG_VAL(D, T, clientlist_separate_with, INT);
E_CONFIG_VAL(D, T, clientlist_sort_by, INT);
E_CONFIG_VAL(D, T, clientlist_separate_iconified_apps, INT);
E_CONFIG_VAL(D, T, clientlist_warp_to_iconified_desktop, INT);
E_CONFIG_VAL(D, T, clientlist_limit_caption_len, INT);
E_CONFIG_VAL(D, T, clientlist_max_caption_len, INT);
E_CONFIG_VAL(D, T, mouse_hand, INT);
E_CONFIG_VAL(D, T, mouse_accel_numerator, INT);
E_CONFIG_VAL(D, T, mouse_accel_denominator, INT);
E_CONFIG_VAL(D, T, mouse_accel_threshold, INT);
E_CONFIG_VAL(D, T, border_raise_on_mouse_action, INT);
E_CONFIG_VAL(D, T, border_raise_on_focus, INT);
E_CONFIG_VAL(D, T, raise_on_revert_focus, INT);
E_CONFIG_VAL(D, T, desk_flip_wrap, INT);
E_CONFIG_VAL(D, T, fullscreen_flip, INT);
E_CONFIG_VAL(D, T, multiscreen_flip, INT);
E_CONFIG_VAL(D, T, icon_theme, STR);
E_CONFIG_VAL(D, T, icon_theme_overrides, UCHAR);
E_CONFIG_VAL(D, T, desktop_environment, STR);
E_CONFIG_VAL(D, T, desk_flip_animate_mode, INT);
E_CONFIG_VAL(D, T, desk_flip_animate_type, STR);
E_CONFIG_VAL(D, T, desk_flip_animate_interpolation, INT);
E_CONFIG_VAL(D, T, wallpaper_import_last_dev, STR);
E_CONFIG_VAL(D, T, wallpaper_import_last_path, STR);
E_CONFIG_VAL(D, T, theme_default_border_style, STR);
E_CONFIG_LIST(D, T, mime_icons, _e_config_mime_icon_edd); /**/
E_CONFIG_VAL(D, T, desk_auto_switch, INT);
E_CONFIG_VAL(D, T, screen_limits, INT);
E_CONFIG_VAL(D, T, thumb_nice, INT);
E_CONFIG_VAL(D, T, menu_icons_hide, UCHAR);
E_CONFIG_VAL(D, T, menu_favorites_show, INT);
E_CONFIG_VAL(D, T, menu_apps_show, INT);
E_CONFIG_VAL(D, T, menu_gadcon_client_toplevel, INT);
E_CONFIG_VAL(D, T, ping_clients_interval, INT);
E_CONFIG_VAL(D, T, thumbscroll_enable, INT);
E_CONFIG_VAL(D, T, thumbscroll_threshhold, INT);
E_CONFIG_VAL(D, T, thumbscroll_momentum_threshhold, DOUBLE);
E_CONFIG_VAL(D, T, thumbscroll_friction, DOUBLE);
E_CONFIG_VAL(D, T, filemanager_single_click, UCHAR);
E_CONFIG_VAL(D, T, device_desktop, INT);
E_CONFIG_VAL(D, T, device_auto_mount, INT);
E_CONFIG_VAL(D, T, device_auto_open, INT);
E_CONFIG_VAL(D, T, filemanager_copy, UCHAR);
E_CONFIG_VAL(D, T, filemanager_secure_rm, UCHAR);
E_CONFIG_VAL(D, T, border_keyboard.timeout, DOUBLE);
E_CONFIG_VAL(D, T, border_keyboard.move.dx, UCHAR);
E_CONFIG_VAL(D, T, border_keyboard.move.dy, UCHAR);
E_CONFIG_VAL(D, T, border_keyboard.resize.dx, UCHAR);
E_CONFIG_VAL(D, T, border_keyboard.resize.dy, UCHAR);
E_CONFIG_VAL(D, T, scale.min, DOUBLE);
E_CONFIG_VAL(D, T, scale.max, DOUBLE);
E_CONFIG_VAL(D, T, scale.factor, DOUBLE);
E_CONFIG_VAL(D, T, scale.base_dpi, INT);
E_CONFIG_VAL(D, T, scale.use_dpi, UCHAR);
E_CONFIG_VAL(D, T, scale.use_custom, UCHAR);
E_CONFIG_VAL(D, T, show_cursor, UCHAR);
E_CONFIG_VAL(D, T, idle_cursor, UCHAR);
E_CONFIG_VAL(D, T, default_system_menu, STR);
E_CONFIG_VAL(D, T, cfgdlg_normal_wins, UCHAR);
E_CONFIG_VAL(D, T, syscon.main.icon_size, INT);
E_CONFIG_VAL(D, T, syscon.secondary.icon_size, INT);
E_CONFIG_VAL(D, T, syscon.extra.icon_size, INT);
E_CONFIG_VAL(D, T, syscon.timeout, DOUBLE);
E_CONFIG_VAL(D, T, syscon.do_input, UCHAR);
E_CONFIG_LIST(D, T, syscon.actions, _e_config_syscon_action_edd);
E_CONFIG_VAL(D, T, mode.presentation, UCHAR);
E_CONFIG_VAL(D, T, mode.offline, UCHAR);
E_CONFIG_VAL(D, T, exec.expire_timeout, DOUBLE);
E_CONFIG_VAL(D, T, exec.show_run_dialog, UCHAR);
E_CONFIG_VAL(D, T, exec.show_exit_dialog, UCHAR);
E_CONFIG_VAL(D, T, null_container_win, UCHAR);
E_CONFIG_LIST(D, T, env_vars, _e_config_env_var_edd);
E_CONFIG_VAL(D, T, backlight.normal, DOUBLE);
E_CONFIG_VAL(D, T, backlight.dim, DOUBLE);
E_CONFIG_VAL(D, T, backlight.transition, DOUBLE);
E_CONFIG_VAL(D, T, backlight.timer, DOUBLE);
E_CONFIG_VAL(D, T, backlight.sysdev, STR);
E_CONFIG_VAL(D, T, backlight.idle_dim, UCHAR);
E_CONFIG_VAL(D, T, deskenv.load_xrdb, UCHAR);
E_CONFIG_VAL(D, T, deskenv.load_xmodmap, UCHAR);
E_CONFIG_VAL(D, T, deskenv.load_gnome, UCHAR);
E_CONFIG_VAL(D, T, deskenv.load_kde, UCHAR);
E_CONFIG_VAL(D, T, powersave.none, DOUBLE);
E_CONFIG_VAL(D, T, powersave.low, DOUBLE);
E_CONFIG_VAL(D, T, powersave.medium, DOUBLE);
E_CONFIG_VAL(D, T, powersave.high, DOUBLE);
E_CONFIG_VAL(D, T, powersave.extreme, DOUBLE);
E_CONFIG_VAL(D, T, powersave.min, INT);
E_CONFIG_VAL(D, T, powersave.max, INT);
E_CONFIG_VAL(D, T, xsettings.enabled, UCHAR);
E_CONFIG_VAL(D, T, xsettings.match_e17_theme, UCHAR);
E_CONFIG_VAL(D, T, xsettings.match_e17_icon_theme, UCHAR);
E_CONFIG_VAL(D, T, xsettings.xft_antialias, INT);
E_CONFIG_VAL(D, T, xsettings.xft_hinting, INT);
E_CONFIG_VAL(D, T, xsettings.xft_hint_style, STR);
E_CONFIG_VAL(D, T, xsettings.xft_rgba, STR);
E_CONFIG_VAL(D, T, xsettings.net_theme_name, STR);
E_CONFIG_VAL(D, T, xsettings.net_icon_theme_name, STR);
E_CONFIG_VAL(D, T, xsettings.gtk_font_name, STR);
E_CONFIG_VAL(D, T, update.check, UCHAR);
E_CONFIG_VAL(D, T, update.later, UCHAR);
E_CONFIG_LIST(D, T, xkb.used_layouts, _e_config_xkb_layout_edd);
E_CONFIG_LIST(D, T, xkb.used_options, _e_config_xkb_option_edd);
E_CONFIG_VAL(D, T, xkb.only_label, INT);
E_CONFIG_VAL(D, T, xkb.dont_touch_my_damn_keyboard, UCHAR);
E_CONFIG_VAL(D, T, xkb.default_model, STR);
E_CONFIG_VAL(D, T, xkb.use_cache, UCHAR);
E_CONFIG_VAL(D, T, keyboard.repeat_delay, INT);
E_CONFIG_VAL(D, T, keyboard.repeat_rate, INT);
if (old)
{
E_CONFIG_SUB(D, T, xkb.current_layout, _e_config_xkb_option_edd);
E_CONFIG_SUB(D, T, xkb.sel_layout, _e_config_xkb_option_edd);
E_CONFIG_SUB(D, T, xkb.lock_layout, _e_config_xkb_option_edd);
}
else
{
E_CONFIG_SUB(D, T, xkb.current_layout, _e_config_xkb_layout_edd);
E_CONFIG_SUB(D, T, xkb.sel_layout, _e_config_xkb_layout_edd);
E_CONFIG_SUB(D, T, xkb.lock_layout, _e_config_xkb_layout_edd);
}
E_CONFIG_VAL(D, T, xkb.selected_layout, STR);
E_CONFIG_VAL(D, T, xkb.cur_layout, STR);
E_CONFIG_VAL(D, T, xkb.desklock_layout, STR);
//E_CONFIG_VAL(D, T, xkb.cur_group, INT);
E_CONFIG_VAL(D, T, exe_always_single_instance, UCHAR);
_e_config_binding_edd = E_CONFIG_DD_NEW("E_Config_Bindings", E_Config_Bindings);
#undef T
#undef D
#define T E_Config_Bindings
#define D _e_config_binding_edd
E_CONFIG_VAL(D, T, config_version, UINT); /**/
E_CONFIG_LIST(D, T, mouse_bindings, _e_config_bindings_mouse_edd); /**/
E_CONFIG_LIST(D, T, key_bindings, _e_config_bindings_key_edd); /**/
E_CONFIG_LIST(D, T, edge_bindings, _e_config_bindings_edge_edd); /**/
E_CONFIG_LIST(D, T, signal_bindings, _e_config_bindings_signal_edd); /**/
E_CONFIG_LIST(D, T, wheel_bindings, _e_config_bindings_wheel_edd); /**/
E_CONFIG_LIST(D, T, acpi_bindings, _e_config_bindings_acpi_edd); /**/
}
EINTERN void
e_config_descriptor_shutdown(void)
{
E_CONFIG_DD_FREE(_e_config_edd);
E_CONFIG_DD_FREE(_e_config_module_edd);
E_CONFIG_DD_FREE(_e_config_font_default_edd);
E_CONFIG_DD_FREE(_e_config_font_fallback_edd);
E_CONFIG_DD_FREE(_e_config_theme_edd);
E_CONFIG_DD_FREE(_e_config_path_append_edd);
E_CONFIG_DD_FREE(_e_config_desktop_bg_edd);
E_CONFIG_DD_FREE(_e_config_desklock_bg_edd);
E_CONFIG_DD_FREE(_e_config_desktop_name_edd);
E_CONFIG_DD_FREE(e_remember_edd);
E_CONFIG_DD_FREE(_e_config_menu_applications_edd);
E_CONFIG_DD_FREE(_e_config_gadcon_edd);
E_CONFIG_DD_FREE(_e_config_gadcon_client_edd);
E_CONFIG_DD_FREE(_e_config_shelf_edd);
E_CONFIG_DD_FREE(_e_config_shelf_desk_edd);
E_CONFIG_DD_FREE(_e_config_mime_icon_edd);
E_CONFIG_DD_FREE(_e_config_syscon_action_edd);
E_CONFIG_DD_FREE(_e_config_env_var_edd);
E_CONFIG_DD_FREE(_e_config_xkb_layout_edd);
E_CONFIG_DD_FREE(_e_config_xkb_option_edd);
E_CONFIG_DD_FREE(_e_config_binding_edd);
E_CONFIG_DD_FREE(_e_config_bindings_mouse_edd);
E_CONFIG_DD_FREE(_e_config_bindings_key_edd);
E_CONFIG_DD_FREE(_e_config_bindings_edge_edd);
E_CONFIG_DD_FREE(_e_config_bindings_signal_edd);
E_CONFIG_DD_FREE(_e_config_bindings_wheel_edd);
E_CONFIG_DD_FREE(_e_config_bindings_acpi_edd);
}
EINTERN E_Config_DD *
e_config_descriptor_get(void)
{
return _e_config_edd;
}
EINTERN E_Config_DD *
e_config_binding_descriptor_get(void)
{
return _e_config_binding_edd;
}

View File

@ -0,0 +1,17 @@
#ifndef E_CONFIG_DESCRIPTOR_H
#define E_CONFIG_DESCRIPTOR_H
typedef struct _E_Color_Class
{
const char *name; /* stringshared name */
int r, g, b, a;
int r2, g2, b2, a2;
int r3, g3, b3, a3;
} E_Color_Class;
EINTERN void e_config_descriptor_init(Eina_Bool old);
EINTERN void e_config_descriptor_shutdown(void);
EINTERN E_Config_DD *e_config_descriptor_get(void);
EINTERN E_Config_DD *e_config_binding_descriptor_get(void);
#endif /* E_CONFIG_DESCRIPTOR_H */

View File

@ -153,6 +153,7 @@
#include "e_comp_x_randr.h"
#include "e_gadget.h"
#include "e_bryce.h"
#include "e_config_descriptor.h"
#ifdef HAVE_WAYLAND
# include "e_comp_wl.h"

View File

@ -1042,6 +1042,7 @@ _e_module_whitelist_check(void)
"policy_mobile",
"geolocation",
"xwayland",
"bryce_migration",
NULL // end marker
};

View File

@ -132,4 +132,7 @@ include src/modules/Makefile_policy_mobile.mk
include src/modules/Makefile_geolocation.mk
include src/modules/Makefile_wireless.mk
include src/modules/Makefile_time.mk
include src/modules/Makefile_bryce_migration.mk

View File

@ -0,0 +1,32 @@
EXTRA_DIST += src/modules/bryce_migration/module.desktop.in
if USE_MODULE_BRYCE_MIGRATION
bryce_migrationdir = $(MDIR)/bryce_migration
bryce_migration_DATA = src/modules/bryce_migration/module.desktop
bryce_migrationpkgdir = $(MDIR)/bryce_migration/$(MODULE_ARCH)
bryce_migrationpkg_LTLIBRARIES = src/modules/bryce_migration/module.la
src_modules_bryce_migration_module_la_LIBADD = $(MOD_LIBS)
src_modules_bryce_migration_module_la_CPPFLAGS = $(MOD_CPPFLAGS)
src_modules_bryce_migration_module_la_LDFLAGS = $(MOD_LDFLAGS)
src_modules_bryce_migration_module_la_SOURCES = src/modules/bryce_migration/e_mod_main.c
internal_bin_PROGRAMS += enlightenment_bryce_migration
enlightenment_bryce_migration_SOURCES = \
src/modules/bryce_migration/config_migration.c \
src/modules/clock/config_descriptor.c \
src/modules/time/config_descriptor.c \
src/modules/ibar/config_descriptor.c \
src/modules/luncher/config_descriptor.c \
src/bin/e_config_descriptor.c \
src/bin/e_config_data.c
enlightenment_bryce_migration_CPPFLAGS = $(E_CPPFLAGS)
enlightenment_bryce_migration_LDFLAGS = @E_SYS_LIBS@ @EET_LIBS@
#@EINA_LIBS@ @ECORE_LIBS@ @EET_LIBS@
PHONIES += bryce_migration install-bryce_migration
bryce_migration: $(bryce_migrationpkg_LTLIBRARIES) $(bryce_migration_DATA)
install-bryce_migration: install-bryce_migrationDATA install-bryce_migrationpkgLTLIBRARIES
endif

View File

@ -14,6 +14,8 @@ src_modules_clock_module_la_CPPFLAGS = $(MOD_CPPFLAGS)
src_modules_clock_module_la_LDFLAGS = $(MOD_LDFLAGS)
src_modules_clock_module_la_SOURCES = src/modules/clock/e_mod_main.h \
src/modules/clock/e_mod_main.c \
src/modules/clock/config_descriptor.c \
src/modules/clock/config_descriptor.h \
src/modules/clock/e_mod_config.c
PHONIES += clock install-clock

View File

@ -13,6 +13,8 @@ src_modules_ibar_module_la_LIBADD = $(MOD_LIBS)
src_modules_ibar_module_la_CPPFLAGS = $(MOD_CPPFLAGS)
src_modules_ibar_module_la_LDFLAGS = $(MOD_LDFLAGS)
src_modules_ibar_module_la_SOURCES = src/modules/ibar/e_mod_main.c \
src/modules/ibar/config_descriptor.c \
src/modules/ibar/config_descriptor.h \
src/modules/ibar/e_mod_main.h \
src/modules/ibar/e_mod_config.c

View File

@ -15,6 +15,8 @@ src_modules_luncher_module_la_LDFLAGS = $(MOD_LDFLAGS)
src_modules_luncher_module_la_SOURCES = src/modules/luncher/mod.c \
src/modules/luncher/luncher.h \
src/modules/luncher/bar.c \
src/modules/luncher/config_descriptor.c \
src/modules/luncher/config_descriptor.h \
src/modules/luncher/grid.c \
src/modules/luncher/config.c

View File

@ -14,6 +14,8 @@ src_modules_pager_module_la_LDFLAGS = $(MOD_LDFLAGS)
src_modules_pager_module_la_SOURCES = src/modules/pager/e_mod_main.h \
src/modules/pager/e_mod_main.c \
src/modules/pager/e_mod_config.c \
src/modules/pager/gadget/config_descriptor.c \
src/modules/pager/gadget/config_descriptor.h \
src/modules/pager/gadget/pager.h \
src/modules/pager/gadget/pager.c \
src/modules/pager/gadget/mod.c \

View File

@ -15,6 +15,8 @@ src_modules_time_module_la_LDFLAGS = $(MOD_LDFLAGS)
src_modules_time_module_la_SOURCES = \
src/modules/time/clock.c \
src/modules/time/clock.h \
src/modules/time/config_descriptor.c \
src/modules/time/config_descriptor.h \
src/modules/time/config.c \
src/modules/time/mod.c \
src/modules/time/time.c

View File

@ -0,0 +1,618 @@
#include <Eet.h>
#include <e.h>
#define BRYCE_MIGRATION 1
#include "../time/config_descriptor.h"
#include "../clock/config_descriptor.h"
#include "../ibar/config_descriptor.h"
#include "../luncher/config_descriptor.h"
typedef struct _E_Gadget_Config
{
int id;
int zone;
const char *type;
struct {
const char *name;
} style;
double x;
double y;
double w;
double h;
} E_Gadget_Config;
typedef struct _E_Gadget_Site
{
E_Gadget_Site_Gravity gravity;
E_Gadget_Site_Orient orient;
E_Gadget_Site_Anchor anchor;
unsigned char autoadd;
const char *name;
Eina_List *gadgets;
} E_Gadget_Site;
typedef struct _E_Gadget_Sites
{
Eina_List *sites;
} E_Gadget_Sites;
typedef struct _Bryce
{
const char *name;
const char *style;
unsigned int zone;
int size;
unsigned int layer;
unsigned char autosize;
unsigned char autohide;
E_Gadget_Site_Orient orient;
E_Gadget_Site_Anchor anchor;
unsigned int version;
} Bryce;
typedef struct _Bryces
{
Eina_List *bryces;
} Bryces;
E_Config *e_config = NULL;
static E_Gadget_Sites *_sites = NULL;
static Bryces *_bryces = NULL;
E_Config_DD *e_remember_edd;
static Eet_Data_Descriptor *_edd_bryces;
static Eet_Data_Descriptor *_edd_bryce;
static Eet_Data_Descriptor *_edd_sites;
static Eet_Data_Descriptor *_edd_gadget_site;
static Eet_Data_Descriptor *_edd_gadget_config;
static void
_init(const char *path)
{
Eet_File *f;
char buf[PATH_MAX];
eet_init();
e_config_descriptor_init(EINA_FALSE);
clock_config_descriptor_init();
time_config_descriptor_init();
ibar_config_descriptor_init();
luncher_config_descriptor_init();
snprintf(buf, sizeof(buf), "%s/e.cfg", path);
f = eet_open(buf, EET_FILE_MODE_READ);
if (!f)
{
printf("Can't open config file\n");
}
e_config = eet_data_read(f, e_config_descriptor_get(), "config");
if (!e_config)
{
fprintf(stderr, "Error on loading config file\n");
eet_close(f);
return;
}
eet_close(f);
}
static void
_bryce_init(const char *path)
{
Eet_Data_Descriptor_Class eddc_gadget_config, eddc_gadget_site, eddc_sites, eddc_bryce, eddc_bryces;
char buf[PATH_MAX];
Eet_File *f;
EET_EINA_STREAM_DATA_DESCRIPTOR_CLASS_SET(&eddc_gadget_config, E_Gadget_Config);
_edd_gadget_config = eet_data_descriptor_stream_new(&eddc_gadget_config);
EET_DATA_DESCRIPTOR_ADD_BASIC(_edd_gadget_config, E_Gadget_Config, "id", id, EET_T_INT);
EET_DATA_DESCRIPTOR_ADD_BASIC(_edd_gadget_config, E_Gadget_Config, "zone", zone, EET_T_INT);
EET_DATA_DESCRIPTOR_ADD_BASIC(_edd_gadget_config, E_Gadget_Config, "type", type, EET_T_STRING);
EET_DATA_DESCRIPTOR_ADD_BASIC(_edd_gadget_config, E_Gadget_Config, "style.name", style.name, EET_T_STRING);
EET_DATA_DESCRIPTOR_ADD_BASIC(_edd_gadget_config, E_Gadget_Config, "x", x, EET_T_DOUBLE);
EET_DATA_DESCRIPTOR_ADD_BASIC(_edd_gadget_config, E_Gadget_Config, "y", y, EET_T_DOUBLE);
EET_DATA_DESCRIPTOR_ADD_BASIC(_edd_gadget_config, E_Gadget_Config, "w", w, EET_T_DOUBLE);
EET_DATA_DESCRIPTOR_ADD_BASIC(_edd_gadget_config, E_Gadget_Config, "h", h, EET_T_DOUBLE);
EET_EINA_STREAM_DATA_DESCRIPTOR_CLASS_SET(&eddc_gadget_site, E_Gadget_Site);
_edd_gadget_site = eet_data_descriptor_stream_new(&eddc_gadget_site);
EET_DATA_DESCRIPTOR_ADD_BASIC(_edd_gadget_site, E_Gadget_Site, "gravity", gravity, EET_T_UINT);
EET_DATA_DESCRIPTOR_ADD_BASIC(_edd_gadget_site, E_Gadget_Site, "orient", orient, EET_T_UINT);
EET_DATA_DESCRIPTOR_ADD_BASIC(_edd_gadget_site, E_Gadget_Site, "anchor", anchor, EET_T_UINT);
EET_DATA_DESCRIPTOR_ADD_BASIC(_edd_gadget_site, E_Gadget_Site, "autoadd", autoadd, EET_T_UCHAR);
EET_DATA_DESCRIPTOR_ADD_BASIC(_edd_gadget_site, E_Gadget_Site, "name", name, EET_T_STRING);
EET_DATA_DESCRIPTOR_ADD_LIST(_edd_gadget_site, E_Gadget_Site, "gadgets", gadgets, _edd_gadget_config);
EET_EINA_STREAM_DATA_DESCRIPTOR_CLASS_SET(&eddc_sites, E_Gadget_Sites);
_edd_sites = eet_data_descriptor_stream_new(&eddc_sites);
EET_DATA_DESCRIPTOR_ADD_LIST(_edd_sites, E_Gadget_Sites, "sites", sites, _edd_gadget_site);
EET_EINA_STREAM_DATA_DESCRIPTOR_CLASS_SET(&eddc_bryce, Bryce);
_edd_bryce = eet_data_descriptor_stream_new(&eddc_bryce);
EET_DATA_DESCRIPTOR_ADD_BASIC(_edd_bryce, Bryce, "name", name, EET_T_STRING);
EET_DATA_DESCRIPTOR_ADD_BASIC(_edd_bryce, Bryce, "style", style, EET_T_STRING);
EET_DATA_DESCRIPTOR_ADD_BASIC(_edd_bryce, Bryce, "zone", zone, EET_T_UINT);
EET_DATA_DESCRIPTOR_ADD_BASIC(_edd_bryce, Bryce, "size", size, EET_T_INT);
EET_DATA_DESCRIPTOR_ADD_BASIC(_edd_bryce, Bryce, "layer", layer, EET_T_UINT);
EET_DATA_DESCRIPTOR_ADD_BASIC(_edd_bryce, Bryce, "autosize", autosize, EET_T_UCHAR);
EET_DATA_DESCRIPTOR_ADD_BASIC(_edd_bryce, Bryce, "autohide", autohide, EET_T_UCHAR);
EET_DATA_DESCRIPTOR_ADD_BASIC(_edd_bryce, Bryce, "orient", orient, EET_T_UINT);
EET_DATA_DESCRIPTOR_ADD_BASIC(_edd_bryce, Bryce, "anchor", anchor, EET_T_UINT);
EET_DATA_DESCRIPTOR_ADD_BASIC(_edd_bryce, Bryce, "version", version, EET_T_UINT);
EET_EINA_STREAM_DATA_DESCRIPTOR_CLASS_SET(&eddc_bryces, Bryces);
_edd_bryces = eet_data_descriptor_stream_new(&eddc_bryces);
EET_DATA_DESCRIPTOR_ADD_LIST(_edd_bryces, Bryces, "bryces", bryces, _edd_bryce);
snprintf(buf, sizeof(buf), "%s/e_gadgets_sites.cfg", path);
f = eet_open(buf, EET_FILE_MODE_READ);
if (!f)
{
printf("Can't open config file\n");
}
_sites = eet_data_read(f, _edd_sites, "config");
if (!_sites)
{
fprintf(stderr, "Error on loading config file\n");
eet_close(f);
return;
}
eet_close(f);
printf("gadget site loaded %d\n", eina_list_count(_sites->sites));
snprintf(buf, sizeof(buf), "%s/e_bryces.cfg", path);
f = eet_open(buf, EET_FILE_MODE_READ);
if (!f)
{
printf("Can't open config file\n");
}
_bryces = eet_data_read(f, _edd_bryces, "config");
if (!_bryces)
{
fprintf(stderr, "Error on loading config bryce file\n");
eet_close(f);
return;
}
eet_close(f);
}
static void
_bryce_shutdown(const char *path)
{
Eet_File *f;
char buf[PATH_MAX];
snprintf(buf, sizeof(buf), "%s/e_gadgets_sites.cfg", path);
f = eet_open(buf, EET_FILE_MODE_READ_WRITE);
if (!f)
{
printf("Can't open config file\n");
}
eet_data_write(f, _edd_sites, "config", _sites, 1);
eet_close(f);
snprintf(buf, sizeof(buf), "%s/e_bryces.cfg", path);
f = eet_open(buf, EET_FILE_MODE_READ_WRITE);
if (!f)
{
printf("Can't open config file\n");
}
eet_data_write(f, _edd_bryces, "config", _bryces, 1);
eet_close(f);
}
typedef int (*Migrate_Cb)(const char *path, const char *id);
typedef struct _Bryce_Migration_Module_Compat{
const char *shelf;
const char *bryce;
Migrate_Cb migrate;
} Bryce_Migration_Module_Compat;
static int
_start_migrate(const char *path, const char *id)
{
return 0;
}
static int
_pager_migrate(const char *path, const char *id)
{
return 0;
}
static int
_ibar_migrate(const char *path, const char *id)
{
Eet_File *f;
Ibar_Config *ibar;
Eina_List *l;
Ibar_Config_Item *it;
Luncher_Config *luncher_config;
Luncher_Config_Item *luncher_it;
char buf[PATH_MAX];
snprintf(buf, sizeof(buf), "%s/module.ibar.cfg", path);
printf("%s open %s\n", path, buf);
f = eet_open(buf, EET_FILE_MODE_READ);
ibar = eet_data_read(f, ibar_config_descriptor_get(), "config");
eet_close(f);
EINA_LIST_FOREACH(ibar->items, l, it)
{
if (it->id == id) break;
}
if (l)
{
printf("Found Ibar config!\n");
printf("Ibar dir %s\n", it->dir);
snprintf(buf, sizeof(buf), "%s/module.luncher.cfg", path);
f = eet_open(buf, EET_FILE_MODE_READ);
luncher_config = eet_data_read(f, luncher_config_descriptor_get(), "config");
eet_close(f);
luncher_it = calloc(1, sizeof(Luncher_Config_Item));
luncher_it->id = eina_list_count(luncher_config->items) + 1;
luncher_it->dir = eina_stringshare_ref(it->dir);
luncher_it->style = eina_stringshare_add("default");
luncher_config->items = eina_list_append(luncher_config->items, luncher_it);
f = eet_open(buf, EET_FILE_MODE_READ_WRITE);
eet_data_write(f, luncher_config_descriptor_get(), "config",
luncher_config, 1);
eet_close(f);
return luncher_it->id;
}
return -1;
}
static int
_clock_migrate(const char *path, const char *id)
{
Eet_File *f, *ff;
Clock_Config *clock;
Time_Config *time_config;
Eina_List *l;
Clock_Config_Item *it;
Time_Config_Item *time_it;
char buf[PATH_MAX];
snprintf(buf, sizeof(buf), "%s/module.clock.cfg", path);
f = eet_open(buf, EET_FILE_MODE_READ);
clock = eet_data_read(f, clock_config_descriptor_get(), "config");
eet_close(f);
EINA_LIST_FOREACH(clock->items, l, it)
{
if (it->id == id) break;
}
if (l)
{
snprintf(buf, sizeof(buf), "%s/module.time.cfg", path);
ff = eet_open(buf, EET_FILE_MODE_READ);
time_config = eet_data_read(ff, time_config_descriptor_get(), "config");
eet_close(ff);
time_it = calloc(1, sizeof(Time_Config_Item));
time_it->id = eina_list_count(time_config->items) + 1;
time_it->weekend.start = it->weekend.start;
time_it->weekend.len = it->weekend.len;
time_it->week.start = it->week.start;
time_it->digital_clock = it->digital_clock ? 1 : 0;
time_it->digital_24h = it->digital_24h ? 1 : 0;
time_it->show_seconds = it->show_seconds ? 1 : 0;
time_it->show_date = it->show_date ? 1 : 0;
time_it->time_str[0] = eina_stringshare_add("%I:%M");
time_it->time_str[1] = eina_stringshare_add("%F");
time_config->items = eina_list_append(time_config->items, time_it);
ff = eet_open(buf, EET_FILE_MODE_READ_WRITE);
eet_data_write(ff, time_config_descriptor_get(), "config",
time_config, 1);
eet_close(ff);
return time_it->id;
}
return -1;
}
static Bryce_Migration_Module_Compat _compat[] =
{
{"start", "Start", _start_migrate},
{"pager", "Pager Gadget", _pager_migrate},
{"ibar", "Luncher Bar", _ibar_migrate},
{"clock", "Digital Clock", _clock_migrate}
};
static void
_migrate_shelf(const char *path, E_Config_Shelf *shelf, const char *bryce, E_Gadget_Site_Anchor anchor, E_Gadget_Site_Gravity gravity, E_Gadget_Site_Orient orient)
{
Eina_List *l, *ll;
E_Config_Gadcon *gc;
E_Config_Gadcon_Client *client;
int i;
int id;
E_Gadget_Site *site;
E_Gadget_Config *gcfg;
char buf[PATH_MAX];
Bryce *b;
site = calloc(1, sizeof(E_Gadget_Site));
printf("Starting migration %s %s\n", path, shelf->name);
EINA_LIST_FOREACH(e_config->gadcons, l, gc)
{
printf("gadcon %s\n", gc->name);
if (!strcmp(gc->name, shelf->name))
{
EINA_LIST_FOREACH(gc->clients, ll, client)
{
id = -1;
for (i = 0; i < (sizeof(_compat) / sizeof(_compat[0])); ++i)
{
if (!strcmp(_compat[i].shelf, client->name))
{
id = _compat[i].migrate(path, client->id);
break;
}
}
if (id < 0)
{
printf("Fail to migrate %s\n", client->name);
continue;
}
gcfg = calloc(1, sizeof(E_Gadget_Config));
gcfg->id = id;
gcfg->type = eina_stringshare_add(_compat[i].bryce);
site->gadgets = eina_list_append(site->gadgets, gcfg);
}
e_config->gadcons = eina_list_remove_list(e_config->gadcons, l);
break;
}
}
if (l)
{
snprintf(buf, sizeof(buf), "__bryce%s", bryce);
site->name = eina_stringshare_add(buf);
site->gravity = gravity;
site->orient = orient;
site->anchor = anchor;
printf("Append %d %d\n", eina_list_count(_sites->sites), eina_list_count(site->gadgets));
_sites->sites = eina_list_append(_sites->sites, site);
printf("Append %d %d\n", eina_list_count(_sites->sites), eina_list_count(site->gadgets));
b = calloc(1, sizeof(Bryce));
b->name = eina_stringshare_add(bryce);
b->style = eina_stringshare_add("default");
b->zone = shelf->zone; /* TODO */
b->size = 48;
b->layer = shelf->layer;
b->autosize = !!shelf->fit_along;
b->autohide = !!shelf->autohide;
b->orient = orient;
b->anchor = anchor;
b->version = 2;
_bryces->bryces = eina_list_append(_bryces->bryces, b);
}
}
static void
_migrate(const char *path)
{
E_Config_Shelf *shelf;
E_Gadget_Site_Orient orient;
E_Gadget_Site_Anchor anchor;
E_Gadget_Site_Gravity gravity;
const char *loc, *loc2;
char buf[PATH_MAX];
Eet_File *f;
EINA_LIST_FREE(e_config->shelves, shelf)
{
switch(shelf->orient)
{
// case E_GADCON_ORIENT_FLOAT: ???? UNUSED ????
case E_GADCON_ORIENT_HORIZ:
orient = E_GADGET_SITE_ORIENT_HORIZONTAL;
anchor = E_GADGET_SITE_ANCHOR_TOP;
break;
case E_GADCON_ORIENT_TOP:
orient = E_GADGET_SITE_ORIENT_HORIZONTAL;
anchor = E_GADGET_SITE_ANCHOR_TOP;
break;
case E_GADCON_ORIENT_BOTTOM:
orient = E_GADGET_SITE_ORIENT_HORIZONTAL;
anchor = E_GADGET_SITE_ANCHOR_BOTTOM;
break;
case E_GADCON_ORIENT_CORNER_TL:
orient = E_GADGET_SITE_ORIENT_HORIZONTAL;
anchor = E_GADGET_SITE_ANCHOR_TOP | E_GADGET_SITE_ANCHOR_LEFT;
break;
case E_GADCON_ORIENT_CORNER_TR:
orient = E_GADGET_SITE_ORIENT_HORIZONTAL;
anchor = E_GADGET_SITE_ANCHOR_TOP | E_GADGET_SITE_ANCHOR_RIGHT;
break;
case E_GADCON_ORIENT_CORNER_BL:
orient = E_GADGET_SITE_ORIENT_HORIZONTAL;
anchor = E_GADGET_SITE_ANCHOR_BOTTOM | E_GADGET_SITE_ANCHOR_LEFT;
break;
case E_GADCON_ORIENT_CORNER_BR:
orient = E_GADGET_SITE_ORIENT_HORIZONTAL;
anchor = E_GADGET_SITE_ANCHOR_BOTTOM | E_GADGET_SITE_ANCHOR_RIGHT;
break;
case E_GADCON_ORIENT_VERT:
orient = E_GADGET_SITE_ORIENT_VERTICAL;
anchor = E_GADGET_SITE_ANCHOR_LEFT;
break;
case E_GADCON_ORIENT_LEFT:
orient = E_GADGET_SITE_ORIENT_VERTICAL;
anchor = E_GADGET_SITE_ANCHOR_LEFT;
break;
case E_GADCON_ORIENT_RIGHT:
orient = E_GADGET_SITE_ORIENT_VERTICAL;
anchor = E_GADGET_SITE_ANCHOR_RIGHT;
break;
case E_GADCON_ORIENT_CORNER_LT:
orient = E_GADGET_SITE_ORIENT_VERTICAL;
anchor = E_GADGET_SITE_ANCHOR_LEFT | E_GADGET_SITE_ANCHOR_TOP;
break;
case E_GADCON_ORIENT_CORNER_RT:
orient = E_GADGET_SITE_ORIENT_VERTICAL;
anchor = E_GADGET_SITE_ANCHOR_RIGHT | E_GADGET_SITE_ANCHOR_TOP;
break;
case E_GADCON_ORIENT_CORNER_LB:
orient = E_GADGET_SITE_ORIENT_VERTICAL;
anchor = E_GADGET_SITE_ANCHOR_LEFT | E_GADGET_SITE_ANCHOR_BOTTOM;
break;
case E_GADCON_ORIENT_CORNER_RB:
orient = E_GADGET_SITE_ORIENT_VERTICAL;
anchor = E_GADGET_SITE_ANCHOR_RIGHT | E_GADGET_SITE_ANCHOR_BOTTOM;
break;
}
if (orient == E_GADGET_SITE_ORIENT_HORIZONTAL)
{
if (anchor & E_GADGET_SITE_ANCHOR_LEFT)
gravity = E_GADGET_SITE_GRAVITY_LEFT;
else if (anchor & E_GADGET_SITE_ANCHOR_RIGHT)
gravity = E_GADGET_SITE_GRAVITY_RIGHT;
else
gravity = E_GADGET_SITE_GRAVITY_CENTER;
}
else
{
if (anchor & E_GADGET_SITE_ANCHOR_TOP)
gravity = E_GADGET_SITE_GRAVITY_TOP;
else if (anchor & E_GADGET_SITE_ANCHOR_BOTTOM)
gravity = E_GADGET_SITE_GRAVITY_BOTTOM;
else
gravity = E_GADGET_SITE_GRAVITY_CENTER;
}
if (anchor & E_GADGET_SITE_ANCHOR_TOP)
loc = "top";
else if (anchor & E_GADGET_SITE_ANCHOR_BOTTOM)
loc = "bottom";
else if (anchor & E_GADGET_SITE_ANCHOR_LEFT)
loc = "left";
else if (anchor & E_GADGET_SITE_ANCHOR_RIGHT)
loc = "right";
if (anchor & E_GADGET_SITE_ANCHOR_RIGHT)
loc2 = "right";
else if (anchor & E_GADGET_SITE_ANCHOR_LEFT)
loc2 = "left";
else if (anchor & E_GADGET_SITE_ANCHOR_TOP)
loc2 = "top";
else if (anchor & E_GADGET_SITE_ANCHOR_BOTTOM)
loc2 = "bottom";
snprintf(buf, sizeof(buf), "bryce_%s_%s_%d", loc, loc2, shelf->zone);
_migrate_shelf(path, shelf, buf, anchor, gravity, orient);
}
snprintf(buf, sizeof(buf), "%s/e.cfg", path);
f = eet_open(buf, EET_FILE_MODE_READ_WRITE);
if (!f)
{
printf("Can't open config file\n");
}
eet_data_write(f, e_config_descriptor_get(), "config",
e_config, 1);
eet_close(f);
}
static void
_shutdown(void)
{
clock_config_descriptor_shutdown();
time_config_descriptor_shutdown();
ibar_config_descriptor_shutdown();
luncher_config_descriptor_shutdown();
e_config_descriptor_shutdown();
eet_shutdown();
}
static const Ecore_Getopt options =
{
"Bryce migration",
"%prog [options]",
"0.1",
"(C) 2011 Enlightenment, see AUTHORS.",
"GPL, see COPYING",
"Bryce migration tool",
EINA_TRUE,
{
ECORE_GETOPT_STORE_STR('p', "path", "path of e config"),
ECORE_GETOPT_STORE_STR('s', "shelf", "shelf name"),
ECORE_GETOPT_STORE_STR('b', "bryce", "bryce name"),
ECORE_GETOPT_STORE_UINT('a', "anchor", "anchor position"),
ECORE_GETOPT_STORE_UINT('g', "gravity", "gadget gravity"),
ECORE_GETOPT_STORE_UINT('o', "orient", "gadget orientation"),
ECORE_GETOPT_HELP('h', "help"),
ECORE_GETOPT_SENTINEL
}
};
int
main(int argc, char **argv)
{
int args;
char *path;
char *shelf;
char *bryce;
Eina_Bool quit_option;
E_Gadget_Site_Gravity gravity;
E_Gadget_Site_Orient orient;
E_Gadget_Site_Anchor anchor;
Ecore_Getopt_Value values[] =
{
ECORE_GETOPT_VALUE_STR(path),
ECORE_GETOPT_VALUE_STR(shelf),
ECORE_GETOPT_VALUE_STR(bryce),
ECORE_GETOPT_VALUE_UINT(anchor),
ECORE_GETOPT_VALUE_UINT(gravity),
ECORE_GETOPT_VALUE_UINT(orient),
ECORE_GETOPT_VALUE_BOOL(quit_option)
};
args = ecore_getopt_parse(&options, values, argc, argv);
if (args < 0)
return EXIT_FAILURE;
if (quit_option)
return EXIT_SUCCESS;
printf("Welcome to migration tool\n");
_init(path);
_bryce_init(path);
_migrate(path);
_bryce_shutdown(path);
_shutdown();
return 0;
}

View File

@ -0,0 +1,181 @@
#include <e.h>
static Eina_Bool _ask_user_migration(void *data);
static Eina_Bool _ask_user_valid(void *data);
static void _migrate_user_cb(void *data, E_Dialog *dia);
static void _migrate_user_ok_cb(void *data, E_Dialog *dia);
static void _migrate_user_cancel_cb(void *data, E_Dialog *dia);
typedef enum _Bryce_Migration_Step
{
BRYCE_MIGRATION_ASK = 0,
BRYCE_MIGRATION_RUN,
BRYCE_MIGRATION_DONE
} Bryce_Migration_Step;
typedef struct _Config
{
Bryce_Migration_Step step;
} Config;
static Config *_bryce_migration_config = NULL;
static E_Config_DD *_conf_edd = NULL;
E_API E_Module_Api e_modapi =
{
E_MODULE_API_VERSION,
"Bryce migration"
};
E_API void *
e_modapi_init(E_Module *m)
{
_conf_edd = E_CONFIG_DD_NEW("Config", Config);
#undef T
#undef D
#define T Config
#define D _conf_edd
E_CONFIG_VAL(D, T, step, UINT);
_bryce_migration_config = e_config_domain_load("module.bryce_migration", _conf_edd);
if (!_bryce_migration_config)
_bryce_migration_config = E_NEW(Config, 1);
switch(_bryce_migration_config->step)
{
case BRYCE_MIGRATION_ASK:
ecore_timer_add(1.0, _ask_user_migration, NULL);
break;
case BRYCE_MIGRATION_RUN:
ecore_timer_add(1.0, _ask_user_valid, NULL);
break;
case BRYCE_MIGRATION_DONE:
fprintf(stderr, "migration done\n");
break;
}
return m;
}
E_API int
e_modapi_shutdown(E_Module *m EINA_UNUSED)
{
E_FREE(_bryce_migration_config);
return 1;
}
E_API int
e_modapi_save(E_Module *m EINA_UNUSED)
{
e_config_domain_save("module.bryce_migration", _conf_edd, _bryce_migration_config);
return 1;
}
static Eina_Bool
_ask_user_migration(void *data)
{
E_Dialog *dia;
dia = e_dialog_new(NULL, "E", "_module_bryce_migration");
e_dialog_title_set(dia, "Bryce Migration");
e_dialog_icon_set(dia, "enlightenment", 64);
e_dialog_text_set(dia, "Hi, shelf are deprecatede</br>We Will try to update your config to the new gadget container (bryce). Hope this run works well for you !");
e_dialog_button_add(dia, _("Migrate"), NULL, _migrate_user_cb, NULL);
e_dialog_button_add(dia, _("Later"), NULL, NULL, NULL);
elm_win_center(dia->win, 1, 1);
e_win_no_remember_set(dia->win, 1);
e_dialog_show(dia);
return ECORE_CALLBACK_CANCEL;
}
static Eina_Bool
_ask_user_valid(void *data)
{
E_Dialog *dia;
dia = e_dialog_new(NULL, "E", "_module_bryce_migration");
e_dialog_title_set(dia, "Bryce Migration");
e_dialog_icon_set(dia, "enlightenment", 64);
e_dialog_text_set(dia, _("Would you keep this setup ?"));
e_dialog_button_add(dia, _("Keep this config"), NULL, _migrate_user_ok_cb, NULL);
e_dialog_button_add(dia, _("Reset to my old Config"), NULL, _migrate_user_cancel_cb, NULL);
elm_win_center(dia->win, 1, 1);
e_win_no_remember_set(dia->win, 1);
e_dialog_show(dia);
return ECORE_CALLBACK_CANCEL;
}
static void
_migrate_user_cb(void *data, E_Dialog *dia)
{
char buf[4096];
char buf2[4096];
char cmd[PATH_MAX];
e_object_del(E_OBJECT(dia));
e_user_dir_snprintf(buf, sizeof(buf), "config/%s", e_config_profile_get());
e_user_dir_snprintf(buf2, sizeof(buf2), "config/bryce_backup");
snprintf(cmd, sizeof(cmd), "rm -rf %s", buf2);
fprintf(stderr, "exec -> %s\n", cmd);
system(cmd);
snprintf(cmd, sizeof(cmd), "/usr/bin/cp -a %s %s", buf, buf2);
fprintf(stderr, "exec -> %s\n", cmd);
system(cmd);
fprintf(stderr, "Backup current profile %s\n", cmd);
_bryce_migration_config->step = BRYCE_MIGRATION_RUN;
e_config_save();
e_config_save_flush();
e_config_save_block_set(EINA_TRUE);
snprintf(cmd, sizeof(cmd),
"/usr/lib/enlightenment/utils/enlightenment_bryce_migration "
"--path %s ", buf);
system(cmd);
kill(getpid(), SIGKILL);
}
static void
_migrate_user_ok_cb(void *data, E_Dialog *dia)
{
E_Module *m;
e_object_del(E_OBJECT(dia));
_bryce_migration_config->step = BRYCE_MIGRATION_DONE;
m = e_module_find("bryce_migration");
e_module_disable(m);
e_config_save_queue();
}
static void
_migrate_user_cancel_cb(void *data, E_Dialog *dia)
{
char buf[4096];
char buf2[4096];
char cmd[PATH_MAX];
_bryce_migration_config->step = BRYCE_MIGRATION_ASK;
e_config_save();
e_config_save_flush();
e_object_del(E_OBJECT(dia));
e_config_save_block_set(EINA_TRUE);
fprintf(stderr, "Reset config\n");
e_user_dir_snprintf(buf, sizeof(buf), "config/%s", e_config_profile_get());
e_user_dir_snprintf(buf2, sizeof(buf2), "config/bryce_backup");
fprintf(stderr, "exec -> %s\n", cmd);
snprintf(cmd, sizeof(cmd), "rm -rf %s", buf);
system(cmd);
snprintf(cmd, sizeof(cmd), "/usr/bin/cp -a %s %s", buf2, buf);
system(cmd);
snprintf(cmd, sizeof(cmd), "rm -rf %s", buf2);
system(cmd);
kill(getpid(), SIGKILL);
}

View File

@ -0,0 +1,7 @@
[Desktop Entry]
Encoding=UTF-8
Type=Link
Name=Bryce migration
Comment=Bryce migration wizard
Icon=e-module-bryce-wizard
X-Enlightenment-ModuleType=utils

View File

@ -0,0 +1,46 @@
#include <e.h>
#include "config_descriptor.h"
static E_Config_DD *conf_edd = NULL;
static E_Config_DD *conf_item_edd = NULL;
void
config_descriptor_init(void)
{
conf_item_edd = E_CONFIG_DD_NEW("Config_Item", Config_Item);
#undef T
#undef D
#define T Config_Item
#define D conf_item_edd
E_CONFIG_VAL(D, T, id, STR);
E_CONFIG_VAL(D, T, weekend.start, INT);
E_CONFIG_VAL(D, T, weekend.len, INT);
E_CONFIG_VAL(D, T, week.start, INT);
E_CONFIG_VAL(D, T, digital_clock, INT);
E_CONFIG_VAL(D, T, digital_24h, INT);
E_CONFIG_VAL(D, T, show_seconds, INT);
E_CONFIG_VAL(D, T, show_date, INT);
conf_edd = E_CONFIG_DD_NEW("Config", Config);
#undef T
#undef D
#define T Config
#define D conf_edd
E_CONFIG_LIST(D, T, items, conf_item_edd);
}
void
config_descriptor_shutdown(void)
{
E_CONFIG_DD_FREE(conf_edd);
E_CONFIG_DD_FREE(conf_item_edd);
}
E_Config_DD *
config_descriptor_get(void)
{
return conf_edd;
}

View File

@ -0,0 +1,51 @@
#ifndef CLOCK_CONFIG_DESCRIPTOR_H
#define CLOCK_CONFIG_DESCRIPTOR_H
#undef _Config
#undef Config
#undef _Config_Item
#undef Config_Item
#undef config_descriptor_init
#undef config_descriptor_shutdown
#undef config_descriptor_get
#define _Config _Clock_Config
#define Config Clock_Config
#define _Config_Item _Clock_Config_Item
#define Config_Item Clock_Config_Item
#define config_descriptor_init clock_config_descriptor_init
#define config_descriptor_shutdown clock_config_descriptor_shutdown
#define config_descriptor_get clock_config_descriptor_get
typedef struct _Config Config;
typedef struct _Config_Item Config_Item;
struct _Config
{
Eina_List *items;
E_Module *module;
E_Config_Dialog *config_dialog;
};
struct _Config_Item
{
const char *id;
struct {
int start, len; // 0->6 0 == sun, 6 == sat, number of days
} weekend;
struct {
int start; // 0->6 0 == sun, 6 == sat
} week;
int digital_clock;
int digital_24h;
int show_seconds;
int show_date;
Eina_Bool changed;
};
void config_descriptor_init(void);
void config_descriptor_shutdown(void);
E_Config_DD *config_descriptor_get(void);
#endif /* CLOCK_CONFIG_DESCRIPTOR_H */

View File

@ -41,8 +41,6 @@ static Eio_Monitor *clock_tzetc_monitor = NULL;
static Eina_List *clock_eio_handlers = NULL;
Config *clock_config = NULL;
static E_Config_DD *conf_edd = NULL;
static E_Config_DD *conf_item_edd = NULL;
static Eina_List *clock_instances = NULL;
static E_Action *act = NULL;
static Ecore_Timer *update_today = NULL;
@ -849,28 +847,9 @@ E_API E_Module_Api e_modapi =
E_API void *
e_modapi_init(E_Module *m)
{
conf_item_edd = E_CONFIG_DD_NEW("Config_Item", Config_Item);
#undef T
#undef D
#define T Config_Item
#define D conf_item_edd
E_CONFIG_VAL(D, T, id, STR);
E_CONFIG_VAL(D, T, weekend.start, INT);
E_CONFIG_VAL(D, T, weekend.len, INT);
E_CONFIG_VAL(D, T, week.start, INT);
E_CONFIG_VAL(D, T, digital_clock, INT);
E_CONFIG_VAL(D, T, digital_24h, INT);
E_CONFIG_VAL(D, T, show_seconds, INT);
E_CONFIG_VAL(D, T, show_date, INT);
config_descriptor_init();
conf_edd = E_CONFIG_DD_NEW("Config", Config);
#undef T
#undef D
#define T Config
#define D conf_edd
E_CONFIG_LIST(D, T, items, conf_item_edd);
clock_config = e_config_domain_load("module.clock", conf_edd);
clock_config = e_config_domain_load("module.clock", config_descriptor_get());
if (!clock_config)
clock_config = E_NEW(Config, 1);
@ -932,10 +911,7 @@ e_modapi_shutdown(E_Module *m EINA_UNUSED)
free(clock_config);
clock_config = NULL;
}
E_CONFIG_DD_FREE(conf_edd);
E_CONFIG_DD_FREE(conf_item_edd);
conf_item_edd = NULL;
conf_edd = NULL;
config_descriptor_shutdown();
e_gadcon_provider_unregister(&_gadcon_class);
@ -957,7 +933,7 @@ e_modapi_shutdown(E_Module *m EINA_UNUSED)
E_API int
e_modapi_save(E_Module *m EINA_UNUSED)
{
e_config_domain_save("module.clock", conf_edd, clock_config);
e_config_domain_save("module.clock", config_descriptor_get(), clock_config);
return 1;
}

View File

@ -1,38 +1,14 @@
#ifndef E_MOD_MAIN_H
#define E_MOD_MAIN_H
#include "config_descriptor.h"
E_API extern E_Module_Api e_modapi;
E_API void *e_modapi_init (E_Module *m);
E_API int e_modapi_shutdown (E_Module *m);
E_API int e_modapi_save (E_Module *m);
typedef struct _Config Config;
typedef struct _Config_Item Config_Item;
struct _Config
{
Eina_List *items;
E_Module *module;
E_Config_Dialog *config_dialog;
};
struct _Config_Item
{
const char *id;
struct {
int start, len; // 0->6 0 == sun, 6 == sat, number of days
} weekend;
struct {
int start; // 0->6 0 == sun, 6 == sat
} week;
int digital_clock;
int digital_24h;
int show_seconds;
int show_date;
Eina_Bool changed;
};
void e_int_config_clock_module(Evas_Object *parent, Config_Item *ci);
void e_int_clock_instances_redo(Eina_Bool all);

View File

@ -0,0 +1,45 @@
#include <e.h>
#include "config_descriptor.h"
static E_Config_DD *conf_edd = NULL;
static E_Config_DD *conf_item_edd = NULL;
void
config_descriptor_init(void)
{
conf_item_edd = E_CONFIG_DD_NEW("IBar_Config_Item", Config_Item);
#undef T
#undef D
#define T Config_Item
#define D conf_item_edd
E_CONFIG_VAL(D, T, id, STR);
E_CONFIG_VAL(D, T, dir, STR);
E_CONFIG_VAL(D, T, show_label, INT);
E_CONFIG_VAL(D, T, eap_label, INT);
E_CONFIG_VAL(D, T, lock_move, INT);
E_CONFIG_VAL(D, T, dont_add_nonorder, INT);
E_CONFIG_VAL(D, T, dont_track_launch, UCHAR);
E_CONFIG_VAL(D, T, dont_icon_menu_mouseover, UCHAR);
conf_edd = E_CONFIG_DD_NEW("IBar_Config", Config);
#undef T
#undef D
#define T Config
#define D conf_edd
E_CONFIG_LIST(D, T, items, conf_item_edd);
}
void
config_descriptor_shutdown(void)
{
E_CONFIG_DD_FREE(conf_item_edd);
E_CONFIG_DD_FREE(conf_edd);
}
E_Config_DD *
config_descriptor_get(void)
{
return conf_edd;
}

View File

@ -0,0 +1,52 @@
#ifndef IBAR_CONFIG_DESCRIPTOR_H
#define IBAR_CONFIG_DESCRIPTOR_H
#undef _Config
#undef Config
#undef _Config_Item
#undef Config_Item
#undef config_descriptor_init
#undef config_descriptor_shutdown
#undef config_descriptor_get
#define _Config _Ibar_Config
#define Config Ibar_Config
#define _Config_Item _Ibar_Config_Item
#define Config_Item Ibar_Config_Item
#define config_descriptor_init ibar_config_descriptor_init
#define config_descriptor_shutdown ibar_config_descriptor_shutdown
#define config_descriptor_get ibar_config_descriptor_get
typedef struct _Config Config;
typedef struct _Config_Item Config_Item;
struct _Config
{
/* saved * loaded config values */
Eina_List *items;
/* just config state */
E_Module *module;
E_Config_Dialog *config_dialog;
Eina_List *instances;
Eina_List *handlers;
};
struct _Config_Item
{
const char *id;
const char *dir;
int show_label;
int eap_label;
int lock_move;
int dont_add_nonorder;
unsigned char dont_track_launch;
unsigned char dont_icon_menu_mouseover;
};
void config_descriptor_init(void);
void config_descriptor_shutdown(void);
E_Config_DD *config_descriptor_get(void);
#endif /* IBAR_CONFIG_DESCRIPTOR_H */

View File

@ -141,9 +141,6 @@ static Eina_Bool _ibar_cb_out_hide_delay(void *data);
static void _ibar_icon_menu_show(IBar_Icon *ic, Eina_Bool grab);
static void _ibar_icon_menu_hide(IBar_Icon *ic, Eina_Bool grab);
static E_Config_DD *conf_edd = NULL;
static E_Config_DD *conf_item_edd = NULL;
static Eina_Hash *ibar_orders = NULL;
static Eina_List *ibars = NULL;
@ -2770,28 +2767,8 @@ E_API E_Module_Api e_modapi =
E_API void *
e_modapi_init(E_Module *m)
{
conf_item_edd = E_CONFIG_DD_NEW("IBar_Config_Item", Config_Item);
#undef T
#undef D
#define T Config_Item
#define D conf_item_edd
E_CONFIG_VAL(D, T, id, STR);
E_CONFIG_VAL(D, T, dir, STR);
E_CONFIG_VAL(D, T, show_label, INT);
E_CONFIG_VAL(D, T, eap_label, INT);
E_CONFIG_VAL(D, T, lock_move, INT);
E_CONFIG_VAL(D, T, dont_add_nonorder, INT);
E_CONFIG_VAL(D, T, dont_track_launch, UCHAR);
E_CONFIG_VAL(D, T, dont_icon_menu_mouseover, UCHAR);
conf_edd = E_CONFIG_DD_NEW("IBar_Config", Config);
#undef T
#undef D
#define T Config
#define D conf_edd
E_CONFIG_LIST(D, T, items, conf_item_edd);
ibar_config = e_config_domain_load("module.ibar", conf_edd);
config_descriptor_init();
ibar_config = e_config_domain_load("module.ibar", config_descriptor_get());
if (!ibar_config)
{
@ -2870,15 +2847,14 @@ e_modapi_shutdown(E_Module *m EINA_UNUSED)
ibar_config = NULL;
eina_hash_free(ibar_orders);
ibar_orders = NULL;
E_CONFIG_DD_FREE(conf_item_edd);
E_CONFIG_DD_FREE(conf_edd);
config_descriptor_shutdown();
return 1;
}
E_API int
e_modapi_save(E_Module *m EINA_UNUSED)
{
e_config_domain_save("module.ibar", conf_edd, ibar_config);
e_config_domain_save("module.ibar", config_descriptor_get(), ibar_config);
return 1;
}

View File

@ -1,31 +1,7 @@
#ifndef E_MOD_MAIN_H
#define E_MOD_MAIN_H
typedef struct _Config Config;
typedef struct _Config_Item Config_Item;
struct _Config
{
/* saved * loaded config values */
Eina_List *items;
/* just config state */
E_Module *module;
E_Config_Dialog *config_dialog;
Eina_List *instances;
Eina_List *handlers;
};
struct _Config_Item
{
const char *id;
const char *dir;
int show_label;
int eap_label;
int lock_move;
int dont_add_nonorder;
unsigned char dont_track_launch;
unsigned char dont_icon_menu_mouseover;
};
#include "config_descriptor.h"
E_API extern E_Module_Api e_modapi;

View File

@ -0,0 +1,38 @@
#include <e.h>
#include "config_descriptor.h"
static E_Config_DD *conf_edd = NULL;
static E_Config_DD *conf_item_edd = NULL;
void
config_descriptor_init(void)
{
conf_item_edd = E_CONFIG_DD_NEW("Luncher_Config_Item", Config_Item);
#undef T
#undef D
#define T Config_Item
#define D conf_item_edd
E_CONFIG_VAL(D, T, id, INT);
E_CONFIG_VAL(D, T, style, STR);
E_CONFIG_VAL(D, T, dir, STR);
conf_edd = E_CONFIG_DD_NEW("Luncher_Config", Config);
#undef T
#undef D
#define T Config
#define D conf_edd
E_CONFIG_LIST(D, T, items, conf_item_edd);
}
void
config_descriptor_shutdown(void)
{
E_CONFIG_DD_FREE(conf_edd);
E_CONFIG_DD_FREE(conf_item_edd);
}
E_Config_DD *
config_descriptor_get(void)
{
return conf_edd;
}

View File

@ -0,0 +1,45 @@
#ifndef LUNCHER_CONFIG_DESCRIPTOR_H
#define LUNCHER_CONFIG_DESCRIPTOR_H
#undef _Config
#undef Config
#undef _Config_Item
#undef Config_Item
#undef config_descriptor_init
#undef config_descriptor_shutdown
#undef config_descriptor_get
#define _Config _Luncher_Config
#define Config Luncher_Config
#define _Config_Item _Luncher_Config_Item
#define Config_Item Luncher_Config_Item
#define config_descriptor_init luncher_config_descriptor_init
#define config_descriptor_shutdown luncher_config_descriptor_shutdown
#define config_descriptor_get luncher_config_descriptor_get
typedef struct _Config Config;
typedef struct _Config_Item Config_Item;
struct _Config
{
Eina_List *items;
E_Module *module;
Evas_Object *config_dialog;
Evas_Object *slist;
Evas_Object *list;
Eina_Bool bar;
};
struct _Config_Item
{
int id;
Eina_Stringshare *style;
Eina_Stringshare *dir;
};
void config_descriptor_init(void);
void config_descriptor_shutdown(void);
E_Config_DD *config_descriptor_get(void);
#endif /* LUNCHER_CONFIG_DESCRIPTOR_H */

View File

@ -2,6 +2,7 @@
#define LUNCHER_H
#include "e.h"
#include "config_descriptor.h"
E_API extern E_Module_Api e_modapi;
@ -9,29 +10,9 @@ E_API void *e_modapi_init (E_Module *m);
E_API int e_modapi_shutdown (E_Module *m);
E_API int e_modapi_save (E_Module *m);
typedef struct _Config Config;
typedef struct _Config_Item Config_Item;
typedef struct _Instance Instance;
typedef struct _Icon Icon;
struct _Config
{
Eina_List *items;
E_Module *module;
Evas_Object *config_dialog;
Evas_Object *slist;
Evas_Object *list;
Eina_Bool bar;
};
struct _Config_Item
{
int id;
Eina_Stringshare *style;
Eina_Stringshare *dir;
};
struct _Instance
{
Evas_Object *o_main;

View File

@ -1,6 +1,4 @@
#include "luncher.h"
static E_Config_DD *conf_edd = NULL;
static E_Config_DD *conf_item_edd = NULL;
Eina_List *luncher_instances = NULL;
E_Module *module = NULL;
Config *luncher_config = NULL;
@ -8,23 +6,8 @@ Config *luncher_config = NULL;
EINTERN void
luncher_init(void)
{
conf_item_edd = E_CONFIG_DD_NEW("Luncher_Config_Item", Config_Item);
#undef T
#undef D
#define T Config_Item
#define D conf_item_edd
E_CONFIG_VAL(D, T, id, INT);
E_CONFIG_VAL(D, T, style, STR);
E_CONFIG_VAL(D, T, dir, STR);
conf_edd = E_CONFIG_DD_NEW("Luncher_Config", Config);
#undef T
#undef D
#define T Config
#define D conf_edd
E_CONFIG_LIST(D, T, items, conf_item_edd);
luncher_config = e_config_domain_load("module.luncher", conf_edd);
config_descriptor_init();
luncher_config = e_config_domain_load("module.luncher", config_descriptor_get());
if (!luncher_config)
{
@ -55,11 +38,11 @@ luncher_shutdown(void)
}
E_FREE(luncher_config);
}
E_CONFIG_DD_FREE(conf_edd);
E_CONFIG_DD_FREE(conf_item_edd);
e_gadget_type_del("Luncher Bar");
e_gadget_type_del("Luncher Grid");
config_descriptor_shutdown();
}
E_API E_Module_Api e_modapi =
@ -87,6 +70,6 @@ e_modapi_shutdown(E_Module *m EINA_UNUSED)
E_API int
e_modapi_save(E_Module *m EINA_UNUSED)
{
e_config_domain_save("module.luncher", conf_edd, luncher_config);
e_config_domain_save("module.luncher", config_descriptor_get(), luncher_config);
return 1;
}

View File

@ -164,7 +164,6 @@ static Pager_Popup *act_popup = NULL; /* active popup */
static int hold_count = 0;
static int hold_mod = 0;
static E_Desk *current_desk = NULL;
static E_Config_DD *conf_edd = NULL;
static Eina_List *pagers = NULL;
EINTERN E_Module *module;
@ -2052,26 +2051,9 @@ e_modapi_init(E_Module *m)
e_util_dialog_show(_("Error"), _("Pager module cannot be loaded at the same time as Pager Plain!"));
return NULL;
}
conf_edd = E_CONFIG_DD_NEW("Pager_Config", Config);
#undef T
#undef D
#define T Config
#define D conf_edd
E_CONFIG_VAL(D, T, popup, UINT);
E_CONFIG_VAL(D, T, popup_speed, DOUBLE);
E_CONFIG_VAL(D, T, popup_urgent, UINT);
E_CONFIG_VAL(D, T, popup_urgent_stick, UINT);
E_CONFIG_VAL(D, T, popup_urgent_speed, DOUBLE);
E_CONFIG_VAL(D, T, show_desk_names, UINT);
E_CONFIG_VAL(D, T, popup_height, INT);
E_CONFIG_VAL(D, T, popup_act_height, INT);
E_CONFIG_VAL(D, T, drag_resist, UINT);
E_CONFIG_VAL(D, T, btn_drag, UCHAR);
E_CONFIG_VAL(D, T, btn_noplace, UCHAR);
E_CONFIG_VAL(D, T, btn_desk, UCHAR);
E_CONFIG_VAL(D, T, flip_desk, UCHAR);
pager_config = e_config_domain_load("module.pager", conf_edd);
config_descriptor_init();
pager_config = e_config_domain_load("module.pager", config_descriptor_get());
if (!pager_config)
{
@ -2168,7 +2150,7 @@ e_modapi_shutdown(E_Module *m)
e_action_predef_name_del("Pager", "Popup Desk Previous");
E_FREE(pager_config);
E_CONFIG_DD_FREE(conf_edd);
config_descriptor_shutdown();
return 1;
}
@ -2176,7 +2158,7 @@ E_API int
e_modapi_save(E_Module *m)
{
e_modapi_gadget_save(m);
e_config_domain_save("module.pager", conf_edd, pager_config);
e_config_domain_save("module.pager", config_descriptor_get(), pager_config);
return 1;
}

View File

@ -0,0 +1,41 @@
#include <e.h>
#include "config_descriptor.h"
static E_Config_DD *conf_edd = NULL;
void
config_descriptor_init(void)
{
conf_edd = E_CONFIG_DD_NEW("Pager_Config", Config);
#undef T
#undef D
#define T Config
#define D conf_edd
E_CONFIG_VAL(D, T, popup, UINT);
E_CONFIG_VAL(D, T, popup_speed, DOUBLE);
E_CONFIG_VAL(D, T, popup_urgent, UINT);
E_CONFIG_VAL(D, T, popup_urgent_stick, UINT);
E_CONFIG_VAL(D, T, popup_urgent_speed, DOUBLE);
E_CONFIG_VAL(D, T, show_desk_names, UINT);
E_CONFIG_VAL(D, T, popup_height, INT);
E_CONFIG_VAL(D, T, popup_act_height, INT);
E_CONFIG_VAL(D, T, drag_resist, UINT);
E_CONFIG_VAL(D, T, btn_drag, UCHAR);
E_CONFIG_VAL(D, T, btn_noplace, UCHAR);
E_CONFIG_VAL(D, T, btn_desk, UCHAR);
E_CONFIG_VAL(D, T, flip_desk, UCHAR);
}
void
config_descriptor_shutdown(void)
{
E_CONFIG_DD_FREE(conf_edd);
}
E_Config_DD *
config_descriptor_get(void)
{
return conf_edd;
}

View File

@ -0,0 +1,41 @@
#ifndef PAGER_CONFIG_DESCRIPTOR_H
#define PAGER_CONFIG_DESCRIPTOR_H
#undef _Config
#undef Config
#undef config_descriptor_init
#undef config_descriptor_shutdown
#undef config_descriptor_get
#define _Config _Pager_Config
#define Config Pager_Config
#define config_descriptor_init pager_config_descriptor_init
#define config_descriptor_shutdown pager_config_descriptor_shutdown
#define config_descriptor_get pager_config_descriptor_get
typedef struct _Config Config;
struct _Config
{
unsigned int popup;
double popup_speed;
unsigned int popup_urgent;
unsigned int popup_urgent_stick;
unsigned int popup_urgent_focus;
double popup_urgent_speed;
unsigned int show_desk_names;
int popup_act_height;
int popup_height;
unsigned int drag_resist;
unsigned int btn_drag;
unsigned int btn_noplace;
unsigned int btn_desk;
unsigned int flip_desk;
};
void config_descriptor_init(void);
void config_descriptor_shutdown(void);
E_Config_DD *config_descriptor_get(void);
#endif /* PAGER_CONFIG_DESCRIPTOR_H */

View File

@ -1,5 +1,4 @@
#include "pager.h"
static E_Config_DD *conf_edd = NULL;
Config *pager_config;
E_Module *gmodule;
Evas_Object *cfg_dialog;
@ -8,26 +7,8 @@ Eina_List *ginstances, *ghandlers;
E_API void *
e_modapi_gadget_init(E_Module *m)
{
conf_edd = E_CONFIG_DD_NEW("Pager_Config", Config);
#undef T
#undef D
#define T Config
#define D conf_edd
E_CONFIG_VAL(D, T, popup, UINT);
E_CONFIG_VAL(D, T, popup_speed, DOUBLE);
E_CONFIG_VAL(D, T, popup_urgent, UINT);
E_CONFIG_VAL(D, T, popup_urgent_stick, UINT);
E_CONFIG_VAL(D, T, popup_urgent_speed, DOUBLE);
E_CONFIG_VAL(D, T, show_desk_names, UINT);
E_CONFIG_VAL(D, T, popup_height, INT);
E_CONFIG_VAL(D, T, popup_act_height, INT);
E_CONFIG_VAL(D, T, drag_resist, UINT);
E_CONFIG_VAL(D, T, btn_drag, UCHAR);
E_CONFIG_VAL(D, T, btn_noplace, UCHAR);
E_CONFIG_VAL(D, T, btn_desk, UCHAR);
E_CONFIG_VAL(D, T, flip_desk, UCHAR);
pager_config = e_config_domain_load("module.pager", conf_edd);
config_descriptor_init();
pager_config = e_config_domain_load("module.pager", config_descriptor_get());
if (!pager_config)
{
@ -92,13 +73,13 @@ e_modapi_gadget_shutdown(E_Module *m EINA_UNUSED)
e_gadget_type_del("Pager Gadget");
E_FREE(pager_config);
E_CONFIG_DD_FREE(conf_edd);
config_descriptor_shutdown();
return 1;
}
E_API int
e_modapi_gadget_save(E_Module *m EINA_UNUSED)
{
e_config_domain_save("module.pager", conf_edd, pager_config);
e_config_domain_save("module.pager", config_descriptor_get(), pager_config);
return 1;
}

View File

@ -2,30 +2,12 @@
#define PAGER_H
#include "e.h"
#include "config_descriptor.h"
E_API void *e_modapi_gadget_init(E_Module *m);
E_API int e_modapi_gadget_shutdown(E_Module *m);
E_API int e_modapi_gadget_save(E_Module *m);
typedef struct _Config Config;
struct _Config
{
unsigned int popup;
double popup_speed;
unsigned int popup_urgent;
unsigned int popup_urgent_stick;
unsigned int popup_urgent_focus;
double popup_urgent_speed;
unsigned int show_desk_names;
int popup_act_height;
int popup_height;
unsigned int drag_resist;
unsigned int btn_drag;
unsigned int btn_noplace;
unsigned int btn_desk;
unsigned int flip_desk;
};
EINTERN Evas_Object *pager_create(Evas_Object *parent, int *id, E_Gadget_Site_Orient orient);
EINTERN Evas_Object *config_pager(E_Zone *zone);
EINTERN void pager_init(void);

View File

@ -2,6 +2,7 @@
#define CLOCK_H
#include "e.h"
#include "config_descriptor.h"
E_API extern E_Module_Api e_modapi;
@ -9,47 +10,8 @@ E_API void *e_modapi_init (E_Module *m);
E_API int e_modapi_shutdown (E_Module *m);
E_API int e_modapi_save (E_Module *m);
typedef struct _Config Config;
typedef struct _Config_Item Config_Item;
typedef struct _Instance Instance;
typedef enum
{
CLOCK_DATE_DISPLAY_NONE,
CLOCK_DATE_DISPLAY_FULL,
CLOCK_DATE_DISPLAY_NUMERIC,
CLOCK_DATE_DISPLAY_DATE_ONLY,
CLOCK_DATE_DISPLAY_ISO8601,
CLOCK_DATE_DISPLAY_CUSTOM,
} Clock_Date_Display;
struct _Config
{
Eina_List *items;
E_Module *module;
Evas_Object *config_dialog;
};
struct _Config_Item
{
int id;
struct {
int start, len; // 0->6 0 == sun, 6 == sat, number of days
} weekend;
struct {
int start; // 0->6 0 == sun, 6 == sat
} week;
Eina_Bool digital_clock;
Eina_Bool digital_24h;
Eina_Bool show_seconds;
Clock_Date_Display show_date;
Eina_Bool advanced;
Eina_Stringshare *timezone;
Eina_Stringshare *time_str[2];
Eina_Stringshare *colorclass[2];
};
struct _Instance
{

View File

@ -0,0 +1,52 @@
#include <e.h>
#include "config_descriptor.h"
static E_Config_DD *conf_edd = NULL;
static E_Config_DD *conf_item_edd = NULL;
void
config_descriptor_init(void)
{
conf_item_edd = E_CONFIG_DD_NEW("Config_Item", Config_Item);
#undef T
#undef D
#define T Config_Item
#define D conf_item_edd
E_CONFIG_VAL(D, T, id, INT);
E_CONFIG_VAL(D, T, weekend.start, INT);
E_CONFIG_VAL(D, T, weekend.len, INT);
E_CONFIG_VAL(D, T, week.start, INT);
E_CONFIG_VAL(D, T, digital_clock, UCHAR);
E_CONFIG_VAL(D, T, digital_24h, UCHAR);
E_CONFIG_VAL(D, T, show_seconds, UCHAR);
E_CONFIG_VAL(D, T, show_date, UCHAR);
E_CONFIG_VAL(D, T, advanced, UCHAR);
E_CONFIG_VAL(D, T, timezone, STR);
E_CONFIG_VAL(D, T, time_str[0], STR);
E_CONFIG_VAL(D, T, time_str[1], STR);
E_CONFIG_VAL(D, T, colorclass[0], STR);
E_CONFIG_VAL(D, T, colorclass[1], STR);
conf_edd = E_CONFIG_DD_NEW("Config", Config);
#undef T
#undef D
#define T Config
#define D conf_edd
E_CONFIG_LIST(D, T, items, conf_item_edd);
}
void
config_descriptor_shutdown(void)
{
E_CONFIG_DD_FREE(conf_edd);
E_CONFIG_DD_FREE(conf_item_edd);
}
E_Config_DD *
config_descriptor_get(void)
{
return conf_edd;
}

View File

@ -0,0 +1,65 @@
#ifndef TIME_CONFIG_DESCRIPTOR_H
#define TIME_CONFIG_DESCRIPTOR_H
#undef _Config
#undef Config
#undef _Config_Item
#undef Config_Item
#undef config_descriptor_init
#undef config_descriptor_shutdown
#undef config_descriptor_get
#define _Config _Time_Config
#define Config Time_Config
#define _Config_Item _Time_Config_Item
#define Config_Item Time_Config_Item
#define config_descriptor_init time_config_descriptor_init
#define config_descriptor_shutdown time_config_descriptor_shutdown
#define config_descriptor_get time_config_descriptor_get
typedef struct _Config Config;
typedef struct _Config_Item Config_Item;
typedef enum
{
CLOCK_DATE_DISPLAY_NONE,
CLOCK_DATE_DISPLAY_FULL,
CLOCK_DATE_DISPLAY_NUMERIC,
CLOCK_DATE_DISPLAY_DATE_ONLY,
CLOCK_DATE_DISPLAY_ISO8601,
CLOCK_DATE_DISPLAY_CUSTOM,
} Clock_Date_Display;
struct _Config
{
Eina_List *items;
E_Module *module;
Evas_Object *config_dialog;
};
struct _Config_Item
{
int id;
struct {
int start, len; // 0->6 0 == sun, 6 == sat, number of days
} weekend;
struct {
int start; // 0->6 0 == sun, 6 == sat
} week;
Eina_Bool digital_clock;
Eina_Bool digital_24h;
Eina_Bool show_seconds;
Clock_Date_Display show_date;
Eina_Bool advanced;
Eina_Stringshare *timezone;
Eina_Stringshare *time_str[2];
Eina_Stringshare *colorclass[2];
};
void config_descriptor_init(void);
void config_descriptor_shutdown(void);
E_Config_DD *config_descriptor_get(void);
#endif /* TIME_CONFIG_DESCRIPTOR_H */

View File

@ -1,6 +1,5 @@
#include "clock.h"
static E_Config_DD *conf_edd = NULL;
static E_Config_DD *conf_item_edd = NULL;
static E_Action *act = NULL;
static void
@ -24,34 +23,8 @@ _e_mod_action_cb(E_Object *obj EINA_UNUSED, const char *params, ...)
EINTERN void
clock_init(void)
{
conf_item_edd = E_CONFIG_DD_NEW("Config_Item", Config_Item);
#undef T
#undef D
#define T Config_Item
#define D conf_item_edd
E_CONFIG_VAL(D, T, id, INT);
E_CONFIG_VAL(D, T, weekend.start, INT);
E_CONFIG_VAL(D, T, weekend.len, INT);
E_CONFIG_VAL(D, T, week.start, INT);
E_CONFIG_VAL(D, T, digital_clock, INT);
E_CONFIG_VAL(D, T, digital_24h, INT);
E_CONFIG_VAL(D, T, show_seconds, INT);
E_CONFIG_VAL(D, T, show_date, INT);
E_CONFIG_VAL(D, T, advanced, UCHAR);
E_CONFIG_VAL(D, T, timezone, STR);
E_CONFIG_VAL(D, T, time_str[0], STR);
E_CONFIG_VAL(D, T, time_str[1], STR);
E_CONFIG_VAL(D, T, colorclass[0], STR);
E_CONFIG_VAL(D, T, colorclass[1], STR);
conf_edd = E_CONFIG_DD_NEW("Config", Config);
#undef T
#undef D
#define T Config
#define D conf_edd
E_CONFIG_LIST(D, T, items, conf_item_edd);
time_config = e_config_domain_load("module.time", conf_edd);
config_descriptor_init();
time_config = e_config_domain_load("module.time", config_descriptor_get());
if (!time_config)
time_config = E_NEW(Config, 1);
@ -103,8 +76,7 @@ clock_shutdown(void)
E_FREE(time_config);
}
E_CONFIG_DD_FREE(conf_edd);
E_CONFIG_DD_FREE(conf_item_edd);
config_descriptor_shutdown();
e_gadget_type_del("Digital Clock");
e_gadget_type_del("Analog Clock");
@ -138,6 +110,6 @@ e_modapi_shutdown(E_Module *m EINA_UNUSED)
E_API int
e_modapi_save(E_Module *m EINA_UNUSED)
{
e_config_domain_save("module.time", conf_edd, time_config);
e_config_domain_save("module.time", config_descriptor_get(), time_config);
return 1;
}