diff --git a/src/modules/illume-home/Makefile.am b/src/modules/illume-home/Makefile.am
deleted file mode 100644
index 35bbe3ea6..000000000
--- a/src/modules/illume-home/Makefile.am
+++ /dev/null
@@ -1,33 +0,0 @@
-MAINTAINERCLEANFILES = Makefile.in
-MODULE = illume-home
-
-# data files for the module
-filesdir = $(libdir)/enlightenment/modules/$(MODULE)
-files_DATA = \
-e-module-$(MODULE).edj module.desktop
-
-EXTRA_DIST = $(files_DATA)
-
-# the module .so file
-INCLUDES = -I. \
- -I$(top_srcdir) \
- -I$(top_srcdir)/src/modules/$(MODULE) \
- -I$(top_srcdir)/src/bin \
- -I$(top_srcdir)/src/lib \
- -I$(top_srcdir)/src/modules \
- @e_cflags@
-pkgdir = $(libdir)/enlightenment/modules/$(MODULE)/$(MODULE_ARCH)
-pkg_LTLIBRARIES = module.la
-module_la_SOURCES = e_mod_main.c \
- e_mod_main.h \
- e_mod_config.c \
- e_mod_config.h \
- e_busycover.c \
- e_busycover.h
-
-module_la_LIBADD = @e_libs@ @dlopen_libs@
-module_la_LDFLAGS = -module -avoid-version
-module_la_DEPENDENCIES = $(top_builddir)/config.h
-
-uninstall:
- rm -rf $(DESTDIR)$(libdir)/enlightenment/modules/$(MODULE)
diff --git a/src/modules/illume-home/e-module-illume-home.edj b/src/modules/illume-home/e-module-illume-home.edj
deleted file mode 100644
index f6dc60946..000000000
Binary files a/src/modules/illume-home/e-module-illume-home.edj and /dev/null differ
diff --git a/src/modules/illume-home/e_busycover.c b/src/modules/illume-home/e_busycover.c
deleted file mode 100644
index 610b13302..000000000
--- a/src/modules/illume-home/e_busycover.c
+++ /dev/null
@@ -1,92 +0,0 @@
-#include "e.h"
-#include "e_busycover.h"
-#include "e_mod_config.h"
-
-/* local function prototypes */
-static void _e_busycover_cb_free(E_Busycover *cover);
-
-EAPI E_Busycover *
-e_busycover_new(E_Win *win)
-{
- E_Busycover *cover;
- char buff[PATH_MAX];
-
- cover = E_OBJECT_ALLOC(E_Busycover, E_BUSYCOVER_TYPE, _e_busycover_cb_free);
- if (!cover) return NULL;
- snprintf(buff, sizeof(buff), "%s/e-module-illume-home.edj",
- il_home_cfg->mod_dir);
-
- cover->o_base = edje_object_add(e_win_evas_get(win));
- if (!e_theme_edje_object_set(cover->o_base,
- "base/theme/modules/illume-home",
- "modules/illume-home/busycover"))
- edje_object_file_set(cover->o_base, buff, "modules/illume-home/busycover");
- edje_object_part_text_set(cover->o_base, "e.text.title", _("LOADING"));
- evas_object_move(cover->o_base, win->x, win->y);
- evas_object_resize(cover->o_base, win->w, win->h);
- evas_object_layer_set(cover->o_base, 999);
- return cover;
-}
-
-EAPI E_Busycover_Handle *
-e_busycover_push(E_Busycover *cover, const char *msg, const char *icon)
-{
- E_Busycover_Handle *handle;
-
- E_OBJECT_CHECK(cover);
- E_OBJECT_TYPE_CHECK_RETURN(cover, E_BUSYCOVER_TYPE, NULL);
-
- handle = E_NEW(E_Busycover_Handle, 1);
- handle->cover = cover;
- if (msg) handle->msg = eina_stringshare_add(msg);
- if (icon) handle->icon = eina_stringshare_add(icon);
- cover->handles = eina_list_append(cover->handles, handle);
- edje_object_part_text_set(cover->o_base, "e.text.title", msg);
- evas_object_show(cover->o_base);
- return handle;
-}
-
-EAPI void
-e_busycover_pop(E_Busycover *cover, E_Busycover_Handle *handle)
-{
- E_OBJECT_CHECK(cover);
- E_OBJECT_TYPE_CHECK(cover, E_BUSYCOVER_TYPE);
- if (!eina_list_data_find(cover->handles, handle)) return;
- cover->handles = eina_list_remove(cover->handles, handle);
- if (handle->msg) eina_stringshare_del(handle->msg);
- if (handle->icon) eina_stringshare_del(handle->icon);
- E_FREE(handle);
- if (cover->handles)
- {
- handle = cover->handles->data;
- edje_object_part_text_set(cover->o_base, "e.text.title", handle->msg);
- }
- else
- evas_object_hide(cover->o_base);
-}
-
-EAPI void
-e_busycover_resize(E_Busycover *cover, int w, int h)
-{
- E_OBJECT_CHECK(cover);
- E_OBJECT_TYPE_CHECK(cover, E_BUSYCOVER_TYPE);
- evas_object_resize(cover->o_base, w, h);
-}
-
-/* local function prototypes */
-static void
-_e_busycover_cb_free(E_Busycover *cover)
-{
- Eina_List *l;
- E_Busycover_Handle *handle;
-
- EINA_LIST_FREE(cover->handles, handle)
- {
- if (handle->msg) eina_stringshare_del(handle->msg);
- if (handle->icon) eina_stringshare_del(handle->icon);
- E_FREE(handle);
- }
-
- if (cover->o_base) evas_object_del(cover->o_base);
- E_FREE(cover);
-}
diff --git a/src/modules/illume-home/e_busycover.h b/src/modules/illume-home/e_busycover.h
deleted file mode 100644
index 35e084984..000000000
--- a/src/modules/illume-home/e_busycover.h
+++ /dev/null
@@ -1,26 +0,0 @@
-#ifndef E_BUSYCOVER_H
-# define E_BUSYCOVER_H
-
-# define E_BUSYCOVER_TYPE 0xE1b0782
-
-typedef struct _E_Busycover E_Busycover;
-typedef struct _E_Busycover_Handle E_Busycover_Handle;
-
-struct _E_Busycover
-{
- E_Object e_obj_inherit;
- Evas_Object *o_base;
- Eina_List *handles;
-};
-struct _E_Busycover_Handle
-{
- E_Busycover *cover;
- const char *msg, *icon;
-};
-
-EAPI E_Busycover *e_busycover_new(E_Win *win);
-EAPI E_Busycover_Handle *e_busycover_push(E_Busycover *cover, const char *msg, const char *icon);
-EAPI void e_busycover_pop(E_Busycover *cover, E_Busycover_Handle *handle);
-EAPI void e_busycover_resize(E_Busycover *cover, int w, int h);
-
-#endif
diff --git a/src/modules/illume-home/e_mod_config.c b/src/modules/illume-home/e_mod_config.c
deleted file mode 100644
index 5e206c62f..000000000
--- a/src/modules/illume-home/e_mod_config.c
+++ /dev/null
@@ -1,200 +0,0 @@
-#include "e.h"
-#include "e_mod_main.h"
-#include "e_mod_config.h"
-
-/* local function prototypes */
-static void *_il_home_config_create(E_Config_Dialog *cfd);
-static void _il_home_config_free(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata);
-static Evas_Object *_il_home_config_ui(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cfdata);
-static void _il_home_config_changed(void *data, Evas_Object *obj, void *event);
-static void _il_home_config_click_changed(void *data, Evas_Object *obj, void *event);
-static int _il_home_config_change_timeout(void *data);
-
-/* local variables */
-EAPI Il_Home_Config *il_home_cfg = NULL;
-static E_Config_DD *conf_edd = NULL;
-Ecore_Timer *_il_home_config_change_timer = NULL;
-Evas_Object *delay_label, *delay_slider;
-
-/* public functions */
-int
-il_home_config_init(E_Module *m)
-{
- conf_edd = E_CONFIG_DD_NEW("Illume-Home_Cfg", Il_Home_Config);
- #undef T
- #undef D
- #define T Il_Home_Config
- #define D conf_edd
- E_CONFIG_VAL(D, T, version, INT);
- E_CONFIG_VAL(D, T, icon_size, INT);
- E_CONFIG_VAL(D, T, single_click, INT);
- E_CONFIG_VAL(D, T, single_click_delay, INT);
-
- il_home_cfg = e_config_domain_load("module.illume-home", conf_edd);
- if ((il_home_cfg) &&
- ((il_home_cfg->version >> 16) < IL_CONFIG_MAJ))
- {
- E_FREE(il_home_cfg);
- il_home_cfg = NULL;
- }
- if (!il_home_cfg)
- {
- il_home_cfg = E_NEW(Il_Home_Config, 1);
- il_home_cfg->version = 0;
- il_home_cfg->icon_size = 120;
- il_home_cfg->single_click = 1;
- il_home_cfg->single_click_delay = 50;
- }
- if (il_home_cfg)
- {
- /* Add new config variables here */
- /* if ((il_home_cfg->version & 0xffff) < 1) */
- il_home_cfg->version = (IL_CONFIG_MAJ << 16) | IL_CONFIG_MIN;
- }
-
- il_home_cfg->mod_dir = eina_stringshare_add(m->dir);
-
- e_configure_registry_category_add("illume", 0, _("Illume"), NULL,
- "enlightenment/display");
- e_configure_registry_generic_item_add("illume/home", 0, _("Home"),
- NULL, "enlightenment/launcher",
- il_home_config_show);
- return 1;
-}
-
-int
-il_home_config_shutdown(void)
-{
- il_home_cfg->cfd = NULL;
-
- e_configure_registry_item_del("illume/home");
- e_configure_registry_category_del("illume");
-
- if (il_home_cfg->mod_dir) eina_stringshare_del(il_home_cfg->mod_dir);
-
- E_FREE(il_home_cfg);
- il_home_cfg = NULL;
-
- E_CONFIG_DD_FREE(conf_edd);
- return 1;
-}
-
-int
-il_home_config_save(void)
-{
- e_config_domain_save("module.illume-home", conf_edd, il_home_cfg);
- return 1;
-}
-
-void
-il_home_config_show(E_Container *con, const char *params)
-{
- E_Config_Dialog *cfd;
- E_Config_Dialog_View *v = NULL;
-
- if (e_config_dialog_find("E", "_config_illume_home_settings")) return;
-
- v = E_NEW(E_Config_Dialog_View, 1);
- v->create_cfdata = _il_home_config_create;
- v->free_cfdata = _il_home_config_free;
- v->basic.create_widgets = _il_home_config_ui;
- v->basic_only = 1;
- v->normal_win = 1;
- v->scroll = 1;
-
- cfd = e_config_dialog_new(con, _("Home Settings"), "E",
- "_config_illume_home_settings",
- "enlightenment/launcher_settings", 0, v, NULL);
- e_dialog_resizable_set(cfd->dia, 1);
- il_home_cfg->cfd = cfd;
-}
-
-/* local functions */
-static void *
-_il_home_config_create(E_Config_Dialog *cfd)
-{
- return NULL;
-}
-
-static void
-_il_home_config_free(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata)
-{
- il_home_cfg->cfd = NULL;
- il_home_win_cfg_update();
-}
-
-static Evas_Object *
-_il_home_config_ui(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cfdata)
-{
- Evas_Object *list, *of, *o;
- E_Radio_Group *rg;
-
- list = e_widget_list_add(evas, 0, 0);
-
- of = e_widget_framelist_add(evas, _("Icon Size"), 0);
- rg = e_widget_radio_group_new(&(il_home_cfg->icon_size));
- o = e_widget_radio_add(evas, _("Small"), 60, rg);
- e_widget_framelist_object_append(of, o);
- evas_object_smart_callback_add(o, "changed", _il_home_config_changed, NULL);
- o = e_widget_radio_add(evas, _("Medium"), 80, rg);
- e_widget_framelist_object_append(of, o);
- evas_object_smart_callback_add(o, "changed", _il_home_config_changed, NULL);
- o = e_widget_radio_add(evas, _("Large"), 120, rg);
- e_widget_framelist_object_append(of, o);
- evas_object_smart_callback_add(o, "changed", _il_home_config_changed, NULL);
- o = e_widget_radio_add(evas, _("Very Large"), 160, rg);
- e_widget_framelist_object_append(of, o);
- evas_object_smart_callback_add(o, "changed", _il_home_config_changed, NULL);
- o = e_widget_radio_add(evas, _("Massive"), 240, rg);
- e_widget_framelist_object_append(of, o);
- evas_object_smart_callback_add(o, "changed", _il_home_config_changed, NULL);
- e_widget_list_object_append(list, of, 1, 0, 0.0);
-
- of = e_widget_framelist_add(evas, _("Launch Action"), 0);
- o = e_widget_check_add(evas, _("Single press"),
- &(il_home_cfg->single_click));
- e_widget_framelist_object_append(of, o);
- evas_object_smart_callback_add(o, "changed",
- _il_home_config_click_changed, NULL);
- o = e_widget_label_add(evas, _("Press Delay"));
- delay_label = o;
- e_widget_disabled_set(o, !(il_home_cfg->single_click));
- e_widget_framelist_object_append(of, o);
- o = e_widget_slider_add(evas, 1, 0, "%1.0f ms", 0, 350, 1, 0, NULL,
- &(il_home_cfg->single_click_delay), 150);
- delay_slider = o;
- /* Slider does not emit a changed signal */
-// evas_object_smart_callback_add(o, "changed",
-// _il_home_config_changed, NULL);
- e_widget_disabled_set(o, !(il_home_cfg->single_click));
- e_widget_framelist_object_append(of, o);
- e_widget_list_object_append(list, of, 1, 0, 0.0);
-
- return list;
-}
-
-static void
-_il_home_config_changed(void *data, Evas_Object *obj, void *event)
-{
- if (_il_home_config_change_timer)
- ecore_timer_del(_il_home_config_change_timer);
- _il_home_config_change_timer =
- ecore_timer_add(0.5, _il_home_config_change_timeout, data);
-}
-
-static void
-_il_home_config_click_changed(void *data, Evas_Object *obj, void *event)
-{
- e_widget_disabled_set(delay_label, !il_home_cfg->single_click);
- e_widget_disabled_set(delay_slider, !il_home_cfg->single_click);
- _il_home_config_changed(data, obj, event);
-}
-
-static int
-_il_home_config_change_timeout(void *data)
-{
- il_home_win_cfg_update();
- e_config_save_queue();
- _il_home_config_change_timer = NULL;
- return 0;
-}
diff --git a/src/modules/illume-home/e_mod_config.h b/src/modules/illume-home/e_mod_config.h
deleted file mode 100644
index b7b04a9ff..000000000
--- a/src/modules/illume-home/e_mod_config.h
+++ /dev/null
@@ -1,27 +0,0 @@
-#ifndef E_MOD_CONFIG_H
-#define E_MOD_CONFIG_H
-
-#define IL_CONFIG_MIN 0
-#define IL_CONFIG_MAJ 0
-
-typedef struct _Il_Home_Config Il_Home_Config;
-
-struct _Il_Home_Config
-{
- int version;
- int mode, icon_size;
- int single_click, single_click_delay;
-
- // Not User Configurable. Placeholders
- const char *mod_dir;
- E_Config_Dialog *cfd;
-};
-
-int il_home_config_init(E_Module *m);
-int il_home_config_shutdown(void);
-int il_home_config_save(void);
-void il_home_config_show(E_Container *con, const char *params);
-
-extern EAPI Il_Home_Config *il_home_cfg;
-
-#endif
diff --git a/src/modules/illume-home/e_mod_main.c b/src/modules/illume-home/e_mod_main.c
deleted file mode 100644
index 20f2935e6..000000000
--- a/src/modules/illume-home/e_mod_main.c
+++ /dev/null
@@ -1,903 +0,0 @@
-#include "e.h"
-#include "e_mod_main.h"
-#include "e_mod_config.h"
-#include "e_busycover.h"
-
-#define IL_HOME_WIN_TYPE 0xE0b0102f
-
-/* local structures */
-typedef struct _Instance Instance;
-typedef struct _Il_Home_Win Il_Home_Win;
-typedef struct _Il_Home_Exec Il_Home_Exec;
-
-struct _Instance
-{
- E_Gadcon_Client *gcc;
- Evas_Object *o_btn;
- Eina_List *wins, *handlers;
-};
-
-struct _Il_Home_Win
-{
- E_Object e_obj_inherit;
-
- E_Win *win;
- Evas_Object *o_bg, *o_sf, *o_fm, *o_cover;
- E_Busycover *cover;
- E_Zone *zone;
-};
-
-struct _Il_Home_Exec
-{
- E_Busycover *cover;
- Efreet_Desktop *desktop;
- Ecore_Exe *exec;
- E_Border *border;
- E_Zone *zone;
- Ecore_Timer *timeout;
- int startup_id;
- pid_t pid;
- void *handle;
-};
-
-/* local function prototypes */
-static E_Gadcon_Client *_gc_init(E_Gadcon *gc, const char *name, const char *id, const char *style);
-static void _gc_shutdown(E_Gadcon_Client *gcc);
-static void _gc_orient(E_Gadcon_Client *gcc, E_Gadcon_Orient orient);
-static char *_gc_label(E_Gadcon_Client_Class *cc);
-static Evas_Object *_gc_icon(E_Gadcon_Client_Class *cc, Evas *evas);
-static const char *_gc_id_new(E_Gadcon_Client_Class *cc);
-static void _il_home_btn_cb_click(void *data, void *data2);
-static void _il_home_win_new(Instance *inst);
-static void _il_home_win_cb_free(Il_Home_Win *hwin);
-static void _il_home_win_cb_resize(E_Win *win);
-static void _il_home_pan_set(Evas_Object *obj, Evas_Coord x, Evas_Coord y);
-static void _il_home_pan_get(Evas_Object *obj, Evas_Coord *x, Evas_Coord *y);
-static void _il_home_pan_max_get(Evas_Object *obj, Evas_Coord *x, Evas_Coord *y);
-static void _il_home_pan_child_size_get(Evas_Object *obj, Evas_Coord *w, Evas_Coord *h);
-static void _il_home_cb_selected(void *data, Evas_Object *obj, void *event);
-static void _il_home_desktop_run(Il_Home_Win *hwin, Efreet_Desktop *desktop);
-static void _il_home_apps_populate(void);
-static void _il_home_apps_unpopulate(void);
-static void _il_home_fmc_set(Evas_Object *obj);
-static void _il_home_desks_populate(void);
-static int _il_home_desktop_list_change(void *data, int type, void *event);
-static int _il_home_desktop_change(void *data, int type, void *event);
-static int _il_home_update_deferred(void *data);
-static int _il_home_win_cb_exe_del(void *data, int type, void *event);
-static E_Border *_il_home_desktop_find_border(E_Zone *zone, Efreet_Desktop *desktop);
-static int _il_home_win_cb_timeout(void *data);
-static int _il_home_border_add(void *data, int type, void *event);
-static int _il_home_border_remove(void *data, int type, void *event);
-static int _il_home_cb_client_message(void *data, int type, void *event);
-static int _il_home_cb_prop_change(void *data, int type, void *event);
-
-/* local variables */
-static Eina_List *instances = NULL;
-static Eina_List *desks = NULL;
-static Eina_List *handlers = NULL;
-static Eina_List *exes = NULL;
-static Ecore_Timer *defer = NULL;
-
-static const E_Gadcon_Client_Class _gc_class =
-{
- GADCON_CLIENT_CLASS_VERSION, "illume-home",
- { _gc_init, _gc_shutdown, _gc_orient, _gc_label, _gc_icon, _gc_id_new, NULL,
- e_gadcon_site_is_not_toolbar
- }, E_GADCON_CLIENT_STYLE_PLAIN
-};
-
-/* public functions */
-EAPI E_Module_Api e_modapi = { E_MODULE_API_VERSION, "Illume Home" };
-
-EAPI void *
-e_modapi_init(E_Module *m)
-{
- if (!il_home_config_init(m)) return NULL;
-
- _il_home_apps_unpopulate();
- _il_home_apps_populate();
-
- handlers =
- eina_list_append(handlers,
- ecore_event_handler_add(EFREET_EVENT_DESKTOP_LIST_CHANGE,
- _il_home_desktop_list_change,
- NULL));
- handlers =
- eina_list_append(handlers,
- ecore_event_handler_add(EFREET_EVENT_DESKTOP_CHANGE,
- _il_home_desktop_change, NULL));
-
- handlers =
- eina_list_append(handlers,
- ecore_event_handler_add(E_EVENT_BORDER_ADD,
- _il_home_border_add, NULL));
- handlers =
- eina_list_append(handlers,
- ecore_event_handler_add(E_EVENT_BORDER_REMOVE,
- _il_home_border_remove, NULL));
-
- handlers =
- eina_list_append(handlers,
- ecore_event_handler_add(ECORE_EXE_EVENT_DEL,
- _il_home_win_cb_exe_del, NULL));
-
- e_gadcon_provider_register(&_gc_class);
- return m;
-}
-
-EAPI int
-e_modapi_shutdown(E_Module *m)
-{
- Ecore_Event_Handler *handle;
- Il_Home_Exec *exe;
-
- EINA_LIST_FREE(exes, exe)
- {
- if (exe->exec)
- {
- ecore_exe_terminate(exe->exec);
- ecore_exe_free(exe->exec);
- exe->exec = NULL;
- }
- if (exe->handle)
- {
- e_busycover_pop(exe->cover, exe->handle);
- exe->handle = NULL;
- }
- if (exe->timeout) ecore_timer_del(exe->timeout);
- E_FREE(exe);
- }
-
- _il_home_apps_unpopulate();
-
- EINA_LIST_FREE(handlers, handle)
- ecore_event_handler_del(handle);
-
- e_gadcon_provider_unregister(&_gc_class);
-
- il_home_config_shutdown();
- return 1;
-}
-
-EAPI int
-e_modapi_save(E_Module *m)
-{
- return il_home_config_save();
-}
-
-void
-il_home_win_cfg_update(void)
-{
- _il_home_apps_unpopulate();
- _il_home_apps_populate();
-}
-
-/* local functions */
-static E_Gadcon_Client *
-_gc_init(E_Gadcon *gc, const char *name, const char *id, const char *style)
-{
- Instance *inst;
- Evas_Object *icon;
- Ecore_X_Window xwin;
- Ecore_X_Illume_Mode mode;
- char buff[PATH_MAX];
-
- snprintf(buff, sizeof(buff), "%s/e-module-illume-home.edj",
- il_home_cfg->mod_dir);
-
- inst = E_NEW(Instance, 1);
- inst->o_btn = e_widget_button_add(gc->evas, NULL, NULL,
- _il_home_btn_cb_click, inst, NULL);
- icon = e_icon_add(evas_object_evas_get(inst->o_btn));
- e_icon_file_edje_set(icon, buff, "icon");
- e_widget_button_icon_set(inst->o_btn, icon);
-
- inst->gcc = e_gadcon_client_new(gc, name, id, style, inst->o_btn);
- inst->gcc->data = inst;
-
- _il_home_win_new(inst);
-
- xwin = inst->gcc->gadcon->zone->black_win;
- mode = ecore_x_e_illume_mode_get(xwin);
- if (mode > ECORE_X_ILLUME_MODE_SINGLE)
- _il_home_win_new(inst);
-
- inst->handlers =
- eina_list_append(inst->handlers,
- ecore_event_handler_add(ECORE_X_EVENT_CLIENT_MESSAGE,
- _il_home_cb_client_message, inst));
- inst->handlers =
- eina_list_append(inst->handlers,
- ecore_event_handler_add(ECORE_X_EVENT_WINDOW_PROPERTY,
- _il_home_cb_prop_change, inst));
-
- instances = eina_list_append(instances, inst);
- return inst->gcc;
-}
-
-static void
-_gc_shutdown(E_Gadcon_Client *gcc)
-{
- Instance *inst;
- Il_Home_Win *hwin;
- Ecore_Event_Handler *hdl;
-
- if (!(inst = gcc->data)) return;
-
- instances = eina_list_remove(instances, inst);
-
- EINA_LIST_FREE(inst->handlers, hdl)
- ecore_event_handler_del(hdl);
-
- if (inst->o_btn) evas_object_del(inst->o_btn);
-
- EINA_LIST_FREE(inst->wins, hwin)
- e_object_del(E_OBJECT(hwin));
-
- E_FREE(inst);
-}
-
-static void
-_gc_orient(E_Gadcon_Client *gcc, E_Gadcon_Orient orient)
-{
- e_gadcon_client_aspect_set(gcc, 16, 16);
- e_gadcon_client_min_size_set(gcc, 16, 16);
-}
-
-static char *
-_gc_label(E_Gadcon_Client_Class *cc)
-{
- return _("Illume-Home");
-}
-
-static Evas_Object *
-_gc_icon(E_Gadcon_Client_Class *cc, Evas *evas)
-{
- Evas_Object *o;
- char buff[PATH_MAX];
-
- snprintf(buff, sizeof(buff), "%s/e-module-illume-home.edj",
- il_home_cfg->mod_dir);
- o = edje_object_add(evas);
- edje_object_file_set(o, buff, "icon");
- return o;
-}
-
-static const char *
-_gc_id_new(E_Gadcon_Client_Class *cc)
-{
- char buff[PATH_MAX];
-
- snprintf(buff, sizeof(buff), "%s.%d", _gc_class.name,
- eina_list_count(instances));
- return strdup(buff);
-}
-
-static void
-_il_home_btn_cb_click(void *data, void *data2)
-{
- Instance *inst;
-
- if (!(inst = data)) return;
-
- /* if there are less than 2 home windows, create a new one */
- if (eina_list_count(inst->wins) < 2)
- _il_home_win_new(inst);
- else
- {
- E_Zone *zone;
-
- zone = inst->gcc->gadcon->zone;
-
- /* already 2 home windows, so tell illume to focus one */
- ecore_x_e_illume_focus_home_send(zone->black_win);
- }
-}
-
-static void
-_il_home_win_new(Instance *inst)
-{
- Il_Home_Win *hwin;
- E_Zone *zone;
- char buff[PATH_MAX];
-
- if (!inst) return;
-
- hwin = E_OBJECT_ALLOC(Il_Home_Win, IL_HOME_WIN_TYPE,
- _il_home_win_cb_free);
- if (!hwin) return;
- inst->wins = eina_list_append(inst->wins, hwin);
-
- zone = inst->gcc->gadcon->zone;
- hwin->zone = zone;
-
- hwin->win = e_win_new(zone->container);
- if (!hwin->win)
- {
- e_object_del(E_OBJECT(hwin));
- return;
- }
- hwin->win->data = inst;
- e_win_title_set(hwin->win, _("Illume Home"));
- e_win_name_class_set(hwin->win, "Illume-Home", "Illume-Home");
- e_win_resize_callback_set(hwin->win, _il_home_win_cb_resize);
- e_win_no_remember_set(hwin->win, EINA_TRUE);
-
- /* don't accept focus */
- ecore_x_icccm_hints_set(hwin->win->evas_win, 0, 0, 0, 0, 0, 0, 0);
-
- snprintf(buff, sizeof(buff), "%s/e-module-illume-home.edj",
- il_home_cfg->mod_dir);
-
- hwin->o_bg = edje_object_add(e_win_evas_get(hwin->win));
- if (!e_theme_edje_object_set(hwin->o_bg,
- "base/theme/modules/illume-home",
- "modules/illume-home/window"))
- edje_object_file_set(hwin->o_bg, buff, "modules/illume-home/window");
- evas_object_move(hwin->o_bg, 0, 0);
- evas_object_show(hwin->o_bg);
-
- hwin->o_sf = e_scrollframe_add(e_win_evas_get(hwin->win));
- e_scrollframe_single_dir_set(hwin->o_sf, 1);
- evas_object_move(hwin->o_sf, 0, 0);
- evas_object_show(hwin->o_sf);
-
- e_scrollframe_custom_edje_file_set(hwin->o_sf, buff,
- "modules/illume-home/launcher/scrollview");
-
- hwin->o_fm = e_fm2_add(e_win_evas_get(hwin->win));
- _il_home_fmc_set(hwin->o_fm);
- evas_object_show(hwin->o_fm);
- e_user_dir_concat_static(buff, "appshadow");
- e_fm2_path_set(hwin->o_fm, NULL, buff);
-
- e_fm2_window_object_set(hwin->o_fm, E_OBJECT(hwin->win));
-
- e_scrollframe_extern_pan_set(hwin->o_sf, hwin->o_fm,
- _il_home_pan_set,
- _il_home_pan_get,
- _il_home_pan_max_get,
- _il_home_pan_child_size_get);
- evas_object_propagate_events_set(hwin->o_fm, 0);
- evas_object_smart_callback_add(hwin->o_fm, "selected",
- _il_home_cb_selected, hwin);
-
- hwin->cover = e_busycover_new(hwin->win);
-
- e_win_move_resize(hwin->win, zone->x, zone->y, zone->w, (zone->h / 2));
- e_win_show(hwin->win);
-
- e_border_zone_set(hwin->win->border, zone);
-
- if (hwin->win->evas_win)
- e_drop_xdnd_register_set(hwin->win->evas_win, 1);
-}
-
-static void
-_il_home_win_cb_free(Il_Home_Win *hwin)
-{
- if (hwin->win->evas_win)
- e_drop_xdnd_register_set(hwin->win->evas_win, 0);
-
- if (hwin->cover) e_object_del(E_OBJECT(hwin->cover));
- hwin->cover = NULL;
-
- if (hwin->o_bg) evas_object_del(hwin->o_bg);
- hwin->o_bg = NULL;
- if (hwin->o_sf) evas_object_del(hwin->o_sf);
- hwin->o_sf = NULL;
- if (hwin->o_fm) evas_object_del(hwin->o_fm);
- hwin->o_fm = NULL;
-
- if (hwin->win) e_object_del(E_OBJECT(hwin->win));
- hwin->win = NULL;
-}
-
-static void
-_il_home_win_cb_resize(E_Win *win)
-{
- Instance *inst;
- Il_Home_Win *hwin;
- Eina_List *l;
-
- if (!(inst = win->data)) return;
- EINA_LIST_FOREACH(inst->wins, l, hwin)
- {
- if (hwin->win != win)
- {
- hwin = NULL;
- continue;
- }
- else break;
- }
- if (!hwin) return;
-
- if (hwin->o_bg) evas_object_resize(hwin->o_bg, win->w, win->h);
- if (hwin->o_sf) evas_object_resize(hwin->o_sf, win->w, win->h);
- if (hwin->cover) e_busycover_resize(hwin->cover, win->w, win->h);
-}
-
-static void
-_il_home_pan_set(Evas_Object *obj, Evas_Coord x, Evas_Coord y)
-{
- e_fm2_pan_set(obj, x, y);
-}
-
-static void
-_il_home_pan_get(Evas_Object *obj, Evas_Coord *x, Evas_Coord *y)
-{
- e_fm2_pan_get(obj, x, y);
-}
-
-static void
-_il_home_pan_max_get(Evas_Object *obj, Evas_Coord *x, Evas_Coord *y)
-{
- e_fm2_pan_max_get(obj, x, y);
-}
-
-static void
-_il_home_pan_child_size_get(Evas_Object *obj, Evas_Coord *w, Evas_Coord *h)
-{
- e_fm2_pan_child_size_get(obj, w, h);
-}
-
-static void
-_il_home_cb_selected(void *data, Evas_Object *obj, void *event)
-{
- Il_Home_Win *hwin;
- Eina_List *selected;
- E_Fm2_Icon_Info *ici;
-
- if (!(hwin = data)) return;
- if (!(selected = e_fm2_selected_list_get(hwin->o_fm))) return;
- EINA_LIST_FREE(selected, ici)
- {
- Efreet_Desktop *desktop;
-
- if (ici)
- {
- if (ici->real_link)
- {
- desktop = efreet_desktop_get(ici->real_link);
- if (desktop)
- _il_home_desktop_run(hwin, desktop);
- }
- }
- }
-}
-
-static void
-_il_home_desktop_run(Il_Home_Win *hwin, Efreet_Desktop *desktop)
-{
- E_Exec_Instance *eins;
- Il_Home_Exec *exe;
- Eina_List *l;
- E_Border *b;
- char buff[PATH_MAX];
-
- if ((!desktop) || (!desktop->exec)) return;
-
- EINA_LIST_FOREACH(exes, l, exe)
- {
- if (exe->desktop == desktop)
- {
- if ((exe->border) &&
- (exe->border->zone == hwin->win->border->zone))
- {
- e_border_uniconify(exe->border);
- e_border_show(exe->border);
- e_border_raise(exe->border);
- e_border_focus_set(exe->border, 1, 1);
- return;
- }
- }
- }
-
- b = _il_home_desktop_find_border(hwin->win->border->zone, desktop);
- if (b)
- {
- e_border_uniconify(b);
- e_border_show(b);
- e_border_raise(b);
- e_border_focus_set(b, 1, 1);
- return;
- }
-
- exe = E_NEW(Il_Home_Exec, 1);
- if (!exe) return;
- exe->cover = hwin->cover;
-
- eins = e_exec(hwin->win->border->zone, desktop, NULL, NULL, "illume-home");
- exe->desktop = desktop;
- exe->zone = hwin->win->border->zone;
- if (eins)
- {
- exe->exec = eins->exe;
- exe->startup_id = eins->startup_id;
- if (eins->exe)
- exe->pid = ecore_exe_pid_get(eins->exe);
- }
-
- exe->timeout = ecore_timer_add(20.0, _il_home_win_cb_timeout, exe);
- snprintf(buff, sizeof(buff), "Starting %s", desktop->name);
- exe->handle = e_busycover_push(hwin->cover, buff, NULL);
- exes = eina_list_append(exes, exe);
-}
-
-static void
-_il_home_apps_populate(void)
-{
- Eina_List *l, *ll;
- Instance *inst;
- char buff[PATH_MAX];
-
- e_user_dir_concat_static(buff, "appshadow");
- ecore_file_mkpath(buff);
-
- _il_home_desks_populate();
-
- EINA_LIST_FOREACH(instances, l, inst)
- {
- Il_Home_Win *hwin;
-
- EINA_LIST_FOREACH(inst->wins, ll, hwin)
- {
- if (!hwin) continue;
- _il_home_fmc_set(hwin->o_fm);
- e_fm2_path_set(hwin->o_fm, NULL, buff);
- }
- }
-}
-
-static void
-_il_home_apps_unpopulate(void)
-{
- Efreet_Desktop *desktop;
- Eina_List *files;
- char buff[PATH_MAX], *file;
- size_t len;
-
- EINA_LIST_FREE(desks, desktop)
- efreet_desktop_free(desktop);
-
- len = e_user_dir_concat_static(buff, "appshadow");
- if ((len + 2) >= sizeof(buff)) return;
-
- files = ecore_file_ls(buff);
- buff[len] = '/';
- len++;
-
- EINA_LIST_FREE(files, file)
- {
- if (eina_strlcpy(buff + len, file, sizeof(buff) - len) >= sizeof(buff) - len)
- continue;
- ecore_file_unlink(buff);
- free(file);
- }
-}
-
-static void
-_il_home_fmc_set(Evas_Object *obj)
-{
- E_Fm2_Config fmc;
-
- if (!obj) return;
- memset(&fmc, 0, sizeof(E_Fm2_Config));
- fmc.view.mode = E_FM2_VIEW_MODE_GRID_ICONS;
- fmc.view.open_dirs_in_place = 1;
- fmc.view.selector = 0;
- fmc.view.single_click = il_home_cfg->single_click;
- fmc.view.single_click_delay = il_home_cfg->single_click_delay;
- fmc.view.no_subdir_jump = 1;
- fmc.icon.extension.show = 0;
- fmc.icon.icon.w = il_home_cfg->icon_size * e_scale / 2.0;
- fmc.icon.icon.h = il_home_cfg->icon_size * e_scale / 2.0;
- fmc.icon.fixed.w = il_home_cfg->icon_size * e_scale / 2.0;
- fmc.icon.fixed.h = il_home_cfg->icon_size * e_scale / 2.0;
- fmc.list.sort.no_case = 0;
- fmc.list.sort.dirs.first = 1;
- fmc.list.sort.dirs.last = 0;
- fmc.selection.single = 1;
- fmc.selection.windows_modifiers = 0;
- e_fm2_config_set(obj, &fmc);
-}
-
-static void
-_il_home_desks_populate(void)
-{
- Efreet_Menu *menu;
-
- menu = efreet_menu_get();
- if (menu)
- {
- Eina_List *l, *ll;
- Efreet_Menu *entry, *subentry;
- Eina_List *settings, *sys, *kbd;
- int num = 0;
-
- settings = efreet_util_desktop_category_list("Settings");
- sys = efreet_util_desktop_category_list("System");
- kbd = efreet_util_desktop_category_list("Keyboard");
- EINA_LIST_FOREACH(menu->entries, l, entry)
- {
- if (entry->type != EFREET_MENU_ENTRY_MENU) continue;
- EINA_LIST_FOREACH(entry->entries, ll, subentry)
- {
- Efreet_Desktop *desktop;
-
- if (subentry->type != EFREET_MENU_ENTRY_DESKTOP) continue;
- if (!(desktop = subentry->desktop)) continue;
- if ((settings) && (sys) &&
- (eina_list_data_find(settings, desktop)) &&
- (eina_list_data_find(sys, desktop))) continue;
- if ((kbd) && (eina_list_data_find(kbd, desktop)))
- continue;
- if (!desktop) continue;
- desks = eina_list_append(desks, desktop);
- efreet_desktop_ref(desktop);
- if (desktop)
- {
- char buff[PATH_MAX];
-
- e_user_dir_snprintf(buff, sizeof(buff),
- "appshadow/%04x.desktop", num);
- ecore_file_symlink(desktop->orig_path, buff);
- }
- num++;
- }
- }
- }
-}
-
-static int
-_il_home_desktop_list_change(void *data, int type, void *event)
-{
- if (defer) ecore_timer_del(defer);
- defer = ecore_timer_add(1.0, _il_home_update_deferred, NULL);
- return 1;
-}
-
-static int
-_il_home_desktop_change(void *data, int type, void *event)
-{
- if (defer) ecore_timer_del(defer);
- defer = ecore_timer_add(1.0, _il_home_update_deferred, NULL);
- return 1;
-}
-
-static int
-_il_home_update_deferred(void *data)
-{
- _il_home_apps_unpopulate();
- _il_home_apps_populate();
- defer = NULL;
- return 0;
-}
-
-static int
-_il_home_win_cb_exe_del(void *data, int type, void *event)
-{
- Il_Home_Exec *exe;
- Ecore_Exe_Event_Del *ev;
- Eina_List *l;
-
- ev = event;
- EINA_LIST_FOREACH(exes, l, exe)
- {
- if (exe->pid == ev->pid)
- {
- if (exe->handle)
- {
- e_busycover_pop(exe->cover, exe->handle);
- exe->handle = NULL;
- }
- exes = eina_list_remove_list(exes, l);
- if (exe->timeout) ecore_timer_del(exe->timeout);
- E_FREE(exe);
- return 1;
- }
- }
- return 1;
-}
-
-static E_Border *
-_il_home_desktop_find_border(E_Zone *zone, Efreet_Desktop *desktop)
-{
- Eina_List *l;
- E_Border *bd;
- char *exe = NULL, *p;
-
- if (!desktop) return NULL;
- if (!desktop->exec) return NULL;
- p = strchr(desktop->exec, ' ');
- if (!p)
- exe = strdup(desktop->exec);
- else
- {
- exe = malloc(p - desktop->exec + 1);
- memset(exe, 0, sizeof(exe));
- if (exe) eina_strlcpy(exe, desktop->exec, p - desktop->exec + 1);
- }
- if (exe)
- {
- p = strrchr(exe, '/');
- if (p) strcpy(exe, p + 1);
- }
-
- EINA_LIST_FOREACH(e_border_client_list(), l, bd)
- {
- if (bd->zone != zone) continue;
- if (e_exec_startup_id_pid_find(bd->client.netwm.pid,
- bd->client.netwm.startup_id) == desktop)
- {
- if (exe) free(exe);
- return bd;
- }
- if (exe)
- {
- if (bd->client.icccm.command.argv)
- {
- char *pp;
-
- pp = strrchr(bd->client.icccm.command.argv[0], '/');
- if (!pp) pp = bd->client.icccm.command.argv[0];
- if (!strcmp(exe, pp))
- {
- free(exe);
- return bd;
- }
- }
- if ((bd->client.icccm.name) &&
- (!strcasecmp(bd->client.icccm.name, exe)))
- {
- free(exe);
- return bd;
- }
- }
- }
- if (exe) free(exe);
- return NULL;
-}
-
-static int
-_il_home_win_cb_timeout(void *data)
-{
- Il_Home_Exec *exe;
-
- if (!(exe = data)) return 1;
-
- if (exe->handle) e_busycover_pop(exe->cover, exe->handle);
- exe->handle = NULL;
-
- if (!exe->border)
- {
- exes = eina_list_remove(exes, exe);
- E_FREE(exe);
- return 0;
- }
- exe->timeout = NULL;
- return 0;
-}
-
-static int
-_il_home_border_add(void *data, int type, void *event)
-{
- E_Event_Border_Add *ev;
- Il_Home_Exec *exe;
- Eina_List *l;
-
- ev = event;
- EINA_LIST_FOREACH(exes, l, exe)
- {
- if (!exe->border)
- {
- if ((exe->startup_id == ev->border->client.netwm.startup_id) ||
- (exe->pid == ev->border->client.netwm.pid))
- {
- exe->border = ev->border;
- }
- }
- if (!exe->border) continue;
- if (exe->border->zone != exe->zone)
- {
- exe->border->zone = exe->zone;
- exe->border->x = exe->zone->x;
- exe->border->y = exe->zone->y;
- exe->border->changes.pos = 1;
- exe->border->changed = 1;
- }
- if (exe->handle)
- {
- e_busycover_pop(exe->cover, exe->handle);
- exe->handle = NULL;
- }
- if (exe->timeout) ecore_timer_del(exe->timeout);
- exe->timeout = NULL;
- }
- return 1;
-}
-
-static int
-_il_home_border_remove(void *data, int type, void *event)
-{
- E_Event_Border_Remove *ev;
- Il_Home_Exec *exe;
- Eina_List *l;
-
- ev = event;
- EINA_LIST_FOREACH(exes, l, exe)
- {
- if (exe->border == ev->border)
- {
- if (exe->exec) ecore_exe_free(exe->exec);
- exe->exec = NULL;
- if (exe->handle) e_busycover_pop(exe->cover, exe->handle);
- exe->handle = NULL;
- exe->border = NULL;
- break;
- }
- }
- return 1;
-}
-
-static int
-_il_home_cb_client_message(void *data, int type, void *event)
-{
- Ecore_X_Event_Client_Message *ev;
- Instance *inst;
-
- ev = event;
- if (!(inst = data)) return 1;
- if (ev->message_type == ECORE_X_ATOM_E_ILLUME_HOME_NEW)
- {
- E_Zone *zone;
-
- zone = inst->gcc->gadcon->zone;
- if (zone->black_win != ev->win) return 1;
- _il_home_win_new(inst);
- }
- else if (ev->message_type == ECORE_X_ATOM_E_ILLUME_HOME_DEL)
- {
- E_Border *bd;
- Eina_List *l;
- Il_Home_Win *hwin;
-
- if (!(bd = e_border_find_by_client_window(ev->win))) return 1;
- EINA_LIST_FOREACH(inst->wins, l, hwin)
- {
- if (hwin->win->border == bd)
- {
- inst->wins = eina_list_remove_list(inst->wins, inst->wins);
- e_object_del(E_OBJECT(hwin));
- break;
- }
- }
- }
-
- return 1;
-}
-
-static int
-_il_home_cb_prop_change(void *data, int type, void *event)
-{
- Instance *inst;
- Ecore_X_Event_Window_Property *ev;
- Eina_List *l;
- Il_Home_Win *hwin;
-
- ev = event;
- if (!(inst = data)) return 1;
-// if (ev->win != ecore_x_window_root_first_get()) return 1;
- if (strcmp(ecore_x_atom_name_get(ev->atom), "ENLIGHTENMENT_SCALE"))
- return 1;
-
- EINA_LIST_FOREACH(inst->wins, l, hwin)
- if (hwin->o_fm)
- {
- _il_home_fmc_set(hwin->o_fm);
- e_fm2_refresh(hwin->o_fm);
- }
-
- return 1;
-}
diff --git a/src/modules/illume-home/e_mod_main.h b/src/modules/illume-home/e_mod_main.h
deleted file mode 100644
index 04c4f9724..000000000
--- a/src/modules/illume-home/e_mod_main.h
+++ /dev/null
@@ -1,12 +0,0 @@
-#ifndef E_MOD_MAIN_H
-#define E_MOD_MAIN_H
-
-EAPI extern E_Module_Api e_modapi;
-
-EAPI void *e_modapi_init(E_Module *m);
-EAPI int e_modapi_shutdown(E_Module *m);
-EAPI int e_modapi_save(E_Module *m);
-
-void il_home_win_cfg_update(void);
-
-#endif
diff --git a/src/modules/illume-home/module.desktop.in b/src/modules/illume-home/module.desktop.in
deleted file mode 100644
index c5e5ce227..000000000
--- a/src/modules/illume-home/module.desktop.in
+++ /dev/null
@@ -1,8 +0,0 @@
-[Desktop Entry]
-Type=Link
-Name=Illume-Home
-Icon=e-module-illume-home
-X-Enlightenment-ModuleType=system
-Comment=
Illume Home for Embedded
-Comment[fr]=Illume pour l'embarqué – Home
-Comment[it]=Illume per sistemi embedded – modulo Home
diff --git a/src/modules/illume-indicator/e_mod_main.c b/src/modules/illume-indicator/e_mod_main.c
deleted file mode 100644
index c825207ed..000000000
--- a/src/modules/illume-indicator/e_mod_main.c
+++ /dev/null
@@ -1,72 +0,0 @@
-#include "e.h"
-#include "e_mod_main.h"
-#include "e_mod_ind_win.h"
-
-/* local variables */
-static Eina_List *iwins = NULL;
-
-/* external variables */
-const char *_ind_mod_dir = NULL;
-
-EAPI E_Module_Api e_modapi = { E_MODULE_API_VERSION, "Illume-Indicator" };
-
-EAPI void *
-e_modapi_init(E_Module *m)
-{
- E_Manager *man;
- Eina_List *ml;
-
- /* set module priority so we load before others */
- e_module_priority_set(m, 90);
-
- /* set module directory variable */
- _ind_mod_dir = eina_stringshare_add(m->dir);
-
- /* loop through the managers (root windows) */
- EINA_LIST_FOREACH(e_manager_list(), ml, man)
- {
- E_Container *con;
- Eina_List *cl;
-
- /* loop through containers */
- EINA_LIST_FOREACH(man->containers, cl, con)
- {
- E_Zone *zone;
- Eina_List *zl;
-
- /* for each zone, create an indicator window */
- EINA_LIST_FOREACH(con->zones, zl, zone)
- {
- Ind_Win *iwin;
-
- /* try to create new indicator window */
- if (!(iwin = e_mod_ind_win_new(zone))) continue;
- iwins = eina_list_append(iwins, iwin);
- }
- }
- }
-
- return m;
-}
-
-EAPI int
-e_modapi_shutdown(E_Module *m)
-{
- Ind_Win *iwin;
-
- /* destroy the indicator windows */
- EINA_LIST_FREE(iwins, iwin)
- e_object_del(E_OBJECT(iwin));
-
- /* clear module directory variable */
- if (_ind_mod_dir) eina_stringshare_del(_ind_mod_dir);
- _ind_mod_dir = NULL;
-
- return 1;
-}
-
-EAPI int
-e_modapi_save(E_Module *m)
-{
- return 1;
-}
diff --git a/src/modules/illume-softkey/Makefile.am b/src/modules/illume-softkey/Makefile.am
deleted file mode 100644
index e9b26d9cf..000000000
--- a/src/modules/illume-softkey/Makefile.am
+++ /dev/null
@@ -1,51 +0,0 @@
-MAINTAINERCLEANFILES = Makefile.in
-MODULE = illume-softkey
-SUBDIRS = images
-
-EDJE_CC = @edje_cc@
-EDJE_FLAGS = -v \
- -id $(top_srcdir)/src/modules/$(MODULE)/images \
- @EDJE_DEF@
-
-# data files for the module
-filesdir = $(libdir)/enlightenment/modules/$(MODULE)
-files_DATA = \
- e-module-$(MODULE).edj \
- module.desktop
-
-EXTRA_DIST = \
- e-module-$(MODULE).edc \
- module.desktop.in
-
-# the module .so file
-INCLUDES = -I. \
- -I$(top_srcdir) \
- -I$(top_srcdir)/src/modules/$(MODULE) \
- -I$(top_srcdir)/src/bin \
- -I$(top_srcdir)/src/lib \
- -I$(top_srcdir)/src/modules \
- @e_cflags@
-
-pkgdir = $(libdir)/enlightenment/modules/$(MODULE)/$(MODULE_ARCH)
-pkg_LTLIBRARIES = module.la
-
-module_la_SOURCES = \
- e_mod_sft_win.c \
- e_mod_sft_win.h \
- e_mod_main.c \
- e_mod_main.h
-
-module_la_LIBADD = @e_libs@ @dlopen_libs@
-module_la_LDFLAGS = -module -avoid-version
-module_la_DEPENDENCIES = $(top_builddir)/config.h
-
-e-module-$(MODULE).edj: Makefile $(EXTRA_DIST)
- $(EDJE_CC) $(EDJE_FLAGS) \
- $(top_srcdir)/src/modules/$(MODULE)/e-module-$(MODULE).edc \
- $(top_builddir)/src/modules/$(MODULE)/e-module-$(MODULE).edj
-
-clean-local:
- rm -f *.edj
-
-uninstall:
- rm -rf $(DESTDIR)$(libdir)/enlightenment/modules/$(MODULE)
diff --git a/src/modules/illume-softkey/e-module-illume-softkey.edc b/src/modules/illume-softkey/e-module-illume-softkey.edc
deleted file mode 100644
index 73d4f3ccf..000000000
--- a/src/modules/illume-softkey/e-module-illume-softkey.edc
+++ /dev/null
@@ -1,133 +0,0 @@
-collections
-{
- group
- {
- images.image: "module_icon.png" COMP;
- name: "icon";
- max: 128 128;
- parts
- {
- part
- {
- name: "base";
- mouse_events: 0;
- description
- {
- state: "default" 0.0;
- aspect: 1.0 1.0;
- aspect_preference: BOTH;
- image.normal: "module_icon.png";
- }
- }
- }
- }
- group
- {
- images
- {
- image: "shelf_alt_bg.png" COMP;
- image: "shelf_alt_over.png" COMP;
- image: "shelf_alt_shine.png" COMP;
- }
- name: "modules/illume-softkey/window";
- parts
- {
- part
- {
- name: "base";
- type: IMAGE;
- mouse_events: 0;
- description
- {
- state: "default" 0.0;
- color_class: "shelf_base";
- image.normal: "shelf_alt_bg.png";
- fill.smooth: 0;
- }
- }
- part
- {
- name: "shine";
- type: IMAGE;
- mouse_events: 0;
- description
- {
- state: "default" 0.0;
- image.normal: "shelf_alt_shine.png";
- rel2.relative: 1.0 0.5;
- fill.smooth: 0;
- }
- }
- part
- {
- name: "over";
- type: IMAGE;
- mouse_events: 0;
- description
- {
- state: "default" 0.0;
- image
- {
- normal: "shelf_alt_over.png";
- border: 5 5 5 5;
- middle: 0;
- }
- fill.smooth: 0;
- }
- }
- part
- {
- name: "e.box.extra_buttons";
- type: BOX;
- description
- {
- state: "default" 0.0;
- rel1
- {
- offset: 3 3;
- to: "base";
- }
- rel2
- {
- relative: 0.60 1.0;
- offset: 0 -4;
- to: "base";
- }
- box
- {
- layout: "horizontal";
- padding: 2 0;
- align: 0.0 0.5;
- min: 1 1;
- }
- }
- }
- part
- {
- name: "e.box.buttons";
- type: BOX;
- description
- {
- state: "default" 0.0;
- rel1
- {
- relative: 1.0 0.0;
- to: "e.box.extra_buttons";
- }
- rel2
- {
- offset: -2 -4;
- to: "base";
- }
- box
- {
- layout: "horizontal";
- padding: 2 0;
- align: 1.0 0.5;
- min: 1 1;
- }
- }
- }
- }
- }
-}
diff --git a/src/modules/illume-softkey/e_mod_main.c b/src/modules/illume-softkey/e_mod_main.c
deleted file mode 100644
index 0be948f57..000000000
--- a/src/modules/illume-softkey/e_mod_main.c
+++ /dev/null
@@ -1,76 +0,0 @@
-#include "e.h"
-#include "e_mod_main.h"
-#include "e_mod_sft_win.h"
-
-/* local variables */
-static Eina_List *swins = NULL;
-
-/* external variables */
-const char *_sft_mod_dir = NULL;
-
-EAPI E_Module_Api e_modapi = { E_MODULE_API_VERSION, "Illume-Softkey" };
-
-EAPI void *
-e_modapi_init(E_Module *m)
-{
- E_Manager *man;
- Eina_List *ml;
-
- /* set module priority so we load before others */
- e_module_priority_set(m, 85);
-
- /* set module directory variable */
- _sft_mod_dir = eina_stringshare_add(m->dir);
-
- /* loop through the managers (root windows) */
- EINA_LIST_FOREACH(e_manager_list(), ml, man)
- {
- E_Container *con;
- Eina_List *cl;
-
- /* loop through containers */
- EINA_LIST_FOREACH(man->containers, cl, con)
- {
- E_Zone *zone;
- Eina_List *zl;
-
- /* for each zone, create a softkey window */
- EINA_LIST_FOREACH(con->zones, zl, zone)
- {
- Sft_Win *swin;
-
- /* try to create new softkey window */
- if (!(swin = e_mod_sft_win_new(zone))) continue;
- swins = eina_list_append(swins, swin);
- }
- }
- }
-
- return m;
-}
-
-EAPI int
-e_modapi_shutdown(E_Module *m)
-{
- Sft_Win *swin;
-
- /* destroy the softkey windows */
- EINA_LIST_FREE(swins, swin)
- e_object_del(E_OBJECT(swin));
-
- /* reset softkey geometry for conformant apps */
- ecore_x_e_illume_softkey_geometry_set(ecore_x_window_root_first_get(),
- 0, 0, 0, 0);
-
- /* clear module directory variable */
- if (_sft_mod_dir) eina_stringshare_del(_sft_mod_dir);
- _sft_mod_dir = NULL;
-
- return 1;
-}
-
-EAPI int
-e_modapi_save(E_Module *m)
-{
- return 1;
-}
diff --git a/src/modules/illume-softkey/e_mod_main.h b/src/modules/illume-softkey/e_mod_main.h
deleted file mode 100644
index 78ba22502..000000000
--- a/src/modules/illume-softkey/e_mod_main.h
+++ /dev/null
@@ -1,12 +0,0 @@
-#ifndef E_MOD_MAIN_H
-# define E_MOD_MAIN_H
-
-EAPI extern E_Module_Api e_modapi;
-
-EAPI void *e_modapi_init(E_Module *m);
-EAPI int e_modapi_shutdown(E_Module *m);
-EAPI int e_modapi_save(E_Module *m);
-
-extern const char *_sft_mod_dir;
-
-#endif
diff --git a/src/modules/illume-softkey/e_mod_sft_win.c b/src/modules/illume-softkey/e_mod_sft_win.c
deleted file mode 100644
index 72aec3569..000000000
--- a/src/modules/illume-softkey/e_mod_sft_win.c
+++ /dev/null
@@ -1,333 +0,0 @@
-#include "e.h"
-#include "e_mod_main.h"
-#include "e_mod_sft_win.h"
-
-/* local function prototypes */
-static void _e_mod_sft_win_cb_free(Sft_Win *swin);
-static void _e_mod_sft_win_cb_hook_eval_end(void *data, void *data2);
-static int _e_mod_sft_win_cb_win_prop(void *data, int type __UNUSED__, void *event);
-static int _e_mod_sft_win_cb_client_message(void *data, int type __UNUSED__, void *event);
-static void _e_mod_sft_win_cb_resize(E_Win *win);
-static void _e_mod_sft_win_create_default_buttons(Sft_Win *swin);
-static void _e_mod_sft_win_cb_close(void *data, void *data2 __UNUSED__);
-static void _e_mod_sft_win_cb_back(void *data, void *data2 __UNUSED__);
-
-Sft_Win *
-e_mod_sft_win_new(E_Zone *zone)
-{
- Sft_Win *swin;
- Ecore_X_Window_State states[2];
-
- /* create our new softkey window object */
- swin = E_OBJECT_ALLOC(Sft_Win, SFT_WIN_TYPE, _e_mod_sft_win_cb_free);
- if (!swin) return NULL;
-
- swin->zone = zone;
-
- /* hook into eval so we can set the softkey on the correct zone
- swin->hook = e_border_hook_add(E_BORDER_HOOK_EVAL_END,
- _e_mod_sft_win_cb_hook_eval_end, swin);
-*/
-
- /* hook into property change so we can adjust w/ e_scale */
- swin->scale_hdl =
- ecore_event_handler_add(ECORE_X_EVENT_WINDOW_PROPERTY,
- _e_mod_sft_win_cb_win_prop, swin);
-
- /* hook into client messages
- swin->msg_hdl =
- ecore_event_handler_add(ECORE_X_EVENT_CLIENT_MESSAGE,
- _e_mod_sft_win_cb_client_message, swin);
- */
-
- /* create new window */
- swin->win = e_win_new(zone->container);
- swin->win->data = swin;
-
- /* set some properties on the window */
- e_win_title_set(swin->win, _("Illume Softkey"));
- e_win_name_class_set(swin->win, "Illume-Softkey", "Illume-Softkey");
- e_win_no_remember_set(swin->win, EINA_TRUE);
-
- /* hook into window resize so we can resize our objects */
- e_win_resize_callback_set(swin->win, _e_mod_sft_win_cb_resize);
-
- /* set this window to not show in taskbar or pager */
- states[0] = ECORE_X_WINDOW_STATE_SKIP_TASKBAR;
- states[1] = ECORE_X_WINDOW_STATE_SKIP_PAGER;
- ecore_x_netwm_window_state_set(swin->win->evas_win, states, 2);
-
- /* set this window to not accept or take focus */
- ecore_x_icccm_hints_set(swin->win->evas_win, 0, 0, 0, 0, 0, 0, 0);
-
- /* create our base object */
- swin->o_base = edje_object_add(swin->win->evas);
- if (!e_theme_edje_object_set(swin->o_base,
- "base/theme/modules/illume-softkey",
- "modules/illume-softkey/window"))
- {
- char buff[PATH_MAX];
-
- snprintf(buff, sizeof(buff),
- "%s/e-module-illume-softkey.edj", _sft_mod_dir);
- edje_object_file_set(swin->o_base, buff,
- "modules/illume-softkey/window");
- }
- evas_object_move(swin->o_base, 0, 0);
- evas_object_show(swin->o_base);
-
- /* create default buttons */
- _e_mod_sft_win_create_default_buttons(swin);
-
- /* set minimum size of this window */
- e_win_size_min_set(swin->win, zone->w, (32 * e_scale));
-
- /* position and resize this window */
- e_win_move_resize(swin->win, zone->x, (zone->y + zone->h - (32 * e_scale)),
- zone->w, (32 * e_scale));
-
- /* show the window */
- e_win_show(swin->win);
-
- e_border_zone_set(swin->win->border, zone);
-
- /* set this window to be a dock window. This needs to be done after show
- * as E will sometimes reset the window type */
- ecore_x_netwm_window_type_set(swin->win->evas_win, ECORE_X_WINDOW_TYPE_DOCK);
-
- /* tell conformant apps our position and size */
- ecore_x_e_illume_softkey_geometry_set(zone->black_win,
- zone->x, (zone->h - (32 * e_scale)),
- zone->w, (32 * e_scale));
-
- return swin;
-}
-
-/* local functions */
-static void
-_e_mod_sft_win_cb_free(Sft_Win *swin)
-{
- const Evas_Object *box;
-
- /* delete the message handler */
- if (swin->msg_hdl) ecore_event_handler_del(swin->msg_hdl);
- swin->msg_hdl = NULL;
-
- /* delete the scale handler */
- if (swin->scale_hdl) ecore_event_handler_del(swin->scale_hdl);
- swin->scale_hdl = NULL;
-
- /* delete the border hook */
- if (swin->hook) e_border_hook_del(swin->hook);
- swin->hook = NULL;
-
- if (box = edje_object_part_object_get(swin->o_base, "e.box.buttons"))
- {
- Evas_Object *btn;
-
- /* delete the buttons */
- EINA_LIST_FREE(swin->btns, btn)
- {
- edje_object_part_box_remove(swin->o_base, "e.box.buttons", btn);
- evas_object_del(btn);
- }
- }
- if (box = edje_object_part_object_get(swin->o_base, "e.box.extra_buttons"))
- {
- Evas_Object *btn;
-
- /* delete the buttons */
- EINA_LIST_FREE(swin->extra_btns, btn)
- {
- edje_object_part_box_remove(swin->o_base, "e.box.extra_buttons", btn);
- evas_object_del(btn);
- }
- }
-
- /* delete the objects */
- if (swin->o_base) evas_object_del(swin->o_base);
- swin->o_base = NULL;
-
- /* delete the window */
- if (swin->win) e_object_del(E_OBJECT(swin->win));
- swin->win = NULL;
-
- /* tell conformant apps our position and size */
- ecore_x_e_illume_softkey_geometry_set(swin->zone->black_win, 0, 0, 0, 0);
-
- /* free the allocated object */
- E_FREE(swin);
-}
-
-static void
-_e_mod_sft_win_cb_hook_eval_end(void *data, void *data2)
-{
- Sft_Win *swin;
- E_Border *bd;
-
- if (!(swin = data)) return;
- if (!(bd = data2)) return;
- if (bd != swin->win->border) return;
-
- /* check border position and size */
- if (bd->x != swin->zone->x)
- {
- bd->x = swin->zone->x;
- bd->changes.pos = 1;
- }
- if (bd->y != ((swin->zone->y + swin->zone->h) - bd->h))
- {
- bd->y = ((swin->zone->y + swin->zone->h) - bd->h);
- bd->changes.pos = 1;
- }
- if (bd->w != swin->zone->w)
- {
- bd->w = swin->zone->w;
- bd->changes.size = 1;
- }
- if ((bd->changes.pos) || (bd->changes.size)) bd->changed = 1;
-
- /* if zone is not correct, set it */
- if (bd->zone != swin->zone) e_border_zone_set(bd, swin->zone);
-}
-
-static int
-_e_mod_sft_win_cb_win_prop(void *data, int type __UNUSED__, void *event)
-{
- Sft_Win *swin;
- Ecore_X_Event_Window_Property *ev;
-
- ev = event;
-
- if (!(swin = data)) return 1;
- if (ev->win != ecore_x_window_root_get(swin->win->evas_win)) return 1;
- if (strcmp(ecore_x_atom_name_get(ev->atom), "ENLIGHTENMENT_SCALE")) return 1;
-
- /* set minimum size of this window */
- e_win_size_min_set(swin->win, swin->zone->w, (32 * e_scale));
-
- /* resize this window */
- e_win_resize(swin->win, swin->zone->w, (32 * e_scale));
-
- /* tell conformant apps our position and size */
- ecore_x_e_illume_softkey_geometry_set(swin->zone->black_win,
- swin->win->x, swin->win->y,
- swin->win->w, (32 * e_scale));
- return 1;
-}
-
-static int
-_e_mod_sft_win_cb_client_message(void *data, int type __UNUSED__, void *event)
-{
- Sft_Win *swin;
- Ecore_X_Event_Client_Message *ev;
-
- ev = event;
- if (!(swin = data)) return 1;
- if (ev->win != swin->zone->black_win) return 1;
- return 1;
-}
-
-static void
-_e_mod_sft_win_cb_resize(E_Win *win)
-{
- Sft_Win *swin;
- Evas_Object *btn;
- const Evas_Object *box;
- Eina_List *l;
- int mw, mh;
-
- if (!(swin = win->data)) return;
-
- /* adjust button(s) size for e_scale */
- EINA_LIST_FOREACH(swin->btns, l, btn)
- {
- e_widget_size_min_get(btn, &mw, &mh);
- evas_object_size_hint_min_set(btn, (mw * e_scale), (mh * e_scale));
- evas_object_resize(btn, (mw * e_scale), (mh * e_scale));
- }
-
- /* adjust box size for content */
- if (box = edje_object_part_object_get(swin->o_base, "e.box.buttons"))
- {
- evas_object_size_hint_min_get((Evas_Object *)box, &mw, &mh);
- evas_object_resize((Evas_Object *)box, mw, mh);
- }
-
- mw = mh = 0;
- /* adjust button(s) size for e_scale */
- EINA_LIST_FOREACH(swin->extra_btns, l, btn)
- {
- e_widget_size_min_get(btn, &mw, &mh);
- evas_object_size_hint_min_set(btn, (mw * e_scale), (mh * e_scale));
- evas_object_resize(btn, (mw * e_scale), (mh * e_scale));
- }
-
- /* adjust box size for content */
- if (box = edje_object_part_object_get(swin->o_base, "e.box.extra_buttons"))
- {
- evas_object_size_hint_min_get((Evas_Object *)box, &mw, &mh);
- evas_object_resize((Evas_Object *)box, mw, mh);
- }
-
- /* resize the base object */
- if (swin->o_base) evas_object_resize(swin->o_base, win->w, win->h);
-}
-
-static void
-_e_mod_sft_win_create_default_buttons(Sft_Win *swin)
-{
- Evas_Object *btn;
- int mw, mh;
-
- /* create back button */
- btn = e_widget_button_add(swin->win->evas, _("Back"), "go-previous",
- _e_mod_sft_win_cb_back, swin, NULL);
- e_widget_size_min_get(btn, &mw, &mh);
- evas_object_size_hint_min_set(btn, (mw * e_scale), (mh * e_scale));
-
- /* NB: this show is required when packing e_widgets into an edje box else
- * the widgets do not receive any events */
- evas_object_show(btn);
-
- /* add button to box */
- edje_object_part_box_append(swin->o_base, "e.box.buttons", btn);
-
- /* add button to our list */
- swin->btns = eina_list_append(swin->btns, btn);
-
-
- /* create close button */
- btn = e_widget_button_add(swin->win->evas, _("Close"), "window-close",
- _e_mod_sft_win_cb_close, swin, NULL);
- e_widget_size_min_get(btn, &mw, &mh);
- evas_object_size_hint_min_set(btn, (mw * e_scale), (mh * e_scale));
-
- /* NB: this show is required when packing e_widgets into an edje box else
- * the widgets do not receive any events */
- evas_object_show(btn);
-
- /* add button to box */
- edje_object_part_box_append(swin->o_base, "e.box.buttons", btn);
-
- /* add button to our list */
- swin->btns = eina_list_append(swin->btns, btn);
-}
-
-static void
-_e_mod_sft_win_cb_close(void *data, void *data2 __UNUSED__)
-{
- Sft_Win *swin;
-
- if (!(swin = data)) return;
- ecore_x_e_illume_close_send(swin->zone->black_win);
-}
-
-static void
-_e_mod_sft_win_cb_back(void *data, void *data2 __UNUSED__)
-{
- Sft_Win *swin;
-
- if (!(swin = data)) return;
- ecore_x_e_illume_focus_back_send(swin->zone->black_win);
-}
diff --git a/src/modules/illume-softkey/e_mod_sft_win.h b/src/modules/illume-softkey/e_mod_sft_win.h
deleted file mode 100644
index d481ed1f2..000000000
--- a/src/modules/illume-softkey/e_mod_sft_win.h
+++ /dev/null
@@ -1,24 +0,0 @@
-#ifndef E_MOD_SFT_WIN_H
-# define E_MOD_SFT_WIN_H
-
-/* define softkey window object type */
-# define SFT_WIN_TYPE 0xE1b0784
-
-/* define structure for softkey window */
-typedef struct _Sft_Win Sft_Win;
-struct _Sft_Win
-{
- E_Object e_obj_inherit;
-
- E_Zone *zone;
- E_Border_Hook *hook;
- Ecore_Event_Handler *scale_hdl, *msg_hdl;
-
- E_Win *win;
- Evas_Object *o_base;
- Eina_List *btns, *extra_btns;
-};
-
-Sft_Win *e_mod_sft_win_new(E_Zone *zone);
-
-#endif
diff --git a/src/modules/illume-softkey/images/Makefile.am b/src/modules/illume-softkey/images/Makefile.am
deleted file mode 100644
index e6de6fd76..000000000
--- a/src/modules/illume-softkey/images/Makefile.am
+++ /dev/null
@@ -1,6 +0,0 @@
-MAINTAINERCLEANFILES = Makefile.in
-
-EXTRA_DIST = shelf_alt_bg.png \
- shelf_alt_shine.png \
- module_icon.png \
- shelf_alt_over.png
diff --git a/src/modules/illume-softkey/images/module_icon.png b/src/modules/illume-softkey/images/module_icon.png
deleted file mode 100644
index 82c1b76f3..000000000
Binary files a/src/modules/illume-softkey/images/module_icon.png and /dev/null differ
diff --git a/src/modules/illume-softkey/images/shelf_alt_bg.png b/src/modules/illume-softkey/images/shelf_alt_bg.png
deleted file mode 100644
index 64e2b2c2c..000000000
Binary files a/src/modules/illume-softkey/images/shelf_alt_bg.png and /dev/null differ
diff --git a/src/modules/illume-softkey/images/shelf_alt_over.png b/src/modules/illume-softkey/images/shelf_alt_over.png
deleted file mode 100644
index cef17132f..000000000
Binary files a/src/modules/illume-softkey/images/shelf_alt_over.png and /dev/null differ
diff --git a/src/modules/illume-softkey/images/shelf_alt_shine.png b/src/modules/illume-softkey/images/shelf_alt_shine.png
deleted file mode 100644
index 5c0588d8b..000000000
Binary files a/src/modules/illume-softkey/images/shelf_alt_shine.png and /dev/null differ
diff --git a/src/modules/illume-softkey/module.desktop.in b/src/modules/illume-softkey/module.desktop.in
deleted file mode 100644
index 1ae0e2f08..000000000
--- a/src/modules/illume-softkey/module.desktop.in
+++ /dev/null
@@ -1,6 +0,0 @@
-[Desktop Entry]
-Type=Link
-Name=Illume-Softkey
-Icon=e-module-illume-softkey
-X-Enlightenment-ModuleType=system
-Comment=Illume Softkey for Embedded
diff --git a/src/modules/illume2/e_illume.h b/src/modules/illume2/e_illume.h
deleted file mode 100644
index 4cb8f805b..000000000
--- a/src/modules/illume2/e_illume.h
+++ /dev/null
@@ -1,329 +0,0 @@
-#ifndef E_ILLUME_H
-# define E_ILLUME_H
-
-/* include standard E header */
-# include "e.h"
-
-/**
- * @mainpage Illume
- *
- * @image html e.png
- *
- * @author Christopher Michael
- * @date 2010
- *
- * @section illume_toc_sec Table of contents
- *
- *
- * - @ref illume_intro_sec
- *
- *
- * @section illume_intro_sec Introduction to Illume
- *
- * Illume is a module for Enlightenment that modifies the user interface of
- * enlightenment to work cleanly and nicely on a mobile device - such as an
- * Openmoko phone. It is resolution independent meaning that it can
- * accommodate a very wide range of devices, from cell phones and PDAs to
- * tablets and desktops. Illume has been designed from the ground up to
- * support more than one screen in more than one way (multihead and xinerama).
- *
- * This is a work in progress and as such is subject to change.
- */
-
-/**
- * @file e_illume.h
- *
- * This header provides the various defines, structures and functions that
- * make writing illume policies easier.
- *
- * For details on the available functions, see @ref E_Illume_Main_Group.
- *
- * For details on the configuration structure, see @ref E_Illume_Config_Group.
- *
- * For details on the virtual keyboard, see @ref E_Illume_Keyboard_Group.
- *
- * For details on the Policy API, see @ref E_Illume_Policy_Group.
- *
- * For details on quickpanels, see @ref E_Illume_Quickpanel_Group.
- */
-
-/**
- * @defgroup E_Illume_Keyboard_Group Illume Keyboard Information
- *
- * The following group defines information needed to interact with the
- * Virtual Keyboard.
- *
- */
-
-/* define enumeration for keyboard layout */
-typedef enum _E_Illume_Keyboard_Layout E_Illume_Keyboard_Layout;
-enum _E_Illume_Keyboard_Layout
-{
- E_ILLUME_KEYBOARD_LAYOUT_NONE,
- E_ILLUME_KEYBOARD_LAYOUT_DEFAULT,
- E_ILLUME_KEYBOARD_LAYOUT_ALPHA,
- E_ILLUME_KEYBOARD_LAYOUT_NUMERIC,
- E_ILLUME_KEYBOARD_LAYOUT_PIN,
- E_ILLUME_KEYBOARD_LAYOUT_PHONE_NUMBER,
- E_ILLUME_KEYBOARD_LAYOUT_HEX,
- E_ILLUME_KEYBOARD_LAYOUT_TERMINAL,
- E_ILLUME_KEYBOARD_LAYOUT_PASSWORD,
- E_ILLUME_KEYBOARD_LAYOUT_IP,
- E_ILLUME_KEYBOARD_LAYOUT_HOST,
- E_ILLUME_KEYBOARD_LAYOUT_FILE,
- E_ILLUME_KEYBOARD_LAYOUT_URL,
- E_ILLUME_KEYBOARD_LAYOUT_KEYPAD,
- E_ILLUME_KEYBOARD_LAYOUT_J2ME
-};
-
-/**
- * @typedef E_Illume_Keyboard
- * @brief structure for keyboard.
- *
- * @ingroup E_Illume_Keyboard_Group
- */
-typedef struct _E_Illume_Keyboard E_Illume_Keyboard;
-
-/**
- * @struct E_Illume_Keyboard
- * @brief structure for keyboard.
- *
- * @ingroup E_Illume_Keyboard_Group
- */
-struct _E_Illume_Keyboard
-{
- E_Object e_obj_inherit;
-
- E_Border *border; /**< Test struct member */
- Ecore_Timer *timer;
- Ecore_Animator *animator;
-
- E_Illume_Keyboard_Layout layout;
- Eina_List *waiting_borders;
-
- double start, len;
- int adjust, adjust_start, adjust_end;
-
- unsigned char visible : 1;
- unsigned char disabled : 1;
- unsigned char fullscreen : 1;
-};
-
-/**
- * @defgroup E_Illume_Policy_Group Illume Policy Information
- *
- * The following group defines information needed to implement an Illume
- * Policy.
- *
- * @warning There are some requirements that every policy must implement.
- */
-
-/**
- * @def E_ILLUME_POLICY_API_VERSION
- * @brief Current version of the Policy API that is supported by the Illume module.
- *
- * @warning Policies not written to match this version will fail to load.
- *
- * @ingroup E_Illume_Policy_Group
- */
-# define E_ILLUME_POLICY_API_VERSION 2
-
-/**
- * @struct E_Illume_Policy_Api
- * @brief structure for policy api
- *
- * When Illume tries to load a policy, it will check for the existince of
- * this structure. If it is not found, the policy will fail to load.
- *
- * @warning This structure is required for Illume to load a policy.
- *
- * @ingroup E_Illume_Policy_Group
- */
-typedef struct _E_Illume_Policy_Api E_Illume_Policy_Api;
-struct _E_Illume_Policy_Api
-{
- int version; /**< The version of this policy. */
-
- /**< The name of this policy. */
- const char *name;
- /**< The label of this policy. */
- const char *label;
-};
-
-/**
- * @typedef E_Illume_Policy
- * @brief structure for policy
- *
- * This structure actually holds the policy functions to call.
- *
- * @ingroup E_Illume_Policy_Group
- */
-typedef struct _E_Illume_Policy E_Illume_Policy;
-struct _E_Illume_Policy
-{
- E_Object e_obj_inherit;
-
- /** pointer to the @ref E_Illume_Policy_Api policy api structure. */
- E_Illume_Policy_Api *api;
-
- void *handle;
-
- struct
- {
- /** @warning Required Functions. */
- void *(*init) (E_Illume_Policy *p); /**< pointer to the function that will be called by Illume to initialize this policy. */
- int (*shutdown) (E_Illume_Policy *p); /**< pointer to the function that Illume will call to shutdown this policy.*/
-
- /** @note Optional Functions. */
- void (*border_add) (E_Border *bd);
- void (*border_del) (E_Border *bd);
- void (*border_focus_in) (E_Border *bd);
- void (*border_focus_out) (E_Border *bd);
- void (*border_activate) (E_Border *bd);
- void (*border_post_fetch) (E_Border *bd);
- void (*border_post_assign) (E_Border *bd);
- void (*zone_layout) (E_Zone *zone);
- void (*zone_move_resize) (E_Zone *zone);
- void (*zone_mode_change) (E_Zone *zone, Ecore_X_Atom mode);
- void (*zone_close) (E_Zone *zone);
- void (*drag_start) (E_Border *bd);
- void (*drag_end) (E_Border *bd);
- void (*focus_back) (E_Zone *zone);
- void (*focus_forward) (E_Zone *zone);
- void (*focus_home) (E_Zone *zone);
- void (*property_change) (Ecore_X_Event_Window_Property *event);
- } funcs;
-};
-
-/**
- * @defgroup E_Illume_Config_Group Illume Configuration Information
- *
- * The following group defines information pertaining to Illume Configuration.
- */
-
-/**
- * @typedef E_Illume_Config
- * @brief structure for Illume configuration.
- *
- * @ingroup E_Illume_Config_Group
- */
-typedef struct _E_Illume_Config E_Illume_Config;
-struct _E_Illume_Config
-{
- int version;
-
- struct
- {
- struct
- {
- int duration;
- } vkbd, quickpanel;
- } animation;
-
- struct
- {
- const char *name;
- struct
- {
- const char *class, *name, *title;
- int type;
- struct
- {
- int class, name, title, type;
- } match;
- } vkbd, indicator, softkey, home;
- Eina_List *zones;
- } policy;
-};
-
-
-/**
- * @typedef E_Illume_Config_Zone
- * @brief structure for Illume zone configuration.
- *
- * @ingroup E_Illume_Config_Group
- */
-typedef struct _E_Illume_Config_Zone E_Illume_Config_Zone;
-struct _E_Illume_Config_Zone
-{
- int id; /**< Id of the Zone that this config belongs to. */
- struct
- {
- int dual;
- int side;
- } mode;
-
- /* NB: These are not configurable by user...just placeholders */
- struct
- {
- int size;
- } vkbd, indicator, softkey;
-};
-
-/**
- * @defgroup E_Illume_Quickpanel_Group Illume Quickpanel Information
- *
- * The following group defines information pertaining to Illume Quickpanels.
- */
-
-/**
- * @typedef E_Illume_Quickpanel
- * @brief structure for Illume Quickpanels.
- *
- * @ingroup E_Illume_Quickpanel_Group
- */
-typedef struct _E_Illume_Quickpanel E_Illume_Quickpanel;
-struct _E_Illume_Quickpanel
-{
- E_Object e_obj_inherit;
-
- E_Zone *zone;
- Eina_List *borders;
- Ecore_Timer *timer;
- Ecore_Animator *animator;
- double start, len;
- int h, ih, adjust, adjust_start, adjust_end;
- unsigned char visible : 1;
-};
-
-/* define function prototypes that policies can use */
-E_Illume_Config_Zone *e_illume_zone_config_get(int id);
-
-/* general functions */
-Eina_Bool e_illume_border_is_indicator(E_Border *bd);
-Eina_Bool e_illume_border_is_softkey(E_Border *bd);
-Eina_Bool e_illume_border_is_keyboard(E_Border *bd);
-Eina_Bool e_illume_border_is_home(E_Border *bd);
-Eina_Bool e_illume_border_is_splash(E_Border *bd);
-Eina_Bool e_illume_border_is_dialog(E_Border *bd);
-Eina_Bool e_illume_border_is_qt_frame(E_Border *bd);
-Eina_Bool e_illume_border_is_fullscreen(E_Border *bd);
-Eina_Bool e_illume_border_is_conformant(E_Border *bd);
-Eina_Bool e_illume_border_is_quickpanel(E_Border *bd);
-
-void e_illume_border_min_get(E_Border *bd, int *w, int *h);
-E_Border *e_illume_border_at_xy_get(E_Zone *zone, int x, int y);
-E_Border *e_illume_border_parent_get(E_Border *bd);
-void e_illume_border_show(E_Border *bd);
-void e_illume_border_hide(E_Border *bd);
-
-/* indicator functions */
-E_Border *e_illume_border_indicator_get(E_Zone *zone);
-void e_illume_border_indicator_pos_get(E_Zone *zone, int *x, int *y);
-
-/* softkey functions */
-E_Border *e_illume_border_softkey_get(E_Zone *zone);
-void e_illume_border_softkey_pos_get(E_Zone *zone, int *x, int *y);
-
-/* keyboard functions */
-E_Illume_Keyboard *e_illume_keyboard_get(void);
-void e_illume_keyboard_safe_app_region_get(E_Zone *zone, int *x, int *y, int *w, int *h);
-
-/* home functions */
-E_Border *e_illume_border_home_get(E_Zone *zone);
-Eina_List *e_illume_border_home_borders_get(E_Zone *zone);
-
-/* quickpanel functions */
-E_Illume_Quickpanel *e_illume_quickpanel_by_zone_get(E_Zone *zone);
-
-#endif
diff --git a/src/modules/illume2/e_mod_config_animation.c b/src/modules/illume2/e_mod_config_animation.c
deleted file mode 100644
index b7d2eb1ac..000000000
--- a/src/modules/illume2/e_mod_config_animation.c
+++ /dev/null
@@ -1,127 +0,0 @@
-#include "e_illume_private.h"
-#include "e_mod_config_animation.h"
-
-/* local function prototypes */
-static void *_e_mod_config_animation_create(E_Config_Dialog *cfd);
-static void _e_mod_config_animation_free(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata);
-static Evas_Object *_e_mod_config_animation_ui(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cfdata);
-static void _e_mod_config_animation_change(void *data, Evas_Object *obj, void *event);
-static int _e_mod_config_animation_timeout(void *data);
-
-/* local variables */
-Ecore_Timer *_anim_change_timer = NULL;
-
-void
-e_mod_config_animation_show(E_Container *con, const char *params __UNUSED__)
-{
- E_Config_Dialog *cfd;
- E_Config_Dialog_View *v;
-
- if (e_config_dialog_find("E", "_config_illume_animation_settings")) return;
-
- v = E_NEW(E_Config_Dialog_View, 1);
- if (!v) return;
-
- v->create_cfdata = _e_mod_config_animation_create;
- v->free_cfdata = _e_mod_config_animation_free;
- v->basic.create_widgets = _e_mod_config_animation_ui;
- v->basic_only = 1;
- v->normal_win = 1;
- v->scroll = 1;
-
- cfd = e_config_dialog_new(con, _("Animation Settings"), "E",
- "_config_illume_animation_settings",
- "enlightenment/animation_settings", 0, v, NULL);
- if (!cfd) return;
-
- e_dialog_resizable_set(cfd->dia, 1);
-}
-
-/* local function prototypes */
-static void *
-_e_mod_config_animation_create(E_Config_Dialog *cfd)
-{
- return NULL;
-}
-
-static void
-_e_mod_config_animation_free(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata)
-{
- if (_anim_change_timer) ecore_timer_del(_anim_change_timer);
- _anim_change_timer = NULL;
-}
-
-static Evas_Object *
-_e_mod_config_animation_ui(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cfdata)
-{
- Evas_Object *list, *of, *ow;
- E_Radio_Group *rg;
-
- list = e_widget_list_add(evas, 0, 0);
-
- of = e_widget_framelist_add(evas, _("Keyboard"), 0);
- rg = e_widget_radio_group_new(&(_e_illume_cfg->animation.vkbd.duration));
- ow = e_widget_radio_add(evas, _("Slow"), 2000, rg);
- e_widget_framelist_object_append(of, ow);
- evas_object_smart_callback_add(ow, "changed",
- _e_mod_config_animation_change, NULL);
- ow = e_widget_radio_add(evas, _("Medium"), 1000, rg);
- e_widget_framelist_object_append(of, ow);
- evas_object_smart_callback_add(ow, "changed",
- _e_mod_config_animation_change, NULL);
- ow = e_widget_radio_add(evas, _("Fast"), 500, rg);
- e_widget_framelist_object_append(of, ow);
- evas_object_smart_callback_add(ow, "changed",
- _e_mod_config_animation_change, NULL);
- ow = e_widget_radio_add(evas, _("Very Fast"), 250, rg);
- e_widget_framelist_object_append(of, ow);
- evas_object_smart_callback_add(ow, "changed",
- _e_mod_config_animation_change, NULL);
- ow = e_widget_radio_add(evas, _("Off"), 0, rg);
- e_widget_framelist_object_append(of, ow);
- evas_object_smart_callback_add(ow, "changed",
- _e_mod_config_animation_change, NULL);
- e_widget_list_object_append(list, of, 1, 0, 0.0);
-
- of = e_widget_framelist_add(evas, _("Quickpanel"), 0);
- rg = e_widget_radio_group_new(&(_e_illume_cfg->animation.quickpanel.duration));
- ow = e_widget_radio_add(evas, _("Slow"), 2000, rg);
- e_widget_framelist_object_append(of, ow);
- evas_object_smart_callback_add(ow, "changed",
- _e_mod_config_animation_change, NULL);
- ow = e_widget_radio_add(evas, _("Medium"), 1000, rg);
- e_widget_framelist_object_append(of, ow);
- evas_object_smart_callback_add(ow, "changed",
- _e_mod_config_animation_change, NULL);
- ow = e_widget_radio_add(evas, _("Fast"), 500, rg);
- e_widget_framelist_object_append(of, ow);
- evas_object_smart_callback_add(ow, "changed",
- _e_mod_config_animation_change, NULL);
- ow = e_widget_radio_add(evas, _("Very Fast"), 250, rg);
- e_widget_framelist_object_append(of, ow);
- evas_object_smart_callback_add(ow, "changed",
- _e_mod_config_animation_change, NULL);
- ow = e_widget_radio_add(evas, _("Off"), 0, rg);
- e_widget_framelist_object_append(of, ow);
- evas_object_smart_callback_add(ow, "changed",
- _e_mod_config_animation_change, NULL);
- e_widget_list_object_append(list, of, 1, 0, 0.0);
-
- return list;
-}
-
-static void
-_e_mod_config_animation_change(void *data, Evas_Object *obj, void *event)
-{
- if (_anim_change_timer) ecore_timer_del(_anim_change_timer);
- _anim_change_timer =
- ecore_timer_add(0.5, _e_mod_config_animation_timeout, data);
-}
-
-static int
-_e_mod_config_animation_timeout(void *data)
-{
- e_config_save_queue();
- _anim_change_timer = NULL;
- return 0;
-}
diff --git a/src/modules/illume2/e_mod_main.c b/src/modules/illume2/e_mod_main.c
deleted file mode 100644
index 44581d02b..000000000
--- a/src/modules/illume2/e_mod_main.c
+++ /dev/null
@@ -1,127 +0,0 @@
-#include "e_illume_private.h"
-#include "e_mod_main.h"
-#include "e_mod_config.h"
-#include "e_mod_policy.h"
-#include "e_mod_kbd.h"
-#include "e_mod_quickpanel.h"
-
-/* NB: Initially I had done this rewrite with eina_logging enabled, but it
- * degraded performance so much that it was just not worth it. So now this
- * module just uses printfs on the console to report things */
-
-/* external variables */
-const char *_e_illume_mod_dir = NULL;
-E_Illume_Keyboard *_e_illume_kbd = NULL;
-Eina_List *_e_illume_qps = NULL;
-
-EAPI E_Module_Api e_modapi = { E_MODULE_API_VERSION, "Illume2" };
-
-EAPI void *
-e_modapi_init(E_Module *m)
-{
- Eina_List *ml;
- E_Manager *man;
-
- /* set module priority so we load first */
- e_module_priority_set(m, 100);
-
- /* set module directory variable */
- _e_illume_mod_dir = eina_stringshare_add(m->dir);
-
- /* try to initialize the config subsystem */
- if (!e_mod_config_init())
- {
- /* clear module directory variable */
- if (_e_illume_mod_dir) eina_stringshare_del(_e_illume_mod_dir);
- _e_illume_mod_dir = NULL;
-
- return NULL;
- }
-
- /* try to initialize the policy subsystem */
- if (!e_mod_policy_init())
- {
- /* shutdown the config subsystem */
- e_mod_config_shutdown();
-
- /* clear module directory variable */
- if (_e_illume_mod_dir) eina_stringshare_del(_e_illume_mod_dir);
- _e_illume_mod_dir = NULL;
-
- return NULL;
- }
-
- /* initialize the keyboard subsystem */
- e_mod_kbd_init();
-
- /* initialize the quickpanel subsystem */
- e_mod_quickpanel_init();
-
- /* create a new vkbd & hide it initially */
- _e_illume_kbd = e_mod_kbd_new();
- e_mod_kbd_hide();
-
- /* loop the zones and create quickpanels for each one */
- EINA_LIST_FOREACH(e_manager_list(), ml, man)
- {
- Eina_List *cl;
- E_Container *con;
-
- EINA_LIST_FOREACH(man->containers, cl, con)
- {
- Eina_List *zl;
- E_Zone *zone;
-
- EINA_LIST_FOREACH(con->zones, zl, zone)
- {
- E_Illume_Quickpanel *qp;
-
- /* try to create a new quickpanel for this zone */
- if (!(qp = e_mod_quickpanel_new(zone))) continue;
-
- /* append new qp to list */
- _e_illume_qps = eina_list_append(_e_illume_qps, qp);
- }
- }
- }
-
- return m;
-}
-
-EAPI int
-e_modapi_shutdown(E_Module *m)
-{
- E_Illume_Quickpanel *qp;
-
- /* delete the quickpanels */
- EINA_LIST_FREE(_e_illume_qps, qp)
- e_object_del(E_OBJECT(qp));
-
- /* shutdown the quickpanel subsystem */
- e_mod_quickpanel_shutdown();
-
- /* delete the keyboard object */
- if (_e_illume_kbd) e_object_del(E_OBJECT(_e_illume_kbd));
- _e_illume_kbd = NULL;
-
- /* shutdown the keyboard subsystem */
- e_mod_kbd_shutdown();
-
- /* shutdown the policy subsystem */
- e_mod_policy_shutdown();
-
- /* shutdown the config subsystem */
- e_mod_config_shutdown();
-
- /* clear module directory variable */
- if (_e_illume_mod_dir) eina_stringshare_del(_e_illume_mod_dir);
- _e_illume_mod_dir = NULL;
-
- return 1;
-}
-
-EAPI int
-e_modapi_save(E_Module *m)
-{
- return e_mod_config_save();
-}
diff --git a/src/modules/illume2/e_mod_quickpanel.c b/src/modules/illume2/e_mod_quickpanel.c
deleted file mode 100644
index 14dcc3054..000000000
--- a/src/modules/illume2/e_mod_quickpanel.c
+++ /dev/null
@@ -1,415 +0,0 @@
-#include "e_illume_private.h"
-#include "e_mod_quickpanel.h"
-
-/* local function prototypes */
-static int _e_mod_quickpanel_cb_client_message(void *data __UNUSED__, int type __UNUSED__, void *event);
-static int _e_mod_quickpanel_cb_mouse_down(void *data __UNUSED__, int type __UNUSED__, void *event);
-static int _e_mod_quickpanel_cb_border_add(void *data __UNUSED__, int type __UNUSED__, void *event);
-static void _e_mod_quickpanel_cb_post_fetch(void *data __UNUSED__, void *data2);
-static void _e_mod_quickpanel_cb_free(E_Illume_Quickpanel *qp);
-static int _e_mod_quickpanel_cb_delay_hide(void *data);
-static void _e_mod_quickpanel_slide(E_Illume_Quickpanel *qp, int visible, double len);
-static void _e_mod_quickpanel_hide(E_Illume_Quickpanel *qp);
-static int _e_mod_quickpanel_cb_animate(void *data);
-static void _e_mod_quickpanel_position_update(E_Illume_Quickpanel *qp);
-
-/* local variables */
-static Eina_List *_qp_hdls = NULL;
-static E_Border_Hook *_qp_hook = NULL;
-static Ecore_X_Window _qp_input_win = 0;
-
-int
-e_mod_quickpanel_init(void)
-{
- /* add handlers for messages we are interested in */
- _qp_hdls =
- eina_list_append(_qp_hdls,
- ecore_event_handler_add(ECORE_X_EVENT_CLIENT_MESSAGE,
- _e_mod_quickpanel_cb_client_message,
- NULL));
- _qp_hdls =
- eina_list_append(_qp_hdls,
- ecore_event_handler_add(ECORE_EVENT_MOUSE_BUTTON_DOWN,
- _e_mod_quickpanel_cb_mouse_down,
- NULL));
- _qp_hdls =
- eina_list_append(_qp_hdls,
- ecore_event_handler_add(E_EVENT_BORDER_ADD,
- _e_mod_quickpanel_cb_border_add,
- NULL));
-
- /* add hook for new borders so we can test for qp borders */
- _qp_hook = e_border_hook_add(E_BORDER_HOOK_EVAL_PRE_POST_FETCH,
- _e_mod_quickpanel_cb_post_fetch, NULL);
-
- return 1;
-}
-
-int
-e_mod_quickpanel_shutdown(void)
-{
- Ecore_Event_Handler *hdl;
-
- /* delete the event handlers */
- EINA_LIST_FREE(_qp_hdls, hdl)
- ecore_event_handler_del(hdl);
-
- /* delete the border hook */
- if (_qp_hook) e_border_hook_del(_qp_hook);
- _qp_hook = NULL;
-
- return 1;
-}
-
-E_Illume_Quickpanel *
-e_mod_quickpanel_new(E_Zone *zone)
-{
- E_Illume_Quickpanel *qp;
-
- /* try to allocate a new quickpanel object */
- qp = E_OBJECT_ALLOC(E_Illume_Quickpanel, E_ILLUME_QP_TYPE,
- _e_mod_quickpanel_cb_free);
- if (!qp) return NULL;
-
- /* set quickpanel zone */
- qp->zone = zone;
-
- return qp;
-}
-
-void
-e_mod_quickpanel_show(E_Illume_Quickpanel *qp)
-{
- E_Illume_Config_Zone *cz;
- int duration;
-
- /* delete the animator if it exists */
- if (qp->animator) ecore_animator_del(qp->animator);
- qp->animator = NULL;
-
- /* delete any existing timer */
- if (qp->timer) ecore_timer_del(qp->timer);
- qp->timer = NULL;
-
- /* if it's already visible, or has no borders to show, then get out */
- if ((qp->visible) || (!qp->borders)) return;
-
- duration = _e_illume_cfg->animation.quickpanel.duration;
- cz = e_illume_zone_config_get(qp->zone->id);
- qp->ih = cz->indicator.size;
-
- if (!_qp_input_win)
- {
- /* create a new input window to catch clicks */
- _qp_input_win =
- ecore_x_window_input_new(qp->zone->container->win,
- qp->zone->x, qp->zone->y,
- qp->zone->w, qp->zone->h);
- ecore_x_window_show(_qp_input_win);
-
- /* grab mouse */
- if (!e_grabinput_get(_qp_input_win, 1, _qp_input_win))
- {
- ecore_x_window_free(_qp_input_win);
- _qp_input_win = 0;
- return;
- }
- }
-
- /* check animation duration */
- if (duration <= 0)
- {
- Eina_List *l;
- E_Border *bd;
- int ny = 0;
-
- ny = qp->ih;
-
- /* if we are not animating, just show the borders */
- EINA_LIST_FOREACH(qp->borders, l, bd)
- {
- if (!bd->visible) e_illume_border_show(bd);
- e_border_fx_offset(bd, 0, ny);
- ny += bd->h;
- }
- qp->visible = 1;
- }
- else
- _e_mod_quickpanel_slide(qp, 1, (double)duration / 1000.0);
-}
-
-void
-e_mod_quickpanel_hide(E_Illume_Quickpanel *qp)
-{
- if (!qp->visible) return;
- if (!qp->timer)
- qp->timer = ecore_timer_add(0.2, _e_mod_quickpanel_cb_delay_hide, qp);
-}
-
-/* local functions */
-static int
-_e_mod_quickpanel_cb_client_message(void *data __UNUSED__, int type __UNUSED__, void *event)
-{
- Ecore_X_Event_Client_Message *ev;
-
- ev = event;
- if (ev->message_type == ECORE_X_ATOM_E_ILLUME_QUICKPANEL_STATE)
- {
- E_Zone *zone;
-
- if (zone = e_util_zone_window_find(ev->win))
- {
- E_Illume_Quickpanel *qp;
-
- if (qp = e_illume_quickpanel_by_zone_get(zone))
- {
- if (ev->data.l[0] == ECORE_X_ATOM_E_ILLUME_QUICKPANEL_OFF)
- e_mod_quickpanel_hide(qp);
- else
- e_mod_quickpanel_show(qp);
- }
- }
- }
- else if (ev->message_type == ECORE_X_ATOM_E_ILLUME_QUICKPANEL_POSITION_UPDATE)
- {
- E_Border *bd;
- E_Illume_Quickpanel *qp;
-
- if (!(bd = e_border_find_by_client_window(ev->win))) return 1;
- if (!(qp = e_illume_quickpanel_by_zone_get(bd->zone))) return 1;
- _e_mod_quickpanel_position_update(qp);
- }
-
- return 1;
-}
-
-static int
-_e_mod_quickpanel_cb_mouse_down(void *data __UNUSED__, int type __UNUSED__, void *event)
-{
- Ecore_Event_Mouse_Button *ev;
- Eina_List *l;
- E_Illume_Quickpanel *qp;
-
- ev = event;
- if (ev->event_window != _qp_input_win) return 1;
- EINA_LIST_FOREACH(_e_illume_qps, l, qp)
- if (qp->visible)
- ecore_x_e_illume_quickpanel_state_send(qp->zone->black_win,
- ECORE_X_ILLUME_QUICKPANEL_STATE_OFF);
-
- return 1;
-}
-
-static int
-_e_mod_quickpanel_cb_border_add(void *data __UNUSED__, int type __UNUSED__, void *event)
-{
- E_Event_Border_Add *ev;
- E_Illume_Quickpanel *qp;
- E_Zone *zone;
- int iy;
-
- ev = event;
- if (!ev->border->client.illume.quickpanel.quickpanel) return 1;
-
- zone = ev->border->zone;
-
- /* if this border should be on a different zone, get requested zone */
- if (zone->num != ev->border->client.illume.quickpanel.zone)
- {
- E_Container *con;
- int zn = 0;
-
- /* find this zone */
- con = e_container_current_get(e_manager_current_get());
- zn = ev->border->client.illume.quickpanel.zone;
- zone = e_util_container_zone_number_get(con->num, zn);
- if (!zone) return 1;
- }
-
- if (!(qp = e_illume_quickpanel_by_zone_get(zone))) return 1;
-
- /* set position and zone */
- e_illume_border_indicator_pos_get(zone, NULL, &iy);
- if ((ev->border->x != zone->x) || (ev->border->y != iy))
- e_border_move(ev->border, zone->x, iy);
- if (ev->border->zone != zone)
- e_border_zone_set(ev->border, zone);
-
- /* hide this border */
- e_illume_border_hide(ev->border);
-
- qp->h += ev->border->h;
-
- /* add this border to QP border collection */
- qp->borders = eina_list_append(qp->borders, ev->border);
-
- return 1;
-}
-
-static void
-_e_mod_quickpanel_cb_post_fetch(void *data __UNUSED__, void *data2)
-{
- E_Border *bd;
-
- if (!(bd = data2)) return;
- if (!bd->client.illume.quickpanel.quickpanel) return;
- bd->stolen = 1;
-}
-
-static void
-_e_mod_quickpanel_cb_free(E_Illume_Quickpanel *qp)
-{
- E_Border *bd;
-
- /* delete the animator if it exists */
- if (qp->animator) ecore_animator_del(qp->animator);
- qp->animator = NULL;
-
- /* delete the timer if it exists */
- if (qp->timer) ecore_timer_del(qp->timer);
- qp->timer = NULL;
-
- /* set the borders of this quickpanel to not stolen */
- EINA_LIST_FREE(qp->borders, bd)
- bd->stolen = 0;
-
- /* free the structure */
- E_FREE(qp);
-}
-
-static int
-_e_mod_quickpanel_cb_delay_hide(void *data)
-{
- E_Illume_Quickpanel *qp;
-
- if (!(qp = data)) return 0;
- _e_mod_quickpanel_hide(qp);
- return 0;
-}
-
-static void
-_e_mod_quickpanel_slide(E_Illume_Quickpanel *qp, int visible, double len)
-{
- qp->start = ecore_loop_time_get();
- qp->len = len;
- qp->adjust_start = qp->adjust;
- qp->adjust_end = 0;
- if (visible) qp->adjust_end = qp->h;
- if (!qp->animator)
- qp->animator = ecore_animator_add(_e_mod_quickpanel_cb_animate, qp);
-}
-
-static void
-_e_mod_quickpanel_hide(E_Illume_Quickpanel *qp)
-{
- int duration;
-
- /* delete the animator if it exists */
- if (qp->animator) ecore_animator_del(qp->animator);
- qp->animator = NULL;
-
- /* delete the timer if it exists */
- if (qp->timer) ecore_timer_del(qp->timer);
- qp->timer = NULL;
-
- /* if it's not visible, we can't hide it */
- if (!qp->visible) return;
-
- duration = _e_illume_cfg->animation.quickpanel.duration;
-
- /* destroy the input window */
- if (_qp_input_win)
- {
- ecore_x_window_free(_qp_input_win);
- e_grabinput_release(_qp_input_win, _qp_input_win);
- _qp_input_win = 0;
- }
-
- if (duration <= 0)
- {
- Eina_List *l;
- E_Border *bd;
-
- /* if we are not animating, hide the qp borders */
- EINA_LIST_REVERSE_FOREACH(qp->borders, l, bd)
- {
- e_border_fx_offset(bd, 0, 0);
- if (bd->visible) e_illume_border_hide(bd);
- }
- qp->visible = 0;
- }
- else
- _e_mod_quickpanel_slide(qp, 0, (double)duration / 1000.0);
-}
-
-static int
-_e_mod_quickpanel_cb_animate(void *data)
-{
- E_Illume_Quickpanel *qp;
- Eina_List *l;
- E_Border *bd;
- int pbh = 0;
- double t, v = 1.0;
-
- if (!(qp = data)) return 0;
- t = (ecore_loop_time_get() - qp->start);
- if (t > qp->len) t = qp->len;
- if (qp->len > 0.0)
- {
- v = (t / qp->len);
- v = (1.0 - v);
- v = (v * v * v * v);
- v = (1.0 - v);
- }
- else
- t = qp->len;
-
- qp->adjust = (qp->adjust_end * v) + (qp->adjust_start * (1.0 - v));
-
- pbh = (qp->ih - qp->h);
- EINA_LIST_FOREACH(qp->borders, l, bd)
- {
- /* don't adjust borders that are being deleted */
- if (e_object_is_del(E_OBJECT(bd))) continue;
- if (bd->fx.y != (qp->adjust + pbh))
- e_border_fx_offset(bd, 0, (qp->adjust + pbh));
- pbh += bd->h;
- if (!qp->visible)
- {
- if (bd->fx.y > 0)
- {
- if (!bd->visible) e_illume_border_show(bd);
- }
- }
- else
- {
- if (bd->fx.y <= 10)
- {
- if (bd->visible) e_illume_border_hide(bd);
- }
- }
- }
-
- if (t == qp->len)
- {
- qp->animator = NULL;
- if (qp->visible) qp->visible = 0;
- else qp->visible = 1;
- return 0;
- }
-
- return 1;
-}
-
-static void
-_e_mod_quickpanel_position_update(E_Illume_Quickpanel *qp)
-{
- Eina_List *l;
- E_Border *bd;
- int iy = 0;
-
- e_mod_quickpanel_hide(qp);
- e_illume_border_indicator_pos_get(qp->zone, NULL, &iy);
- EINA_LIST_FOREACH(qp->borders, l, bd)
- e_border_move(bd, qp->zone->x, iy);
-}