summaryrefslogtreecommitdiff
path: root/recipes/e17/e-wm
diff options
context:
space:
mode:
authorDenys Dmytriyenko <denis@denix.org>2009-03-17 14:32:59 -0400
committerDenys Dmytriyenko <denis@denix.org>2009-03-17 14:32:59 -0400
commit709c4d66e0b107ca606941b988bad717c0b45d9b (patch)
tree37ee08b1eb308f3b2b6426d5793545c38396b838 /recipes/e17/e-wm
parentfa6cd5a3b993f16c27de4ff82b42684516d433ba (diff)
rename packages/ to recipes/ per earlier agreement
See links below for more details: http://thread.gmane.org/gmane.comp.handhelds.openembedded/21326 http://thread.gmane.org/gmane.comp.handhelds.openembedded/21816 Signed-off-by: Denys Dmytriyenko <denis@denix.org> Acked-by: Mike Westerhof <mwester@dls.net> Acked-by: Philip Balister <philip@balister.org> Acked-by: Khem Raj <raj.khem@gmail.com> Acked-by: Marcin Juszkiewicz <hrw@openembedded.org> Acked-by: Koen Kooi <koen@openembedded.org> Acked-by: Frans Meulenbroeks <fransmeulenbroeks@gmail.com>
Diffstat (limited to 'recipes/e17/e-wm')
-rw-r--r--recipes/e17/e-wm/applications.menu105
-rw-r--r--recipes/e17/e-wm/disable-e-cursor.patch277
-rw-r--r--recipes/e17/e-wm/disable-splash.patch11
-rw-r--r--recipes/e17/e-wm/enlightenment_start.oe9
-rw-r--r--recipes/e17/e-wm/fix-configure.patch14
-rw-r--r--recipes/e17/e-wm/gsm-segfault-fix.patch28
-rw-r--r--recipes/e17/e-wm/illume-disable-screensaver.patch13
-rw-r--r--recipes/e17/e-wm/pkgconfig-fix.patch18
-rw-r--r--recipes/e17/e-wm/profile-search.patch41
-rw-r--r--recipes/e17/e-wm/set-autoscroll-defaults.patch13
10 files changed, 529 insertions, 0 deletions
diff --git a/recipes/e17/e-wm/applications.menu b/recipes/e17/e-wm/applications.menu
new file mode 100644
index 0000000000..77c6f0429c
--- /dev/null
+++ b/recipes/e17/e-wm/applications.menu
@@ -0,0 +1,105 @@
+<?xml version="1.0"?>
+<!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN" "http://standards.freedesktop.org/menu-spec/menu-1.0.dtd">
+<Menu>
+ <Name>Applications</Name>
+ <!-- <Directory>Applications.directory</Directory> -->
+
+ <!-- Read standard .directory and .desktop file locations -->
+ <DefaultAppDirs>/usr/share/applications</DefaultAppDirs>
+ <DefaultDirectoryDirs/>
+
+ <Menu>
+ <Name>Office</Name>
+ <Directory>Office.directory</Directory>
+ <Include>
+ <And>
+ <Category>Office</Category>
+ </And>
+ </Include>
+ </Menu>
+
+ <Menu>
+ <Name>Multimedia</Name>
+ <Directory>Multimedia.directory</Directory>
+ <Include>
+ <And>
+ <Category>AudioVideo</Category>
+ </And>
+ </Include>
+ </Menu>
+
+ <Menu>
+ <Name>Graphics</Name>
+ <Directory>Graphics.directory</Directory>
+ <Include>
+ <And>
+ <Category>Graphics</Category>
+ </And>
+ </Include>
+ </Menu>
+
+ <Menu>
+ <Name>Games</Name>
+ <Directory>Games.directory</Directory>
+ <Include>
+ <And>
+ <Or>
+ <Category>Game</Category>
+ <Category>Games</Category>
+ </Or>
+ </And>
+ </Include>
+ </Menu>
+
+ <Menu>
+ <Name>Internet</Name>
+ <Directory>Internet.directory</Directory>
+ <Include>
+ <And>
+ <Or>
+ <Category>Internet</Category>
+ <Category>Network</Category>
+ </Or>
+ </And>
+ </Include>
+ </Menu>
+
+ <Menu>
+ <Name>Settings</Name>
+ <Directory>Settings.directory</Directory>
+ <Include>
+ <And>
+ <Or>
+ <Category>SystemSettings</Category>
+ <Category>Settings</Category>
+ </Or>
+ <Not>
+ <Category>System</Category>
+ </Not>
+ </And>
+ </Include>
+ </Menu>
+
+ <Menu>
+ <Name>Accessories</Name>
+ <Directory>Accessories.directory</Directory>
+ <Include>
+ <And>
+ <Or>
+ <Category>Applications</Category>
+ <Category>Utility</Category>
+ </Or>
+ <Not>
+ <Category>System</Category>
+ <Category>Office</Category>
+ <Category>Internet</Category>
+ <Category>AudioVideo</Category>
+ <Category>Graphics</Category>
+ <Category>Games</Category>
+ </Not>
+ </And>
+ </Include>
+ </Menu>
+
+</Menu>
+
diff --git a/recipes/e17/e-wm/disable-e-cursor.patch b/recipes/e17/e-wm/disable-e-cursor.patch
new file mode 100644
index 0000000000..51618434a5
--- /dev/null
+++ b/recipes/e17/e-wm/disable-e-cursor.patch
@@ -0,0 +1,277 @@
+Index: e/src/bin/e_config.c
+===================================================================
+--- e.orig/src/bin/e_config.c
++++ e/src/bin/e_config.c
+@@ -461,6 +461,7 @@ e_config_init(void)
+ 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, pointer_slide, INT); /**/
++ E_CONFIG_VAL(D, T, show_cursor, INT); /**/
+ 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); /**/
+@@ -705,6 +706,7 @@ e_config_init(void)
+ 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;
+@@ -1570,6 +1572,7 @@ e_config_init(void)
+ E_CONFIG_LIMIT(e_config->focus_last_focused_per_desktop, 0, 1);
+ E_CONFIG_LIMIT(e_config->focus_revert_on_hide_or_close, 0, 1);
+ E_CONFIG_LIMIT(e_config->pointer_slide, 0, 1);
++ E_CONFIG_LIMIT(e_config->show_cursor, 0, 1);
+ E_CONFIG_LIMIT(e_config->use_e_cursor, 0, 1);
+ E_CONFIG_LIMIT(e_config->cursor_size, 0, 1024);
+ E_CONFIG_LIMIT(e_config->menu_autoscroll_margin, 0, 50);
+Index: e/src/modules/conf_mouse_cursor/e_int_config_cursor.c
+===================================================================
+--- e.orig/src/modules/conf_mouse_cursor/e_int_config_cursor.c
++++ e/src/modules/conf_mouse_cursor/e_int_config_cursor.c
+@@ -3,16 +3,25 @@
+ static void *_create_data(E_Config_Dialog *cfd);
+ static void _free_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata);
+ static int _basic_apply_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata);
++static void _basic_show_cursor_cb_change(void *data, Evas_Object *obj);
+ static Evas_Object *_basic_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cfdata);
+ static int _advanced_apply_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata);
++static void _advanced_show_cursor_cb_change(void *data, Evas_Object *obj);
+ static Evas_Object *_advanced_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cfdata);
+
+ struct _E_Config_Dialog_Data
+ {
++ int show_cursor;
+ int use_e_cursor;
+
+ /* Advanced */
+ int cursor_size;
++
++ struct
++ {
++ Evas_Object *radio_use_e_cursor;
++ Evas_Object *slider_cursor_size;
++ } gui;
+ };
+
+ EAPI E_Config_Dialog *
+@@ -41,6 +50,7 @@ e_int_config_cursor(E_Container *con, co
+ static void
+ _fill_data(E_Config_Dialog_Data *cfdata)
+ {
++ cfdata->show_cursor = e_config->show_cursor;
+ cfdata->use_e_cursor = e_config->use_e_cursor;
+ cfdata->cursor_size = e_config->cursor_size;
+ }
+@@ -66,9 +76,11 @@ _basic_apply_data(E_Config_Dialog *cfd,
+ {
+ int changed = 0;
+
++ if (e_config->show_cursor != cfdata->show_cursor) changed = 1;
+ if (e_config->use_e_cursor != cfdata->use_e_cursor) changed = 1;
+
+ e_config->use_e_cursor = cfdata->use_e_cursor;
++ e_config->show_cursor = cfdata->show_cursor;
+ e_config_save_queue();
+
+ if (changed)
+@@ -79,6 +91,11 @@ _basic_apply_data(E_Config_Dialog *cfd,
+ {
+ E_Manager *man;
+ man = l->data;
++ if (man->pointer && !e_config->show_cursor)
++ {
++ e_pointer_hide(man->pointer);
++ continue;
++ }
+ if (man->pointer) e_object_del(E_OBJECT(man->pointer));
+ man->pointer = e_pointer_window_new(man->root, 1);
+ }
+@@ -86,6 +103,17 @@ _basic_apply_data(E_Config_Dialog *cfd,
+ return 1;
+ }
+
++static void
++_basic_show_cursor_cb_change(void *data, Evas_Object *obj)
++{
++ E_Config_Dialog_Data *cfdata;
++
++ cfdata = data;
++ if (!cfdata) return;
++
++ e_widget_disabled_set(cfdata->gui.radio_use_e_cursor, !cfdata->show_cursor);
++}
++
+ static Evas_Object *
+ _basic_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cfdata)
+ {
+@@ -94,8 +122,14 @@ _basic_create_widgets(E_Config_Dialog *c
+
+ o = e_widget_list_add(evas, 0, 0);
+
++ ob = e_widget_check_add(evas, _("Show Cursor"), &(cfdata->show_cursor));
++ e_widget_on_change_hook_set(ob, _basic_show_cursor_cb_change, cfdata);
++ e_widget_list_object_append(o, ob, 1, 1, 0.5);
++
+ of = e_widget_framelist_add(evas, _("Cursor Settings"), 0);
+ rg = e_widget_radio_group_new(&cfdata->use_e_cursor);
++ cfdata->gui.radio_use_e_cursor = rg;
++
+ ob = e_widget_radio_add(evas, _("Use Enlightenment Cursor"), 1, rg);
+ e_widget_framelist_object_append(of, ob);
+ ob = e_widget_radio_add(evas, _("Use X Cursor"), 0, rg);
+@@ -111,9 +145,11 @@ _advanced_apply_data(E_Config_Dialog *cf
+ {
+ int changed = 0;
+
++ if (e_config->show_cursor != cfdata->show_cursor) changed = 1;
+ if (e_config->use_e_cursor != cfdata->use_e_cursor) changed = 1;
+ if (e_config->cursor_size != cfdata->cursor_size) changed = 1;
+-
++
++ e_config->show_cursor = cfdata->show_cursor;
+ e_config->use_e_cursor = cfdata->use_e_cursor;
+ if (cfdata->cursor_size <= 0) cfdata->cursor_size = 1;
+ e_config->cursor_size = cfdata->cursor_size;
+@@ -128,6 +164,11 @@ _advanced_apply_data(E_Config_Dialog *cf
+ {
+ E_Manager *man;
+ man = l->data;
++ if (man->pointer && !e_config->show_cursor)
++ {
++ e_pointer_hide(man->pointer);
++ continue;
++ }
+ if (man->pointer) e_object_del(E_OBJECT(man->pointer));
+ man->pointer = e_pointer_window_new(man->root, 1);
+ }
+@@ -135,6 +176,18 @@ _advanced_apply_data(E_Config_Dialog *cf
+ return 1;
+ }
+
++static void
++_advanced_show_cursor_cb_change(void *data, Evas_Object *obj)
++{
++ E_Config_Dialog_Data *cfdata;
++
++ cfdata = data;
++ if (!cfdata) return;
++
++ e_widget_disabled_set(cfdata->gui.radio_use_e_cursor, !cfdata->show_cursor);
++ e_widget_disabled_set(cfdata->gui.slider_cursor_size, !cfdata->show_cursor);
++}
++
+ static Evas_Object *
+ _advanced_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cfdata)
+ {
+@@ -143,16 +196,27 @@ _advanced_create_widgets(E_Config_Dialog
+
+ o = e_widget_list_add(evas, 0, 0);
+
++ ob = e_widget_check_add(evas, _("Show Cursor"), &(cfdata->show_cursor));
++ e_widget_on_change_hook_set(ob, _advanced_show_cursor_cb_change, cfdata);
++ e_widget_list_object_append(o, ob, 1, 1, 0.5);
++
+ of = e_widget_framelist_add(evas, _("Cursor Settings"), 0);
+ rg = e_widget_radio_group_new(&cfdata->use_e_cursor);
++ cfdata->gui.radio_use_e_cursor = rg;
++
+ ob = e_widget_radio_add(evas, _("Use Enlightenment Cursor"), 1, rg);
+ e_widget_framelist_object_append(of, ob);
+ ob = e_widget_radio_add(evas, _("Use X Cursor"), 0, rg);
+ e_widget_framelist_object_append(of, ob);
+ ob = e_widget_label_add(evas, _("Cursor Size"));
+ e_widget_framelist_object_append(of, ob);
++
+ ob = e_widget_slider_add(evas, 1, 0, _("%1.0f pixels"), 8, 128, 4, 0, NULL, &(cfdata->cursor_size), 150);
++ cfdata->gui.slider_cursor_size = ob;
++
+ e_widget_framelist_object_append(of, ob);
++
+ e_widget_list_object_append(o, of, 1, 1, 0.5);
++
+ return o;
+ }
+Index: e/src/bin/e_pointer.c
+===================================================================
+--- e.orig/src/bin/e_pointer.c
++++ e/src/bin/e_pointer.c
+@@ -94,6 +94,8 @@ e_pointers_size_set(int size)
+ {
+ Evas_List *l;
+
++ if (!e_config->show_cursor) return;
++
+ for (l = _e_pointers; l; l = l->next)
+ {
+ E_Pointer *p;
+@@ -136,6 +138,13 @@ e_pointers_size_set(int size)
+ }
+
+ EAPI void
++e_pointer_hide(E_Pointer *p)
++{
++ if (p->win) ecore_x_window_cursor_set(p->win, 0);
++ if (p->evas) _e_pointer_canvas_del(p);
++}
++
++EAPI void
+ e_pointer_type_push(E_Pointer *p, void *obj, const char *type)
+ {
+ E_Pointer_Stack *stack;
+@@ -199,6 +208,7 @@ EAPI void
+ e_pointer_idler_before(void)
+ {
+ Evas_List *l;
++ if (!e_config->show_cursor) return;
+
+ for (l = _e_pointers; l; l = l->next)
+ {
+@@ -305,6 +315,8 @@ _e_pointer_cb_move(void *data, Evas *e _
+ E_Pointer *p;
+ Evas_Coord x, y;
+
++ if (!e_config->show_cursor) return;
++
+ p = data;
+ if (!p->e_cursor) return;
+ evas_object_geometry_get(p->hot_object, &x, &y, NULL, NULL);
+@@ -353,6 +365,13 @@ _e_pointer_type_set(E_Pointer *p, const
+ if (p->type) evas_stringshare_del(p->type);
+ p->type = evas_stringshare_add(type);
+
++ /* Do not set type if in "hidden mode" */
++ if (!e_config->show_cursor)
++ {
++ ecore_x_window_cursor_set(p->win, 0);
++ return 1;
++ }
++
+ if (p->e_cursor)
+ {
+ Evas_Object *o;
+Index: e/src/bin/e_config.h
+===================================================================
+--- e.orig/src/bin/e_config.h
++++ e/src/bin/e_config.h
+@@ -166,6 +166,7 @@ struct _E_Config
+ int focus_last_focused_per_desktop; // GUI
+ int focus_revert_on_hide_or_close; // GUI
+ int pointer_slide; // GUI
++ int show_cursor; // GUI
+ int use_e_cursor; // GUI
+ int cursor_size; // GUI
+ int menu_autoscroll_margin; // GUI
+Index: e/src/bin/e_pointer.h
+===================================================================
+--- e.orig/src/bin/e_pointer.h
++++ e/src/bin/e_pointer.h
+@@ -42,6 +42,7 @@ struct _E_Pointer
+ EAPI int e_pointer_init(void);
+ EAPI int e_pointer_shutdown(void);
+ EAPI E_Pointer *e_pointer_window_new(Ecore_X_Window win, int filled);
++EAPI void e_pointer_hide(E_Pointer *p);
+ EAPI void e_pointer_type_push(E_Pointer *p, void *obj, const char *type);
+ EAPI void e_pointer_type_pop(E_Pointer *p, void *obj, const char *type);
+ EAPI void e_pointers_size_set(int size);
diff --git a/recipes/e17/e-wm/disable-splash.patch b/recipes/e17/e-wm/disable-splash.patch
new file mode 100644
index 0000000000..152a0a2895
--- /dev/null
+++ b/recipes/e17/e-wm/disable-splash.patch
@@ -0,0 +1,11 @@
+--- enlightenment-0.16.999.015/src/bin/e_config.c~ 2005-09-22 20:50:16.000000000 -0700
++++ enlightenment-0.16.999.015/src/bin/e_config.c 2005-09-30 10:51:02.000000000 -0700
+@@ -377,7 +377,7 @@
+ /* DEFAULT CONFIG */
+ e_config = E_NEW(E_Config, 1);
+ e_config->config_version = E_CONFIG_FILE_VERSION;
+- e_config->show_splash = 1;
++ e_config->show_splash = 0;
+ e_config->desktop_default_background = strdup("");
+ e_config->desktop_default_name = strdup("Desktop %i, %i");
+ e_config->menus_scroll_speed = 1000.0;
diff --git a/recipes/e17/e-wm/enlightenment_start.oe b/recipes/e17/e-wm/enlightenment_start.oe
new file mode 100644
index 0000000000..e5a65025cb
--- /dev/null
+++ b/recipes/e17/e-wm/enlightenment_start.oe
@@ -0,0 +1,9 @@
+#!/bin/sh
+
+E_PROFILE=""
+if [ -r /etc/enlightenment/default_profile ]; then
+ . /etc/enlightenment/default_profile
+fi
+
+renice -10 -p $$
+exec enlightenment_start $E_PROFILE
diff --git a/recipes/e17/e-wm/fix-configure.patch b/recipes/e17/e-wm/fix-configure.patch
new file mode 100644
index 0000000000..13e663949c
--- /dev/null
+++ b/recipes/e17/e-wm/fix-configure.patch
@@ -0,0 +1,14 @@
+diff -Nur e~/configure.in e/configure.in
+--- e~/configure.in 2005-09-29 13:17:29.000000000 -0700
++++ e/configure.in 2005-09-29 13:19:35.000000000 -0700
+@@ -114,9 +114,7 @@
+ AC_PATH_XTRA
+ AC_CHECK_HEADER(X11/X.h,
+ [
+- x_dir=${x_dir:-/usr/X11R6}
+- x_cflags=${x_cflags:--I${x_includes:-$x_dir/include}}
+- x_libs="${x_libs:--L${x_libraries:-$x_dir/lib}} -lX11 -lXext"
++ x_libs="-lX11 -lXext";
+ ],[
+ AC_MSG_ERROR([Cannot find X headers and libraries.])
+ ]
diff --git a/recipes/e17/e-wm/gsm-segfault-fix.patch b/recipes/e17/e-wm/gsm-segfault-fix.patch
new file mode 100644
index 0000000000..0bed84a26e
--- /dev/null
+++ b/recipes/e17/e-wm/gsm-segfault-fix.patch
@@ -0,0 +1,28 @@
+Index: e/src/modules/illume/e_mod_gad_gsm.c
+===================================================================
+--- e/src/modules/illume/e_mod_gad_gsm.c (revision 37617)
++++ e/src/modules/illume/e_mod_gad_gsm.c (revision 37618)
+@@ -353,7 +353,7 @@
+ {
+ /* We care only about the provider name right now. All the other status
+ * informations get ingnored for the gadget for now */
+- const char *provider, *name, *reg_stat;
++ const char *provider = 0 , *name = 0, *reg_stat = 0;
+ DBusMessageIter iter, a_iter, s_iter, v_iter;
+
+ if (!dbus_message_has_signature(msg, "a{sv}")) return NULL;
+@@ -380,10 +380,13 @@
+ dbus_message_iter_next(&a_iter);
+ }
+
++ if (!reg_stat) return NULL;
+ if (strcmp(reg_stat, "unregistered") == 0) provider = "No Service";
+ else if (strcmp(reg_stat, "busy") == 0) provider = "Searching...";
+ else if (strcmp(reg_stat, "denied") == 0) provider = "SOS only";
+-
++
++ if (!provider) return NULL;
++
+ return strdup(provider);
+ }
+
diff --git a/recipes/e17/e-wm/illume-disable-screensaver.patch b/recipes/e17/e-wm/illume-disable-screensaver.patch
new file mode 100644
index 0000000000..984895cf59
--- /dev/null
+++ b/recipes/e17/e-wm/illume-disable-screensaver.patch
@@ -0,0 +1,13 @@
+Index: e/config/illume/e.src
+===================================================================
+--- e.orig/config/illume/e.src 2009-01-30 23:34:37.000000000 +0100
++++ e/config/illume/e.src 2009-01-30 23:34:54.000000000 +0100
+@@ -665,7 +665,7 @@
+ value "display_res_height" int: 1;
+ value "display_res_hz" int: 0;
+ value "display_res_rotation" int: 0;
+- value "screensaver_enable" int: 1;
++ value "screensaver_enable" int: 0;
+ value "screensaver_timeout" int: 30;
+ value "screensaver_interval" int: 5;
+ value "screensaver_blanking" int: 2;
diff --git a/recipes/e17/e-wm/pkgconfig-fix.patch b/recipes/e17/e-wm/pkgconfig-fix.patch
new file mode 100644
index 0000000000..9ea929da27
--- /dev/null
+++ b/recipes/e17/e-wm/pkgconfig-fix.patch
@@ -0,0 +1,18 @@
+Index: enlightenment.pc.in
+===================================================================
+--- enlightenment.pc.in.orig 2008-03-28 22:33:51.000000000 +0100
++++ enlightenment.pc.in 2008-03-29 17:22:30.000000000 +0100
+@@ -1,11 +1,12 @@
+ prefix=@prefix@
+ exec_prefix=@exec_prefix@
+ libdir=@libdir@
+-includedir=@includedir@
++includedir=@includedir@/@PACKAGE@
+
+ Name: enlightenment
+ Description: Enlightenmnt Window Manager
+ Version: @VERSION@
++Requires: efreet >= 0.0.3.042
+ Libs: @libdir@/@PACKAGE@/modules
+ Libs.private:
+ Cflags: -I${includedir}
diff --git a/recipes/e17/e-wm/profile-search.patch b/recipes/e17/e-wm/profile-search.patch
new file mode 100644
index 0000000000..7f3e9e2e29
--- /dev/null
+++ b/recipes/e17/e-wm/profile-search.patch
@@ -0,0 +1,41 @@
+? .e_border.c.swn
+? .e_border.c.swo
+? .e_border.c.swp
+? .e_border.h.swp
+? .e_config.c.swp
+? .e_int_menus.c.swp
+? .e_main.c.swp
+? .e_popup.c.swp
+? .e_prefix.c.swp
+? .e_shelf.c.swo
+? .e_shelf.c.swp
+Index: e_config.c
+===================================================================
+RCS file: /var/cvs/e/e17/apps/e/src/bin/e_config.c,v
+retrieving revision 1.282
+diff -u -r1.282 e_config.c
+--- e/src/bin/e_config.c 20 Feb 2008 04:12:58 -0000 1.282
++++ e/src/bin/e_config.c 31 Mar 2008 01:57:00 -0000
+@@ -1827,7 +1827,22 @@
+ {
+ data = eet_data_read(ef, edd, "config");
+ eet_close(ef);
++ return data;
+ }
++
++ /* 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);
++ if (ef)
++ {
++ data = eet_data_read(ef, edd, "config");
++ eet_close(ef);
++ return data;
++ }
++
+ return data;
+ }
+
diff --git a/recipes/e17/e-wm/set-autoscroll-defaults.patch b/recipes/e17/e-wm/set-autoscroll-defaults.patch
new file mode 100644
index 0000000000..2d24ea69c6
--- /dev/null
+++ b/recipes/e17/e-wm/set-autoscroll-defaults.patch
@@ -0,0 +1,13 @@
+--- enlightenment-0.16.999.032/src/bin/e_config.c~ 2006-08-05 10:46:53.000000000 -0700
++++ enlightenment-0.16.999.032/src/bin/e_config.c 2006-08-05 10:43:14.000000000 -0700
+@@ -595,8 +595,8 @@
+ e_config->focus_revert_on_hide_or_close = 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->menu_autoscroll_margin = 10;
++ e_config->menu_autoscroll_cursor_margin = 10;
+ e_config->transient.move = 1;
+ e_config->transient.resize = 0;
+ e_config->transient.raise = 1;