change default engine for illume.

make config tke defaults from config FILES (system copies of your profile, or
"standard")



SVN revision: 37717
This commit is contained in:
Carsten Haitzler 2008-11-20 09:01:23 +00:00
parent e5bc1dbf29
commit f8fc0ae092
5 changed files with 328 additions and 710 deletions

View File

@ -21,7 +21,7 @@ group "E_Config" struct {
value "edge_flip_dragging" int: 0;
value "edge_flip_moving" int: 0;
value "edge_flip_timeout" double: 0.2500000000000000000000000;
value "evas_engine_default" int: 4;
value "evas_engine_default" int: 1;
value "evas_engine_container" int: 0;
value "evas_engine_init" int: 0;
value "evas_engine_menus" int: 0;

View File

@ -13,7 +13,7 @@ EAPI E_Config *e_config = NULL;
/* local subsystem functions */
static void _e_config_save_cb(void *data);
static void _e_config_free(void);
static void _e_config_free(E_Config *cfg);
static int _e_config_cb_timer(void *data);
static int _e_config_eet_close_handle(Eet_File *ef, char *file);
@ -673,13 +673,20 @@ e_config_shutdown(void)
EAPI void
e_config_load(void)
{
E_Config *tcfg = NULL;
e_config = e_config_domain_load("e", _e_config_edd);
if (e_config)
{
int reload = 0;
/* major version change - that means wipe and restart */
if ((e_config->config_version >> 16) < E_CONFIG_FILE_EPOCH)
{
/* your config is too old - need new defaults */
_e_config_free();
_e_config_free(e_config);
e_config = NULL;
reload = 1;
ecore_timer_add(1.0, _e_config_cb_timer,
_("Configuration data needed upgrading. Your old configuration<br>"
"has been wiped and a new set of defaults initialized. This<br>"
@ -690,10 +697,13 @@ e_config_load(void)
"that by adding it in. You can re-configure things now to your<br>"
"liking. Sorry for the hiccup in your configuration.<br>"));
}
/* config is too new? odd! suspect corruption? */
else if (e_config->config_version > E_CONFIG_FILE_VERSION)
{
/* your config is too new - what the fuck??? */
_e_config_free();
_e_config_free(e_config);
e_config = NULL;
reload = 1;
ecore_timer_add(1.0, _e_config_cb_timer,
_("Your configuration is NEWER than Enlightenment. This is very<br>"
"strange. This should not happen unless you downgraded<br>"
@ -702,521 +712,117 @@ e_config_load(void)
"as a precaution your configuration has been now restored to<br>"
"defaults. Sorry for the inconvenience.<br>"));
}
/* oldest minor version supported */
else if ((e_config->config_version & 0xffff) < 0x0124)
{
/* your config is so old - we don't even bother supporting an
* upgrade path - brand new config for you! */
_e_config_free(e_config);
e_config = NULL;
reload = 1;
ecore_timer_add(1.0, _e_config_cb_timer,
_("Configuration data needed upgrading. Your old configuration<br>"
"has been wiped and a new set of defaults initialized. This<br>"
"will happen regularly during development, so don't report a<br>"
"bug. This simply means Enlightenment needs new configuration<br>"
"data by default for usable functionality that your old<br>"
"configuration simply lacks. This new set of defaults will fix<br>"
"that by adding it in. You can re-configure things now to your<br>"
"liking. Sorry for the hiccup in your configuration.<br>"));
}
if (reload)
{
e_config_profile_del(e_config_profile_get());
e_config = e_config_domain_load("e", _e_config_edd);
}
}
if (!e_config)
{
/* DEFAULT CONFIG */
e_config = E_NEW(E_Config, 1);
e_config->config_version = (E_CONFIG_FILE_EPOCH << 16);
printf("EEEK! no config of any sort! abort abort abort!\n");
fprintf(stderr, "EEEK! no config of any sort! abort abort abort!\n");
abort();
}
#define IFCFG(v) \
if ((e_config->config_version & 0xffff) < (v)) {
if (e_config->config_version < E_CONFIG_FILE_VERSION)
{
/* we need an upgrade of some sort */
tcfg = e_config_domain_system_load("e", _e_config_edd);
if (!tcfg)
{
const char *pprofile;
pprofile = e_config_profile_get();
if (pprofile) pprofile = eina_stringshare_add(pprofile);
e_config_profile_set("standard");
tcfg = e_config_domain_system_load("e", _e_config_edd);
e_config_profile_set(pprofile);
if (pprofile) eina_stringshare_del(pprofile);
}
/* can't find your profile or standard or default - try default after
* a wipe */
if (!tcfg)
{
E_Action *a;
e_config_profile_set("default");
e_config_profile_del(e_config_profile_get());
e_config_save_block_set(1);
a = e_action_find("restart");
if ((a) && (a->func.go)) a->func.go(NULL, NULL);
}
}
#define IFCFG(v) if ((e_config->config_version & 0xffff) < (v)) {
#define IFCFGEND }
IFCFG(0x008d);
e_config->show_splash = 1;
e_config->init_default_theme = eina_stringshare_add("default.edj");
e_config->desktop_default_background = NULL;
e_config->desktop_default_name = eina_stringshare_add(_("Desktop %i, %i"));
e_config->menus_scroll_speed = 1000.0;
e_config->menus_fast_mouse_move_threshhold = 300.0;
e_config->menus_click_drag_timeout = DEF_MENUCLICK;
e_config->border_shade_animate = 1;
e_config->border_shade_transition = E_TRANSITION_DECELERATE;
e_config->border_shade_speed = 3000.0;
e_config->framerate = 30.0;
e_config->image_cache = 4096;
e_config->font_cache = 512;
e_config->edje_cache = 32;
e_config->edje_collection_cache = 64;
e_config->zone_desks_x_count = 1;
e_config->zone_desks_y_count = 1;
e_config->use_virtual_roots = 0;
e_config->edge_flip_dragging = 0;
e_config->edge_flip_moving = 0;
e_config->edge_flip_timeout = 0.25;
e_config->evas_engine_default = E_EVAS_ENGINE_SOFTWARE_X11;
e_config->evas_engine_container = E_EVAS_ENGINE_DEFAULT;
e_config->evas_engine_init = E_EVAS_ENGINE_DEFAULT;
e_config->evas_engine_menus = E_EVAS_ENGINE_DEFAULT;
e_config->evas_engine_borders = E_EVAS_ENGINE_DEFAULT;
e_config->evas_engine_errors = E_EVAS_ENGINE_DEFAULT;
e_config->evas_engine_popups = E_EVAS_ENGINE_DEFAULT;
e_config->evas_engine_drag = E_EVAS_ENGINE_DEFAULT;
e_config->evas_engine_win = E_EVAS_ENGINE_DEFAULT;
e_config->evas_engine_zone = E_EVAS_ENGINE_DEFAULT;
e_config->use_composite = 0;
e_config->language = NULL;
e_config->window_placement_policy = E_WINDOW_PLACEMENT_SMART;
e_config->focus_policy = E_FOCUS_SLOPPY;
e_config->focus_setting = E_FOCUS_NEW_DIALOG_IF_OWNER_FOCUSED;
e_config->pass_click_on = 1;
e_config->always_click_to_raise = 0;
e_config->always_click_to_focus = 0;
e_config->use_auto_raise = 0;
e_config->auto_raise_delay = 0.5;
e_config->use_resist = 1;
e_config->drag_resist = 16;
e_config->desk_resist = 32;
e_config->window_resist = 12;
e_config->gadget_resist = 32;
e_config->winlist_warp_while_selecting = 1;
e_config->winlist_warp_at_end = 1;
e_config->winlist_warp_speed = 0.1;
e_config->winlist_scroll_animate = 1;
e_config->winlist_scroll_speed = 0.1;
e_config->winlist_list_show_iconified = 1;
e_config->winlist_list_show_other_desk_windows = 0;
e_config->winlist_list_show_other_screen_windows = 0;
e_config->winlist_list_uncover_while_selecting = 0;
e_config->winlist_list_jump_desk_while_selecting = 0;
e_config->winlist_list_focus_while_selecting = 1;
e_config->winlist_list_raise_while_selecting = 1;
e_config->winlist_pos_align_x = 0.5;
e_config->winlist_pos_align_y = 0.5;
e_config->winlist_pos_size_w = 0.5;
e_config->winlist_pos_size_h = 0.5;
e_config->winlist_pos_min_w = 0;
e_config->winlist_pos_min_h = 0;
e_config->winlist_pos_max_w = 320;
e_config->winlist_pos_max_h = 320;
e_config->maximize_policy = E_MAXIMIZE_SMART | E_MAXIMIZE_BOTH;
e_config->allow_manip = 0;
e_config->kill_if_close_not_possible = 1;
e_config->kill_process = 1;
e_config->kill_timer_wait = 10.0;
e_config->ping_clients = 1;
e_config->transition_start = NULL;
e_config->transition_desk = eina_stringshare_add("vswipe");
e_config->transition_change = eina_stringshare_add("crossfade");
e_config->move_info_follows = 1;
e_config->resize_info_follows = 1;
e_config->move_info_visible = 1;
e_config->resize_info_visible = 1;
e_config->focus_last_focused_per_desktop = 1;
e_config->focus_revert_on_hide_or_close = 1;
e_config->pointer_slide = 1;
e_config->show_cursor = 1;
e_config->use_e_cursor = 1;
e_config->cursor_size = 32;
e_config->menu_autoscroll_margin = 0;
e_config->menu_autoscroll_cursor_margin = 1;
e_config->transient.move = 1;
e_config->transient.resize = 0;
e_config->transient.raise = 1;
e_config->transient.lower = 1;
e_config->transient.layer = 1;
e_config->transient.desktop = 1;
e_config->transient.iconify = 1;
e_config->modal_windows = 1;
e_config->menu_eap_name_show = 1;
e_config->menu_eap_generic_show = 1;
e_config->menu_eap_comment_show = 0;
e_config->fullscreen_policy = E_FULLSCREEN_RESIZE;
e_config->input_method = NULL;
e_config->exebuf_max_exe_list = 20;
e_config->exebuf_max_eap_list = 20;
e_config->exebuf_max_hist_list = 20;
e_config->exebuf_scroll_animate = 1;
e_config->exebuf_scroll_speed = 0.1;
e_config->exebuf_pos_align_x = 0.5;
e_config->exebuf_pos_align_y = 0.5;
e_config->exebuf_pos_size_w = 0.75;
e_config->exebuf_pos_size_h = 0.25;
e_config->exebuf_pos_min_w = 200;
e_config->exebuf_pos_min_h = 160;
e_config->exebuf_pos_max_w = 400;
e_config->exebuf_pos_max_h = 320;
e_config->exebuf_term_cmd = eina_stringshare_add("xterm -hold -e");
e_config->color_classes = NULL;
e_config->use_app_icon = 0;
e_config->cnfmdlg_disabled = 0;
e_config->cfgdlg_auto_apply = 0;
e_config->cfgdlg_default_mode = 0;
e_config->gadcons = NULL;
e_config->font_hinting = 0;
e_config->desklock_personal_passwd = NULL;
e_config->desklock_background = NULL;
e_config->desklock_auth_method = 0;
e_config->desklock_login_box_zone = -1;
e_config->desklock_start_locked = 0;
e_config->desklock_autolock_screensaver = 0;
e_config->desklock_autolock_idle = 0;
e_config->desklock_autolock_idle_timeout = 300.0;
e_config->display_res_restore = 0;
e_config->display_res_width = 0;
e_config->display_res_height = 0;
e_config->display_res_hz = 0;
e_config->display_res_rotation = 0;
e_config->hal_desktop = 1;
e_config->border_keyboard.timeout = 5.0;
e_config->border_keyboard.move.dx = 5;
e_config->border_keyboard.move.dy = 5;
e_config->border_keyboard.resize.dx = 5;
e_config->border_keyboard.resize.dy = 5;
#define COPYVAL(x) do {e_config->x = tcfg->x;} while (0)
#define COPYSTR(x) do {e_config->x = tcfg->x; tcfg->x = NULL;} while (0)
if (tcfg)
{
E_Config_Module *em;
#define CFG_MODULE(_name, _enabled, _delayed, _priority) \
em = E_NEW(E_Config_Module, 1); \
em->name = eina_stringshare_add(_name); \
em->enabled = _enabled; \
em->delayed = _delayed; \
em->priority = _priority; \
e_config->modules = eina_list_append(e_config->modules, em)
CFG_MODULE("wizard", 1, 0, 0);
}
{
E_Config_Binding_Key *eb;
#define CFG_KEYBIND(_context, _key, _modifiers, _anymod, _action, _params) \
eb = E_NEW(E_Config_Binding_Key, 1); \
eb->context = _context; \
eb->key = eina_stringshare_add(_key); \
eb->modifiers = _modifiers; \
eb->any_mod = _anymod; \
eb->action = _action == NULL ? NULL : eina_stringshare_add(_action); \
eb->params = _params == NULL ? NULL : eina_stringshare_add(_params); \
e_config->key_bindings = eina_list_append(e_config->key_bindings, eb)
/*
* FIXME:
* If new key binding are added/changed/modified, then do not
* forget to reflect those changes in e_int_config_keybinding.c in
* _restore_key_binding_defaults_cb function
*/
CFG_KEYBIND(E_BINDING_CONTEXT_ANY, "m",
E_BINDING_MODIFIER_CTRL | E_BINDING_MODIFIER_ALT, 0,
"menu_show", "main");
CFG_KEYBIND(E_BINDING_CONTEXT_ANY, "End",
E_BINDING_MODIFIER_CTRL | E_BINDING_MODIFIER_ALT, 0,
"restart", NULL);
CFG_KEYBIND(E_BINDING_CONTEXT_ANY, "Delete",
E_BINDING_MODIFIER_CTRL | E_BINDING_MODIFIER_ALT, 0,
"logout", NULL);
}
{
E_Config_Binding_Signal *eb;
#define CFG_SIGNALBIND(_context, _signal, _source, _modifiers, _anymod, _action, _params) \
eb = E_NEW(E_Config_Binding_Signal, 1); \
eb->context = _context; \
eb->signal = _signal == NULL ? NULL : eina_stringshare_add(_signal); \
eb->source = _source == NULL ? NULL : eina_stringshare_add(_source); \
eb->modifiers = _modifiers; \
eb->any_mod = _anymod; \
eb->action = _action == NULL ? NULL : eina_stringshare_add(_action); \
eb->params = _params == NULL ? NULL : eina_stringshare_add(_params); \
e_config->signal_bindings = eina_list_append(e_config->signal_bindings, eb)
CFG_SIGNALBIND(E_BINDING_CONTEXT_BORDER, "mouse,down,1,double",
"e.event.titlebar",
E_BINDING_MODIFIER_NONE, 1,
"window_shaded_toggle", "up");
CFG_SIGNALBIND(E_BINDING_CONTEXT_BORDER, "mouse,down,2",
"e.event.titlebar",
E_BINDING_MODIFIER_NONE, 1,
"window_shaded_toggle", "up");
CFG_SIGNALBIND(E_BINDING_CONTEXT_BORDER, "mouse,wheel,?,1",
"e.event.titlebar",
E_BINDING_MODIFIER_NONE, 1,
"window_shaded", "0 up");
CFG_SIGNALBIND(E_BINDING_CONTEXT_BORDER, "mouse,wheel,?,-1",
"e.event.titlebar",
E_BINDING_MODIFIER_NONE, 1,
"window_shaded", "1 up");
CFG_SIGNALBIND(E_BINDING_CONTEXT_BORDER, "mouse,clicked,3",
"e.event.titlebar",
E_BINDING_MODIFIER_NONE, 1,
"window_menu", NULL);
CFG_SIGNALBIND(E_BINDING_CONTEXT_BORDER, "mouse,clicked,?",
"e.event.icon",
E_BINDING_MODIFIER_NONE, 1,
"window_menu", NULL);
CFG_SIGNALBIND(E_BINDING_CONTEXT_BORDER, "mouse,clicked,[12]",
"e.event.close",
E_BINDING_MODIFIER_NONE, 1,
"window_close", NULL);
CFG_SIGNALBIND(E_BINDING_CONTEXT_BORDER, "mouse,clicked,3",
"e.event.close",
E_BINDING_MODIFIER_NONE, 1,
"window_kill", NULL);
CFG_SIGNALBIND(E_BINDING_CONTEXT_BORDER, "mouse,clicked,1",
"e.event.maximize",
E_BINDING_MODIFIER_NONE, 1,
"window_maximized_toggle", NULL);
CFG_SIGNALBIND(E_BINDING_CONTEXT_BORDER, "mouse,clicked,2",
"e.event.maximize",
E_BINDING_MODIFIER_NONE, 1,
"window_maximized_toggle", "smart");
CFG_SIGNALBIND(E_BINDING_CONTEXT_BORDER, "mouse,clicked,3",
"e.event.maximize",
E_BINDING_MODIFIER_NONE, 1,
"window_maximized_toggle", "expand");
CFG_SIGNALBIND(E_BINDING_CONTEXT_BORDER, "mouse,clicked,?",
"e.event.minimize",
E_BINDING_MODIFIER_NONE, 1,
"window_iconic_toggle", NULL);
CFG_SIGNALBIND(E_BINDING_CONTEXT_BORDER, "mouse,clicked,?",
"e.event.shade",
E_BINDING_MODIFIER_NONE, 1,
"window_shaded_toggle", "up");
CFG_SIGNALBIND(E_BINDING_CONTEXT_BORDER, "mouse,clicked,?",
"e.event.lower",
E_BINDING_MODIFIER_NONE, 1,
"window_lower", NULL);
CFG_SIGNALBIND(E_BINDING_CONTEXT_BORDER, "mouse,down,1",
"e.event.icon",
E_BINDING_MODIFIER_NONE, 1,
"window_drag_icon", NULL);
CFG_SIGNALBIND(E_BINDING_CONTEXT_BORDER, "mouse,down,1",
"e.event.titlebar",
E_BINDING_MODIFIER_NONE, 1,
"window_move", NULL);
CFG_SIGNALBIND(E_BINDING_CONTEXT_BORDER, "mouse,up,1",
"e.event.titlebar",
E_BINDING_MODIFIER_NONE, 1,
"window_move", "end");
CFG_SIGNALBIND(E_BINDING_CONTEXT_BORDER, "mouse,down,1",
"e.event.resize.tl",
E_BINDING_MODIFIER_NONE, 1,
"window_resize", "tl");
CFG_SIGNALBIND(E_BINDING_CONTEXT_BORDER, "mouse,down,1",
"e.event.resize.t",
E_BINDING_MODIFIER_NONE, 1,
"window_resize", "t");
CFG_SIGNALBIND(E_BINDING_CONTEXT_BORDER, "mouse,down,1",
"e.event.resize.tr",
E_BINDING_MODIFIER_NONE, 1,
"window_resize", "tr");
CFG_SIGNALBIND(E_BINDING_CONTEXT_BORDER, "mouse,down,1",
"e.event.resize.r",
E_BINDING_MODIFIER_NONE, 1,
"window_resize", "r");
CFG_SIGNALBIND(E_BINDING_CONTEXT_BORDER, "mouse,down,1",
"e.event.resize.br",
E_BINDING_MODIFIER_NONE, 1,
"window_resize", "br");
CFG_SIGNALBIND(E_BINDING_CONTEXT_BORDER, "mouse,down,1",
"e.event.resize.b",
E_BINDING_MODIFIER_NONE, 1,
"window_resize", "b");
CFG_SIGNALBIND(E_BINDING_CONTEXT_BORDER, "mouse,down,1",
"e.event.resize.bl",
E_BINDING_MODIFIER_NONE, 1,
"window_resize", "bl");
CFG_SIGNALBIND(E_BINDING_CONTEXT_BORDER, "mouse,down,1",
"e.event.resize.l",
E_BINDING_MODIFIER_NONE, 1,
"window_resize", "l");
CFG_SIGNALBIND(E_BINDING_CONTEXT_BORDER, "mouse,up,1",
"e.event.resize.*",
E_BINDING_MODIFIER_NONE, 1,
"window_resize", "end");
CFG_SIGNALBIND(E_BINDING_CONTEXT_BORDER, "mouse,down,3",
"e.event.resize.*",
E_BINDING_MODIFIER_NONE, 1,
"window_move", NULL);
CFG_SIGNALBIND(E_BINDING_CONTEXT_BORDER, "mouse,up,3",
"e.event.resize.*",
E_BINDING_MODIFIER_NONE, 1,
"window_move", "end");
}
IFCFGEND;
IFCFG(0x0093); /* the version # where this value(s) was introduced */
/* FIXME: wipe previous shelves and gadcons - remove this eventually */
e_config->shelves = NULL;
e_config->gadcons = NULL;
IFCFGEND;
IFCFG(0x0094); /* the version # where this value(s) was introduced */
e_config->border_raise_on_mouse_action = 1;
e_config->border_raise_on_focus = 1;
e_config->desk_flip_wrap = 0;
e_config->wallpaper_import_last_dev = NULL;
e_config->wallpaper_import_last_path = NULL;
IFCFGEND;
IFCFG(0x0096); /* the version # where this value(s) was introduced */
e_config->wallpaper_import_last_dev = eina_stringshare_add("~/");
e_config->wallpaper_import_last_path = eina_stringshare_add("/");
IFCFGEND;
IFCFG(0x0098);
e_config->wallpaper_grad_c1_r = 0;
e_config->wallpaper_grad_c1_g = 0;
e_config->wallpaper_grad_c1_b = 0;
e_config->wallpaper_grad_c2_r = 255;
e_config->wallpaper_grad_c2_g = 255;
e_config->wallpaper_grad_c2_b = 255;
IFCFGEND;
IFCFG(0x0101);
e_config->desk_flip_animate_mode = 1;
e_config->desk_flip_animate_interpolation = 0;
e_config->desk_flip_animate_time = 0.2;
IFCFGEND;
IFCFG(0x0102);
e_config->mime_icons = NULL;
IFCFGEND;
IFCFG(0x00103);
e_config->theme_default_border_style = eina_stringshare_add("default");
IFCFGEND;
IFCFG(0x00104);
e_config->winlist_list_show_other_desk_iconified = 1;
e_config->winlist_list_show_other_screen_iconified = 0;
IFCFGEND;
IFCFG(0x00105);
e_config->remember_internal_windows = 0;
IFCFGEND;
IFCFG(0x00106);
e_config->desklock_use_custom_desklock = 0;
e_config->desklock_custom_desklock_cmd = NULL;
IFCFGEND;
IFCFG(0x0121);
e_config->gadcons = NULL;
IFCFGEND;
IFCFG(0x0108);
e_config->desk_auto_switch = 0;
IFCFGEND;
IFCFG(0x0109);
e_config->dpms_enable = 0;
e_config->dpms_standby_enable = 0;
e_config->dpms_suspend_enable = 0;
e_config->dpms_off_enable = 0;
e_config->dpms_standby_timeout = 1;
e_config->dpms_suspend_timeout = 1;
e_config->dpms_off_timeout = 1;
e_config->screensaver_enable = 0;
e_config->screensaver_timeout = 0;
e_config->screensaver_interval = 5;
e_config->screensaver_blanking = 2;
e_config->screensaver_expose = 2;
IFCFGEND;
IFCFG(0x0110);
e_config->clientlist_group_by = 0;
e_config->clientlist_separate_with = 0;
e_config->clientlist_sort_by = 0;
e_config->clientlist_separate_iconified_apps = 0;
e_config->clientlist_warp_to_iconified_desktop = 0;
IFCFGEND;
IFCFG(0x0111);
e_config->clientlist_include_all_zones = 0;
IFCFGEND;
IFCFG(0x0112);
e_config->mouse_accel_numerator = 2;
e_config->mouse_accel_denominator = 1;
e_config->mouse_accel_threshold = 4;
IFCFGEND;
if (!e_config->icon_theme) e_config->icon_theme = eina_stringshare_add("hicolor");
IFCFG(0x113)
e_config->clientlist_max_caption_len = 0;
IFCFGEND;
IFCFG(0x114)
e_config->thumb_nice = 0;
IFCFGEND;
IFCFG(0x0115);
e_config->clientlist_limit_caption_len = 0;
IFCFGEND;
IFCFG(0x0116);
e_config->border_fix_on_shelf_toggle = 0;
IFCFGEND;
IFCFG(0x0117);
e_config->cnfmdlg_disabled = 0;
IFCFGEND;
IFCFG(0x0118);
e_config->menu_favorites_show = 1;
e_config->menu_apps_show = 1;
IFCFGEND;
IFCFG(0x0119);
e_config->allow_above_fullscreen = 0;
IFCFGEND;
IFCFG(0x0120);
e_config->show_desktop_icons = 1;
IFCFGEND;
IFCFG(0x0123);
e_config->ping_clients_interval = 128;
e_config->cache_flush_poll_interval = 512;
IFCFGEND;
/* some sort of upgrade is needed */
IFCFG(0x0124);
e_config->thumbscroll_enable = 1;
e_config->thumbscroll_threshhold = 24;
e_config->thumbscroll_momentum_threshhold = 100.0;
e_config->thumbscroll_friction = 1.0;
COPYVAL(thumbscroll_enable);
COPYVAL(thumbscroll_threshhold);
COPYVAL(thumbscroll_momentum_threshhold);
COPYVAL(thumbscroll_friction);
IFCFGEND;
IFCFG(0x0125);
e_config->mouse_hand = E_MOUSE_HAND_RIGHT;
COPYVAL(mouse_hand);
IFCFGEND;
IFCFG(0x0126);
e_config->border_keyboard.timeout = 5.0;
e_config->border_keyboard.move.dx = 5;
e_config->border_keyboard.move.dy = 5;
e_config->border_keyboard.resize.dx = 5;
e_config->border_keyboard.resize.dy = 5;
COPYVAL(border_keyboard.timeout);
COPYVAL(border_keyboard.move.dx);
COPYVAL(border_keyboard.move.dy);
COPYVAL(border_keyboard.resize.dx);
COPYVAL(border_keyboard.resize.dy);
IFCFGEND;
IFCFG(0x0127);
e_config->scale.min = 1.0;
e_config->scale.max = 3.0;
e_config->scale.factor = 1.0;
e_config->scale.base_dpi = 142;
e_config->scale.use_dpi = 0;
e_config->scale.use_custom = 1;
COPYVAL(scale.min);
COPYVAL(scale.max);
COPYVAL(scale.factor);
COPYVAL(scale.base_dpi);
COPYVAL(scale.use_dpi);
COPYVAL(scale.use_custom);
IFCFGEND;
IFCFG(0x0128);
e_config->show_cursor = 1;
e_config->idle_cursor = 0;
COPYVAL(show_cursor);
COPYVAL(idle_cursor);
IFCFGEND;
IFCFG(0x0129);
e_config->default_system_menu = NULL;
COPYSTR(default_system_menu);
IFCFGEND;
IFCFG(0x012a);
e_config->desklock_start_locked = 0;
COPYVAL(desklock_start_locked);
IFCFGEND;
e_config->config_version = E_CONFIG_FILE_VERSION;
_e_config_free(tcfg);
}
#if 0 /* example of new config */
IFCFG(0x0090); /* the version # where this value(s) was introduced */
e_config->new_value = 10; /* set the value(s) */
IFCFGEND;
#endif
/* limit values so they are sane */
E_CONFIG_LIMIT(e_config->menus_scroll_speed, 1.0, 20000.0);
E_CONFIG_LIMIT(e_config->show_splash, 0, 1);
E_CONFIG_LIMIT(e_config->menus_fast_mouse_move_threshhold, 1.0, 2000.0);
@ -1567,10 +1173,16 @@ e_config_domain_load(const char *domain, E_Config_DD *edd)
eet_close(ef);
return data;
}
return e_config_domain_system_load(domain, edd);
}
EAPI void *
e_config_domain_system_load(const char *domain, E_Config_DD *edd)
{
Eet_File *ef;
char buf[4096];
void *data = NULL;
/* fallback to a system directory
* FIXME proper $PATH like handling might be wanted
*/
snprintf(buf, sizeof(buf), "%s/data/config/%s/%s.cfg",
e_prefix_data_get(), _e_config_profile, domain);
ef = eet_open(buf, EET_FILE_MODE_READ);
@ -1759,168 +1371,167 @@ _e_config_save_cb(void *data)
}
static void
_e_config_free(void)
_e_config_free(E_Config *ecf)
{
if (e_config)
{
while (e_config->modules)
if (!ecf) return;
while (ecf->modules)
{
E_Config_Module *em;
em = e_config->modules->data;
e_config->modules = eina_list_remove_list(e_config->modules, e_config->modules);
em = ecf->modules->data;
ecf->modules = eina_list_remove_list(ecf->modules, ecf->modules);
if (em->name) eina_stringshare_del(em->name);
E_FREE(em);
}
while (e_config->font_fallbacks)
while (ecf->font_fallbacks)
{
E_Font_Fallback *eff;
eff = e_config->font_fallbacks->data;
e_config->font_fallbacks = eina_list_remove_list(e_config->font_fallbacks, e_config->font_fallbacks);
eff = ecf->font_fallbacks->data;
ecf->font_fallbacks = eina_list_remove_list(ecf->font_fallbacks, ecf->font_fallbacks);
if (eff->name) eina_stringshare_del(eff->name);
E_FREE(eff);
}
while (e_config->font_defaults)
while (ecf->font_defaults)
{
E_Font_Default *efd;
efd = e_config->font_defaults->data;
e_config->font_defaults = eina_list_remove_list(e_config->font_defaults, e_config->font_defaults);
efd = ecf->font_defaults->data;
ecf->font_defaults = eina_list_remove_list(ecf->font_defaults, ecf->font_defaults);
if (efd->text_class) eina_stringshare_del(efd->text_class);
if (efd->font) eina_stringshare_del(efd->font);
E_FREE(efd);
}
while (e_config->themes)
while (ecf->themes)
{
E_Config_Theme *et;
et = e_config->themes->data;
e_config->themes = eina_list_remove_list(e_config->themes, e_config->themes);
et = ecf->themes->data;
ecf->themes = eina_list_remove_list(ecf->themes, ecf->themes);
if (et->category) eina_stringshare_del(et->category);
if (et->file) eina_stringshare_del(et->file);
E_FREE(et);
}
while (e_config->mouse_bindings)
while (ecf->mouse_bindings)
{
E_Config_Binding_Mouse *eb;
eb = e_config->mouse_bindings->data;
e_config->mouse_bindings = eina_list_remove_list(e_config->mouse_bindings, e_config->mouse_bindings);
eb = ecf->mouse_bindings->data;
ecf->mouse_bindings = eina_list_remove_list(ecf->mouse_bindings, ecf->mouse_bindings);
if (eb->action) eina_stringshare_del(eb->action);
if (eb->params) eina_stringshare_del(eb->params);
E_FREE(eb);
}
while (e_config->key_bindings)
while (ecf->key_bindings)
{
E_Config_Binding_Key *eb;
eb = e_config->key_bindings->data;
e_config->key_bindings = eina_list_remove_list(e_config->key_bindings, e_config->key_bindings);
eb = ecf->key_bindings->data;
ecf->key_bindings = eina_list_remove_list(ecf->key_bindings, ecf->key_bindings);
if (eb->key) eina_stringshare_del(eb->key);
if (eb->action) eina_stringshare_del(eb->action);
if (eb->params) eina_stringshare_del(eb->params);
E_FREE(eb);
}
while (e_config->signal_bindings)
while (ecf->signal_bindings)
{
E_Config_Binding_Signal *eb;
eb = e_config->signal_bindings->data;
e_config->signal_bindings = eina_list_remove_list(e_config->signal_bindings, e_config->signal_bindings);
eb = ecf->signal_bindings->data;
ecf->signal_bindings = eina_list_remove_list(ecf->signal_bindings, ecf->signal_bindings);
if (eb->signal) eina_stringshare_del(eb->signal);
if (eb->source) eina_stringshare_del(eb->source);
if (eb->action) eina_stringshare_del(eb->action);
if (eb->params) eina_stringshare_del(eb->params);
E_FREE(eb);
}
while (e_config->wheel_bindings)
while (ecf->wheel_bindings)
{
E_Config_Binding_Wheel *eb;
eb = e_config->wheel_bindings->data;
e_config->wheel_bindings = eina_list_remove_list(e_config->wheel_bindings, e_config->wheel_bindings);
eb = ecf->wheel_bindings->data;
ecf->wheel_bindings = eina_list_remove_list(ecf->wheel_bindings, ecf->wheel_bindings);
if (eb->action) eina_stringshare_del(eb->action);
if (eb->params) eina_stringshare_del(eb->params);
E_FREE(eb);
}
while (e_config->path_append_data)
while (ecf->path_append_data)
{
E_Path_Dir *epd;
epd = e_config->path_append_data->data;
e_config->path_append_data = eina_list_remove_list(e_config->path_append_data, e_config->path_append_data);
epd = ecf->path_append_data->data;
ecf->path_append_data = eina_list_remove_list(ecf->path_append_data, ecf->path_append_data);
if (epd->dir) eina_stringshare_del(epd->dir);
E_FREE(epd);
}
while (e_config->path_append_images)
while (ecf->path_append_images)
{
E_Path_Dir *epd;
epd = e_config->path_append_images->data;
e_config->path_append_images = eina_list_remove_list(e_config->path_append_images, e_config->path_append_images);
epd = ecf->path_append_images->data;
ecf->path_append_images = eina_list_remove_list(ecf->path_append_images, ecf->path_append_images);
if (epd->dir) eina_stringshare_del(epd->dir);
E_FREE(epd);
}
while (e_config->path_append_fonts)
while (ecf->path_append_fonts)
{
E_Path_Dir *epd;
epd = e_config->path_append_fonts->data;
e_config->path_append_fonts = eina_list_remove_list(e_config->path_append_fonts, e_config->path_append_fonts);
epd = ecf->path_append_fonts->data;
ecf->path_append_fonts = eina_list_remove_list(ecf->path_append_fonts, ecf->path_append_fonts);
if (epd->dir) eina_stringshare_del(epd->dir);
E_FREE(epd);
}
while (e_config->path_append_themes)
while (ecf->path_append_themes)
{
E_Path_Dir *epd;
epd = e_config->path_append_themes->data;
e_config->path_append_themes = eina_list_remove_list(e_config->path_append_themes, e_config->path_append_themes);
epd = ecf->path_append_themes->data;
ecf->path_append_themes = eina_list_remove_list(ecf->path_append_themes, ecf->path_append_themes);
if (epd->dir) eina_stringshare_del(epd->dir);
E_FREE(epd);
}
while (e_config->path_append_init)
while (ecf->path_append_init)
{
E_Path_Dir *epd;
epd = e_config->path_append_init->data;
e_config->path_append_init = eina_list_remove_list(e_config->path_append_init, e_config->path_append_init);
epd = ecf->path_append_init->data;
ecf->path_append_init = eina_list_remove_list(ecf->path_append_init, ecf->path_append_init);
if (epd->dir) eina_stringshare_del(epd->dir);
E_FREE(epd);
}
while (e_config->path_append_icons)
while (ecf->path_append_icons)
{
E_Path_Dir *epd;
epd = e_config->path_append_icons->data;
e_config->path_append_icons = eina_list_remove_list(e_config->path_append_icons, e_config->path_append_icons);
epd = ecf->path_append_icons->data;
ecf->path_append_icons = eina_list_remove_list(ecf->path_append_icons, ecf->path_append_icons);
if (epd->dir) eina_stringshare_del(epd->dir);
E_FREE(epd);
}
while (e_config->path_append_modules)
while (ecf->path_append_modules)
{
E_Path_Dir *epd;
epd = e_config->path_append_modules->data;
e_config->path_append_modules = eina_list_remove_list(e_config->path_append_modules, e_config->path_append_modules);
epd = ecf->path_append_modules->data;
ecf->path_append_modules = eina_list_remove_list(ecf->path_append_modules, ecf->path_append_modules);
if (epd->dir) eina_stringshare_del(epd->dir);
E_FREE(epd);
}
while (e_config->path_append_backgrounds)
while (ecf->path_append_backgrounds)
{
E_Path_Dir *epd;
epd = e_config->path_append_backgrounds->data;
e_config->path_append_backgrounds = eina_list_remove_list(e_config->path_append_backgrounds, e_config->path_append_backgrounds);
epd = ecf->path_append_backgrounds->data;
ecf->path_append_backgrounds = eina_list_remove_list(ecf->path_append_backgrounds, ecf->path_append_backgrounds);
if (epd->dir) eina_stringshare_del(epd->dir);
E_FREE(epd);
}
while (e_config->path_append_messages)
while (ecf->path_append_messages)
{
E_Path_Dir *epd;
epd = e_config->path_append_messages->data;
e_config->path_append_messages = eina_list_remove_list(e_config->path_append_messages, e_config->path_append_messages);
epd = ecf->path_append_messages->data;
ecf->path_append_messages = eina_list_remove_list(ecf->path_append_messages, ecf->path_append_messages);
if (epd->dir) eina_stringshare_del(epd->dir);
E_FREE(epd);
}
while (e_config->remembers)
while (ecf->remembers)
{
E_Remember *rem;
rem = e_config->remembers->data;
e_config->remembers = eina_list_remove_list(e_config->remembers, e_config->remembers);
rem = ecf->remembers->data;
ecf->remembers = eina_list_remove_list(ecf->remembers, ecf->remembers);
if (rem->name) eina_stringshare_del(rem->name);
if (rem->class) eina_stringshare_del(rem->class);
@ -1931,33 +1542,32 @@ _e_config_free(void)
E_FREE(rem);
}
while (e_config->color_classes)
while (ecf->color_classes)
{
E_Color_Class *cc;
cc = e_config->color_classes->data;
e_config->color_classes = eina_list_remove_list(e_config->color_classes, e_config->color_classes);
cc = ecf->color_classes->data;
ecf->color_classes = eina_list_remove_list(ecf->color_classes, ecf->color_classes);
if (cc->name) eina_stringshare_del(cc->name);
E_FREE(cc);
}
if (e_config->init_default_theme) eina_stringshare_del(e_config->init_default_theme);
if (e_config->desktop_default_background) eina_stringshare_del(e_config->desktop_default_background);
if (e_config->desktop_default_name) eina_stringshare_del(e_config->desktop_default_name);
if (e_config->language) eina_stringshare_del(e_config->language);
if (e_config->transition_start) eina_stringshare_del(e_config->transition_start);
if (e_config->transition_desk) eina_stringshare_del(e_config->transition_desk);
if (e_config->transition_change) eina_stringshare_del(e_config->transition_change);
if (e_config->input_method) eina_stringshare_del(e_config->input_method);
if (e_config->exebuf_term_cmd) eina_stringshare_del(e_config->exebuf_term_cmd);
if (e_config->desklock_personal_passwd) eina_stringshare_del(e_config->desklock_personal_passwd);
if (e_config->desklock_background) eina_stringshare_del(e_config->desklock_background);
if (e_config->icon_theme) eina_stringshare_del(e_config->icon_theme);
if (e_config->wallpaper_import_last_dev) eina_stringshare_del(e_config->wallpaper_import_last_dev);
if (e_config->wallpaper_import_last_path) eina_stringshare_del(e_config->wallpaper_import_last_path);
if (e_config->theme_default_border_style) eina_stringshare_del(e_config->theme_default_border_style);
if (e_config->desklock_custom_desklock_cmd) eina_stringshare_del(e_config->desklock_custom_desklock_cmd);
E_FREE(e_config);
}
if (ecf->init_default_theme) eina_stringshare_del(ecf->init_default_theme);
if (ecf->desktop_default_background) eina_stringshare_del(ecf->desktop_default_background);
if (ecf->desktop_default_name) eina_stringshare_del(ecf->desktop_default_name);
if (ecf->language) eina_stringshare_del(ecf->language);
if (ecf->transition_start) eina_stringshare_del(ecf->transition_start);
if (ecf->transition_desk) eina_stringshare_del(ecf->transition_desk);
if (ecf->transition_change) eina_stringshare_del(ecf->transition_change);
if (ecf->input_method) eina_stringshare_del(ecf->input_method);
if (ecf->exebuf_term_cmd) eina_stringshare_del(ecf->exebuf_term_cmd);
if (ecf->desklock_personal_passwd) eina_stringshare_del(ecf->desklock_personal_passwd);
if (ecf->desklock_background) eina_stringshare_del(ecf->desklock_background);
if (ecf->icon_theme) eina_stringshare_del(ecf->icon_theme);
if (ecf->wallpaper_import_last_dev) eina_stringshare_del(ecf->wallpaper_import_last_dev);
if (ecf->wallpaper_import_last_path) eina_stringshare_del(ecf->wallpaper_import_last_path);
if (ecf->theme_default_border_style) eina_stringshare_del(ecf->theme_default_border_style);
if (ecf->desklock_custom_desklock_cmd) eina_stringshare_del(ecf->desklock_custom_desklock_cmd);
E_FREE(ecf);
}
static int

View File

@ -475,6 +475,7 @@ EAPI void e_config_save_block_set(int block);
EAPI int e_config_save_block_get(void);
EAPI void *e_config_domain_load(const char *domain, E_Config_DD *edd);
EAPI void *e_config_domain_system_load(const char *domain, E_Config_DD *edd);
EAPI int e_config_profile_save(void);
EAPI int e_config_domain_save(const char *domain, E_Config_DD *edd, const void *data);

View File

@ -4,6 +4,12 @@
#include "e_slipshelf.h"
#include "e_mod_win.h"
/*
* FSO offers:
*
* org.freesmartphone.Device.IdleNotifier.SetStateTimeout("suspend", 60);
*/
/* internal calls */
static void _e_cfg_dbus_if_init(void);
static void _e_cfg_dbus_if_shutdown(void);

View File

@ -14,4 +14,5 @@ Xephyr :1 -noreset -ac -br -dpi 284 -screen 480x640 &
sleep 1
export DISPLAY=:1
unset E_RESTART E_START E_IPC_SOCKET E_START_TIME
#E_CONF_PROFILE=default enlightenment_start
enlightenment_start -profile illume