From 581ada3a3f3932697e924788af0788cd9bbda25c Mon Sep 17 00:00:00 2001 From: Christopher Michael Date: Fri, 19 Feb 2010 02:30:01 +0000 Subject: [PATCH] Remove old illume2 code. SVN revision: 46285 --- src/modules/comp/e_mod_comp.c | 1 + src/modules/illume-home/Makefile.am | 33 - .../illume-home/e-module-illume-home.edj | Bin 37177 -> 0 bytes src/modules/illume-home/e_busycover.c | 92 -- src/modules/illume-home/e_busycover.h | 26 - src/modules/illume-home/e_mod_config.c | 200 ---- src/modules/illume-home/e_mod_config.h | 27 - src/modules/illume-home/e_mod_main.c | 856 ------------------ src/modules/illume-home/e_mod_main.h | 12 - src/modules/illume-home/module.desktop.in | 8 - src/modules/illume-indicator/Makefile.am | 52 -- .../e-module-illume-indicator.edc | 57 -- src/modules/illume-indicator/e_mod_ind_win.c | 424 --------- src/modules/illume-indicator/e_mod_ind_win.h | 25 - src/modules/illume-indicator/e_mod_main.c | 77 -- src/modules/illume-indicator/e_mod_main.h | 12 - .../illume-indicator/images/Makefile.am | 4 - .../illume-indicator/images/base_bg.png | Bin 125 -> 0 bytes .../illume-indicator/images/module_icon.png | Bin 2815 -> 0 bytes .../illume-indicator/module.desktop.in | 8 - src/modules/illume-softkey/Makefile.am | 48 - .../e-module-illume-softkey.edc | 115 --- src/modules/illume-softkey/e_mod_main.c | 76 -- src/modules/illume-softkey/e_mod_main.h | 12 - src/modules/illume-softkey/e_mod_sft_win.c | 166 ---- src/modules/illume-softkey/e_mod_sft_win.h | 19 - src/modules/illume-softkey/images/Makefile.am | 6 - .../illume-softkey/images/module_icon.png | Bin 2815 -> 0 bytes .../illume-softkey/images/shelf_alt_bg.png | Bin 1232 -> 0 bytes .../illume-softkey/images/shelf_alt_over.png | Bin 502 -> 0 bytes .../illume-softkey/images/shelf_alt_shine.png | Bin 393 -> 0 bytes src/modules/illume-softkey/module.desktop.in | 8 - src/modules/illume2/E_Illume.h | 141 --- src/modules/illume2/Makefile.am | 52 -- src/modules/illume2/e-module-illume2.edj | Bin 10097 -> 0 bytes src/modules/illume2/e_illume_border.c | 449 --------- src/modules/illume2/e_kbd.c | 681 -------------- src/modules/illume2/e_kbd.h | 56 -- src/modules/illume2/e_kbd_dbus.c | 280 ------ src/modules/illume2/e_kbd_dbus.h | 7 - src/modules/illume2/e_mod_animation.c | 124 --- src/modules/illume2/e_mod_animation.h | 6 - src/modules/illume2/e_mod_config.c | 237 ----- src/modules/illume2/e_mod_config.h | 11 - src/modules/illume2/e_mod_layout.c | 592 ------------ src/modules/illume2/e_mod_layout.h | 7 - src/modules/illume2/e_mod_main.c | 163 ---- src/modules/illume2/e_mod_main.h | 38 - src/modules/illume2/e_mod_policy.c | 120 --- src/modules/illume2/e_mod_policy.h | 6 - src/modules/illume2/e_mod_select_window.c | 277 ------ src/modules/illume2/e_mod_select_window.h | 15 - src/modules/illume2/e_mod_windows.c | 221 ----- src/modules/illume2/e_mod_windows.h | 6 - src/modules/illume2/e_quickpanel.c | 439 --------- src/modules/illume2/e_quickpanel.h | 29 - src/modules/illume2/keyboards/Makefile.am | 11 - .../keyboards/ignore_built_in_keyboards | 1 - src/modules/illume2/module.desktop.in | 8 - src/modules/illume2/policies/Makefile.am | 2 - .../illume2/policies/illume/Makefile.am | 21 - src/modules/illume2/policies/illume/illume.c | 46 - src/modules/illume2/policies/illume/illume.h | 10 - src/modules/illume2/policies/illume/layout.c | 605 ------------- src/modules/illume2/policies/illume/layout.h | 26 - 65 files changed, 1 insertion(+), 7050 deletions(-) delete mode 100644 src/modules/illume-home/Makefile.am delete mode 100644 src/modules/illume-home/e-module-illume-home.edj delete mode 100644 src/modules/illume-home/e_busycover.c delete mode 100644 src/modules/illume-home/e_busycover.h delete mode 100644 src/modules/illume-home/e_mod_config.c delete mode 100644 src/modules/illume-home/e_mod_config.h delete mode 100644 src/modules/illume-home/e_mod_main.c delete mode 100644 src/modules/illume-home/e_mod_main.h delete mode 100644 src/modules/illume-home/module.desktop.in delete mode 100644 src/modules/illume-indicator/Makefile.am delete mode 100644 src/modules/illume-indicator/e-module-illume-indicator.edc delete mode 100644 src/modules/illume-indicator/e_mod_ind_win.c delete mode 100644 src/modules/illume-indicator/e_mod_ind_win.h delete mode 100644 src/modules/illume-indicator/e_mod_main.c delete mode 100644 src/modules/illume-indicator/e_mod_main.h delete mode 100644 src/modules/illume-indicator/images/Makefile.am delete mode 100644 src/modules/illume-indicator/images/base_bg.png delete mode 100644 src/modules/illume-indicator/images/module_icon.png delete mode 100644 src/modules/illume-indicator/module.desktop.in delete mode 100644 src/modules/illume-softkey/Makefile.am delete mode 100644 src/modules/illume-softkey/e-module-illume-softkey.edc delete mode 100644 src/modules/illume-softkey/e_mod_main.c delete mode 100644 src/modules/illume-softkey/e_mod_main.h delete mode 100644 src/modules/illume-softkey/e_mod_sft_win.c delete mode 100644 src/modules/illume-softkey/e_mod_sft_win.h delete mode 100644 src/modules/illume-softkey/images/Makefile.am delete mode 100644 src/modules/illume-softkey/images/module_icon.png delete mode 100644 src/modules/illume-softkey/images/shelf_alt_bg.png delete mode 100644 src/modules/illume-softkey/images/shelf_alt_over.png delete mode 100644 src/modules/illume-softkey/images/shelf_alt_shine.png delete mode 100644 src/modules/illume-softkey/module.desktop.in delete mode 100644 src/modules/illume2/E_Illume.h delete mode 100644 src/modules/illume2/Makefile.am delete mode 100644 src/modules/illume2/e-module-illume2.edj delete mode 100644 src/modules/illume2/e_illume_border.c delete mode 100644 src/modules/illume2/e_kbd.c delete mode 100644 src/modules/illume2/e_kbd.h delete mode 100644 src/modules/illume2/e_kbd_dbus.c delete mode 100644 src/modules/illume2/e_kbd_dbus.h delete mode 100644 src/modules/illume2/e_mod_animation.c delete mode 100644 src/modules/illume2/e_mod_animation.h delete mode 100644 src/modules/illume2/e_mod_config.c delete mode 100644 src/modules/illume2/e_mod_config.h delete mode 100644 src/modules/illume2/e_mod_layout.c delete mode 100644 src/modules/illume2/e_mod_layout.h delete mode 100644 src/modules/illume2/e_mod_main.c delete mode 100644 src/modules/illume2/e_mod_main.h delete mode 100644 src/modules/illume2/e_mod_policy.c delete mode 100644 src/modules/illume2/e_mod_policy.h delete mode 100644 src/modules/illume2/e_mod_select_window.c delete mode 100644 src/modules/illume2/e_mod_select_window.h delete mode 100644 src/modules/illume2/e_mod_windows.c delete mode 100644 src/modules/illume2/e_mod_windows.h delete mode 100644 src/modules/illume2/e_quickpanel.c delete mode 100644 src/modules/illume2/e_quickpanel.h delete mode 100644 src/modules/illume2/keyboards/Makefile.am delete mode 100644 src/modules/illume2/keyboards/ignore_built_in_keyboards delete mode 100644 src/modules/illume2/module.desktop.in delete mode 100644 src/modules/illume2/policies/Makefile.am delete mode 100644 src/modules/illume2/policies/illume/Makefile.am delete mode 100644 src/modules/illume2/policies/illume/illume.c delete mode 100644 src/modules/illume2/policies/illume/illume.h delete mode 100644 src/modules/illume2/policies/illume/layout.c delete mode 100644 src/modules/illume2/policies/illume/layout.h diff --git a/src/modules/comp/e_mod_comp.c b/src/modules/comp/e_mod_comp.c index 906bdfcb2..9f8693f9a 100644 --- a/src/modules/comp/e_mod_comp.c +++ b/src/modules/comp/e_mod_comp.c @@ -691,6 +691,7 @@ _e_mod_comp_cb_animator(void *data) static void _e_mod_comp_render_queue(E_Comp *c) { + if (!c) return; if (_comp_mod->conf->lock_fps) { if (c->render_animator) 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 f6dc6094669bab0e502dcd12b5586dfd52653c19..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 37177 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 - - 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 19b5121a3..000000000 --- a/src/modules/illume-home/e_mod_main.c +++ /dev/null @@ -1,856 +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; - Ecore_Event_Handler *hdl; -}; -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; -}; -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); - -/* 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->hdl = ecore_event_handler_add(ECORE_X_EVENT_CLIENT_MESSAGE, - _il_home_cb_client_message, inst); - - instances = eina_list_append(instances, inst); - return inst->gcc; -} - -static void -_gc_shutdown(E_Gadcon_Client *gcc) -{ - Instance *inst; - Il_Home_Win *hwin; - - if (!(inst = gcc->data)) return; - - instances = eina_list_remove(instances, inst); - - if (inst->o_btn) evas_object_del(inst->o_btn); - if (inst->hdl) ecore_event_handler_del(inst->hdl); - - 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; - _il_home_win_new(inst); -} - -static void -_il_home_win_new(Instance *inst) -{ - Il_Home_Win *hwin; - E_Container *con; - 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); - - con = inst->gcc->gadcon->zone->container; - zone = inst->gcc->gadcon->zone; - - hwin->win = e_win_new(con); - 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); - - 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, 100); - e_win_show(hwin->win); - e_border_zone_set(hwin->win->border, zone); - hwin->win->border->lock_user_stacking = 1; - - 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) - { - if (hwin->win) - evas_object_resize(hwin->o_bg, hwin->win->w, hwin->win->h); - } - if (hwin->o_sf) - { - if (hwin->win) - evas_object_resize(hwin->o_sf, hwin->win->w, hwin->win->h); - } - if (hwin->cover) - { - if (hwin->win) - e_busycover_resize(hwin->cover, hwin->win->w, hwin->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); - } - e_fm2_select_set(hwin->o_fm, ici->file, 0); - } - } -} - -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; - char buff[PATH_MAX]; - 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) - { - 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); - 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)) - { - if (exe) free(exe); - return bd; - } - } - if ((bd->client.icccm.name) && - (!strcasecmp(bd->client.icccm.name, exe))) - { - if (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->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; - break; - } - } - else - { - 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; - } - } - } - 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 (ev->message_type != ECORE_X_ATOM_E_ILLUME_HOME) return 1; - if (!(inst = data)) return 1; - _il_home_win_new(inst); - 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/Makefile.am b/src/modules/illume-indicator/Makefile.am deleted file mode 100644 index c2b44bf8c..000000000 --- a/src/modules/illume-indicator/Makefile.am +++ /dev/null @@ -1,52 +0,0 @@ -SUBDIRS = images - -MAINTAINERCLEANFILES = Makefile.in -MODULE = illume-indicator - -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_ind_win.c \ - e_mod_ind_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-indicator/e-module-illume-indicator.edc b/src/modules/illume-indicator/e-module-illume-indicator.edc deleted file mode 100644 index 5f5d8b9e6..000000000 --- a/src/modules/illume-indicator/e-module-illume-indicator.edc +++ /dev/null @@ -1,57 +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: "base_bg.png" COMP; - name: "modules/illume-indicator/shelf"; - parts - { - part - { - name: "base"; - type: IMAGE; - mouse_events: 0; - description - { - state: "default" 0.0; - color_class: "shelf_base"; - image.normal: "base_bg.png"; - image.border: 2 2 2 2; - fill.smooth: 0; - } - } - part - { - name: "e.swallow.content"; - type: SWALLOW; - description - { - state: "default" 0.0; - rel1.offset: 3 3; - rel2.offset: -4 -4; - } - } - } - } -} diff --git a/src/modules/illume-indicator/e_mod_ind_win.c b/src/modules/illume-indicator/e_mod_ind_win.c deleted file mode 100644 index aa72a32ac..000000000 --- a/src/modules/illume-indicator/e_mod_ind_win.c +++ /dev/null @@ -1,424 +0,0 @@ -#include "e.h" -#include "e_mod_main.h" -#include "e_mod_ind_win.h" - -/* local function prototypes */ -static void _e_mod_ind_win_cb_free(Il_Ind_Win *iwin); -static void _e_mod_ind_win_cb_hook_eval_end(void *data, void *data2); -static void _e_mod_ind_win_cb_resize(E_Win *win); -static void _e_mod_ind_win_cb_mouse_down(void *data, Evas *evas, Evas_Object *obj, void *event); -static void _e_mod_ind_win_cb_mouse_up(void *data, Evas *evas, Evas_Object *obj, void *event); -static void _e_mod_ind_win_cb_mouse_move(void *data, Evas *evas, Evas_Object *obj, void *event); -static void _e_mod_ind_win_cb_menu_items_append(void *data, E_Gadcon_Client *gcc, E_Menu *mn); -static void _e_mod_ind_win_cb_menu_append(Il_Ind_Win *iwin, E_Menu *mn); -static void _e_mod_ind_win_cb_menu_pre(void *data, E_Menu *mn); -static void _e_mod_ind_win_cb_menu_contents(void *data, E_Menu *mn, E_Menu_Item *mi); -static void _e_mod_ind_win_cb_menu_post(void *data, E_Menu *mn); -static void _e_mod_ind_win_cb_min_size_request(void *data, E_Gadcon *gc, Evas_Coord w, Evas_Coord h); -static void _e_mod_ind_win_cb_size_request(void *data, E_Gadcon *gc, Evas_Coord w, Evas_Coord h); -static Evas_Object *_e_mod_ind_win_cb_frame_request(void *data, E_Gadcon_Client *gcc, const char *style); - -Il_Ind_Win * -e_mod_ind_win_new(E_Zone *zone) -{ - Evas *evas; - Il_Ind_Win *iwin; - Ecore_X_Window_State states[2]; - Ecore_X_Illume_Mode mode; - - /* allocate our new indicator window object */ - iwin = E_OBJECT_ALLOC(Il_Ind_Win, IL_IND_WIN_TYPE, _e_mod_ind_win_cb_free); - if (!iwin) return NULL; - iwin->zone = zone; - - /* we hook into eval end so we can set this indicator on the right zone */ - iwin->hook = e_border_hook_add(E_BORDER_HOOK_EVAL_END, - _e_mod_ind_win_cb_hook_eval_end, iwin); - - /* create the new indicator window */ - iwin->win = e_win_new(zone->container); - iwin->win->data = iwin; - e_win_title_set(iwin->win, _("Illume Indicator")); - e_win_name_class_set(iwin->win, "Illume-Indicator", "Illume-Indicator"); - e_win_resize_callback_set(iwin->win, _e_mod_ind_win_cb_resize); - - /* set this window to not show in taskbar and pager */ - states[0] = ECORE_X_WINDOW_STATE_SKIP_TASKBAR; - states[1] = ECORE_X_WINDOW_STATE_SKIP_PAGER; - ecore_x_netwm_window_state_set(iwin->win->evas_win, states, 2); - - /* set this window to not accept or take focus */ - ecore_x_icccm_hints_set(iwin->win->evas_win, 0, 0, 0, 0, 0, 0, 0); - - evas = e_win_evas_get(iwin->win); - - /* create our event rectangle */ - iwin->o_event = evas_object_rectangle_add(evas); - evas_object_color_set(iwin->o_event, 0, 0, 0, 0); - evas_object_move(iwin->o_event, 0, 0); - evas_object_event_callback_add(iwin->o_event, EVAS_CALLBACK_MOUSE_DOWN, - _e_mod_ind_win_cb_mouse_down, iwin); - evas_object_event_callback_add(iwin->o_event, EVAS_CALLBACK_MOUSE_UP, - _e_mod_ind_win_cb_mouse_up, iwin); - evas_object_event_callback_add(iwin->o_event, EVAS_CALLBACK_MOUSE_MOVE, - _e_mod_ind_win_cb_mouse_move, iwin); - evas_object_show(iwin->o_event); - - /* create our base object */ - iwin->o_base = edje_object_add(evas); - if (!e_theme_edje_object_set(iwin->o_base, - "base/theme/modules/illume-indicator", - "modules/illume-indicator/shelf")) - { - char buff[PATH_MAX]; - - memset(buff, 0, sizeof(buff)); - snprintf(buff, sizeof(buff), "%s/e-module-illume-indicator.edj", - _ind_mod_dir); - edje_object_file_set(iwin->o_base, buff, - "modules/illume-indicator/shelf"); - memset(buff, 0, sizeof(buff)); - } - evas_object_move(iwin->o_base, 0, 0); - evas_object_show(iwin->o_base); - - /* create our gadget container */ - iwin->gadcon = e_gadcon_swallowed_new("illume-indicator", zone->id, - iwin->o_base, "e.swallow.content"); -// iwin->gadcon->instant_edit = 1; - - edje_extern_object_min_size_set(iwin->gadcon->o_container, zone->w, 32); - edje_object_part_swallow(iwin->o_base, "e.swallow.container", - iwin->gadcon->o_container); - e_gadcon_min_size_request_callback_set(iwin->gadcon, - _e_mod_ind_win_cb_min_size_request, iwin); - e_gadcon_size_request_callback_set(iwin->gadcon, - _e_mod_ind_win_cb_size_request, iwin); - e_gadcon_frame_request_callback_set(iwin->gadcon, - _e_mod_ind_win_cb_frame_request, iwin); - e_gadcon_orient(iwin->gadcon, E_GADCON_ORIENT_FLOAT); - e_gadcon_zone_set(iwin->gadcon, zone); - e_gadcon_ecore_evas_set(iwin->gadcon, iwin->win->ecore_evas); - e_gadcon_util_menu_attach_func_set(iwin->gadcon, - _e_mod_ind_win_cb_menu_items_append, iwin); - e_gadcon_populate(iwin->gadcon); - - /* set minimum size of window */ - e_win_size_min_set(iwin->win, zone->w, (32 * e_scale)); - - /* position and resize the window */ - e_win_move_resize(iwin->win, zone->x, zone->y, zone->w, (32 * e_scale)); - - /* show the window */ - e_win_show(iwin->win); - - /* set this window to be a 'dock' window */ - ecore_x_netwm_window_type_set(iwin->win->evas_win, ECORE_X_WINDOW_TYPE_DOCK); - - /* get the current illume mode and lock dragging if we need to */ - mode = ecore_x_e_illume_mode_get(zone->black_win); - if (mode == ECORE_X_ILLUME_MODE_DUAL_TOP) - iwin->win->border->client.illume.drag.locked = 0; - else - iwin->win->border->client.illume.drag.locked = 1; - - /* tell illume conformant apps our position and size */ - ecore_x_e_illume_top_shelf_geometry_set(ecore_x_window_root_first_get(), - zone->x, zone->y, zone->w, - (32 * e_scale)); - return iwin; -} - -/* local functions */ -static void -_e_mod_ind_win_cb_free(Il_Ind_Win *iwin) -{ - /* delete the menu */ - if (iwin->menu) - { - e_menu_post_deactivate_callback_set(iwin->menu, NULL, NULL); - e_object_del(E_OBJECT(iwin->menu)); - } - iwin->menu = NULL; - - /* delete the border hook */ - if (iwin->hook) e_border_hook_del(iwin->hook); - iwin->hook = NULL; - - /* delete the objects */ - if (iwin->o_event) evas_object_del(iwin->o_event); - if (iwin->o_base) evas_object_del(iwin->o_base); - - /* delete the gadget container */ - e_object_del(E_OBJECT(iwin->gadcon)); - iwin->gadcon = NULL; - - /* delete the window */ - e_object_del(E_OBJECT(iwin->win)); - iwin->win = NULL; - - /* free the object */ - E_FREE(iwin); -} - -static void -_e_mod_ind_win_cb_hook_eval_end(void *data, void *data2) -{ - Il_Ind_Win *iwin; - E_Border *bd; - - if (!(iwin = data)) return; - if (!(bd = data2)) return; - if (bd != iwin->win->border) return; - if (bd->zone != iwin->zone) - { - bd->x = iwin->zone->x; - bd->y = iwin->zone->y; - bd->changes.pos = 1; - bd->changed = 1; - bd->lock_user_location = 1; - e_border_zone_set(bd, iwin->zone); - } -} - -static void -_e_mod_ind_win_cb_resize(E_Win *win) -{ - Il_Ind_Win *iwin; - - if (!(iwin = win->data)) return; - evas_object_resize(iwin->o_event, win->w, win->h); - evas_object_resize(iwin->o_base, win->w, win->h); -} - -static void -_e_mod_ind_win_cb_mouse_down(void *data, Evas *evas, Evas_Object *obj, void *event) -{ - Il_Ind_Win *iwin; - Evas_Event_Mouse_Down *ev; - - if (!(iwin = data)) return; - ev = event; - if (ev->button == 1) - { - iwin->mouse_down = 1; - - /* make sure we are not drag locked */ - if (iwin->win->border->client.illume.drag.locked) return; - - iwin->drag.start = 1; - iwin->drag.dnd = 0; - - /* grab the mouse position */ - ecore_x_pointer_last_xy_get(NULL, &iwin->drag.y); - - /* change the pointer to indicate we are dragging */ - if (iwin->win->border->pointer) - e_pointer_type_push(iwin->win->border->pointer, - iwin->win->border, "move"); - } - else if (ev->button == 3) - { - E_Menu *mn; - int x, y; - - /* create the menu */ - mn = e_menu_new(); - e_menu_post_deactivate_callback_set(mn, _e_mod_ind_win_cb_menu_post, - iwin); - iwin->menu = mn; - - /* append menu items and show it */ - _e_mod_ind_win_cb_menu_append(iwin, mn); - e_gadcon_canvas_zone_geometry_get(iwin->gadcon, &x, &y, NULL, NULL); - e_menu_activate_mouse(mn, iwin->zone, - x + ev->output.x, y + ev->output.y, - 1, 1, E_MENU_POP_DIRECTION_AUTO, ev->timestamp); - } -} - -static void -_e_mod_ind_win_cb_mouse_up(void *data, Evas *evas, Evas_Object *obj, void *event) -{ - Il_Ind_Win *iwin; - Evas_Event_Mouse_Up *ev; - Ecore_X_Window xwin; - - ev = event; - if (ev->button != 1) return; - if (!(iwin = data)) return; - xwin = iwin->win->border->zone->black_win; - if ((!iwin->drag.dnd) && (iwin->mouse_down == 1)) - { - /* show the quickpanel */ - ecore_x_e_illume_quickpanel_state_send - (xwin, ECORE_X_ILLUME_QUICKPANEL_STATE_ON); - } - else if (iwin->drag.dnd) - { - E_Border *bd; - - bd = iwin->win->border; - - /* reset mouse pointer */ - if (bd->pointer) e_pointer_type_pop(bd->pointer, bd, "move"); - - /* tell edj that we are done moving */ - edje_object_signal_emit(iwin->o_base, "e,action,move,stop", "e"); - - /* send msg that we are done dragging */ - ecore_x_e_illume_drag_end_send(bd->client.win); - - /* update quickpanel position */ - ecore_x_e_illume_quickpanel_position_update_send(bd->client.win); - } - iwin->drag.start = 0; - iwin->drag.dnd = 0; - iwin->drag.y = 0; - iwin->mouse_down = 0; -} - -static void -_e_mod_ind_win_cb_mouse_move(void *data, Evas *evas, Evas_Object *obj, void *event) -{ - Il_Ind_Win *iwin; - Evas_Event_Mouse_Move *ev; - E_Border *bd; - int dy, ny, py; - - if (!(iwin = data)) return; - - ev = event; - bd = iwin->win->border; - - if (iwin->drag.start) - { - iwin->drag.dnd = 1; - iwin->drag.start = 0; - - /* tell edj that we are gonna start moving */ - edje_object_signal_emit(iwin->o_base, "e,action,move,start", "e"); - - /* send msg that we are gonna start dragging */ - ecore_x_e_illume_drag_start_send(bd->client.win); - } - - /* if we are not dragging, leave */ - if (!iwin->drag.dnd) return; - - /* make sure we are not gonna drag past the zone boundary */ - if ((bd->y + bd->h + ev->cur.output.y) >= bd->zone->h) return; - - /* grab mouse position */ - ecore_x_pointer_last_xy_get(NULL, &py); - - dy = ((bd->zone->h - bd->h) / 8); - - if (ev->cur.output.y > ev->prev.output.y) - { - if ((py - iwin->drag.y) < dy) return; - } - else if (ev->cur.output.y < ev->prev.output.y) - { - if ((iwin->drag.y - py) < dy) return; - } - else return; - - if (py > iwin->drag.y) - ny = bd->y + dy; - else if (py < iwin->drag.y) - ny = bd->y - dy; - else return; - - if (bd->y != ny) - { - bd->x = bd->zone->x; - bd->y = ny; - bd->changes.pos = 1; - bd->changed = 1; - iwin->drag.y = py; - } -} - -static void -_e_mod_ind_win_cb_menu_items_append(void *data, E_Gadcon_Client *gcc, E_Menu *mn) -{ - Il_Ind_Win *iwin; - - if (!(iwin = data)) return; - _e_mod_ind_win_cb_menu_append(iwin, mn); -} - -static void -_e_mod_ind_win_cb_menu_append(Il_Ind_Win *iwin, E_Menu *mn) -{ - E_Menu *sm; - E_Menu_Item *mi; - - sm = e_menu_new(); - mi = e_menu_item_new(mn); - e_menu_item_label_set(mi, _("Illume Indicator")); - e_util_menu_item_theme_icon_set(mi, "preferences-desktop-shelf"); - e_menu_pre_activate_callback_set(sm, _e_mod_ind_win_cb_menu_pre, iwin); - e_object_data_set(E_OBJECT(mi), iwin); - e_menu_item_submenu_set(mi, sm); -} - -static void -_e_mod_ind_win_cb_menu_pre(void *data, E_Menu *mn) -{ - Il_Ind_Win *iwin; - E_Menu_Item *mi; - - if (!(iwin = data)) return; - e_menu_pre_activate_callback_set(mn, NULL, NULL); - - mi = e_menu_item_new(mn); - e_menu_item_label_set(mi, _("Set Contents")); - e_util_menu_item_theme_icon_set(mi, "preferences-desktop-shelf"); - e_menu_item_callback_set(mi, _e_mod_ind_win_cb_menu_contents, iwin); -} - -static void -_e_mod_ind_win_cb_menu_contents(void *data, E_Menu *mn, E_Menu_Item *mi) -{ - Il_Ind_Win *iwin; - - if (!(iwin = data)) return; - if (!iwin->gadcon->config_dialog) - e_int_gadcon_config_shelf(iwin->gadcon); -} - -static void -_e_mod_ind_win_cb_menu_post(void *data, E_Menu *mn) -{ - Il_Ind_Win *iwin; - - if (!(iwin = data)) return; - if (!iwin->menu) return; - e_object_del(E_OBJECT(iwin->menu)); - iwin->menu = NULL; -} - -static void -_e_mod_ind_win_cb_min_size_request(void *data, E_Gadcon *gc, Evas_Coord w, Evas_Coord h) -{ - Il_Ind_Win *iwin; - - if (!(iwin = data)) return; - if (gc != iwin->gadcon) return; - if (h < (32 * e_scale)) h = (32 * e_scale); - edje_extern_object_min_size_set(iwin->gadcon->o_container, w, h); -} - -static void -_e_mod_ind_win_cb_size_request(void *data, E_Gadcon *gc, Evas_Coord w, Evas_Coord h) -{ - return; -} - -static Evas_Object * -_e_mod_ind_win_cb_frame_request(void *data, E_Gadcon_Client *gcc, const char *style) -{ - return NULL; -} diff --git a/src/modules/illume-indicator/e_mod_ind_win.h b/src/modules/illume-indicator/e_mod_ind_win.h deleted file mode 100644 index 7a5a4150c..000000000 --- a/src/modules/illume-indicator/e_mod_ind_win.h +++ /dev/null @@ -1,25 +0,0 @@ -#ifndef E_MOD_IND_WIN_H -# define E_MOD_IND_WIN_H - -# define IL_IND_WIN_TYPE 0xE1b0886 - -typedef struct _Il_Ind_Win Il_Ind_Win; -struct _Il_Ind_Win -{ - E_Object e_obj_inherit; - E_Win *win; - E_Zone *zone; - E_Menu *menu; - E_Gadcon *gadcon; - E_Border_Hook *hook; - Evas_Object *o_base, *o_event; - struct - { - int y, start, dnd; - } drag; - int mouse_down; -}; - -Il_Ind_Win *e_mod_ind_win_new(E_Zone *zone); - -#endif 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 fbe5850a6..000000000 --- a/src/modules/illume-indicator/e_mod_main.c +++ /dev/null @@ -1,77 +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 *l; - - e_module_priority_set(m, 90); - - /* setup variable to hold module directory */ - _ind_mod_dir = eina_stringshare_add(m->dir); - - /* loop through the managers (root windows) */ - EINA_LIST_FOREACH(e_manager_list(), l, man) - { - E_Container *con; - Eina_List *cl; - - /* loop through the containers */ - EINA_LIST_FOREACH(man->containers, cl, con) - { - E_Zone *zone; - Eina_List *zl; - - /* for each zone in this container, create a indicator window */ - EINA_LIST_FOREACH(con->zones, zl, zone) - { - Il_Ind_Win *iwin = NULL; - - 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) -{ - Il_Ind_Win *iwin; - - /* destroy the indicator windows */ - EINA_LIST_FREE(iwins, iwin) - { - e_object_del(E_OBJECT(iwin)); - iwin = NULL; - } - - /* clear the module directory variable */ - if (_ind_mod_dir) eina_stringshare_del(_ind_mod_dir); - _ind_mod_dir = NULL; - - /* reset indicator geometry for conformant apps to zero */ - ecore_x_e_illume_top_shelf_geometry_set(ecore_x_window_root_first_get(), - 0, 0, 0, 0); - - return 1; -} - -EAPI int -e_modapi_save(E_Module *m) -{ - return 1; -} diff --git a/src/modules/illume-indicator/e_mod_main.h b/src/modules/illume-indicator/e_mod_main.h deleted file mode 100644 index 9591f0c1f..000000000 --- a/src/modules/illume-indicator/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 *_ind_mod_dir; - -#endif diff --git a/src/modules/illume-indicator/images/Makefile.am b/src/modules/illume-indicator/images/Makefile.am deleted file mode 100644 index 692077fed..000000000 --- a/src/modules/illume-indicator/images/Makefile.am +++ /dev/null @@ -1,4 +0,0 @@ -MAINTAINERCLEANFILES = Makefile.in - -EXTRA_DIST = base_bg.png \ - module_icon.png diff --git a/src/modules/illume-indicator/images/base_bg.png b/src/modules/illume-indicator/images/base_bg.png deleted file mode 100644 index a47ea165923aadf3639f3ef90477b71550b4914e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 125 zcmeAS@N?(olHy`uVBq!ia0vp^Y(T8U!2~2fPqw!QQq09po*^6@9Je3(KLBz~JzX3_ zG|ngg`TyUZSt}vw0D}$>56=m%|NsB{&%3a{{{M<)Ss{-XT=LlSkzd~K&#$lAMZcIB YEQ$_kJ3a6!1scHM>FVdQ&MBb@0Hcp8&Hw-a diff --git a/src/modules/illume-indicator/images/module_icon.png b/src/modules/illume-indicator/images/module_icon.png deleted file mode 100644 index 82c1b76f30170677b37b1e6923e50fc6ff269186..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2815 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 R)rbH9002ovPDHLkV1m0vG@bwe diff --git a/src/modules/illume-indicator/module.desktop.in b/src/modules/illume-indicator/module.desktop.in deleted file mode 100644 index 296124868..000000000 --- a/src/modules/illume-indicator/module.desktop.in +++ /dev/null @@ -1,8 +0,0 @@ -[Desktop Entry] -Type=Link -Name=Illume-Indicator -Icon=e-module-illume-indicator -X-Enlightenment-ModuleType=system -Comment=Illume Indicator for Embedded -Comment[fr]=Illume pour l'embarqué – Indicator -Comment[it]=Illume per sistemi embedded – modulo Indicator diff --git a/src/modules/illume-softkey/Makefile.am b/src/modules/illume-softkey/Makefile.am deleted file mode 100644 index 5cfb2d862..000000000 --- a/src/modules/illume-softkey/Makefile.am +++ /dev/null @@ -1,48 +0,0 @@ -SUBDIRS = images - -MAINTAINERCLEANFILES = Makefile.in -MODULE = illume-softkey - -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 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 2f638437f..000000000 --- a/src/modules/illume-softkey/e-module-illume-softkey.edc +++ /dev/null @@ -1,115 +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: "e.swallow.buttons"; - type: SWALLOW; - description - { - state: "default" 0.0; - align: 1.0 0.5; - fixed: 0 1; - rel1 - { - relative: 1.0 0.0; - offset: -96 3; - } - rel2.offset: -4 -4; - } - } - part - { - name: "e.swallow.extra_buttons"; - type: SWALLOW; - description - { - state: "default" 0.0; - align: 0.0 0.5; - fixed: 0 1; - rel1.offset: 3 3; - rel2 - { - relative: 0.0 1.0; - offset: -1 -4; - to_x: "e.swallow.buttons"; - } - } - } - 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; - } - } - } - } -} 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 102241baa..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 *l; - - e_module_priority_set(m, 85); - - /* setup variable to hold module directory */ - _sft_mod_dir = eina_stringshare_add(m->dir); - - /* loop through the managers (root windows) */ - EINA_LIST_FOREACH(e_manager_list(), l, man) - { - E_Container *con; - Eina_List *cl; - - /* loop through the containers */ - EINA_LIST_FOREACH(man->containers, cl, con) - { - E_Zone *zone; - Eina_List *zl; - - /* for each zone in this container, create a new softkey window */ - EINA_LIST_FOREACH(con->zones, zl, zone) - { - Il_Sft_Win *swin; - - 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) -{ - Il_Sft_Win *swin; - - /* destroy the softkey windows */ - EINA_LIST_FREE(swins, swin) - { - e_object_del(E_OBJECT(swin)); - swin = NULL; - } - - /* clear the module directory variable */ - if (_sft_mod_dir) eina_stringshare_del(_sft_mod_dir); - _sft_mod_dir = NULL; - - /* reset bottom panel geometry to zero for conformant apps */ - ecore_x_e_illume_bottom_panel_geometry_set(ecore_x_window_root_first_get(), - 0, 0, 0, 0); - 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 41ddfa9e8..000000000 --- a/src/modules/illume-softkey/e_mod_sft_win.c +++ /dev/null @@ -1,166 +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(Il_Sft_Win *swin); -static void _e_mod_sft_win_cb_hook_eval_end(void *data, void *data2); -static void _e_mod_sft_win_cb_resize(E_Win *win); -static void _e_mod_sft_win_cb_back_click(void *data, void *data2); -static void _e_mod_sft_win_cb_close_click(void *data, void *data2); - -Il_Sft_Win * -e_mod_sft_win_new(E_Zone *zone) -{ - Evas *evas; - Il_Sft_Win *swin; - Ecore_X_Window_State states[2]; - - /* allocate our new softkey window object */ - swin = E_OBJECT_ALLOC(Il_Sft_Win, IL_SFT_WIN_TYPE, _e_mod_sft_win_cb_free); - if (!swin) return NULL; - swin->zone = zone; - - /* hook into eval end so we can set on the correct zone */ - swin->hook = e_border_hook_add(E_BORDER_HOOK_EVAL_END, - _e_mod_sft_win_cb_hook_eval_end, swin); - - /* create the new softkey window */ - swin->win = e_win_new(zone->container); - swin->win->data = swin; - e_win_title_set(swin->win, _("Illume Softkey")); - e_win_name_class_set(swin->win, "Illume-Softkey", "Illume-Softkey"); - 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); - - evas = e_win_evas_get(swin->win); - - /* create our base object */ - swin->o_base = edje_object_add(evas); - if (!e_theme_edje_object_set(swin->o_base, - "base/theme/modules/illume-softkey", - "modules/illume-softkey/window")) - { - char buff[PATH_MAX]; - - memset(buff, 0, sizeof(buff)); - 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"); - memset(buff, 0, sizeof(buff)); - } - evas_object_move(swin->o_base, 0, 0); - evas_object_show(swin->o_base); - - /* create the box object for packing buttons */ - swin->o_box = e_widget_list_add(evas, 1, 1); - edje_object_part_swallow(swin->o_base, "e.swallow.buttons", swin->o_box); - - /* create the back button */ - swin->b_back = - e_widget_button_add(evas, NULL, "go-previous", - _e_mod_sft_win_cb_back_click, swin, NULL); - e_widget_list_object_append(swin->o_box, swin->b_back, 1, 0, 0.5); - - /* create the close button */ - swin->b_close = - e_widget_button_add(evas, NULL, "window-close", - _e_mod_sft_win_cb_close_click, swin, NULL); - e_widget_list_object_append(swin->o_box, swin->b_close, 1, 0, 0.5); - - /* set the minimum window size */ - e_win_size_min_set(swin->win, zone->w, (32 * e_scale)); - - /* position and resize the 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); - - /* set this window to be a 'dock' window */ - ecore_x_netwm_window_type_set(swin->win->evas_win, ECORE_X_WINDOW_TYPE_DOCK); - - /* tell illume conformant apps our position and size */ - ecore_x_e_illume_bottom_panel_geometry_set(ecore_x_window_root_first_get(), - zone->x, (zone->y + zone->h - (32 * e_scale)), - zone->w, (32 * e_scale)); - return swin; -} - -/* local functions */ -static void -_e_mod_sft_win_cb_free(Il_Sft_Win *swin) -{ - /* delete the border hook */ - if (swin->hook) e_border_hook_del(swin->hook); - swin->hook = NULL; - - /* delete the objects */ - if (swin->b_close) evas_object_del(swin->b_close); - if (swin->b_back) evas_object_del(swin->b_back); - if (swin->o_box) evas_object_del(swin->o_box); - if (swin->o_base) evas_object_del(swin->o_base); - - /* delete the window */ - e_object_del(E_OBJECT(swin->win)); - swin->win = NULL; - - /* free the object */ - E_FREE(swin); -} - -static void -_e_mod_sft_win_cb_hook_eval_end(void *data, void *data2) -{ - Il_Sft_Win *swin; - E_Border *bd; - - if (!(swin = data)) return; - if (!(bd = data2)) return; - if (bd != swin->win->border) return; - if (bd->zone != swin->zone) - { - bd->x = swin->zone->x; - bd->y = (swin->zone->h - bd->h); - bd->changes.pos = 1; - bd->changed = 1; - bd->lock_user_location = 1; - e_border_zone_set(bd, swin->zone); - } -} - -static void -_e_mod_sft_win_cb_resize(E_Win *win) -{ - Il_Sft_Win *swin; - - if (!(swin = win->data)) return; - evas_object_resize(swin->o_base, swin->win->w, swin->win->h); -} - -static void -_e_mod_sft_win_cb_back_click(void *data, void *data2) -{ - Il_Sft_Win *swin; - - if (!(swin = data)) return; - ecore_x_e_illume_back_send(swin->zone->black_win); -} - -static void -_e_mod_sft_win_cb_close_click(void *data, void *data2) -{ - Il_Sft_Win *swin; - - if (!(swin = data)) return; - ecore_x_e_illume_close_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 0b5cb12b2..000000000 --- a/src/modules/illume-softkey/e_mod_sft_win.h +++ /dev/null @@ -1,19 +0,0 @@ -#ifndef E_MOD_SFT_WIN_H -# define E_MOD_SFT_WIN_H - -# define IL_SFT_WIN_TYPE 0xE1b0784 - -typedef struct _Il_Sft_Win Il_Sft_Win; -struct _Il_Sft_Win -{ - E_Object e_obj_inherit; - E_Win *win; - E_Zone *zone; - E_Border_Hook *hook; - Evas_Object *o_base, *o_box; - Evas_Object *b_close, *b_back; -}; - -Il_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 82c1b76f30170677b37b1e6923e50fc6ff269186..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2815 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 R)rbH9002ovPDHLkV1m0vG@bwe 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 64e2b2c2c3df3c9d47a5f939e7134baa5503be2c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1232 zcmV;>1TXuEP)2=83?r5N|1WbNtkcOH-Nil>$e=(wNvzm9NJ=FD;TL}l zzx?wY;5oo^fad_u0iFXq2Y3$f9N-s!&f_pZgeX8OH_JouoorrqkB?pZZ<3Jug>IhBseKc~dDsya zTDbfBb^jegdZ*Jv7{W99fDNe!nd7owS_0 zX;|5^e?@Hmc@yqi3#*7d0s;Zsyefb&_fBob;%#Vd%kKhcS){;94YG=HrB>gkGR4rH zmY@=)9rlqmaoSeoFU0Ls12RJg^BlL|ig7xesB2|Dpv`*5o z!0}|K?PYzL1Q;iQB?i-P%X#3i8`97PBMT!6CCFB5+JKiO5yX-T)6QP68DY1Az|C3yuj8|CP1Eo*pM}nUJ_{5^h|j=*GBXNh}M(Nk<`4P*Ygp))9gDK zy?^F4)!p-$J10}=N_2b7dC^N1AqqI{H~_8u7K)IXa!E+Fi-@Tlua`9dAd<8$(UHJ_ z(oF$ZElw3HPiw|L1)PWd?v}v&0i+la>Xhno0W*IyLYnd?k$66p70*qk7r(WB1U-VA zG};LNG#*3a+du>>8B2S^US5p+z)<$7b+`rM3ut$;JdeYsjvr!D!;6#HoMd`{&^#)< z6xVDUDZP#)%SM?+mO->z?XMzkP1uq%4p)LRrM+=!3edHxx22mKl_^x~M!)hVFtLw~ z)4U(h6%;vfrRDLI8#}<2r06`jq1xyt9JQM1iKjQj)^05+F^)flTxynXJ95UDk?LK^ ziU`Z&spG8FX{%CMkyxluWZ5|x_T*{}{tFm=q2Tvv#J{u<-%9=u50;o~V+~T-5X&3% z^bD3Vt-K9LoPd{Fhb_&tsnVu(vd3VMVNPqZR~Yw(nER;EZ5yM!dbAYgo%H{r9rz0( zGi%BdZPe6MWDKs<$t@tQNomjj*=f?Db&hFrZ4Rmg^l_Bfsx zJMOJ3=|y~4bvPnqO6`r_K)>wBdZV@eFm9v3J~)ZdjN8o3HciA<*wfCI7ea69dpEVS z%03DFJUn@ZbW!7-FYmTP3d+Qe(Cp1a5gxf?rC*A8_bWu_GMqZM7 uj#H4Svyj~FvFWG;2Kxp^pMP-t*Uuj?5BVNW09Atk0000 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 cef17132f12b7a0ee2a9edcc40607b86c502fc46..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 502 zcmVb;@5Jmr*r9(79k*H~sE6~uOG!#_aCAmlr6NwfHDK#{R zf&w9fVnK+_j>kBS7vmE|-^w(WT>a<&XJ>b9y4~)3zuymgyxcPkkIUbLd0bn|v z+R9h09lsN zMJUTMy#bImvAYKlLI7otkgzwguse{}$ARnhO6P#rTn~W%2>p!%QlHHneGmAlM&gcwjs+9;SVGmSRAvy;tb3j#7!U(1H0bra1m1Q(dQ#uE{=6X2boTGEV zYo-ObTrL#{=;nZklmKxY(>ahNNqMoABne#;$8lUC9K+asT@v5pxN$yBe02nt zrqIneah#Kl+Q(DGIO(jtI#0J95vag!InU@e`c-4&9yL8b3P=O4N2ZWRk?1sM&>}!E zqE7FxAh4G$t6nKjLxL@zmTX3A;b$n6!5Xz$^bzMG>!k8^1T+X%p9U-nYLtzM0@<-t zXg1(viiMLNXd&p$6luUckVbD2;=r8+rYv|>@~=NOUNW~7h3>&+m13S0DMuxJ&<`l6 z`wgVGJ;{kGDx(PnOX>4yKO(R+g{l|yTPjsjnT%=;c&v`V;WyyDTg$JeiS%3x_W#o9 nMIllume Softkey for Embedded -Comment[fr]=Illume pour l'embarqué – Softkey -Comment[it]=Illume per sistemi embedded – modulo Softkey diff --git a/src/modules/illume2/E_Illume.h b/src/modules/illume2/E_Illume.h deleted file mode 100644 index c32fc9faa..000000000 --- a/src/modules/illume2/E_Illume.h +++ /dev/null @@ -1,141 +0,0 @@ -#ifndef E_ILLUME_H -# define E_ILLUME_H - -# include "e.h" - -# define E_ILLUME_LAYOUT_API_VERSION 1 -# define E_ILLUME_LAYOUT_POLICY_TYPE 0xE0b200b - -typedef enum _E_Illume_Animation_Class -{ - E_ILLUME_ANIM_APP, - E_ILLUME_ANIM_KEYBOARD, - E_ILLUME_ANIM_TOP_SHELF, - E_ILLUME_ANIM_BOTTOM_PANEL, - E_ILLUME_ANIM_DIALOG, - E_ILLUME_ANIM_QUICKPANEL, - E_ILLUME_ANIM_OTHER -} E_Illume_Animation_Class; - -typedef struct _E_Illume_Layout_Api E_Illume_Layout_Api; -typedef struct _E_Illume_Layout_Policy E_Illume_Layout_Policy; -typedef struct _E_Illume_Config E_Illume_Config; -typedef struct _E_Illume_Config_Zone E_Illume_Config_Zone; - -struct _E_Illume_Layout_Api -{ - int version; - const char *label, *name; -}; - -struct _E_Illume_Layout_Policy -{ - E_Object e_obj_inherit; - - E_Illume_Layout_Api *api; - - void *handle; - - struct - { - void *(*init) (E_Illume_Layout_Policy *p); - int (*shutdown) (E_Illume_Layout_Policy *p); - void (*config) (E_Container *con, const char *params); - - 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_property_change) (E_Border *bd, Ecore_X_Event_Window_Property *event); - void (*zone_layout) (E_Zone *zone); - void (*zone_move_resize) (E_Zone *zone); - void (*drag_start) (E_Border *bd); - void (*drag_end) (E_Border *bd); - } funcs; -}; - -struct _E_Illume_Config -{ - int version; - - struct - { - struct - { - int duration; - } kbd, softkey, quickpanel; - } sliding; - - struct - { - const char *name; - struct - { - const char *class; - const char *name; - const char *title; - int win_type; - struct - { - int class, name, title, win_type; - } match; - } vkbd, softkey, home, indicator; - Eina_List *zones; - } policy; - - // Not User Configurable. Placeholders - const char *mod_dir; - E_Config_Dialog *cfd; -}; - -struct _E_Illume_Config_Zone -{ - int id; - struct - { - int dual, side; - } mode; -}; - -EAPI Eina_List *e_illume_layout_policies_get(void); -EAPI E_Illume_Config_Zone *e_illume_zone_config_get(int id); - -EAPI int e_illume_border_is_dialog(E_Border *bd); -EAPI int e_illume_border_is_keyboard(E_Border *bd); -EAPI int e_illume_border_is_bottom_panel(E_Border *bd); -EAPI int e_illume_border_is_top_shelf(E_Border *bd); -EAPI int e_illume_border_is_home(E_Border *bd); -EAPI int e_illume_border_is_conformant(E_Border *bd); -EAPI int e_illume_border_is_quickpanel(E_Border *bd); -EAPI int e_illume_border_is_valid(E_Border *bd); - -EAPI Eina_List *e_illume_border_valid_borders_get(E_Zone *zone); -EAPI E_Border *e_illume_border_valid_border_get(E_Zone *zone); -EAPI int e_illume_border_valid_count_get(E_Zone *zone); -EAPI Eina_List *e_illume_border_quickpanel_borders_get(E_Zone *zone); -EAPI int e_illume_border_quickpanel_count_get(E_Zone *zone); - -EAPI E_Border *e_illume_border_at_xy_get(E_Zone *zone, int x, int y); -EAPI E_Border *e_illume_border_in_region_get(E_Zone *zone, int x, int y, int w, int h); -EAPI E_Border *e_illume_border_keyboard_get(E_Zone *zone); -EAPI E_Border *e_illume_border_top_shelf_get(E_Zone *zone); -EAPI E_Border *e_illume_border_bottom_panel_get(E_Zone *zone); - -EAPI void e_illume_border_top_shelf_pos_get(E_Zone *zone, int *x, int *y); -EAPI void e_illume_border_top_shelf_size_get(E_Zone *zone, int *w, int *h); -EAPI void e_illume_border_bottom_panel_pos_get(E_Zone *zone, int *x, int *y); -EAPI void e_illume_border_bottom_panel_size_get(E_Zone *zone, int *w, int *h); - -EAPI void e_illume_border_slide_to(E_Border *bd, int x, int y, E_Illume_Animation_Class aclass); -EAPI void e_illume_border_min_get(E_Border *bd, int *mw, int *mh); -EAPI void e_illume_border_max_get(E_Border *bd, int *mw, int *mh); - -EAPI void e_illume_border_app1_safe_region_get(E_Zone *zone, int *x, int *y, int *w, int *h); -EAPI void e_illume_border_app2_safe_region_get(E_Zone *zone, int *x, int *y, int *w, int *h); -EAPI void e_illume_kbd_safe_app_region_get(E_Zone *zone, int *x, int *y, int *w, int *h); - -extern EAPI E_Illume_Config *il_cfg; -extern EAPI int E_ILLUME_EVENT_POLICY_CHANGE; - -#endif diff --git a/src/modules/illume2/Makefile.am b/src/modules/illume2/Makefile.am deleted file mode 100644 index ad27b453c..000000000 --- a/src/modules/illume2/Makefile.am +++ /dev/null @@ -1,52 +0,0 @@ -MAINTAINERCLEANFILES = Makefile.in module.desktop -MODULE = illume2 -SUBDIRS = keyboards policies - -# 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_Illume.h \ - e_mod_main.h \ - e_mod_main.c \ - e_mod_config.h \ - e_mod_config.c \ - e_mod_layout.h \ - e_mod_layout.c \ - e_mod_policy.h \ - e_mod_policy.c \ - e_mod_animation.h \ - e_mod_animation.c \ - e_mod_windows.h \ - e_mod_windows.c \ - e_mod_select_window.h \ - e_mod_select_window.c \ - e_kbd.h \ - e_kbd.c \ - e_kbd_dbus.h \ - e_kbd_dbus.c \ - e_quickpanel.h \ - e_quickpanel.c \ - e_illume_border.c - -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) - rm -rf $(DESTDIR)$(libdir)/enlightenment/modules/$(MODULE)/policies diff --git a/src/modules/illume2/e-module-illume2.edj b/src/modules/illume2/e-module-illume2.edj deleted file mode 100644 index d958437393b7e42be7c1666dd6be752d1a20a066..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10097 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 diff --git a/src/modules/illume2/e_illume_border.c b/src/modules/illume2/e_illume_border.c deleted file mode 100644 index d7532be9c..000000000 --- a/src/modules/illume2/e_illume_border.c +++ /dev/null @@ -1,449 +0,0 @@ -#include "E_Illume.h" -#include "e_kbd.h" - -EAPI int -e_illume_border_is_dialog(E_Border *bd) -{ - int isdialog = 0, i; - - if (bd->client.icccm.transient_for != 0) isdialog = 1; - if (bd->client.netwm.type == ECORE_X_WINDOW_TYPE_DIALOG) - { - isdialog = 1; - if (bd->client.netwm.extra_types) - { - for (i = 0; i < bd->client.netwm.extra_types_num; i++) - { - if (bd->client.netwm.extra_types[i] == - ECORE_X_WINDOW_TYPE_UNKNOWN) continue; - if ((bd->client.netwm.extra_types[i] != - ECORE_X_WINDOW_TYPE_DIALOG) && - (bd->client.netwm.extra_types[i] != - ECORE_X_WINDOW_TYPE_SPLASH)) - { - return 0; - } - } - } - } - return isdialog; -} - -EAPI int -e_illume_border_is_keyboard(E_Border *bd) -{ - if (bd->client.vkbd.vkbd) return 1; - if (il_cfg->policy.vkbd.match.title) - { - const char *title; - - title = e_border_name_get(bd); - if (!strcmp(title, il_cfg->policy.vkbd.title)) - return 1; - } - if (il_cfg->policy.vkbd.match.name) - { - if ((bd->client.icccm.name) && - (!strcmp(bd->client.icccm.name, il_cfg->policy.vkbd.name))) - return 1; - } - if (il_cfg->policy.vkbd.match.class) - { - if ((bd->client.icccm.class) && - (!strcmp(bd->client.icccm.class, il_cfg->policy.vkbd.class))) - return 1; - } - if ((bd->client.icccm.name) && - ((!strcmp(bd->client.icccm.name, "multitap-pad"))) - && (bd->client.netwm.state.skip_taskbar) - && (bd->client.netwm.state.skip_pager)) - return 1; - return 0; -} - -EAPI int -e_illume_border_is_bottom_panel(E_Border *bd) -{ - if (il_cfg->policy.softkey.match.title) - { - const char *title; - - title = e_border_name_get(bd); - if (!strcmp(title, il_cfg->policy.softkey.title)) - return 1; - } - if (il_cfg->policy.softkey.match.name) - { - if ((bd->client.icccm.name) && - (!strcmp(bd->client.icccm.name, il_cfg->policy.softkey.name))) - return 1; - } - if (il_cfg->policy.softkey.match.class) - { - if ((bd->client.icccm.class) && - (!strcmp(bd->client.icccm.class, il_cfg->policy.softkey.class))) - return 1; - } - if (((bd->client.netwm.type == ECORE_X_WINDOW_TYPE_DOCK) || - (bd->client.qtopia.soft_menu))) - return 1; - return 0; -} - -EAPI int -e_illume_border_is_top_shelf(E_Border *bd) -{ - if (il_cfg->policy.indicator.match.title) - { - const char *title; - - title = e_border_name_get(bd); - if (!strcmp(title, il_cfg->policy.indicator.title)) - return 1; - } - if (il_cfg->policy.indicator.match.name) - { - if ((bd->client.icccm.name) && - (!strcmp(bd->client.icccm.name, il_cfg->policy.indicator.name))) - return 1; - } - if (il_cfg->policy.indicator.match.class) - { - if ((bd->client.icccm.class) && - (!strcmp(bd->client.icccm.class, il_cfg->policy.indicator.class))) - return 1; - } - return 0; -} - -EAPI int -e_illume_border_is_home(E_Border *bd) -{ - if (il_cfg->policy.home.match.title) - { - char *title; - - title = bd->client.netwm.name; - if (!title) title = bd->client.icccm.title; - if ((title) && - (!strcmp(title, il_cfg->policy.home.title))) - return 1; - } - if (il_cfg->policy.home.match.name) - { - if ((bd->client.icccm.name) && - (!strcmp(bd->client.icccm.name, il_cfg->policy.home.name))) - return 1; - } - if (il_cfg->policy.home.match.class) - { - if ((bd->client.icccm.class) && - (!strcmp(bd->client.icccm.class, il_cfg->policy.home.class))) - return 1; - } - return 0; -} - -EAPI int -e_illume_border_is_conformant(E_Border *bd) -{ - if ((bd->client.icccm.class) && - (strstr(bd->client.icccm.class, "config"))) - return EINA_FALSE; - return bd->client.illume.conformant.conformant; -} - -EAPI int -e_illume_border_is_quickpanel(E_Border *bd) -{ - if ((bd->client.icccm.class) && - (strstr(bd->client.icccm.class, "config"))) - return EINA_FALSE; - return bd->client.illume.quickpanel.quickpanel; -} - -EAPI int -e_illume_border_is_valid(E_Border *bd) -{ - if (!bd) return EINA_FALSE; - if (e_illume_border_is_dialog(bd)) return EINA_FALSE; - if (e_illume_border_is_keyboard(bd)) return EINA_FALSE; - if (e_illume_border_is_bottom_panel(bd)) return EINA_FALSE; - if (e_illume_border_is_top_shelf(bd)) return EINA_FALSE; - if (e_illume_border_is_quickpanel(bd)) return EINA_FALSE; - return EINA_TRUE; -} - -EAPI Eina_List * -e_illume_border_valid_borders_get(E_Zone *zone) -{ - Eina_List *bds, *l, *ret = NULL; - E_Border *bd; - - if (!(bds = e_border_client_list())) return NULL; - EINA_LIST_FOREACH(bds, l, bd) - { - if (bd->zone != zone) continue; - if (!e_illume_border_is_valid(bd)) continue; - ret = eina_list_append(ret, bd); - } - return ret; -} - -EAPI E_Border * -e_illume_border_valid_border_get(E_Zone *zone) -{ - Eina_List *bds, *l; - E_Border *bd; - - if (!(bds = e_border_client_list())) return NULL; - EINA_LIST_FOREACH(bds, l, bd) - { - if (bd->zone != zone) continue; - if (!e_illume_border_is_valid(bd)) continue; - return bd; - } - return NULL; -} - -EAPI int -e_illume_border_valid_count_get(E_Zone *zone) -{ - Eina_List *l; - int count; - - if (!(l = e_illume_border_valid_borders_get(zone))) return 0; - count = eina_list_count(l); - l = eina_list_free(l); - return count; -} - -EAPI Eina_List * -e_illume_border_quickpanel_borders_get(E_Zone *zone) -{ - Eina_List *bds, *l, *ret = NULL; - E_Border *bd; - - if (!(bds = e_border_client_list())) return NULL; - EINA_LIST_FOREACH(bds, l, bd) - { - if (bd->zone != zone) continue; - if (!e_illume_border_is_quickpanel(bd)) continue; - ret = eina_list_append(ret, bd); - } - return ret; -} - -EAPI int -e_illume_border_quickpanel_count_get(E_Zone *zone) -{ - Eina_List *l; - int count; - - if (!(l = e_illume_border_quickpanel_borders_get(zone))) return 0; - count = eina_list_count(l); - l = eina_list_free(l); - return count; -} - -EAPI E_Border * -e_illume_border_at_xy_get(E_Zone *zone, int x, int y) -{ - Eina_List *bds, *l; - E_Border *bd; - - if (!(bds = e_border_client_list())) return NULL; - EINA_LIST_REVERSE_FOREACH(bds, l, bd) - { - if (bd->zone != zone) continue; - if (!e_illume_border_is_valid(bd)) continue; - if ((bd->x == x) && (bd->y == y)) return bd; - } - return NULL; -} - -EAPI E_Border * -e_illume_border_in_region_get(E_Zone *zone, int x, int y, int w, int h) -{ - Eina_List *bds, *l; - E_Border *bd, *b = NULL; - - if (!(bds = e_illume_border_valid_borders_get(zone))) return NULL; - EINA_LIST_FOREACH(bds, l, bd) - { - if (bd->zone != zone) continue; - if (E_INSIDE(bd->x, bd->fx.y, x, y, w, h)) - { - b = bd; - break; - } - } - bds = eina_list_free(bds); - return b; -} - -EAPI E_Border * -e_illume_border_keyboard_get(E_Zone *zone) -{ - Eina_List *bds, *l; - E_Border *bd; - - if (!(bds = e_border_client_list())) return NULL; - EINA_LIST_FOREACH(bds, l, bd) - { - if (bd->zone != zone) continue; - if (!e_illume_border_is_keyboard(bd)) continue; - return bd; - } - return NULL; -} - -EAPI E_Border * -e_illume_border_top_shelf_get(E_Zone *zone) -{ - Eina_List *bds, *l; - E_Border *bd; - - if (!(bds = e_border_client_list())) return NULL; - EINA_LIST_FOREACH(bds, l, bd) - { - if (bd->zone != zone) continue; - if (!e_illume_border_is_top_shelf(bd)) continue; - return bd; - } - return NULL; -} - -EAPI E_Border * -e_illume_border_bottom_panel_get(E_Zone *zone) -{ - Eina_List *bds, *l; - E_Border *bd; - - if (!(bds = e_border_client_list())) return NULL; - EINA_LIST_FOREACH(bds, l, bd) - { - if (bd->zone != zone) continue; - if (!e_illume_border_is_bottom_panel(bd)) continue; - return bd; - } - return NULL; -} - -EAPI void -e_illume_border_top_shelf_pos_get(E_Zone *zone, int *x, int *y) -{ - E_Border *bd; - - if (!(bd = e_illume_border_top_shelf_get(zone))) return; - if (x) *x = bd->x; - if (y) *y = bd->y; -} - -EAPI void -e_illume_border_top_shelf_size_get(E_Zone *zone, int *w, int *h) -{ - E_Border *bd; - - if (!(bd = e_illume_border_top_shelf_get(zone))) return; - if (w) *w = bd->w; - if (h) *h = bd->h; -} - -EAPI void -e_illume_border_bottom_panel_pos_get(E_Zone *zone, int *x, int *y) -{ - E_Border *bd; - - if (!(bd = e_illume_border_bottom_panel_get(zone))) return; - if (x) *x = bd->x; - if (y) *y = bd->y; -} - -EAPI void -e_illume_border_bottom_panel_size_get(E_Zone *zone, int *w, int *h) -{ - E_Border *bd; - - if (!(bd = e_illume_border_bottom_panel_get(zone))) return; - if (w) *w = bd->w; - if (h) *h = bd->h; -} - -EAPI void -e_illume_border_slide_to(E_Border *bd, int x, int y, E_Illume_Animation_Class aclass) -{ - -} - -EAPI void -e_illume_border_min_get(E_Border *bd, int *mw, int *mh) -{ - if (mw) - { - if (bd->client.icccm.base_w > bd->client.icccm.min_w) - *mw = bd->client.icccm.base_w; - else - *mw = bd->client.icccm.min_w; - } - if (mh) - { - if (bd->client.icccm.base_h > bd->client.icccm.min_h) - *mh = bd->client.icccm.base_h; - else - *mh = bd->client.icccm.min_h; - } -} - -EAPI void -e_illume_border_max_get(E_Border *bd, int *mw, int *mh) -{ - if (mw) - { - if (bd->client.icccm.base_w > bd->client.icccm.max_w) - *mw = bd->client.icccm.base_w; - else - *mw = bd->client.icccm.max_w; - } - if (mh) - { - if (bd->client.icccm.base_h > bd->client.icccm.max_h) - *mh = bd->client.icccm.base_h; - else - *mh = bd->client.icccm.max_h; - } -} - -EAPI void -e_illume_border_app1_safe_region_get(E_Zone *zone, int *x, int *y, int *w, int *h) -{ - int ty, nx, ny, nw, nh; - - if (!zone) return; - e_illume_kbd_safe_app_region_get(zone, &nx, &ny, &nw, &nh); - e_illume_border_top_shelf_pos_get(zone, NULL, &ty); - if (nh >= zone->h) nh = (ny + ty); - if (x) *x = nx; - if (y) *y = ny; - if (w) *w = nw; - if (h) *h = nh; -} - -EAPI void -e_illume_border_app2_safe_region_get(E_Zone *zone, int *x, int *y, int *w, int *h) -{ - int ty, th, bh; - int nx, ny, nw, nh; - - if (!zone) return; - e_illume_kbd_safe_app_region_get(zone, &nx, NULL, &nw, &nh); - e_illume_border_top_shelf_pos_get(zone, NULL, &ty); - e_illume_border_top_shelf_size_get(zone, NULL, &th); - e_illume_border_bottom_panel_size_get(zone, NULL, &bh); - ny = (ty + th); - nh = (nh - ny - bh); - if (x) *x = nx; - if (y) *y = ny; - if (w) *w = nw; - if (h) *h = nh; -} diff --git a/src/modules/illume2/e_kbd.c b/src/modules/illume2/e_kbd.c deleted file mode 100644 index 7caee5f49..000000000 --- a/src/modules/illume2/e_kbd.c +++ /dev/null @@ -1,681 +0,0 @@ -#include "E_Illume.h" -#include "e_kbd.h" -#include "e_kbd_dbus.h" - -#define ICONIFY_TO_HIDE 0 - -/* local function prototypes */ -static void _e_kbd_cb_free(E_Kbd *kbd); -static int _e_kbd_cb_delayed_hide(void *data); -static int _e_kbd_cb_animate(void *data); -static E_Kbd *_e_kbd_by_border_get(E_Border *bd); -static void _e_kbd_layout_send(E_Kbd *kbd); -static void _e_kbd_border_show(E_Border *bd); -static void _e_kbd_border_hide(E_Border *bd); -static void _e_kbd_border_adopt(E_Kbd *kbd, E_Border *bd); -static int _e_kbd_border_is_keyboard(E_Border *bd); -static void _e_kbd_hide(E_Kbd *kbd); -static void _e_kbd_slide(E_Kbd *kbd, int visible, double len); -static void _e_kbd_all_show(void); -static void _e_kbd_all_hide(void); -static void _e_kbd_all_toggle(void); -static void _e_kbd_all_layout_set(E_Kbd_Layout layout); - -/* handlers */ -static int _e_kbd_cb_client_message(void *data, int type, void *event); -static int _e_kbd_cb_border_remove(void *data, int type, void *event); -static int _e_kbd_cb_border_focus_in(void *data, int type, void *event); -static int _e_kbd_cb_border_focus_out(void *data, int type, void *event); -static int _e_kbd_cb_border_property(void *data, int type, void *event); - -/* hooks */ -static void _e_kbd_cb_border_pre_post_fetch(void *data, void *data2); - -/* local variables */ -static Eina_List *kbds = NULL, *handlers = NULL, *hooks = NULL; -static E_Border *focused_border = NULL; -static Ecore_X_Atom focused_vkbd_state = 0; - -/* public functions */ -int -e_kbd_init(void) -{ - handlers = - eina_list_append(handlers, - ecore_event_handler_add(ECORE_X_EVENT_CLIENT_MESSAGE, - _e_kbd_cb_client_message, NULL)); - handlers = - eina_list_append(handlers, - ecore_event_handler_add(E_EVENT_BORDER_REMOVE, - _e_kbd_cb_border_remove, NULL)); - handlers = - eina_list_append(handlers, - ecore_event_handler_add(E_EVENT_BORDER_FOCUS_IN, - _e_kbd_cb_border_focus_in, NULL)); - handlers = - eina_list_append(handlers, - ecore_event_handler_add(E_EVENT_BORDER_FOCUS_OUT, - _e_kbd_cb_border_focus_out, NULL)); - handlers = - eina_list_append(handlers, - ecore_event_handler_add(E_EVENT_BORDER_PROPERTY, - _e_kbd_cb_border_property, NULL)); - - hooks = - eina_list_append(hooks, - e_border_hook_add(E_BORDER_HOOK_EVAL_PRE_POST_FETCH, - _e_kbd_cb_border_pre_post_fetch, NULL)); - - e_kbd_dbus_init(); - - return 1; -} - -int -e_kbd_shutdown(void) -{ - E_Kbd *kbd; - Ecore_Event_Handler *handler; - E_Border_Hook *hook; - - EINA_LIST_FREE(handlers, handler) - ecore_event_handler_del(handler); - - EINA_LIST_FREE(hooks, hook) - e_border_hook_del(hook); - - EINA_LIST_FREE(kbds, kbd) - e_object_del(E_OBJECT(kbd)); - - e_kbd_dbus_shutdown(); - - return 1; -} - -E_Kbd * -e_kbd_new(void) -{ - E_Kbd *kbd; - - kbd = E_OBJECT_ALLOC(E_Kbd, E_KBD_TYPE, _e_kbd_cb_free); - if (!kbd) return NULL; - kbd->layout = E_KBD_LAYOUT_ALPHA; - kbds = eina_list_append(kbds, kbd); - return kbd; -} - -void -e_kbd_all_enable(void) -{ - Eina_List *l; - E_Kbd *kbd; - - EINA_LIST_FOREACH(kbds, l, kbd) - e_kbd_enable(kbd); -} - -void -e_kbd_all_disable(void) -{ - Eina_List *l; - E_Kbd *kbd; - - EINA_LIST_FOREACH(kbds, l, kbd) - e_kbd_disable(kbd); -} - -void -e_kbd_show(E_Kbd *kbd) -{ - if (kbd->timer) ecore_timer_del(kbd->timer); - kbd->timer = NULL; - if (kbd->disabled) return; - if (focused_border) - { - if (kbd->border->zone != focused_border->zone) - e_border_zone_set(kbd->border, focused_border->zone); - e_border_move(kbd->border, focused_border->zone->x, kbd->border->y); - } - if ((kbd->visible) || (kbd->disabled)) return; - _e_kbd_layout_send(kbd); - if (il_cfg->sliding.kbd.duration <= 0) - { - if (kbd->border) - { - e_border_fx_offset(kbd->border, 0, 0); - _e_kbd_border_show(kbd->border); - } - kbd->visible = 1; - } - else - { - if (kbd->border) _e_kbd_border_show(kbd->border); - _e_kbd_slide(kbd, 1, (double)il_cfg->sliding.kbd.duration / 1000.0); - } -} - -void -e_kbd_hide(E_Kbd *kbd) -{ - if (!kbd->visible) return; - if (!kbd->timer) - kbd->timer = ecore_timer_add(0.2, _e_kbd_cb_delayed_hide, kbd); -} - -void -e_kbd_enable(E_Kbd *kbd) -{ - if (!kbd->disabled) return; - kbd->disabled = 0; - if (!kbd->visible) e_kbd_show(kbd); -} - -void -e_kbd_disable(E_Kbd *kbd) -{ - if (kbd->disabled) return; - if (kbd->visible) e_kbd_hide(kbd); - kbd->disabled = 1; -} - -void -e_kbd_layout_set(E_Kbd *kbd, E_Kbd_Layout layout) -{ - kbd->layout = layout; - _e_kbd_layout_send(kbd); -} - -void -e_kbd_fullscreen_set(E_Zone *zone, int fullscreen) -{ - Eina_List *l; - E_Kbd *kbd; - - EINA_LIST_FOREACH(kbds, l, kbd) - { - if (!kbd->border) continue; - if (kbd->border->zone != zone) continue; - if ((!!fullscreen) != kbd->fullscreen) - { - kbd->fullscreen = fullscreen; - if (kbd->fullscreen) - e_border_layer_set(kbd->border, 250); - else - e_border_layer_set(kbd->border, 100); - } - } -} - -EAPI void -e_illume_kbd_safe_app_region_get(E_Zone *zone, int *x, int *y, int *w, int *h) -{ - Eina_List *l; - E_Kbd *kbd; - - if (x) *x = zone->x; - if (y) *y = zone->y; - if (w) *w = zone->w; - if (h) *h = zone->h; - EINA_LIST_FOREACH(kbds, l, kbd) - { - if (!kbd->border) continue; - if (kbd->border->zone != zone) continue; - if ((kbd->visible) && (!kbd->animator) && (!kbd->disabled)) - { - if (h) - { - *h -= kbd->border->h; - if (*h < 0) *h = 0; - } - } - return; - } -} - -/* local functions */ -static void -_e_kbd_cb_free(E_Kbd *kbd) -{ - E_Border *bd; - - if (kbd->animator) ecore_animator_del(kbd->animator); - kbd->animator = NULL; - if (kbd->timer) ecore_timer_del(kbd->timer); - kbd->timer = NULL; - EINA_LIST_FREE(kbd->waiting_borders, bd) - bd->stolen = 0; - E_FREE(kbd); -} - -static int -_e_kbd_cb_delayed_hide(void *data) -{ - E_Kbd *kbd; - - if (!(kbd = data)) return 0; - _e_kbd_hide(kbd); - kbd->timer = NULL; - return 0; -} - -static int -_e_kbd_cb_animate(void *data) -{ - E_Kbd *kbd; - double t, v; - - if (!(kbd = data)) return 0; - - t = ecore_loop_time_get() - kbd->start; - if (t > kbd->len) t = kbd->len; - if (kbd->len > 0.0) - { - v = t / kbd->len; - v = 1.0 - v; - v = v * v * v * v; - v = 1.0 - v; - } - else - { - t = kbd->len; - v = 1.0; - } - kbd->adjust = (kbd->adjust_end * v) + (kbd->adjust_start * (1.0 - v)); - if (kbd->border) - e_border_fx_offset(kbd->border, 0, kbd->border->h - kbd->adjust); - if (t == kbd->len) - { - kbd->animator = NULL; - if (kbd->visible) - { - _e_kbd_border_hide(kbd->border); - kbd->visible = 0; - } - else - kbd->visible = 1; - _e_kbd_layout_send(kbd); - return 0; - } - return 1; -} - -static E_Kbd * -_e_kbd_by_border_get(E_Border *bd) -{ - Eina_List *l, *ll; - E_Border *over; - E_Kbd *kbd; - - if ((!bd) || (!bd->stolen)) return NULL; - EINA_LIST_FOREACH(kbds, l, kbd) - { - if (kbd->border == bd) return kbd; - EINA_LIST_FOREACH(kbd->waiting_borders, ll, over) - if (over == bd) return kbd; - } - return NULL; -} - -static void -_e_kbd_layout_send(E_Kbd *kbd) -{ - Ecore_X_Virtual_Keyboard_State type; - - if (!kbd) return; - if ((kbd->visible) && (!kbd->disabled)) - { - type = ECORE_X_VIRTUAL_KEYBOARD_STATE_ON; - if (kbd->layout == E_KBD_LAYOUT_DEFAULT) - type = ECORE_X_VIRTUAL_KEYBOARD_STATE_ON; - else if (kbd->layout == E_KBD_LAYOUT_ALPHA) - type = ECORE_X_VIRTUAL_KEYBOARD_STATE_ALPHA; - else if (kbd->layout == E_KBD_LAYOUT_NUMERIC) - type = ECORE_X_VIRTUAL_KEYBOARD_STATE_NUMERIC; - else if (kbd->layout == E_KBD_LAYOUT_PIN) - type = ECORE_X_VIRTUAL_KEYBOARD_STATE_PIN; - else if (kbd->layout == E_KBD_LAYOUT_PHONE_NUMBER) - type = ECORE_X_VIRTUAL_KEYBOARD_STATE_PHONE_NUMBER; - else if (kbd->layout == E_KBD_LAYOUT_HEX) - type = ECORE_X_VIRTUAL_KEYBOARD_STATE_HEX; - else if (kbd->layout == E_KBD_LAYOUT_TERMINAL) - type = ECORE_X_VIRTUAL_KEYBOARD_STATE_TERMINAL; - else if (kbd->layout == E_KBD_LAYOUT_PASSWORD) - type = ECORE_X_VIRTUAL_KEYBOARD_STATE_PASSWORD; - else if (kbd->layout == E_KBD_LAYOUT_NONE) - type = ECORE_X_VIRTUAL_KEYBOARD_STATE_OFF; - } - else - type = ECORE_X_VIRTUAL_KEYBOARD_STATE_OFF; - if (kbd->border) - ecore_x_e_virtual_keyboard_state_send(kbd->border->client.win, type); -} - -static void -_e_kbd_border_show(E_Border *bd) -{ - if (!bd) return; -#ifdef ICONIFY_TO_HIDE - e_border_uniconify(bd); -#endif - e_border_show(bd); - e_border_raise(bd); -} - -static void -_e_kbd_border_hide(E_Border *bd) -{ - if (!bd) return; -#ifdef ICONIFY_TO_HIDE - e_border_iconify(bd); -#else - e_border_hide(bd, 2); -#endif -} - -static void -_e_kbd_border_adopt(E_Kbd *kbd, E_Border *bd) -{ - if ((!kbd) || (!bd)) return; - - kbd->border = bd; - bd->sticky = 1; - if (kbd->fullscreen) - e_border_layer_set(kbd->border, 250); - else - e_border_layer_set(kbd->border, 100); - if (!kbd->visible) - { - e_border_fx_offset(kbd->border, 0, kbd->border->h); - _e_kbd_layout_send(kbd); - } - kbd->h = kbd->border->h; -} - -static int -_e_kbd_border_is_keyboard(E_Border *bd) -{ - if (!bd) return 0; - if ((bd->client.vkbd.vkbd) || /* explicit hint that its a virtual keyboard */ - /* legacy */ - ( /* trap the matchbox qwerty and multitap kbd's */ - (((bd->client.icccm.title) && (!strcmp(bd->client.icccm.title, "Keyboard"))) || - ((bd->client.icccm.name) && ((!strcmp(bd->client.icccm.name, "multitap-pad"))))) - && (bd->client.netwm.state.skip_taskbar) - && (bd->client.netwm.state.skip_pager))) - return 1; - return 0; -} - -static void -_e_kbd_hide(E_Kbd *kbd) -{ - if (!kbd) return; - if (kbd->timer) ecore_timer_del(kbd->timer); - kbd->timer = NULL; - if ((!kbd->visible) || (kbd->disabled)) return; - _e_kbd_layout_send(kbd); - if (il_cfg->sliding.kbd.duration <= 0) - { - if (kbd->border) - { - e_border_fx_offset(kbd->border, 0, kbd->border->h); - _e_kbd_border_hide(kbd->border); - } - kbd->visible = 0; - } - else - _e_kbd_slide(kbd, 0, (double)il_cfg->sliding.kbd.duration / 1000.0); -} - -static void -_e_kbd_slide(E_Kbd *kbd, int visible, double len) -{ - if (!kbd) return; - kbd->start = ecore_loop_time_get(); - kbd->len = len; - kbd->adjust_start = kbd->adjust; - kbd->adjust_end = 0; - if ((visible) && (kbd->border)) - kbd->adjust_end = kbd->border->h; - if (!kbd->animator) - kbd->animator = ecore_animator_add(_e_kbd_cb_animate, kbd); -} - -static void -_e_kbd_all_show(void) -{ - Eina_List *l; - E_Kbd *kbd; - - EINA_LIST_FOREACH(kbds, l, kbd) - e_kbd_show(kbd); -} - -static void -_e_kbd_all_hide(void) -{ - Eina_List *l; - E_Kbd *kbd; - - EINA_LIST_FOREACH(kbds, l, kbd) - e_kbd_hide(kbd); -} - -static void -_e_kbd_all_toggle(void) -{ - Eina_List *l; - E_Kbd *kbd; - - EINA_LIST_FOREACH(kbds, l, kbd) - { - if (kbd->visible) e_kbd_hide(kbd); - else e_kbd_show(kbd); - } -} - -static void -_e_kbd_all_layout_set(E_Kbd_Layout layout) -{ - Eina_List *l; - E_Kbd *kbd; - - EINA_LIST_FOREACH(kbds, l, kbd) - e_kbd_layout_set(kbd, layout); -} - -/* handlers */ -static int -_e_kbd_cb_client_message(void *data, int type, void *event) -{ - Ecore_X_Event_Client_Message *ev; - - ev = event; - if (ev->win != ecore_x_window_root_first_get()) return 1; - if ((ev->message_type == ecore_x_atom_get("_MB_IM_INVOKER_COMMAND")) || - (ev->message_type == ecore_x_atom_get("_MTP_IM_INVOKER_COMMAND"))) - { - if (ev->data.l[0] == 1) _e_kbd_all_show(); - else if (ev->data.l[0] == 2) _e_kbd_all_hide(); - else if (ev->data.l[0] == 3) _e_kbd_all_toggle(); - } - return 1; -} - -static int -_e_kbd_cb_border_remove(void *data, int type, void *event) -{ - E_Event_Border_Remove *ev; - E_Kbd *kbd; - - ev = event; - if (focused_border) - { - if (ev->border == focused_border) - { - focused_border = NULL; - focused_vkbd_state = 0; - return 1; - } - } - if (!(kbd = _e_kbd_by_border_get(ev->border))) return 1; - if (kbd->border) - { - if (kbd->border == ev->border) - { - kbd->border = NULL; - if (kbd->waiting_borders) - { - E_Border *bd; - - bd = kbd->waiting_borders->data; - kbd->waiting_borders = - eina_list_remove_list(kbd->waiting_borders, kbd->waiting_borders); - _e_kbd_border_adopt(kbd, bd); - } - if (kbd->visible) - { - _e_kbd_border_hide(ev->border); - e_kbd_hide(kbd); - } - } - } - else - kbd->waiting_borders = eina_list_remove(kbd->waiting_borders, ev->border); - return 1; -} - -static int -_e_kbd_cb_border_focus_in(void *data, int type, void *event) -{ - E_Event_Border_Focus_In *ev; - - ev = event; - if (_e_kbd_by_border_get(ev->border)) return 1; - focused_border = ev->border; - focused_vkbd_state = ev->border->client.vkbd.state; - if (focused_vkbd_state == 0) return 1; - if (focused_vkbd_state == ECORE_X_VIRTUAL_KEYBOARD_STATE_OFF) - _e_kbd_all_hide(); - else - { - if (focused_vkbd_state == ECORE_X_VIRTUAL_KEYBOARD_STATE_ALPHA) - _e_kbd_all_layout_set(E_KBD_LAYOUT_ALPHA); - else if (focused_vkbd_state == ECORE_X_VIRTUAL_KEYBOARD_STATE_NUMERIC) - _e_kbd_all_layout_set(E_KBD_LAYOUT_NUMERIC); - else if (focused_vkbd_state == ECORE_X_VIRTUAL_KEYBOARD_STATE_PIN) - _e_kbd_all_layout_set(E_KBD_LAYOUT_PIN); - else if (focused_vkbd_state == ECORE_X_VIRTUAL_KEYBOARD_STATE_PHONE_NUMBER) - _e_kbd_all_layout_set(E_KBD_LAYOUT_PHONE_NUMBER); - else if (focused_vkbd_state == ECORE_X_VIRTUAL_KEYBOARD_STATE_HEX) - _e_kbd_all_layout_set(E_KBD_LAYOUT_HEX); - else if (focused_vkbd_state == ECORE_X_VIRTUAL_KEYBOARD_STATE_TERMINAL) - _e_kbd_all_layout_set(E_KBD_LAYOUT_TERMINAL); - else if (focused_vkbd_state == ECORE_X_VIRTUAL_KEYBOARD_STATE_PASSWORD) - _e_kbd_all_layout_set(E_KBD_LAYOUT_PASSWORD); - else - _e_kbd_all_layout_set(E_KBD_LAYOUT_DEFAULT); - - _e_kbd_all_show(); - } - return 1; -} - -static int -_e_kbd_cb_border_focus_out(void *data, int type, void *event) -{ - E_Event_Border_Focus_Out *ev; - - ev = event; - if (_e_kbd_by_border_get(ev->border)) return 1; - _e_kbd_all_hide(); - focused_border = NULL; - focused_vkbd_state = 0; - return 1; -} - -static int -_e_kbd_cb_border_property(void *data, int type, void *event) -{ - E_Event_Border_Property *ev; - - ev = event; - if (!ev->border->focused) return 1; - if (_e_kbd_by_border_get(ev->border)) return 1; - if (focused_border) - { - if ((ev->border == focused_border) && - (ev->border->client.vkbd.state == focused_vkbd_state)) return 1; - } - focused_vkbd_state = ev->border->client.vkbd.state; - if (focused_vkbd_state == 0) return 1; - - if ((ev->border->need_fullscreen) || (ev->border->fullscreen)) - e_kbd_fullscreen_set(ev->border->zone, 1); - else - e_kbd_fullscreen_set(ev->border->zone, 0); - - /* app wants kbd off - then kbd off it is */ - if (focused_vkbd_state <= ECORE_X_VIRTUAL_KEYBOARD_STATE_OFF) - _e_kbd_all_hide(); - /* app wants something other than off... */ - else - { - if (focused_vkbd_state == ECORE_X_VIRTUAL_KEYBOARD_STATE_ALPHA) - _e_kbd_all_layout_set(E_KBD_LAYOUT_ALPHA); - else if (focused_vkbd_state == ECORE_X_VIRTUAL_KEYBOARD_STATE_NUMERIC) - _e_kbd_all_layout_set(E_KBD_LAYOUT_NUMERIC); - else if (focused_vkbd_state == ECORE_X_VIRTUAL_KEYBOARD_STATE_PIN) - _e_kbd_all_layout_set(E_KBD_LAYOUT_PIN); - else if (focused_vkbd_state == ECORE_X_VIRTUAL_KEYBOARD_STATE_PHONE_NUMBER) - _e_kbd_all_layout_set(E_KBD_LAYOUT_PHONE_NUMBER); - else if (focused_vkbd_state == ECORE_X_VIRTUAL_KEYBOARD_STATE_HEX) - _e_kbd_all_layout_set(E_KBD_LAYOUT_HEX); - else if (focused_vkbd_state == ECORE_X_VIRTUAL_KEYBOARD_STATE_TERMINAL) - _e_kbd_all_layout_set(E_KBD_LAYOUT_TERMINAL); - else if (focused_vkbd_state == ECORE_X_VIRTUAL_KEYBOARD_STATE_PASSWORD) - _e_kbd_all_layout_set(E_KBD_LAYOUT_PASSWORD); - else - _e_kbd_all_layout_set(E_KBD_LAYOUT_DEFAULT); - _e_kbd_all_show(); - } - return 1; -} - -/* hooks */ -static void -_e_kbd_cb_border_pre_post_fetch(void *data, void *data2) -{ - E_Border *bd; - - if (!(bd = data2)) return; - if (!bd->new_client) return; - if (_e_kbd_by_border_get(bd)) return; - if (_e_kbd_border_is_keyboard(bd)) - { - Eina_List *l; - E_Kbd *kbd; - - EINA_LIST_FOREACH(kbds, l, kbd) - { - if (!kbd->border) - _e_kbd_border_adopt(kbd, bd); - else - kbd->waiting_borders = eina_list_append(kbd->waiting_borders, bd); - bd->stolen = 1; - if (bd->remember) - { - if (bd->bordername) - { - eina_stringshare_del(bd->bordername); - bd->bordername = NULL; - } - e_remember_unuse(bd->remember); - bd->remember = NULL; - } - eina_stringshare_replace(&bd->bordername, "borderless"); - bd->client.border.changed = 1; - return; - } - } -} diff --git a/src/modules/illume2/e_kbd.h b/src/modules/illume2/e_kbd.h deleted file mode 100644 index bfd18e19f..000000000 --- a/src/modules/illume2/e_kbd.h +++ /dev/null @@ -1,56 +0,0 @@ -#ifndef E_KBD_H -#define E_KBD_H - -#define E_KBD_TYPE 0xE1b0988 - -typedef enum _E_Kbd_Layout E_Kbd_Layout; -enum _E_Kbd_Layout -{ - E_KBD_LAYOUT_NONE, - E_KBD_LAYOUT_DEFAULT, - E_KBD_LAYOUT_ALPHA, - E_KBD_LAYOUT_NUMERIC, - E_KBD_LAYOUT_PIN, - E_KBD_LAYOUT_PHONE_NUMBER, - E_KBD_LAYOUT_HEX, - E_KBD_LAYOUT_TERMINAL, - E_KBD_LAYOUT_PASSWORD, - E_KBD_LAYOUT_IP, - E_KBD_LAYOUT_HOST, - E_KBD_LAYOUT_FILE, - E_KBD_LAYOUT_URL, - E_KBD_LAYOUT_KEYPAD, - E_KBD_LAYOUT_J2ME -}; - -typedef struct _E_Kbd E_Kbd; -struct _E_Kbd -{ - E_Object e_obj_inherit; - E_Border *border; - Ecore_Timer *timer; - Ecore_Animator *animator; - E_Kbd_Layout layout; - Eina_List *waiting_borders; - - double start, len; - int h, adjust, adjust_start, adjust_end; - unsigned char visible : 1; - unsigned char disabled : 1; - unsigned char fullscreen : 1; -}; - -int e_kbd_init(void); -int e_kbd_shutdown(void); - -E_Kbd *e_kbd_new(void); -void e_kbd_all_enable(void); -void e_kbd_all_disable(void); -void e_kbd_show(E_Kbd *kbd); -void e_kbd_hide(E_Kbd *kbd); -void e_kbd_enable(E_Kbd *kbd); -void e_kbd_disable(E_Kbd *kbd); -void e_kbd_layout_set(E_Kbd *kbd, E_Kbd_Layout layout); -void e_kbd_fullscreen_set(E_Zone *zone, int fullscreen); - -#endif diff --git a/src/modules/illume2/e_kbd_dbus.c b/src/modules/illume2/e_kbd_dbus.c deleted file mode 100644 index b76443743..000000000 --- a/src/modules/illume2/e_kbd_dbus.c +++ /dev/null @@ -1,280 +0,0 @@ -#include "E_Illume.h" -#include "e_kbd.h" -#include "e_kbd_dbus.h" - -/* local variables */ -static int have_real_kbd = 0; -static E_DBus_Connection *dbus_conn = NULL; -static E_DBus_Signal_Handler *dbus_dev_add = NULL; -static E_DBus_Signal_Handler *dbus_dev_del = NULL; -static E_DBus_Signal_Handler *dbus_dev_chg = NULL; -static Eina_List *dbus_kbds = NULL, *ignore_kbds = NULL; - -/* local function prototypes */ -static void _e_kbd_dbus_cb_input_kbd(void *data, void *reply, DBusError *err); -static void _e_kbd_dbus_cb_input_kbd_is(void *data, void *reply, DBusError *err); -static void _e_kbd_dbus_ignore_kbds_load(void); -static void _e_kbd_dbus_ignore_kbds_file_load(const char *file); -static void _e_kbd_dbus_kbd_add(const char *udi); -static void _e_kbd_dbus_kbd_del(const char *udi); -static void _e_kbd_dbus_kbd_eval(void); -static void _e_kbd_dbus_dev_add(void *data, DBusMessage *msg); -static void _e_kbd_dbus_dev_del(void *data, DBusMessage *msg); -static void _e_kbd_dbus_dev_chg(void *data, DBusMessage *msg); - -/* public functions */ -void -e_kbd_dbus_init(void) -{ - /* load the 'ignore' keyboard files */ - _e_kbd_dbus_ignore_kbds_load(); - - /* attempt to connect to the system dbus */ - if (!(dbus_conn = e_dbus_bus_get(DBUS_BUS_SYSTEM))) return; - - /* ask HAL for any input keyboards */ - e_hal_manager_find_device_by_capability(dbus_conn, "input.keyboard", - _e_kbd_dbus_cb_input_kbd, NULL); - - /* setup dbus signal handlers for when a device gets added/removed/changed */ - dbus_dev_add = - e_dbus_signal_handler_add(dbus_conn, "org.freedesktop.Hal", - "/org/freedesktop/Hal/Manager", - "org.freedesktop.Hal.Manager", - "DeviceAdded", _e_kbd_dbus_dev_add, NULL); - dbus_dev_del = - e_dbus_signal_handler_add(dbus_conn, "org.freedesktop.Hal", - "/org/freedesktop/Hal/Manager", - "org.freedesktop.Hal.Manager", - "DeviceRemoved", _e_kbd_dbus_dev_del, NULL); - dbus_dev_chg = - e_dbus_signal_handler_add(dbus_conn, "org.freedesktop.Hal", - "/org/freedesktop/Hal/Manager", - "org.freedesktop.Hal.Manager", - "NewCapability", _e_kbd_dbus_dev_chg, NULL); -} - -void -e_kbd_dbus_shutdown(void) -{ - char *str; - - /* remove the dbus signal handlers if we can */ - if (dbus_dev_add) - e_dbus_signal_handler_del(dbus_conn, dbus_dev_add); - if (dbus_dev_del) - e_dbus_signal_handler_del(dbus_conn, dbus_dev_del); - if (dbus_dev_chg) - e_dbus_signal_handler_del(dbus_conn, dbus_dev_chg); - - /* free the list of ignored keyboards */ - EINA_LIST_FREE(ignore_kbds, str) - eina_stringshare_del(str); - - /* free the list of keyboards */ - EINA_LIST_FREE(dbus_kbds, str) - eina_stringshare_del(str); -} - -/* local functions */ -static void -_e_kbd_dbus_cb_input_kbd(void *data, void *reply, DBusError *err) -{ - E_Hal_Manager_Find_Device_By_Capability_Return *ret = reply; - Eina_List *l; - char *dev; - - if ((!ret) || (!ret->strings)) return; - - /* if dbus errored then cleanup and get out */ - if (dbus_error_is_set(err)) - { - dbus_error_free(err); - return; - } - - /* for each returned keyboard, add it and evaluate it */ - EINA_LIST_FOREACH(ret->strings, l, dev) - { - _e_kbd_dbus_kbd_add(dev); - _e_kbd_dbus_kbd_eval(); - } -} - -static void -_e_kbd_dbus_cb_input_kbd_is(void *data, void *reply, DBusError *err) -{ - E_Hal_Device_Query_Capability_Return *ret = reply; - char *udi = data; - - /* if dbus errored then cleanup and get out */ - if (dbus_error_is_set(err)) - { - dbus_error_free(err); - if (udi) free(udi); - return; - } - - /* if it's an input keyboard, than add it and eval */ - if ((ret) && (ret->boolean)) - { - if (udi) - { - _e_kbd_dbus_kbd_add(udi); - _e_kbd_dbus_kbd_eval(); - free(udi); - } - } -} - -static void -_e_kbd_dbus_ignore_kbds_load(void) -{ - char buff[PATH_MAX]; - - /* load the 'ignore' file from the user's home dir */ - e_user_dir_concat_static(buff, "keyboards/ignore_built_in_keyboards"); - _e_kbd_dbus_ignore_kbds_file_load(buff); - - /* load the 'ignore' file from the system/module dir */ - snprintf(buff, sizeof(buff), - "%s/keyboards/ignore_built_in_keyboards", il_cfg->mod_dir); - _e_kbd_dbus_ignore_kbds_file_load(buff); -} - -static void -_e_kbd_dbus_ignore_kbds_file_load(const char *file) -{ - char buf[PATH_MAX]; - FILE *f; - - /* can this file be opened */ - if (!(f = fopen(file, "r"))) return; - - /* parse out the info in the ignore file */ - while (fgets(buf, sizeof(buf), f)) - { - char *p; - int len; - - if (buf[0] == '#') continue; - len = strlen(buf); - if (len > 0) - { - if (buf[len - 1] == '\n') buf[len - 1] = 0; - } - p = buf; - while (isspace(*p)) p++; - - /* append this kbd to the ignore list */ - if (*p) - ignore_kbds = eina_list_append(ignore_kbds, eina_stringshare_add(p)); - } - fclose(f); -} - -static void -_e_kbd_dbus_kbd_add(const char *udi) -{ - const char *str; - Eina_List *l; - - if (!udi) return; - EINA_LIST_FOREACH(dbus_kbds, l, str) - if (!strcmp(str, udi)) return; - dbus_kbds = eina_list_append(dbus_kbds, eina_stringshare_add(udi)); -} - -static void -_e_kbd_dbus_kbd_del(const char *udi) -{ - const char *str; - Eina_List *l; - - if (!udi) return; - EINA_LIST_FOREACH(dbus_kbds, l, str) - if (!strcmp(str, udi)) - { - eina_stringshare_del(str); - dbus_kbds = eina_list_remove_list(dbus_kbds, l); - return; - } -} - -static void -_e_kbd_dbus_kbd_eval(void) -{ - Eina_List *l, *ll; - const char *g, *gg; - int have_real = 0; - - have_real = eina_list_count(dbus_kbds); - EINA_LIST_FOREACH(dbus_kbds, l, g) - EINA_LIST_FOREACH(ignore_kbds, ll, gg) - if (e_util_glob_match(g, gg)) - { - have_real--; - break; - } - if (have_real != have_real_kbd) - { - have_real_kbd = have_real; -#if 0 - if (have_real_kbd) e_kbd_all_disable(); - else -#endif - e_kbd_all_enable(); - } -} - -static void -_e_kbd_dbus_dev_add(void *data, DBusMessage *msg) -{ - DBusError err; - char *udi; - - dbus_error_init(&err); - dbus_message_get_args(msg, &err, DBUS_TYPE_STRING, &udi, DBUS_TYPE_INVALID); - e_hal_device_query_capability(dbus_conn, udi, "input.keyboard", - _e_kbd_dbus_cb_input_kbd_is, udi); -} - -static void -_e_kbd_dbus_dev_del(void *data, DBusMessage *msg) -{ - DBusError err; - char *udi; - - dbus_error_init(&err); - dbus_message_get_args(msg, &err, DBUS_TYPE_STRING, &udi, DBUS_TYPE_INVALID); - if (udi) - { - _e_kbd_dbus_kbd_del(udi); - _e_kbd_dbus_kbd_eval(); - free(udi); - } -} - -static void -_e_kbd_dbus_dev_chg(void *data, DBusMessage *msg) -{ - DBusError err; - char *udi, *cap; - - dbus_error_init(&err); - dbus_message_get_args(msg, &err, DBUS_TYPE_STRING, &udi, - DBUS_TYPE_STRING, &cap, DBUS_TYPE_INVALID); - if (cap) - { - if (!strcmp(cap, "input.keyboard")) - { - if (udi) - { - _e_kbd_dbus_kbd_add(udi); - _e_kbd_dbus_kbd_eval(); - free(udi); - } - } - free(cap); - } -} diff --git a/src/modules/illume2/e_kbd_dbus.h b/src/modules/illume2/e_kbd_dbus.h deleted file mode 100644 index c863c27da..000000000 --- a/src/modules/illume2/e_kbd_dbus.h +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef E_KBD_DBUS_H -#define E_KBD_DBUS_H - -void e_kbd_dbus_init(void); -void e_kbd_dbus_shutdown(void); - -#endif diff --git a/src/modules/illume2/e_mod_animation.c b/src/modules/illume2/e_mod_animation.c deleted file mode 100644 index c024644bd..000000000 --- a/src/modules/illume2/e_mod_animation.c +++ /dev/null @@ -1,124 +0,0 @@ -#include "E_Illume.h" -#include "e_mod_animation.h" - -/* local function prototypes */ -static void *_il_config_animation_create(E_Config_Dialog *cfd); -static void _il_config_animation_free(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata); -static Evas_Object *_il_config_animation_ui(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cfdata); -static void _il_config_animation_change(void *data, Evas_Object *obj, void *event); -static int _il_config_animation_change_timeout(void *data); - -/* local variables */ -Ecore_Timer *_anim_change_timer = NULL; - -/* public functions */ -void -il_config_animation_show(E_Container *con, const char *params) -{ - 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 = _il_config_animation_create; - v->free_cfdata = _il_config_animation_free; - v->basic.create_widgets = _il_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 * -_il_config_animation_create(E_Config_Dialog *cfd) -{ - return NULL; -} - -static void -_il_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 * -_il_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(&(il_cfg->sliding.kbd.duration)); - ow = e_widget_radio_add(evas, _("Slow"), 2000, rg); - e_widget_framelist_object_append(of, ow); - evas_object_smart_callback_add(ow, "changed", - _il_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", - _il_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", - _il_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", - _il_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", - _il_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(&(il_cfg->sliding.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", - _il_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", - _il_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", - _il_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", - _il_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", - _il_config_animation_change, NULL); - e_widget_list_object_append(list, of, 1, 0, 0.0); - - return list; -} - -static void -_il_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, _il_config_animation_change_timeout, data); -} - -static int -_il_config_animation_change_timeout(void *data) -{ - e_config_save_queue(); - _anim_change_timer = NULL; - return 0; -} diff --git a/src/modules/illume2/e_mod_animation.h b/src/modules/illume2/e_mod_animation.h deleted file mode 100644 index cf8a36ee0..000000000 --- a/src/modules/illume2/e_mod_animation.h +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef E_MOD_ANIM_H -#define E_MOD_ANIM_H - -void il_config_animation_show(E_Container *con, const char *params); - -#endif diff --git a/src/modules/illume2/e_mod_config.c b/src/modules/illume2/e_mod_config.c deleted file mode 100644 index c38eccd58..000000000 --- a/src/modules/illume2/e_mod_config.c +++ /dev/null @@ -1,237 +0,0 @@ -#include "E_Illume.h" -#include "e_mod_config.h" -#include "e_mod_policy.h" -#include "e_mod_animation.h" -#include "e_mod_windows.h" - -/* local variables */ -static E_Config_DD *conf_edd = NULL; -static E_Config_DD *conf_zone_edd = NULL; - -/* public variables */ -EAPI E_Illume_Config*il_cfg = NULL; - -int -e_mod_config_init(E_Module *m) -{ - conf_zone_edd = E_CONFIG_DD_NEW("Illume_Cfg_Zone", E_Illume_Config_Zone); - E_CONFIG_VAL(conf_zone_edd, E_Illume_Config_Zone, id, INT); - E_CONFIG_VAL(conf_zone_edd, E_Illume_Config_Zone, mode.dual, INT); - E_CONFIG_VAL(conf_zone_edd, E_Illume_Config_Zone, mode.side, INT); - - conf_edd = E_CONFIG_DD_NEW("Illume_Cfg", E_Illume_Config); - E_CONFIG_VAL(conf_edd, E_Illume_Config, version, INT); - E_CONFIG_VAL(conf_edd, E_Illume_Config, sliding.kbd.duration, INT); - E_CONFIG_VAL(conf_edd, E_Illume_Config, sliding.softkey.duration, INT); - E_CONFIG_VAL(conf_edd, E_Illume_Config, sliding.quickpanel.duration, INT); - E_CONFIG_VAL(conf_edd, E_Illume_Config, policy.name, STR); - - E_CONFIG_VAL(conf_edd, E_Illume_Config, policy.vkbd.class, STR); - E_CONFIG_VAL(conf_edd, E_Illume_Config, policy.vkbd.name, STR); - E_CONFIG_VAL(conf_edd, E_Illume_Config, policy.vkbd.title, STR); - E_CONFIG_VAL(conf_edd, E_Illume_Config, policy.vkbd.win_type, INT); - E_CONFIG_VAL(conf_edd, E_Illume_Config, policy.vkbd.match.class, INT); - E_CONFIG_VAL(conf_edd, E_Illume_Config, policy.vkbd.match.name, INT); - E_CONFIG_VAL(conf_edd, E_Illume_Config, policy.vkbd.match.title, INT); - E_CONFIG_VAL(conf_edd, E_Illume_Config, policy.vkbd.match.win_type, INT); - - E_CONFIG_VAL(conf_edd, E_Illume_Config, policy.softkey.class, STR); - E_CONFIG_VAL(conf_edd, E_Illume_Config, policy.softkey.name, STR); - E_CONFIG_VAL(conf_edd, E_Illume_Config, policy.softkey.title, STR); - E_CONFIG_VAL(conf_edd, E_Illume_Config, policy.softkey.win_type, INT); - E_CONFIG_VAL(conf_edd, E_Illume_Config, policy.softkey.match.class, INT); - E_CONFIG_VAL(conf_edd, E_Illume_Config, policy.softkey.match.name, INT); - E_CONFIG_VAL(conf_edd, E_Illume_Config, policy.softkey.match.title, INT); - E_CONFIG_VAL(conf_edd, E_Illume_Config, policy.softkey.match.win_type, INT); - - E_CONFIG_VAL(conf_edd, E_Illume_Config, policy.home.class, STR); - E_CONFIG_VAL(conf_edd, E_Illume_Config, policy.home.name, STR); - E_CONFIG_VAL(conf_edd, E_Illume_Config, policy.home.title, STR); - E_CONFIG_VAL(conf_edd, E_Illume_Config, policy.home.win_type, INT); - E_CONFIG_VAL(conf_edd, E_Illume_Config, policy.home.match.class, INT); - E_CONFIG_VAL(conf_edd, E_Illume_Config, policy.home.match.name, INT); - E_CONFIG_VAL(conf_edd, E_Illume_Config, policy.home.match.title, INT); - E_CONFIG_VAL(conf_edd, E_Illume_Config, policy.home.match.win_type, INT); - - E_CONFIG_VAL(conf_edd, E_Illume_Config, policy.indicator.class, STR); - E_CONFIG_VAL(conf_edd, E_Illume_Config, policy.indicator.name, STR); - E_CONFIG_VAL(conf_edd, E_Illume_Config, policy.indicator.title, STR); - E_CONFIG_VAL(conf_edd, E_Illume_Config, policy.indicator.win_type, INT); - E_CONFIG_VAL(conf_edd, E_Illume_Config, policy.indicator.match.class, INT); - E_CONFIG_VAL(conf_edd, E_Illume_Config, policy.indicator.match.name, INT); - E_CONFIG_VAL(conf_edd, E_Illume_Config, policy.indicator.match.title, INT); - E_CONFIG_VAL(conf_edd, E_Illume_Config, policy.indicator.match.win_type, INT); - - E_CONFIG_LIST(conf_edd, E_Illume_Config, policy.zones, conf_zone_edd); - - /* load the config */ - il_cfg = e_config_domain_load("module.illume2", conf_edd); - if ((il_cfg) && ((il_cfg->version >> 16) < IL_CONFIG_MAJ)) - E_FREE(il_cfg); - - if (!il_cfg) - { - E_Illume_Config_Zone *cz; - - cz = E_NEW(E_Illume_Config_Zone, 1); - cz->id = 0; - cz->mode.dual = 0; - cz->mode.side = 0; - - il_cfg = E_NEW(E_Illume_Config, 1); - il_cfg->version = 0; - il_cfg->sliding.kbd.duration = 1000; - il_cfg->sliding.softkey.duration = 1000; - il_cfg->sliding.quickpanel.duration = 1000; - il_cfg->policy.name = eina_stringshare_add("illume"); - il_cfg->policy.vkbd.class = - eina_stringshare_add("Virtual-Keyboard"); - il_cfg->policy.vkbd.name = - eina_stringshare_add("Virtual-Keyboard"); - il_cfg->policy.vkbd.title = - eina_stringshare_add("Virtual Keyboard"); - il_cfg->policy.vkbd.win_type = ECORE_X_WINDOW_TYPE_NORMAL; - il_cfg->policy.vkbd.match.class = 0; - il_cfg->policy.vkbd.match.name = 1; - il_cfg->policy.vkbd.match.title = 1; - il_cfg->policy.vkbd.match.win_type = 0; - il_cfg->policy.softkey.class = - eina_stringshare_add("Illume-Softkey"); - il_cfg->policy.softkey.name = - eina_stringshare_add("Illume-Softkey"); - il_cfg->policy.softkey.title = - eina_stringshare_add("Illume Softkey"); - il_cfg->policy.softkey.win_type = ECORE_X_WINDOW_TYPE_DOCK; - il_cfg->policy.softkey.match.class = 0; - il_cfg->policy.softkey.match.name = 1; - il_cfg->policy.softkey.match.title = 1; - il_cfg->policy.softkey.match.win_type = 0; - il_cfg->policy.home.class = - eina_stringshare_add("Illume-Home"); - il_cfg->policy.home.name = - eina_stringshare_add("Illume-Home"); - il_cfg->policy.home.title = - eina_stringshare_add("Illume Home"); - il_cfg->policy.home.win_type = ECORE_X_WINDOW_TYPE_NORMAL; - il_cfg->policy.home.match.class = 0; - il_cfg->policy.home.match.name = 1; - il_cfg->policy.home.match.title = 1; - il_cfg->policy.home.match.win_type = 0; - il_cfg->policy.indicator.class = - eina_stringshare_add("Illume-Indicator"); - il_cfg->policy.indicator.name = - eina_stringshare_add("Illume-Indicator"); - il_cfg->policy.indicator.title = - eina_stringshare_add("Illume Indicator"); - il_cfg->policy.indicator.win_type = ECORE_X_WINDOW_TYPE_DOCK; - il_cfg->policy.indicator.match.class = 0; - il_cfg->policy.indicator.match.name = 1; - il_cfg->policy.indicator.match.title = 1; - il_cfg->policy.indicator.match.win_type = 0; - il_cfg->policy.zones = eina_list_append(il_cfg->policy.zones, cz); - } - if (il_cfg) - { - /* Add new config variables here */ - /* if ((il_cfg->version & 0xffff) < 1) */ - il_cfg->version = (IL_CONFIG_MAJ << 16) | IL_CONFIG_MIN; - } - il_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/animation", 0, _("Animation"), - NULL, "enlightenment/animation", - il_config_animation_show); - e_configure_registry_generic_item_add("illume/policy", 0, _("Policy"), - NULL, "enlightenment/policy", - il_config_policy_show); - e_configure_registry_generic_item_add("illume/windows", 0, _("Windows"), - NULL, "enlightenment/windows", - il_config_windows_show); - - return 1; -} - -int -e_mod_config_shutdown(void) -{ - E_Illume_Config_Zone *cz; - - e_configure_registry_item_del("illume/windows"); - e_configure_registry_item_del("illume/policy"); - e_configure_registry_item_del("illume/animation"); - e_configure_registry_category_del("illume"); - - if (il_cfg->mod_dir) eina_stringshare_del(il_cfg->mod_dir); - il_cfg->mod_dir = NULL; - - if (il_cfg->policy.name) eina_stringshare_del(il_cfg->policy.name); - - if (il_cfg->policy.vkbd.class) - eina_stringshare_del(il_cfg->policy.vkbd.class); - if (il_cfg->policy.vkbd.name) - eina_stringshare_del(il_cfg->policy.vkbd.name); - if (il_cfg->policy.vkbd.title) - eina_stringshare_del(il_cfg->policy.vkbd.title); - - if (il_cfg->policy.softkey.class) - eina_stringshare_del(il_cfg->policy.softkey.class); - if (il_cfg->policy.softkey.name) - eina_stringshare_del(il_cfg->policy.softkey.name); - if (il_cfg->policy.softkey.title) - eina_stringshare_del(il_cfg->policy.softkey.title); - - if (il_cfg->policy.home.class) - eina_stringshare_del(il_cfg->policy.home.class); - if (il_cfg->policy.home.name) - eina_stringshare_del(il_cfg->policy.home.name); - if (il_cfg->policy.home.title) - eina_stringshare_del(il_cfg->policy.home.title); - - if (il_cfg->policy.indicator.class) - eina_stringshare_del(il_cfg->policy.indicator.class); - if (il_cfg->policy.indicator.name) - eina_stringshare_del(il_cfg->policy.indicator.name); - if (il_cfg->policy.indicator.title) - eina_stringshare_del(il_cfg->policy.indicator.title); - - EINA_LIST_FREE(il_cfg->policy.zones, cz) - E_FREE(cz); - - E_FREE(il_cfg); - - E_CONFIG_DD_FREE(conf_zone_edd); - E_CONFIG_DD_FREE(conf_edd); - - return 1; -} - -int -e_mod_config_save(void) -{ - e_config_domain_save("module.illume2", conf_edd, il_cfg); - return 1; -} - -EAPI E_Illume_Config_Zone * -e_illume_zone_config_get(int id) -{ - Eina_List *l; - E_Illume_Config_Zone *cz = NULL; - - EINA_LIST_FOREACH(il_cfg->policy.zones, l, cz) - { - if (cz->id != id) continue; - return cz; - } - - /* didn't find any existing config. Create new one as fallback */ - cz = E_NEW(E_Illume_Config_Zone, 1); - cz->id = id; - cz->mode.dual = 0; - cz->mode.side = 0; - il_cfg->policy.zones = eina_list_append(il_cfg->policy.zones, cz); - e_mod_config_save(); - return cz; -} diff --git a/src/modules/illume2/e_mod_config.h b/src/modules/illume2/e_mod_config.h deleted file mode 100644 index 062f95e17..000000000 --- a/src/modules/illume2/e_mod_config.h +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef E_MOD_CONFIG_H -# define E_MOD_CONFIG_H - -# define IL_CONFIG_MIN 1 -# define IL_CONFIG_MAJ 0 - -int e_mod_config_init(E_Module *m); -int e_mod_config_shutdown(void); -int e_mod_config_save(void); - -#endif diff --git a/src/modules/illume2/e_mod_layout.c b/src/modules/illume2/e_mod_layout.c deleted file mode 100644 index aab9ff705..000000000 --- a/src/modules/illume2/e_mod_layout.c +++ /dev/null @@ -1,592 +0,0 @@ -#include "E_Illume.h" -#include "e_mod_layout.h" -#include "e_mod_main.h" // For logging functions -#include "e_quickpanel.h" - -/* local function prototypes */ -static const char *_e_mod_layout_policy_find(void); -static int _e_mod_layout_policy_load(const char *dir); -static void _e_mod_layout_policy_free(E_Illume_Layout_Policy *p); -static void _e_mod_layout_hooks_add(void); -static void _e_mod_layout_handlers_add(void); -static void _e_mod_layout_cb_hook_post_fetch(void *data, void *data2); -static void _e_mod_layout_cb_hook_post_assign(void *data, void *data2); -static void _e_mod_layout_cb_hook_layout(void *data, void *data2); -static int _e_mod_layout_cb_policy_change(void *data, int type, void *event); -static int _e_mod_layout_cb_border_add(void *data, int type, void *event); -static int _e_mod_layout_cb_border_del(void *data, int type, void *event); -static int _e_mod_layout_cb_border_focus_in(void *data, int type, void *event); -static int _e_mod_layout_cb_border_focus_out(void *data, int type, void *event); -static int _e_mod_layout_cb_border_property_change(void *data, int type, void *event); -static int _e_mod_layout_cb_zone_move_resize(void *data, int type, void *event); -static int _e_mod_layout_cb_client_message(void *data, int type, void *event); - -/* local variables */ -static E_Illume_Layout_Policy *policy = NULL; -static Eina_List *hooks = NULL, *handlers = NULL; - -/* public variables */ -EAPI int E_ILLUME_EVENT_POLICY_CHANGE = 0; - -int -e_mod_layout_init(void) -{ - const char *file; - - /* find the policy specified in config */ - file = _e_mod_layout_policy_find(); - if (!file) return 0; - - /* try to load the policy */ - if (!_e_mod_layout_policy_load(file)) return 0; - - /* add our border hooks */ - _e_mod_layout_hooks_add(); - - /* add event type FIRST */ - E_ILLUME_EVENT_POLICY_CHANGE = ecore_event_type_new(); - - /* add our event handlers */ - _e_mod_layout_handlers_add(); - - return 1; -} - -int -e_mod_layout_shutdown(void) -{ - Ecore_Event_Handler *handler; - E_Border_Hook *hook; - - E_ILLUME_EVENT_POLICY_CHANGE = 0; - - /* remove the ecore event handlers */ - EINA_LIST_FREE(handlers, handler) - ecore_event_handler_del(handler); - - /* remove the border hooks */ - EINA_LIST_FREE(hooks, hook) - e_border_hook_del(hook); - - /* destroy the policy if it exists */ - if (policy) e_object_del(E_OBJECT(policy)); - policy = NULL; - - return 1; -} - -EAPI Eina_List * -e_illume_layout_policies_get(void) -{ - Eina_List *l = NULL, *files; - char dir[PATH_MAX], *file; - - snprintf(dir, sizeof(dir), "%s/enlightenment/modules/illume2/policies", - e_prefix_lib_get()); - - files = ecore_file_ls(dir); - if (!files) return NULL; - - EINA_LIST_FREE(files, file) - { - E_Illume_Layout_Policy *p; - - if (!strstr(file, ".so")) continue; - snprintf(dir, sizeof(dir), - "%s/enlightenment/modules/illume2/policies/%s", - e_prefix_lib_get(), file); - - p = - E_OBJECT_ALLOC(E_Illume_Layout_Policy, E_ILLUME_LAYOUT_POLICY_TYPE, - _e_mod_layout_policy_free); - if (!p) continue; - - p->handle = dlopen(dir, RTLD_NOW | RTLD_GLOBAL); - if (!p->handle) - { - E_ILLUME_ERR("Error opening policy: %s", file); - e_object_del(E_OBJECT(p)); - p = NULL; - continue; - } - p->api = dlsym(p->handle, "e_layapi"); - if (!p->api) - { - E_ILLUME_ERR("Policy does not support needed functions: %s", file); - e_object_del(E_OBJECT(p)); - p = NULL; - continue; - } - if (p->api->version < E_ILLUME_LAYOUT_API_VERSION) - { - E_ILLUME_ERR("Policy is too old: %s", file); - e_object_del(E_OBJECT(p)); - p = NULL; - continue; - } - if (file) free(file); - l = eina_list_append(l, p); - } - - return l; -} - -/* local functions */ -static const char * -_e_mod_layout_policy_find(void) -{ - Eina_List *files; - char buff[PATH_MAX], dir[PATH_MAX], *file; - - snprintf(buff, sizeof(buff), "%s.so", il_cfg->policy.name); - snprintf(dir, sizeof(dir), "%s/enlightenment/modules/illume2/policies", - e_prefix_lib_get()); - - /* get all files in this directory */ - files = ecore_file_ls(dir); - if (!files) return NULL; - - /* loop through the files, searching for this policy */ - EINA_LIST_FREE(files, file) - { - /* compare file with needed .so */ - if (!strcmp(file, buff)) - { - snprintf(dir, sizeof(dir), - "%s/enlightenment/modules/illume2/policies/%s", - e_prefix_lib_get(), file); - break; - } - free(file); - } - if (file) free(file); - else - { - /* if we did not find the policy, use a fallback */ - snprintf(dir, sizeof(dir), - "%s/enlightenment/modules/illume2/policies/illume.so", - e_prefix_lib_get()); - } - return strdup(dir); -} - -static int -_e_mod_layout_policy_load(const char *dir) -{ - if (!dir) return 0; - - /* delete existing policy first */ - if (policy) e_object_del(E_OBJECT(policy)); - policy = NULL; - - /* create new policy object */ - policy = - E_OBJECT_ALLOC(E_Illume_Layout_Policy, E_ILLUME_LAYOUT_POLICY_TYPE, - _e_mod_layout_policy_free); - if (!policy) return 0; - - /* attempt to open .so */ - policy->handle = dlopen(dir, RTLD_NOW | RTLD_GLOBAL); - if (!policy->handle) - { - /* open failed, bail out */ - E_ILLUME_ERR("Error Opening Policy: %s", dir); - e_object_del(E_OBJECT(policy)); - policy = NULL; - return 0; - } - - /* try to link to the needed policy api functions */ - policy->api = dlsym(policy->handle, "e_layapi"); - policy->funcs.init = dlsym(policy->handle, "e_layapi_init"); - policy->funcs.shutdown = dlsym(policy->handle, "e_layapi_shutdown"); - - /* check the policy supports needed api functions */ - if ((!policy->api) || (!policy->funcs.init) || (!policy->funcs.shutdown)) - { - /* policy doesn't support what we need, bail out */ - E_ILLUME_ERR("Policy does not support needed functions: %s", dir); - e_object_del(E_OBJECT(policy)); - policy = NULL; - return 0; - } - - /* check policy api version */ - if (policy->api->version < E_ILLUME_LAYOUT_API_VERSION) - { - E_ILLUME_ERR("Policy is too old: %s", dir); - e_object_del(E_OBJECT(policy)); - policy = NULL; - return 0; - } - - /* initialize the policy */ - if (!policy->funcs.init(policy)) - { - E_ILLUME_ERR("Policy failed to initialize: %s", dir); - e_object_del(E_OBJECT(policy)); - policy = NULL; - return 0; - } - - return 1; -} - -static void -_e_mod_layout_policy_free(E_Illume_Layout_Policy *p) -{ - /* call the policy shutdown function if we can */ - if (p->funcs.shutdown) p->funcs.shutdown(p); - p->funcs.shutdown = NULL; - - p->funcs.init = NULL; - p->api = NULL; - - /* close the linked .so */ - if (p->handle) dlclose(p->handle); - p->handle = NULL; - - E_FREE(p); -} - -static void -_e_mod_layout_hooks_add(void) -{ - hooks = - eina_list_append(hooks, - e_border_hook_add(E_BORDER_HOOK_EVAL_POST_FETCH, - _e_mod_layout_cb_hook_post_fetch, NULL)); - hooks = - eina_list_append(hooks, - e_border_hook_add(E_BORDER_HOOK_EVAL_POST_BORDER_ASSIGN, - _e_mod_layout_cb_hook_post_assign, NULL)); - hooks = - eina_list_append(hooks, - e_border_hook_add(E_BORDER_HOOK_CONTAINER_LAYOUT, - _e_mod_layout_cb_hook_layout, NULL)); -} - -static void -_e_mod_layout_handlers_add(void) -{ - handlers = - eina_list_append(handlers, - ecore_event_handler_add(E_ILLUME_EVENT_POLICY_CHANGE, - _e_mod_layout_cb_policy_change, - NULL)); - handlers = - eina_list_append(handlers, - ecore_event_handler_add(E_EVENT_BORDER_ADD, - _e_mod_layout_cb_border_add, - NULL)); - handlers = - eina_list_append(handlers, - ecore_event_handler_add(E_EVENT_BORDER_REMOVE, - _e_mod_layout_cb_border_del, - NULL)); - handlers = - eina_list_append(handlers, - ecore_event_handler_add(E_EVENT_BORDER_FOCUS_IN, - _e_mod_layout_cb_border_focus_in, - NULL)); - handlers = - eina_list_append(handlers, - ecore_event_handler_add(E_EVENT_BORDER_FOCUS_OUT, - _e_mod_layout_cb_border_focus_out, - NULL)); - handlers = - eina_list_append(handlers, - ecore_event_handler_add(E_EVENT_ZONE_MOVE_RESIZE, - _e_mod_layout_cb_zone_move_resize, - NULL)); - handlers = - eina_list_append(handlers, - ecore_event_handler_add(ECORE_X_EVENT_CLIENT_MESSAGE, - _e_mod_layout_cb_client_message, - NULL)); - handlers = - eina_list_append(handlers, - ecore_event_handler_add(ECORE_X_EVENT_WINDOW_PROPERTY, - _e_mod_layout_cb_border_property_change, - NULL)); -} - -static void -_e_mod_layout_cb_hook_post_fetch(void *data, void *data2) -{ - E_Border *bd; - - if (!(bd = data2)) return; - if ((bd->stolen) || (!bd->new_client)) return; - if (bd->remember) - { - if (bd->bordername) - { - eina_stringshare_del(bd->bordername); - bd->bordername = NULL; - } - e_remember_unuse(bd->remember); - bd->remember = NULL; - } - eina_stringshare_replace(&bd->bordername, "borderless"); - bd->client.border.changed = 1; -} - -static void -_e_mod_layout_cb_hook_post_assign(void *data, void *data2) -{ - E_Border *bd; - - if (!(bd = data2)) return; - if (bd->stolen) return; - bd->lock_client_shade = 1; - bd->lock_client_maximize = 1; -} - -static void -_e_mod_layout_cb_hook_layout(void *data, void *data2) -{ - E_Container *con; - E_Zone *zone; - Eina_List *l; - - if (!(con = data2)) return; - EINA_LIST_FOREACH(con->zones, l, zone) - { - if ((policy) && (policy->funcs.zone_layout)) - policy->funcs.zone_layout(zone); - } -} - -static int -_e_mod_layout_cb_policy_change(void *data, int type, void *event) -{ - const char *file; - - if (type != E_ILLUME_EVENT_POLICY_CHANGE) return 1; - - if (policy) e_object_del(E_OBJECT(policy)); - policy = NULL; - - /* find the policy specified in config */ - file = _e_mod_layout_policy_find(); - if (!file) return 1; - - /* try to load the policy */ - if (!_e_mod_layout_policy_load(file)) return 1; - - return 1; -} - -static int -_e_mod_layout_cb_border_add(void *data, int type, void *event) -{ - E_Event_Border_Add *ev; - - ev = event; - if (ev->border->stolen) return 1; - if ((policy) && (policy->funcs.border_add)) - policy->funcs.border_add(ev->border); - return 1; -} - -static int -_e_mod_layout_cb_border_del(void *data, int type, void *event) -{ - E_Event_Border_Remove *ev; - - ev = event; - if (e_illume_border_is_quickpanel(ev->border)) - { - E_Quickpanel *qp; - - if (qp = e_quickpanel_by_zone_get(ev->border->zone)) - qp->borders = eina_list_remove(qp->borders, ev->border); - } - if (ev->border->stolen) return 1; - if ((policy) && (policy->funcs.border_del)) - policy->funcs.border_del(ev->border); - return 1; -} - -static int -_e_mod_layout_cb_border_focus_in(void *data, int type, void *event) -{ - E_Event_Border_Focus_In *ev; - - ev = event; - if (ev->border->stolen) return 1; - if ((policy) && (policy->funcs.border_focus_in)) - policy->funcs.border_focus_in(ev->border); - return 1; -} - -static int -_e_mod_layout_cb_border_focus_out(void *data, int type, void *event) -{ - E_Event_Border_Focus_Out *ev; - - ev = event; - if (ev->border->stolen) return 1; - if ((policy) && (policy->funcs.border_focus_out)) - policy->funcs.border_focus_out(ev->border); - return 1; -} - -static int -_e_mod_layout_cb_border_property_change(void *data, int type, void *event) -{ - Ecore_X_Event_Window_Property *ev; - E_Border *bd; - - ev = event; - if (!(bd = e_border_find_by_client_window(ev->win))) return 1; - if ((policy) && (policy->funcs.border_property_change)) - policy->funcs.border_property_change(bd, ev); - return 1; -} - -static int -_e_mod_layout_cb_zone_move_resize(void *data, int type, void *event) -{ - E_Event_Zone_Move_Resize *ev; - - ev = event; - if ((policy) && (policy->funcs.zone_move_resize)) - policy->funcs.zone_move_resize(ev->zone); - return 1; -} - -static int -_e_mod_layout_cb_client_message(void *data, int type, void *event) -{ - Ecore_X_Event_Client_Message *ev; - - ev = event; - if (ev->message_type == ECORE_X_ATOM_NET_ACTIVE_WINDOW) - { - E_Border *bd; - - bd = e_border_find_by_client_window(ev->win); - if ((!bd) || (bd->stolen)) return 1; - if ((policy) && (policy->funcs.border_activate)) - policy->funcs.border_activate(bd); - } - else if (ev->message_type == ECORE_X_ATOM_E_ILLUME_MODE) - { - E_Border *bd; - E_Manager *man; - E_Container *con; - E_Zone *zone; - Eina_List *l, *ll, *lll; - int lock = 1; - - EINA_LIST_FOREACH(e_manager_list(), lll, man) - EINA_LIST_FOREACH(man->containers, ll, con) - EINA_LIST_FOREACH(con->zones, l, zone) - { - if (zone->black_win == ev->win) - { - E_Illume_Config_Zone *cz; - - cz = e_illume_zone_config_get(zone->id); - if (ev->data.l[0] == ECORE_X_ATOM_E_ILLUME_MODE_SINGLE) - cz->mode.dual = 0; - else if (ev->data.l[0] == ECORE_X_ATOM_E_ILLUME_MODE_DUAL_TOP) - { - if (e_illume_border_valid_count_get(zone) < 2) - ecore_x_e_illume_home_send(zone->black_win); - cz->mode.dual = 1; - cz->mode.side = 0; - lock = 0; - } - else if (ev->data.l[0] == ECORE_X_ATOM_E_ILLUME_MODE_DUAL_LEFT) - { - if (e_illume_border_valid_count_get(zone) < 2) - ecore_x_e_illume_home_send(zone->black_win); - cz->mode.dual = 1; - cz->mode.side = 1; - } - else - cz->mode.dual = 0; - e_config_save_queue(); - - bd = e_illume_border_top_shelf_get(zone); - if (bd) - ecore_x_e_illume_drag_locked_set(bd->client.win, lock); - bd = e_illume_border_bottom_panel_get(zone); - if (bd) - ecore_x_e_illume_drag_locked_set(bd->client.win, lock); - break; - } - } - } - else if (ev->message_type == ECORE_X_ATOM_E_ILLUME_BACK) - { - E_Zone *zone; - Eina_List *focused, *l, *f2 = NULL; - E_Border *fbd; - - zone = e_util_zone_window_find(ev->win); - if (!zone) return 1; - - focused = e_border_focus_stack_get(); - if (!focused) return 1; - - EINA_LIST_FOREACH(focused, l, fbd) - { - if (fbd->zone != zone) continue; - f2 = eina_list_append(f2, fbd); - } - - if (!f2) return 1; - if (eina_list_count(f2) < 1) return 1; - - EINA_LIST_REVERSE_FOREACH(f2, l, fbd) - { - if (e_object_is_del(E_OBJECT(fbd))) continue; - if ((!fbd->client.icccm.accepts_focus) && - (!fbd->client.icccm.take_focus)) continue; - if (fbd->client.netwm.state.skip_taskbar) continue; - if (fbd == e_border_focused_get()) - { - E_Border *fb; - - if (!(fb = f2->next->data)) continue; - if (e_object_is_del(E_OBJECT(fb))) continue; - if ((!fb->client.icccm.accepts_focus) && - (!fb->client.icccm.take_focus)) continue; - if (fb->client.netwm.state.skip_taskbar) continue; - e_border_raise(fb); - e_border_focus_set(fb, 1, 1); - break; - } - } - } - else if (ev->message_type == ECORE_X_ATOM_E_ILLUME_CLOSE) - { - E_Border *bd; - - if (!(bd = e_border_focused_get())) return 1; - e_border_act_close_begin(bd); - } - else if (ev->message_type == ECORE_X_ATOM_E_ILLUME_DRAG_START) - { - E_Border *bd; - - bd = e_border_find_by_client_window(ev->win); - if ((!bd) || (bd->stolen)) return 1; - if ((policy) && (policy->funcs.drag_start)) - policy->funcs.drag_start(bd); - } - else if (ev->message_type == ECORE_X_ATOM_E_ILLUME_DRAG_END) - { - E_Border *bd; - - bd = e_border_find_by_client_window(ev->win); - if ((!bd) || (bd->stolen)) return 1; - if ((policy) && (policy->funcs.drag_end)) - policy->funcs.drag_end(bd); - } - return 1; -} diff --git a/src/modules/illume2/e_mod_layout.h b/src/modules/illume2/e_mod_layout.h deleted file mode 100644 index 4d1858631..000000000 --- a/src/modules/illume2/e_mod_layout.h +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef E_MOD_LAYOUT_H -# define E_MOD_LAYOUT_H - -int e_mod_layout_init(void); -int e_mod_layout_shutdown(void); - -#endif diff --git a/src/modules/illume2/e_mod_main.c b/src/modules/illume2/e_mod_main.c deleted file mode 100644 index eedde51f6..000000000 --- a/src/modules/illume2/e_mod_main.c +++ /dev/null @@ -1,163 +0,0 @@ -#include "E_Illume.h" -#include "e_mod_main.h" -#include "e_mod_config.h" -#include "e_mod_layout.h" -#include "e_kbd.h" -#include "e_quickpanel.h" - -/* local variabels */ -static E_Kbd *kbd = NULL; -Eina_List *quickpanels = NULL; -int _e_illume_log_dom = -1; - -EAPI E_Module_Api e_modapi = { E_MODULE_API_VERSION, "Illume2" }; - -EAPI void * -e_modapi_init(E_Module *m) -{ - E_Manager *man; - E_Container *con; - E_Zone *zone; - Eina_List *l, *ll, *lll; - Ecore_X_Window *zones = NULL; - unsigned int i = 0, zone_count = 0; - - /* setup eina logging */ - if (_e_illume_log_dom < 0) - { - _e_illume_log_dom = - eina_log_domain_register("illume2", E_ILLUME_DEFAULT_LOG_COLOR); - if (_e_illume_log_dom < 0) - { - EINA_LOG_CRIT("Could not register illume2 logging domain"); - return NULL; - } - } - - /* set module priority */ - e_module_priority_set(m, 100); - - /* initialize the config subsystem */ - if (!e_mod_config_init(m)) - { - /* cleanup eina logging */ - if (_e_illume_log_dom > 0) - { - eina_log_domain_unregister(_e_illume_log_dom); - _e_illume_log_dom = -1; - } - return NULL; - } - - /* initialize the layout subsystem */ - if (!e_mod_layout_init()) - { - /* shutdown config subsystem */ - e_mod_config_shutdown(); - - /* cleanup eina logging */ - if (_e_illume_log_dom > 0) - { - eina_log_domain_unregister(_e_illume_log_dom); - _e_illume_log_dom = -1; - } - return NULL; - } - - /* initialize the keyboard subsystem */ - e_kbd_init(); - - /* create a new vkbd */ - kbd = e_kbd_new(); - - /* initialize the quickpanel subsystem */ - e_quickpanel_init(); - - EINA_LIST_FOREACH(e_manager_list(), l, man) - EINA_LIST_FOREACH(man->containers, ll, con) - zone_count += eina_list_count(con->zones); - - if (zone_count > 0) - { - zones = calloc(zone_count, sizeof(Ecore_X_Window)); - - EINA_LIST_FOREACH(e_manager_list(), l, man) - { - i = 0; - EINA_LIST_FOREACH(man->containers, ll, con) - EINA_LIST_FOREACH(con->zones, lll, zone) - { - Ecore_X_Illume_Mode mode; - E_Illume_Config_Zone *cz; - E_Quickpanel *qp; - - /* create a new quickpanel */ - if (!(qp = e_quickpanel_new(zone))) continue; - quickpanels = eina_list_append(quickpanels, qp); - - mode = ECORE_X_ILLUME_MODE_SINGLE; - cz = e_illume_zone_config_get(zone->id); - if (cz) - { - if (cz->mode.dual == 0) - mode = ECORE_X_ILLUME_MODE_SINGLE; - else - { - if (cz->mode.side == 0) - mode = ECORE_X_ILLUME_MODE_DUAL_TOP; - else - mode = ECORE_X_ILLUME_MODE_DUAL_LEFT; - } - } - ecore_x_e_illume_mode_set(zone->black_win, mode); - zones[i++] = zone->black_win; - } - if (i > 0) - ecore_x_e_illume_zone_list_set(man->root, zones, i); - } - E_FREE(zones); - } - - return m; -} - -EAPI int -e_modapi_shutdown(E_Module *m) -{ - E_Quickpanel *qp; - - /* cleanup the quickpanels */ - EINA_LIST_FREE(quickpanels, qp) - e_object_del(E_OBJECT(qp)); - - /* cleanup the keyboard */ - e_object_del(E_OBJECT(kbd)); - kbd = NULL; - - /* shutdown the quickpanel subsystem */ - e_quickpanel_shutdown(); - - /* shutdown the keyboard subsystem */ - e_kbd_shutdown(); - - /* shutdown the layout subsystem */ - e_mod_layout_shutdown(); - - /* shutdown the config subsystem */ - e_mod_config_shutdown(); - - /* cleanup eina logging */ - if (_e_illume_log_dom > 0) - { - eina_log_domain_unregister(_e_illume_log_dom); - _e_illume_log_dom = -1; - } - - return 1; -} - -EAPI int -e_modapi_save(E_Module *m) -{ - return e_mod_config_save(); -} diff --git a/src/modules/illume2/e_mod_main.h b/src/modules/illume2/e_mod_main.h deleted file mode 100644 index a789d838a..000000000 --- a/src/modules/illume2/e_mod_main.h +++ /dev/null @@ -1,38 +0,0 @@ -#ifndef E_MOD_MAIN_H -# define E_MOD_MAIN_H - -# ifdef E_ILLUME_DEFAULT_LOG_COLOR -# undef E_ILLUME_DEFAULT_LOG_COLOR -# endif -# define E_ILLUME_DEFAULT_LOG_COLOR EINA_COLOR_BLUE - -extern int _e_illume_log_dom; -# ifdef E_ILLUME_ERR -# undef E_ILLUME_ERR -# endif -# define E_ILLUME_ERR(...) EINA_LOG_DOM_ERR(_e_illume_log_dom, __VA_ARGS__) - -# ifdef E_ILLUME_INF -# undef E_ILLUME_INF -# endif -# define E_ILLUME_INF(...) EINA_LOG_DOM_INFO(_e_illume_log_dom, __VA_ARGS__) - -# ifdef E_ILLUME_CRIT -# undef E_ILLUME_CRIT -# endif -# define E_ILLUME_CRIT(...) EINA_LOG_DOM_INFO(_e_illume_log_dom, __VA_ARGS__) - -# ifdef E_ILLUME_WARN -# undef E_ILLUME_WARN -# endif -# define E_ILLUME_WARN(...) EINA_LOG_DOM_WARN(_e_illume_log_dom, __VA_ARGS__) - -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 Eina_List *quickpanels; - -#endif diff --git a/src/modules/illume2/e_mod_policy.c b/src/modules/illume2/e_mod_policy.c deleted file mode 100644 index f80c99ca8..000000000 --- a/src/modules/illume2/e_mod_policy.c +++ /dev/null @@ -1,120 +0,0 @@ -#include "E_Illume.h" -#include "e_mod_policy.h" - -/* local function prototypes */ -static void *_il_config_policy_create(E_Config_Dialog *cfd); -static void _il_config_policy_free(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata); -static Evas_Object *_il_config_policy_ui(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cfdata); -static void _il_config_policy_list_changed(void *data); -static int _il_config_policy_change_timeout(void *data); -static Evas_Object *_il_config_policy_settings_ui(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cfdata); - -/* local variables */ -Ecore_Timer *_policy_change_timer = NULL; -const char *_policy_name = NULL; - -void -il_config_policy_show(E_Container *con, const char *params) -{ - E_Config_Dialog *cfd; - E_Config_Dialog_View *v; - - if (e_config_dialog_find("E", "_config_illume_policy")) return; - - v = E_NEW(E_Config_Dialog_View, 1); - if (!v) return; - - v->create_cfdata = _il_config_policy_create; - v->free_cfdata = _il_config_policy_free; - v->basic.create_widgets = _il_config_policy_ui; - v->basic_only = 1; - v->normal_win = 1; - v->scroll = 1; - cfd = e_config_dialog_new(con, _("Policy"), "E", - "_config_illume_policy", - "enlightenment/policy", 0, v, NULL); - if (!cfd) return; - e_dialog_resizable_set(cfd->dia, 1); -} - -/* local functions */ -static void * -_il_config_policy_create(E_Config_Dialog *cfd) -{ - return NULL; -} - -static void -_il_config_policy_free(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata) -{ - if (_policy_change_timer) ecore_timer_del(_policy_change_timer); - _policy_change_timer = NULL; -} - -static Evas_Object * -_il_config_policy_ui(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cfdata) -{ - Evas_Object *list, *ow; - Eina_List *policies; - E_Illume_Layout_Policy *p; - int i = 0, sel = 0; - - list = e_widget_list_add(evas, 0, 0); - ow = e_widget_ilist_add(evas, 24, 24, &(_policy_name)); - e_widget_ilist_selector_set(ow, 1); - evas_event_freeze(evas); - edje_freeze(); - e_widget_ilist_freeze(ow); - e_widget_ilist_clear(ow); - e_widget_ilist_go(ow); - - policies = e_illume_layout_policies_get(); - if (policies) - { - EINA_LIST_FREE(policies, p) - { - e_widget_ilist_append(ow, NULL, strdup(p->api->label), - _il_config_policy_list_changed, NULL, - strdup(p->api->name)); - - if ((p) && (il_cfg->policy.name) && - (!strcmp(il_cfg->policy.name, p->api->name))) - sel = i; - - if (p) - { - e_object_del(E_OBJECT(p)); - p = NULL; - } - i++; - } - } - - e_widget_size_min_set(ow, 100, 200); - e_widget_ilist_go(ow); - e_widget_ilist_selected_set(ow, sel); - e_widget_ilist_thaw(ow); - edje_thaw(); - evas_event_thaw(evas); - e_widget_list_object_append(list, ow, 1, 0, 0.0); - return list; -} - -static void -_il_config_policy_list_changed(void *data) -{ - if (il_cfg->policy.name) eina_stringshare_del(il_cfg->policy.name); - if (_policy_name) il_cfg->policy.name = eina_stringshare_add(_policy_name); - if (_policy_change_timer) ecore_timer_del(_policy_change_timer); - _policy_change_timer = - ecore_timer_add(0.5, _il_config_policy_change_timeout, data); -} - -static int -_il_config_policy_change_timeout(void *data) -{ - e_config_save_queue(); - _policy_change_timer = NULL; - ecore_event_add(E_ILLUME_EVENT_POLICY_CHANGE, NULL, NULL, NULL); - return 0; -} diff --git a/src/modules/illume2/e_mod_policy.h b/src/modules/illume2/e_mod_policy.h deleted file mode 100644 index 606f3da40..000000000 --- a/src/modules/illume2/e_mod_policy.h +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef E_MOD_POLICY_H -#define E_MOD_POLICY_H - -void il_config_policy_show(E_Container *con, const char *params); - -#endif diff --git a/src/modules/illume2/e_mod_select_window.c b/src/modules/illume2/e_mod_select_window.c deleted file mode 100644 index 7f976fd7e..000000000 --- a/src/modules/illume2/e_mod_select_window.c +++ /dev/null @@ -1,277 +0,0 @@ -#include "E_Illume.h" -#include "e_mod_select_window.h" - -/* local function prototypes */ -static void *_il_config_select_window_create_data(E_Config_Dialog *cfd); -static void _il_config_select_window_free_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata); -static Evas_Object *_il_config_select_window_create(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cfdata); -static void _il_config_select_window_list_changed(void *data); -static int _il_config_select_window_change_timeout(void *data); -static int _il_config_select_window_match(E_Border *bd); - -/* local variables */ -Il_Select_Window_Type stype; -Ecore_Timer *_sw_change_timer = NULL; - -/* public functions */ -void -il_config_select_window(Il_Select_Window_Type type) -{ - E_Config_Dialog *cfd; - E_Config_Dialog_View *v; - - if (e_config_dialog_find("E", "_config_illume_select_window")) return; - - v = E_NEW(E_Config_Dialog_View, 1); - if (!v) return; - - v->create_cfdata = _il_config_select_window_create_data; - v->free_cfdata = _il_config_select_window_free_data; - v->basic.create_widgets = _il_config_select_window_create; - v->basic_only = 1; - v->normal_win = 1; - v->scroll = 1; - cfd = e_config_dialog_new(e_container_current_get(e_manager_current_get()), - _("Select Home Window"), "E", - "_config_illume_select_window", - "enlightenment/windows", 0, v, NULL); - if (!cfd) return; - e_dialog_resizable_set(cfd->dia, 1); - stype = type; -} - -static void * -_il_config_select_window_create_data(E_Config_Dialog *cfd) -{ - return NULL; -} - -static void -_il_config_select_window_free_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata) -{ - -} - -static Evas_Object * -_il_config_select_window_create(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cfdata) -{ - Evas_Object *list, *ow; - Eina_List *bds, *l; - int i = 0, sel = -1; - - list = e_widget_list_add(evas, 0, 0); - ow = e_widget_ilist_add(evas, 24, 24, NULL); - e_widget_ilist_selector_set(ow, 1); - evas_event_freeze(evas); - edje_freeze(); - e_widget_ilist_freeze(ow); - e_widget_ilist_clear(ow); - e_widget_ilist_go(ow); - - bds = e_border_client_list(); - if (bds) - { - for (i = 0, l = bds; l; l = l->next, i++) - { - E_Border *bd; - const char *name; - - if (!(bd = l->data)) continue; - if (e_object_is_del(E_OBJECT(bd))) continue; - if (_il_config_select_window_match(bd)) sel = i; - if (!(name = e_border_name_get(bd))) continue; - e_widget_ilist_append(ow, NULL, name, - _il_config_select_window_list_changed, - bd, name); - } - } - - e_widget_size_min_set(ow, 100, 200); - e_widget_ilist_go(ow); - if (sel >= 0) e_widget_ilist_selected_set(ow, sel); - e_widget_ilist_thaw(ow); - edje_thaw(); - evas_event_thaw(evas); - e_widget_list_object_append(list, ow, 1, 0, 0.0); - return list; -} - -static void -_il_config_select_window_list_changed(void *data) -{ - E_Border *bd; - Ecore_X_Window_Type wtype; - char *title, *name, *class; - - if (!(bd = data)) return; - title = ecore_x_icccm_title_get(bd->client.win); - ecore_x_icccm_name_class_get(bd->client.win, &name, &class); - ecore_x_netwm_window_type_get(bd->client.win, &wtype); - - switch (stype) - { - case IL_SELECT_WINDOW_TYPE_HOME: - if (il_cfg->policy.home.title) - eina_stringshare_del(il_cfg->policy.home.title); - if (title) il_cfg->policy.home.title = eina_stringshare_add(title); - if (il_cfg->policy.home.class) - eina_stringshare_del(il_cfg->policy.home.class); - if (class) il_cfg->policy.home.class = eina_stringshare_add(class); - if (il_cfg->policy.home.name) - eina_stringshare_del(il_cfg->policy.home.name); - if (name) il_cfg->policy.home.name = eina_stringshare_add(name); - break; - case IL_SELECT_WINDOW_TYPE_VKBD: - if (il_cfg->policy.vkbd.title) - eina_stringshare_del(il_cfg->policy.vkbd.title); - if (title) il_cfg->policy.vkbd.title = eina_stringshare_add(title); - if (il_cfg->policy.vkbd.class) - eina_stringshare_del(il_cfg->policy.vkbd.class); - if (class) il_cfg->policy.vkbd.class = eina_stringshare_add(class); - if (il_cfg->policy.vkbd.name) - eina_stringshare_del(il_cfg->policy.vkbd.name); - if (name) il_cfg->policy.vkbd.name = eina_stringshare_add(name); - break; - case IL_SELECT_WINDOW_TYPE_SOFTKEY: - if (il_cfg->policy.softkey.title) - eina_stringshare_del(il_cfg->policy.softkey.title); - if (title) il_cfg->policy.softkey.title = eina_stringshare_add(title); - if (il_cfg->policy.softkey.class) - eina_stringshare_del(il_cfg->policy.softkey.class); - if (class) il_cfg->policy.softkey.class = eina_stringshare_add(class); - if (il_cfg->policy.softkey.name) - eina_stringshare_del(il_cfg->policy.softkey.name); - if (name) il_cfg->policy.softkey.name = eina_stringshare_add(name); - break; - case IL_SELECT_WINDOW_TYPE_INDICATOR: - if (il_cfg->policy.indicator.title) - eina_stringshare_del(il_cfg->policy.indicator.title); - if (title) il_cfg->policy.indicator.title = eina_stringshare_add(title); - if (il_cfg->policy.indicator.class) - eina_stringshare_del(il_cfg->policy.indicator.class); - if (class) il_cfg->policy.indicator.class = eina_stringshare_add(class); - if (il_cfg->policy.indicator.name) - eina_stringshare_del(il_cfg->policy.indicator.name); - if (name) il_cfg->policy.indicator.name = eina_stringshare_add(name); - break; - } - - if (title) free(title); - if (name) free(name); - if (class) free(class); - - if (_sw_change_timer) ecore_timer_del(_sw_change_timer); - _sw_change_timer = - ecore_timer_add(0.5, _il_config_select_window_change_timeout, data); -} - -static int -_il_config_select_window_change_timeout(void *data) -{ - e_config_save_queue(); - _sw_change_timer = NULL; - return 0; -} - -static int -_il_config_select_window_match(E_Border *bd) -{ - Ecore_X_Window_Type wtype; - char *title, *name, *class; - int match = 0; - - if (!bd) return 0; - title = ecore_x_icccm_title_get(bd->client.win); - ecore_x_icccm_name_class_get(bd->client.win, &name, &class); - ecore_x_netwm_window_type_get(bd->client.win, &wtype); - - switch (stype) - { - case IL_SELECT_WINDOW_TYPE_HOME: - if (il_cfg->policy.home.match.title) - { - if ((title) && (!strcmp(title, il_cfg->policy.home.title))) - match = 1; - break; - } - if (il_cfg->policy.home.match.name) - { - if ((name) && (!strcmp(name, il_cfg->policy.home.name))) - match = 1; - break; - } - if (il_cfg->policy.home.match.class) - { - if ((class) && (!strcmp(class, il_cfg->policy.home.class))) - match = 1; - break; - } - break; - case IL_SELECT_WINDOW_TYPE_VKBD: - if (il_cfg->policy.vkbd.match.title) - { - if ((title) && (!strcmp(title, il_cfg->policy.vkbd.title))) - match = 1; - break; - } - if (il_cfg->policy.vkbd.match.name) - { - if ((name) && (!strcmp(name, il_cfg->policy.vkbd.name))) - match = 1; - break; - } - if (il_cfg->policy.vkbd.match.class) - { - if ((class) && (!strcmp(class, il_cfg->policy.vkbd.class))) - match = 1; - break; - } - break; - case IL_SELECT_WINDOW_TYPE_SOFTKEY: - if (il_cfg->policy.softkey.match.title) - { - if ((title) && (!strcmp(title, il_cfg->policy.softkey.title))) - match = 1; - break; - } - if (il_cfg->policy.softkey.match.name) - { - if ((name) && (!strcmp(name, il_cfg->policy.softkey.name))) - match = 1; - break; - } - if (il_cfg->policy.softkey.match.class) - { - if ((class) && (!strcmp(class, il_cfg->policy.softkey.class))) - match = 1; - break; - } - break; - case IL_SELECT_WINDOW_TYPE_INDICATOR: - if (il_cfg->policy.indicator.match.title) - { - if ((title) && (!strcmp(title, il_cfg->policy.indicator.title))) - match = 1; - break; - } - if (il_cfg->policy.indicator.match.name) - { - if ((name) && (!strcmp(name, il_cfg->policy.indicator.name))) - match = 1; - break; - } - if (il_cfg->policy.indicator.match.class) - { - if ((class) && (!strcmp(class, il_cfg->policy.indicator.class))) - match = 1; - break; - } - break; - } - - if (title) free(title); - if (name) free(name); - if (class) free(class); - - return match; -} diff --git a/src/modules/illume2/e_mod_select_window.h b/src/modules/illume2/e_mod_select_window.h deleted file mode 100644 index 25cfc96cc..000000000 --- a/src/modules/illume2/e_mod_select_window.h +++ /dev/null @@ -1,15 +0,0 @@ -#ifndef E_MOD_SELECT_WINDOW_H -#define E_MOD_SELECT_WINDOW_H - -typedef enum _Il_Select_Window_Type Il_Select_Window_Type; -enum _Il_Select_Window_Type -{ - IL_SELECT_WINDOW_TYPE_HOME, - IL_SELECT_WINDOW_TYPE_VKBD, - IL_SELECT_WINDOW_TYPE_SOFTKEY, - IL_SELECT_WINDOW_TYPE_INDICATOR -}; - -void il_config_select_window(Il_Select_Window_Type type); - -#endif diff --git a/src/modules/illume2/e_mod_windows.c b/src/modules/illume2/e_mod_windows.c deleted file mode 100644 index 97ac9d3d2..000000000 --- a/src/modules/illume2/e_mod_windows.c +++ /dev/null @@ -1,221 +0,0 @@ -#include "E_Illume.h" -#include "e_mod_windows.h" -#include "e_mod_select_window.h" - -/* local function prototypes */ -static void *_il_config_windows_create(E_Config_Dialog *cfd); -static void _il_config_windows_free(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata); -static Evas_Object *_il_config_windows_ui(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cfdata); -static void _il_config_windows_check_changed(void *data, Evas_Object *obj, void *event); -static void _il_config_windows_change(void *data, Evas_Object *obj, void *event); -static int _il_config_windows_change_timeout(void *data); -static void _il_config_windows_select_home(void *data, void *data2); -static void _il_config_windows_select_vkbd(void *data, void *data2); -static void _il_config_windows_select_softkey(void *data, void *data2); -static void _il_config_windows_select_indicator(void *data, void *data2); - -/* local variables */ -Ecore_Timer *_windows_change_timer = NULL; - -/* public functions */ -void -il_config_windows_show(E_Container *con, const char *params) -{ - E_Config_Dialog *cfd; - E_Config_Dialog_View *v; - - if (e_config_dialog_find("E", "_config_illume_windows_settings")) return; - - v = E_NEW(E_Config_Dialog_View, 1); - if (!v) return; - - v->create_cfdata = _il_config_windows_create; - v->free_cfdata = _il_config_windows_free; - v->basic.create_widgets = _il_config_windows_ui; - v->basic_only = 1; - v->normal_win = 1; - v->scroll = 1; - cfd = e_config_dialog_new(con, _("Window Settings"), "E", - "_config_illume_windows_settings", - "preferences-system-windows", 0, v, NULL); - if (!cfd) return; - e_dialog_resizable_set(cfd->dia, 1); -} - -/* local function prototypes */ -static void * -_il_config_windows_create(E_Config_Dialog *cfd) -{ - return NULL; -} - -static void -_il_config_windows_free(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata) -{ - if (_windows_change_timer) ecore_timer_del(_windows_change_timer); - _windows_change_timer = NULL; -} - -static Evas_Object * -_il_config_windows_ui(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cfdata) -{ - Evas_Object *list, *of, *ow; - - list = e_widget_list_add(evas, 0, 0); - - of = e_widget_framelist_add(evas, _("Home"), 0); - ow = e_widget_button_add(evas, _("Select Window"), NULL, - _il_config_windows_select_home, NULL, NULL); - e_widget_framelist_object_append(of, ow); - ow = e_widget_check_add(evas, _("Match Window Class"), - &il_cfg->policy.home.match.class); - e_widget_framelist_object_append(of, ow); - evas_object_smart_callback_add(ow, "changed", - _il_config_windows_check_changed, NULL); - ow = e_widget_check_add(evas, _("Match Window Name"), - &il_cfg->policy.home.match.name); - e_widget_framelist_object_append(of, ow); - evas_object_smart_callback_add(ow, "changed", - _il_config_windows_check_changed, NULL); - ow = e_widget_check_add(evas, _("Match Window Title"), - &il_cfg->policy.home.match.title); - e_widget_framelist_object_append(of, ow); - evas_object_smart_callback_add(ow, "changed", - _il_config_windows_check_changed, NULL); - ow = e_widget_check_add(evas, _("Match Window Type"), - &il_cfg->policy.home.match.win_type); - e_widget_framelist_object_append(of, ow); - evas_object_smart_callback_add(ow, "changed", - _il_config_windows_check_changed, NULL); - e_widget_list_object_append(list, of, 1, 0, 0.0); - - of = e_widget_framelist_add(evas, _("Indicator"), 0); - ow = e_widget_button_add(evas, _("Select Window"), NULL, - _il_config_windows_select_indicator, NULL, NULL); - e_widget_framelist_object_append(of, ow); - ow = e_widget_check_add(evas, _("Match Window Class"), - &il_cfg->policy.indicator.match.class); - e_widget_framelist_object_append(of, ow); - evas_object_smart_callback_add(ow, "changed", - _il_config_windows_check_changed, NULL); - ow = e_widget_check_add(evas, _("Match Window Name"), - &il_cfg->policy.indicator.match.name); - e_widget_framelist_object_append(of, ow); - evas_object_smart_callback_add(ow, "changed", - _il_config_windows_check_changed, NULL); - ow = e_widget_check_add(evas, _("Match Window Title"), - &il_cfg->policy.indicator.match.title); - e_widget_framelist_object_append(of, ow); - evas_object_smart_callback_add(ow, "changed", - _il_config_windows_check_changed, NULL); - ow = e_widget_check_add(evas, _("Match Window Type"), - &il_cfg->policy.indicator.match.win_type); - e_widget_framelist_object_append(of, ow); - evas_object_smart_callback_add(ow, "changed", - _il_config_windows_check_changed, NULL); - e_widget_list_object_append(list, of, 1, 0, 0.0); - - of = e_widget_framelist_add(evas, _("Keyboard"), 0); - ow = e_widget_button_add(evas, _("Select Window"), NULL, - _il_config_windows_select_vkbd, NULL, NULL); - e_widget_framelist_object_append(of, ow); - ow = e_widget_check_add(evas, _("Match Window Class"), - &il_cfg->policy.vkbd.match.class); - e_widget_framelist_object_append(of, ow); - evas_object_smart_callback_add(ow, "changed", - _il_config_windows_check_changed, NULL); - ow = e_widget_check_add(evas, _("Match Window Name"), - &il_cfg->policy.vkbd.match.name); - e_widget_framelist_object_append(of, ow); - evas_object_smart_callback_add(ow, "changed", - _il_config_windows_check_changed, NULL); - ow = e_widget_check_add(evas, _("Match Window Title"), - &il_cfg->policy.vkbd.match.title); - e_widget_framelist_object_append(of, ow); - evas_object_smart_callback_add(ow, "changed", - _il_config_windows_check_changed, NULL); - ow = e_widget_check_add(evas, _("Match Window Type"), - &il_cfg->policy.vkbd.match.win_type); - e_widget_framelist_object_append(of, ow); - evas_object_smart_callback_add(ow, "changed", - _il_config_windows_check_changed, NULL); - e_widget_list_object_append(list, of, 1, 0, 0.0); - - of = e_widget_framelist_add(evas, _("Softkey"), 0); - ow = e_widget_button_add(evas, _("Select Window"), NULL, - _il_config_windows_select_softkey, NULL, NULL); - e_widget_framelist_object_append(of, ow); - ow = e_widget_check_add(evas, _("Match Window Class"), - &il_cfg->policy.softkey.match.class); - e_widget_framelist_object_append(of, ow); - evas_object_smart_callback_add(ow, "changed", - _il_config_windows_check_changed, NULL); - ow = e_widget_check_add(evas, _("Match Window Name"), - &il_cfg->policy.softkey.match.name); - e_widget_framelist_object_append(of, ow); - evas_object_smart_callback_add(ow, "changed", - _il_config_windows_check_changed, NULL); - ow = e_widget_check_add(evas, _("Match Window Title"), - &il_cfg->policy.softkey.match.title); - e_widget_framelist_object_append(of, ow); - evas_object_smart_callback_add(ow, "changed", - _il_config_windows_check_changed, NULL); - ow = e_widget_check_add(evas, _("Match Window Type"), - &il_cfg->policy.softkey.match.win_type); - e_widget_framelist_object_append(of, ow); - evas_object_smart_callback_add(ow, "changed", - _il_config_windows_check_changed, NULL); - e_widget_list_object_append(list, of, 1, 0, 0.0); - - return list; -} - -static void -_il_config_windows_check_changed(void *data, Evas_Object *obj, void *event) -{ - _il_config_windows_change(data, obj, event); -} - -static void -_il_config_windows_change(void *data, Evas_Object *obj, void *event) -{ - if (_windows_change_timer) ecore_timer_del(_windows_change_timer); - _windows_change_timer = - ecore_timer_add(0.5, _il_config_windows_change_timeout, data); -} - -static int -_il_config_windows_change_timeout(void *data) -{ - e_config_save_queue(); - _windows_change_timer = NULL; - return 0; -} - -static void -_il_config_windows_select_home(void *data, void *data2) -{ - if (e_config_dialog_find("E", "_config_illume_select_window")) return; - il_config_select_window(IL_SELECT_WINDOW_TYPE_HOME); -} - -static void -_il_config_windows_select_vkbd(void *data, void *data2) -{ - if (e_config_dialog_find("E", "_config_illume_select_window")) return; - il_config_select_window(IL_SELECT_WINDOW_TYPE_VKBD); -} - -static void -_il_config_windows_select_softkey(void *data, void *data2) -{ - if (e_config_dialog_find("E", "_config_illume_select_window")) return; - il_config_select_window(IL_SELECT_WINDOW_TYPE_SOFTKEY); -} - -static void -_il_config_windows_select_indicator(void *data, void *data2) -{ - if (e_config_dialog_find("E", "_config_illume_select_window")) return; - il_config_select_window(IL_SELECT_WINDOW_TYPE_INDICATOR); -} diff --git a/src/modules/illume2/e_mod_windows.h b/src/modules/illume2/e_mod_windows.h deleted file mode 100644 index 2f4da3556..000000000 --- a/src/modules/illume2/e_mod_windows.h +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef E_MOD_WINDOWS_H -#define E_MOD_WINDOWS_H - -void il_config_windows_show(E_Container *con, const char *params); - -#endif diff --git a/src/modules/illume2/e_quickpanel.c b/src/modules/illume2/e_quickpanel.c deleted file mode 100644 index f79bd8ff4..000000000 --- a/src/modules/illume2/e_quickpanel.c +++ /dev/null @@ -1,439 +0,0 @@ -#include "E_Illume.h" -#include "e_mod_main.h" -#include "e_quickpanel.h" - -/* local function prototypes */ -static void _e_quickpanel_hide(E_Quickpanel *qp); -static void _e_quickpanel_slide(E_Quickpanel *qp, int visible, double len); -static void _e_quickpanel_border_show(E_Border *bd); -static void _e_quickpanel_border_hide(E_Border *bd); -static E_Quickpanel *_e_quickpanel_by_border_get(E_Border *bd); -static void _e_quickpanel_cb_free(E_Quickpanel *qp); -static int _e_quickpanel_cb_delay_hide(void *data); -static int _e_quickpanel_cb_animate(void *data); -static int _e_quickpanel_cb_border_add(void *data, int type, void *event); -static int _e_quickpanel_cb_client_message(void *data, int type, void *event); -static int _e_quickpanel_cb_mouse_down(void *data, int type, void *event); -static void _e_quickpanel_cb_post_fetch(void *data, void *data2); - -/* local variables */ -static Eina_List *handlers = NULL, *hooks = NULL; -static Ecore_X_Window input_win = 0; - -/* public functions */ -int -e_quickpanel_init(void) -{ - handlers = - eina_list_append(handlers, - ecore_event_handler_add(ECORE_X_EVENT_CLIENT_MESSAGE, - _e_quickpanel_cb_client_message, - NULL)); - handlers = - eina_list_append(handlers, - ecore_event_handler_add(ECORE_EVENT_MOUSE_BUTTON_DOWN, - _e_quickpanel_cb_mouse_down, - NULL)); - handlers = - eina_list_append(handlers, - ecore_event_handler_add(E_EVENT_BORDER_ADD, - _e_quickpanel_cb_border_add, - NULL)); - hooks = - eina_list_append(hooks, - e_border_hook_add(E_BORDER_HOOK_EVAL_PRE_POST_FETCH, - _e_quickpanel_cb_post_fetch, NULL)); - return 1; -} - -int -e_quickpanel_shutdown(void) -{ - Ecore_Event_Handler *handler; - E_Border_Hook *hook; - - EINA_LIST_FREE(handlers, handler) - ecore_event_handler_del(handler); - EINA_LIST_FREE(hooks, hook) - e_border_hook_del(hook); - return 1; -} - -E_Quickpanel * -e_quickpanel_new(E_Zone *zone) -{ - E_Quickpanel *qp; - - qp = E_OBJECT_ALLOC(E_Quickpanel, E_QUICKPANEL_TYPE, _e_quickpanel_cb_free); - if (!qp) return NULL; - qp->zone = zone; - return qp; -} - -void -e_quickpanel_show(E_Quickpanel *qp) -{ - if (qp->timer) ecore_timer_del(qp->timer); - qp->timer = NULL; - if ((qp->visible) || (!qp->borders)) return; - e_illume_border_top_shelf_size_get(qp->zone, NULL, &qp->top_height); - - if (!input_win) - { - 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(input_win); - if (!e_grabinput_get(input_win, 1, input_win)) - { - ecore_x_window_free(input_win); - input_win = 0; - return; - } - } - - if (il_cfg->sliding.quickpanel.duration <= 0) - { - Eina_List *l; - E_Border *bd; - int ny = 0; - - ny = qp->top_height; - if (qp->borders) - { - EINA_LIST_FOREACH(qp->borders, l, bd) - { - if (!bd->visible) _e_quickpanel_border_show(bd); - e_border_fx_offset(bd, 0, ny); - ny += bd->h; - } - } - qp->visible = 1; - } - else - _e_quickpanel_slide(qp, 1, - (double)il_cfg->sliding.quickpanel.duration / 1000.0); -} - -void -e_quickpanel_hide(E_Quickpanel *qp) -{ - if (!qp->visible) return; - if (!qp->timer) - qp->timer = ecore_timer_add(0.2, _e_quickpanel_cb_delay_hide, qp); -} - -E_Quickpanel * -e_quickpanel_by_zone_get(E_Zone *zone) -{ - Eina_List *l; - E_Quickpanel *qp; - - if (!zone) return NULL; - EINA_LIST_FOREACH(quickpanels, l, qp) - if (qp->zone == zone) return qp; - return NULL; -} - -void -e_quickpanel_position_update(E_Quickpanel *qp) -{ - Eina_List *l; - E_Border *bd; - int ty = 0; - - if (!qp) return; - e_quickpanel_hide(qp); - e_illume_border_top_shelf_pos_get(qp->zone, NULL, &ty); - if (qp->borders) - { - EINA_LIST_FOREACH(qp->borders, l, bd) - e_border_move(bd, qp->zone->x, ty); - } -} - -/* local functions */ -static void -_e_quickpanel_hide(E_Quickpanel *qp) -{ - if (!qp) return; - if (qp->timer) ecore_timer_del(qp->timer); - qp->timer = NULL; - if (!qp->visible) return; - e_illume_border_top_shelf_size_get(qp->zone, NULL, &qp->top_height); - if (input_win) - { - ecore_x_window_free(input_win); - e_grabinput_release(input_win, input_win); - input_win = 0; - } - if (il_cfg->sliding.quickpanel.duration <= 0) - { - Eina_List *l; - E_Border *bd; - - if (qp->borders) - { - EINA_LIST_REVERSE_FOREACH(qp->borders, l, bd) - { - e_border_fx_offset(bd, 0, 0); - if (bd->visible) _e_quickpanel_border_hide(bd); - } - } - qp->visible = 0; - } - else - _e_quickpanel_slide(qp, 0, - (double)il_cfg->sliding.quickpanel.duration / 1000.0); -} - -static void -_e_quickpanel_slide(E_Quickpanel *qp, int visible, double len) -{ - if (!qp) return; - 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_quickpanel_cb_animate, qp); -} - -static void -_e_quickpanel_border_show(E_Border *bd) -{ - unsigned int visible = 1; - - if (!bd) return; - e_container_border_lower(bd); - e_container_shape_show(bd->shape); - if (!bd->need_reparent) ecore_x_window_show(bd->client.win); - e_hints_window_visible_set(bd); - bd->visible = 1; - bd->changes.visible = 1; - ecore_x_window_prop_card32_set(bd->client.win, E_ATOM_MAPPED, &visible, 1); - ecore_x_window_prop_card32_set(bd->client.win, E_ATOM_MANAGED, &visible, 1); -} - -static void -_e_quickpanel_border_hide(E_Border *bd) -{ - unsigned int visible = 0; - - if (!bd) return; - e_container_shape_hide(bd->shape); - e_hints_window_hidden_set(bd); - bd->visible = 0; - bd->changes.visible = 1; - ecore_x_window_prop_card32_set(bd->client.win, E_ATOM_MAPPED, &visible, 1); -} - -static E_Quickpanel * -_e_quickpanel_by_border_get(E_Border *bd) -{ - Eina_List *l, *ll; - E_Border *b; - E_Quickpanel *qp; - - if ((!bd) || (!bd->stolen)) return NULL; - if (!quickpanels) return NULL; - EINA_LIST_FOREACH(quickpanels, l, qp) - { - if (!qp->borders) continue; - EINA_LIST_FOREACH(qp->borders, ll, b) - if (b == bd) return qp; - } - return NULL; -} - -static void -_e_quickpanel_cb_free(E_Quickpanel *qp) -{ - E_Border *bd; - - if (!qp) return; - if (qp->animator) ecore_animator_del(qp->animator); - qp->animator = NULL; - if (qp->timer) ecore_timer_del(qp->timer); - qp->timer = NULL; - EINA_LIST_FREE(qp->borders, bd) - bd->stolen = 0; - E_FREE(qp); -} - -static int -_e_quickpanel_cb_delay_hide(void *data) -{ - E_Quickpanel *qp; - - if (!(qp = data)) return 0; - _e_quickpanel_hide(qp); - return 0; -} - -static int -_e_quickpanel_cb_animate(void *data) -{ - E_Quickpanel *qp; - 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)); - if (qp->borders) - { - Eina_List *l; - E_Border *bd; - int pbh = 0; - - pbh = qp->top_height - qp->h; - EINA_LIST_FOREACH(qp->borders, l, bd) - { - 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_quickpanel_border_show(bd); - } - else - { - if (bd->fx.y <= 10) - if (bd->visible) _e_quickpanel_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 int -_e_quickpanel_cb_border_add(void *data, int type, void *event) -{ - E_Event_Border_Add *ev; - E_Quickpanel *qp; - int ty; - - ev = event; - if (!ev->border->client.illume.quickpanel.quickpanel) return 1; - if (!(qp = e_quickpanel_by_zone_get(ev->border->zone))) return 1; - _e_quickpanel_border_hide(ev->border); - e_illume_border_top_shelf_pos_get(qp->zone, NULL, &ty); - if ((ev->border->x != qp->zone->x) || (ev->border->y != ty)) - e_border_move(ev->border, qp->zone->x, ty); - if (ev->border->zone != qp->zone) - e_border_zone_set(ev->border, qp->zone); - qp->h += ev->border->h; - qp->borders = eina_list_append(qp->borders, ev->border); - return 1; -} - -static int -_e_quickpanel_cb_client_message(void *data, int type, 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_Quickpanel *qp; - - if (qp = e_quickpanel_by_zone_get(zone)) - { - if (ev->data.l[0] == ECORE_X_ATOM_E_ILLUME_QUICKPANEL_OFF) - e_quickpanel_hide(qp); - else - e_quickpanel_show(qp); - } - } - } - else if (ev->message_type == ECORE_X_ATOM_E_ILLUME_QUICKPANEL_POSITION_UPDATE) - { - E_Border *bd; - E_Quickpanel *qp; - - if (!(bd = e_border_find_by_client_window(ev->win))) return 1; - if (!(qp = e_quickpanel_by_zone_get(bd->zone))) return 1; - e_quickpanel_position_update(qp); - } - else if (ev->message_type == ECORE_X_ATOM_E_ILLUME_QUICKPANEL_ZONE_REQUEST) - { - E_Border *bd; - E_Zone *zone; - Ecore_X_Window z; - int ty; - - if (!(bd = e_border_find_by_client_window(ev->data.l[1]))) return 1; - z = ecore_x_e_illume_quickpanel_zone_get(bd->client.win); - if (!(zone = e_util_zone_window_find(z))) return 1; - _e_quickpanel_border_hide(bd); - e_illume_border_top_shelf_pos_get(zone, NULL, &ty); - e_border_move(bd, zone->x, ty); - e_border_zone_set(bd, zone); - } - return 1; -} - -static int -_e_quickpanel_cb_mouse_down(void *data, int type, void *event) -{ - Ecore_Event_Mouse_Button *ev; - Eina_List *l; - E_Quickpanel *qp; - - ev = event; - if (ev->event_window != input_win) return 1; - if (!quickpanels) return 1; - EINA_LIST_FOREACH(quickpanels, 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 void -_e_quickpanel_cb_post_fetch(void *data, void *data2) -{ - E_Border *bd; - - if (!(bd = data2)) return; - if ((!bd->new_client) || (!bd->client.illume.quickpanel.quickpanel)) return; - if (_e_quickpanel_by_border_get(bd)) return; - bd->stolen = 1; - if (bd->remember) - { - if (bd->bordername) - { - eina_stringshare_del(bd->bordername); - bd->bordername = NULL; - } - e_remember_unuse(bd->remember); - bd->remember = NULL; - } - eina_stringshare_replace(&bd->bordername, "borderless"); - bd->client.border.changed = 1; -} diff --git a/src/modules/illume2/e_quickpanel.h b/src/modules/illume2/e_quickpanel.h deleted file mode 100644 index 4c6b5c8c9..000000000 --- a/src/modules/illume2/e_quickpanel.h +++ /dev/null @@ -1,29 +0,0 @@ -#ifndef E_QUICKPANEL_H -#define E_QUICKPANEL_H - -#define E_QUICKPANEL_TYPE 0xE1b0990 - -typedef struct _E_Quickpanel E_Quickpanel; -struct _E_Quickpanel -{ - E_Object e_obj_inherit; - - E_Zone *zone; - Eina_List *borders; - Ecore_Timer *timer; - Ecore_Animator *animator; - double start, len; - int h, adjust, adjust_start, adjust_end, top_height; - unsigned char visible : 1; -}; - -int e_quickpanel_init(void); -int e_quickpanel_shutdown(void); - -E_Quickpanel *e_quickpanel_new(E_Zone *zone); -void e_quickpanel_show(E_Quickpanel *qp); -void e_quickpanel_hide(E_Quickpanel *qp); -E_Quickpanel *e_quickpanel_by_zone_get(E_Zone *zone); -void e_quickpanel_position_update(E_Quickpanel *qp); - -#endif diff --git a/src/modules/illume2/keyboards/Makefile.am b/src/modules/illume2/keyboards/Makefile.am deleted file mode 100644 index 1b2192047..000000000 --- a/src/modules/illume2/keyboards/Makefile.am +++ /dev/null @@ -1,11 +0,0 @@ -MAINTAINERCLEANFILES = Makefile.in -MODULE = illume2 - -filesdir = $(libdir)/enlightenment/modules/$(MODULE)/keyboards -files_DATA = ignore_built_in_keyboards - -EXTRA_DIST = $(files_DATA) - -uninstall: - rm -rf $(DESTDIR)$(libdir)/enlightenment/modules/$(MODULE)/keyboards - diff --git a/src/modules/illume2/keyboards/ignore_built_in_keyboards b/src/modules/illume2/keyboards/ignore_built_in_keyboards deleted file mode 100644 index bdb9d6bbb..000000000 --- a/src/modules/illume2/keyboards/ignore_built_in_keyboards +++ /dev/null @@ -1 +0,0 @@ -/org/freedesktop/Hal/devices/platform_* diff --git a/src/modules/illume2/module.desktop.in b/src/modules/illume2/module.desktop.in deleted file mode 100644 index 8f3845f13..000000000 --- a/src/modules/illume2/module.desktop.in +++ /dev/null @@ -1,8 +0,0 @@ -[Desktop Entry] -Type=Link -Name=Illume2 -Icon=e-module-illume2 -X-Enlightenment-ModuleType=system -Comment=Illume2 for Embedded -Comment[fr]=Illume2 pour l'embarqué -Comment[it]=Illume2 per sistemi embedded diff --git a/src/modules/illume2/policies/Makefile.am b/src/modules/illume2/policies/Makefile.am deleted file mode 100644 index e433fcee7..000000000 --- a/src/modules/illume2/policies/Makefile.am +++ /dev/null @@ -1,2 +0,0 @@ -MAINTAINERCLEANFILES = Makefile.in -SUBDIRS = illume diff --git a/src/modules/illume2/policies/illume/Makefile.am b/src/modules/illume2/policies/illume/Makefile.am deleted file mode 100644 index 898c6be17..000000000 --- a/src/modules/illume2/policies/illume/Makefile.am +++ /dev/null @@ -1,21 +0,0 @@ -MAINTAINERCLEANFILES = Makefile.in -MODULE = illume2 - -# the module .so file -INCLUDES = -I.. \ - -I$(top_srcdir) \ - -I$(top_srcdir)/src/modules/$(MODULE) \ - -I$(top_srcdir)/src/modules/$(MODULE)/policies/illume \ - -I$(top_srcdir)/src/bin \ - -I$(top_srcdir)/src/lib \ - -I$(top_srcdir)/src/modules \ - @e_cflags@ - -plugindir = $(libdir)/enlightenment/modules/$(MODULE)/policies - -illumedir = $(plugindir) -illume_LTLIBRARIES = illume.la -illume_la_SOURCES = illume.c illume.h layout.c layout.h -illume_la_LIBADD = @e_libs@ -illume_la_LDFLAGS = -no-undefined -module -avoid-version -illume_la_LIBTOOLFLAGS = --tag=disable-static diff --git a/src/modules/illume2/policies/illume/illume.c b/src/modules/illume2/policies/illume/illume.c deleted file mode 100644 index 87966bbbe..000000000 --- a/src/modules/illume2/policies/illume/illume.c +++ /dev/null @@ -1,46 +0,0 @@ -#include "E_Illume.h" -#include "illume.h" -#include "layout.h" - -EAPI E_Illume_Layout_Api e_layapi = -{ - E_ILLUME_LAYOUT_API_VERSION, "Illume", "illume" -}; - -EAPI void * -e_layapi_init(E_Illume_Layout_Policy *p) -{ - p->funcs.border_add = _layout_border_add; - p->funcs.border_del = _layout_border_del; - p->funcs.border_focus_in = _layout_border_focus_in; - p->funcs.border_focus_out = _layout_border_focus_out; - p->funcs.border_activate = _layout_border_activate; - p->funcs.border_property_change = _layout_border_property_change; - p->funcs.zone_layout = _layout_zone_layout; - p->funcs.zone_move_resize = _layout_zone_move_resize; - p->funcs.drag_start = _layout_drag_start; - p->funcs.drag_end = _layout_drag_end; - return p; -} - -EAPI int -e_layapi_shutdown(E_Illume_Layout_Policy *p) -{ - p->funcs.border_add = NULL; - p->funcs.border_del = NULL; - p->funcs.border_focus_in = NULL; - p->funcs.border_focus_out = NULL; - p->funcs.border_activate = NULL; - p->funcs.border_property_change = NULL; - p->funcs.zone_layout = NULL; - p->funcs.zone_move_resize = NULL; - p->funcs.drag_start = NULL; - p->funcs.drag_end = NULL; - return 1; -} - -EAPI void -e_layapi_config(E_Container *con, const char *params) -{ - -} diff --git a/src/modules/illume2/policies/illume/illume.h b/src/modules/illume2/policies/illume/illume.h deleted file mode 100644 index bd585078e..000000000 --- a/src/modules/illume2/policies/illume/illume.h +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef _ILLUME_H -# define _ILLUME_H - -EAPI extern E_Illume_Layout_Api e_layapi; - -EAPI void *e_layapi_init(E_Illume_Layout_Policy *p); -EAPI int e_layapi_shutdown(E_Illume_Layout_Policy *p); -EAPI void e_layapi_config(E_Container *con, const char *params); - -#endif diff --git a/src/modules/illume2/policies/illume/layout.c b/src/modules/illume2/policies/illume/layout.c deleted file mode 100644 index 38e9075e3..000000000 --- a/src/modules/illume2/policies/illume/layout.c +++ /dev/null @@ -1,605 +0,0 @@ -#include "E_Illume.h" -#include "layout.h" - -/* local function prototypes */ -static void _zone_layout_border_move(E_Border *bd, int x, int y); -static void _zone_layout_border_resize(E_Border *bd, int w, int h); -static void _zone_layout_single(E_Border *bd); -static void _zone_layout_dual(E_Border *bd); -static void _zone_layout_dual_top(E_Border *bd); -static void _zone_layout_dual_top_custom(E_Border *bd); -static void _zone_layout_dual_left(E_Border *bd); - -/* local variables */ -static int shelfsize = 0; -static int kbdsize = 0; -static int panelsize = 0; - -void -_layout_border_add(E_Border *bd) -{ - if (!bd) return; - if ((bd->new_client) || (!bd->visible)) return; - if ((bd->need_fullscreen) || (bd->fullscreen)) - { - E_Border *b; - - b = e_illume_border_top_shelf_get(bd->zone); - if ((b) && (b->visible)) e_border_hide(b, 2); - } - if ((bd->client.icccm.accepts_focus) && (bd->client.icccm.take_focus) - && (!bd->lock_focus_out) && (!bd->focused)) - e_border_focus_set(bd, 1, 1); -} - -void -_layout_border_del(E_Border *bd) -{ - if (!bd) return; - - /* Do something if a border gets removed */ - if ((bd->need_fullscreen) || (bd->fullscreen)) - { - E_Border *b; - - b = e_illume_border_top_shelf_get(bd->zone); - if ((b) && (!b->visible)) e_border_show(b); - } -} - -void -_layout_border_focus_in(E_Border *bd) -{ - /* Do something if focus enters a window */ -} - -void -_layout_border_focus_out(E_Border *bd) -{ - /* Do something if focus exits a window */ -} - -void -_layout_border_activate(E_Border *bd) -{ - E_Border *b; - - /* HANDLE A BORDER BEING ACTIVATED */ - - if ((!bd) || (bd->stolen)) return; - b = e_illume_border_bottom_panel_get(bd->zone); - if (e_illume_border_is_conformant(bd)) - { - if ((b) && (b->visible)) e_border_hide(b, 2); - } - else - { - if ((b) && (!b->visible)) e_border_show(b); - } - - /* only set focus if border accepts it and it's not locked out */ - if (((!bd->client.icccm.accepts_focus) && (!bd->client.icccm.take_focus)) || - (bd->lock_focus_out)) - return; - - /* if the border is not focused, check focus settings */ - if ((bd) && (!bd->focused)) - { - if ((e_config->focus_setting == E_FOCUS_NEW_WINDOW) || - ((bd->parent) && - ((e_config->focus_setting == E_FOCUS_NEW_DIALOG) || - ((bd->parent->focused) && - (e_config->focus_setting == E_FOCUS_NEW_DIALOG_IF_OWNER_FOCUSED))))) - { - if (bd->iconic) - { - /* if it's iconic, then uniconify */ - if (!bd->lock_user_iconify) e_border_uniconify(bd); - } - /* if we can, raise the border */ - if (!bd->lock_user_stacking) e_border_raise(bd); - /* if we can, focus the border */ - if (!bd->lock_focus_out) e_border_focus_set(bd, 1, 1); - } - } -} - -void -_layout_border_property_change(E_Border *bd, Ecore_X_Event_Window_Property *event) -{ - E_Border *ind; - - if (event->atom != ECORE_X_ATOM_NET_WM_STATE) return; - if ((!bd->client.icccm.name) || (!bd->client.icccm.class) || - (bd->stolen) || (!bd->visible)) return; - if (!(ind = e_illume_border_top_shelf_get(bd->zone))) return; - if ((bd->fullscreen) || (bd->need_fullscreen)) - e_border_hide(ind, 2); - else - e_border_show(ind); -} - -void -_layout_zone_layout(E_Zone *zone) -{ - E_Illume_Config_Zone *cfg_zone; - Eina_List *l; - E_Border *bd; - - if (!zone) return; - - cfg_zone = e_illume_zone_config_get(zone->id); - if (!cfg_zone) return; - - EINA_LIST_FOREACH(e_border_client_list(), l, bd) - { - int mh; - - if (bd->zone != zone) continue; - if (e_illume_border_is_top_shelf(bd)) - { - e_illume_border_min_get(bd, NULL, &mh); - if (shelfsize < mh) shelfsize = mh; - if (!bd->client.illume.drag.drag) - { - if ((bd->w != zone->w) || (bd->h != shelfsize)) - _zone_layout_border_resize(bd, zone->w, shelfsize); - if (!cfg_zone->mode.dual) - { - if ((bd->x != zone->x) || (bd->y != zone->y)) - { - _zone_layout_border_move(bd, zone->x, zone->y); - ecore_x_e_illume_quickpanel_position_update_send(bd->client.win); - } - } - else - { - if (cfg_zone->mode.side == 0) - { - if (bd->x != zone->x) - _zone_layout_border_move(bd, zone->x, bd->y); - } - else - { - if ((bd->x != zone->x) || (bd->y != zone->y)) - { - _zone_layout_border_move(bd, zone->x, zone->y); - ecore_x_e_illume_quickpanel_position_update_send(bd->client.win); - } - } - } - } - if (bd->layer != IL_TOP_SHELF_LAYER) - e_border_layer_set(bd, IL_TOP_SHELF_LAYER); - bd->lock_user_stacking = 1; - } - else if (e_illume_border_is_bottom_panel(bd)) - { - e_illume_border_min_get(bd, NULL, &mh); - if (panelsize < mh) panelsize = mh; - if (!bd->client.illume.drag.drag) - { - if ((bd->w != zone->w) || (bd->h != panelsize)) - _zone_layout_border_resize(bd, zone->w, panelsize); - if ((bd->x != zone->x) || - (bd->y != (zone->y + zone->h - panelsize))) - _zone_layout_border_move(bd, zone->x, - (zone->y + zone->h - panelsize)); - } - if (bd->layer != IL_BOTTOM_PANEL_LAYER) - e_border_layer_set(bd, IL_BOTTOM_PANEL_LAYER); - bd->lock_user_stacking = 1; - } - else if (e_illume_border_is_keyboard(bd)) - { - e_illume_border_min_get(bd, NULL, &mh); - if (kbdsize < mh) kbdsize = mh; - if ((bd->w != zone->w) || (bd->h != kbdsize)) - _zone_layout_border_resize(bd, zone->w, kbdsize); - if ((bd->x != zone->x) || - (bd->y != (zone->y + zone->h - kbdsize))) - _zone_layout_border_move(bd, zone->x, - (zone->y + zone->h - kbdsize)); - if (bd->layer != IL_KEYBOARD_LAYER) - e_border_layer_set(bd, IL_KEYBOARD_LAYER); - } - else if (e_illume_border_is_dialog(bd)) - { - int mw, nx, ny; - - e_illume_border_min_get(bd, &mw, &mh); - if (mw > zone->w) mw = zone->w; - if (mh > zone->h) mh = zone->h; - nx = (zone->x + ((zone->w - mw) / 2)); - ny = (zone->y + ((zone->h - mh) / 2)); - if ((bd->w != mw) || (bd->h != mh)) - _zone_layout_border_resize(bd, mw, mh); - if ((bd->x != nx) || (bd->y != ny)) - _zone_layout_border_move(bd, nx, ny); - if (bd->layer != IL_DIALOG_LAYER) - e_border_layer_set(bd, IL_DIALOG_LAYER); - } - else if (e_illume_border_is_quickpanel(bd)) - { - e_illume_border_min_get(bd, NULL, &mh); - if ((bd->w != zone->w) || (bd->h != mh)) - _zone_layout_border_resize(bd, zone->w, mh); - if (bd->layer != IL_QUICKPANEL_LAYER) - e_border_layer_set(bd, IL_QUICKPANEL_LAYER); - bd->lock_user_stacking = 1; - } - else - { - if (bd->stolen) continue; - if (cfg_zone->mode.dual) _zone_layout_dual(bd); - else _zone_layout_single(bd); - if (e_illume_border_is_conformant(bd)) - { - if (bd->layer != IL_CONFORM_LAYER) - e_border_layer_set(bd, IL_CONFORM_LAYER); - } - else if ((bd->fullscreen) || (bd->need_fullscreen)) - { - if (bd->layer != IL_FULLSCREEN_LAYER) - e_border_layer_set(bd, IL_FULLSCREEN_LAYER); - } - else - { - if (bd->layer != IL_APP_LAYER) - e_border_layer_set(bd, IL_APP_LAYER); - } - bd->lock_user_stacking = 1; - } - } -} - -void -_layout_zone_move_resize(E_Zone *zone) -{ - if (!zone) return; - _layout_zone_layout(zone); -} - -void -_layout_drag_start(E_Border *bd) -{ - if (!bd) return; - ecore_x_e_illume_drag_set(bd->client.win, 1); - ecore_x_e_illume_drag_set(bd->zone->black_win, 1); -} - -void -_layout_drag_end(E_Border *bd) -{ - if (!bd) return; - ecore_x_e_illume_drag_set(bd->client.win, 0); - ecore_x_e_illume_drag_set(bd->zone->black_win, 0); -} - -/* local functions */ -static void -_zone_layout_border_move(E_Border *bd, int x, int y) -{ - if (!bd) return; - bd->x = x; - bd->y = y; - bd->changes.pos = 1; - bd->changed = 1; -} - -static void -_zone_layout_border_resize(E_Border *bd, int w, int h) -{ - if (!bd) return; - bd->w = w; - bd->h = h; - bd->client.w = bd->w - (bd->client_inset.l + bd->client_inset.r); - bd->client.h = bd->h - (bd->client_inset.t + bd->client_inset.b); - bd->changes.size = 1; - bd->changed = 1; -} - -static void -_zone_layout_single(E_Border *bd) -{ - int kx, ky, kw, kh; - int ss = 0, ps = 0; - int nh, ny; - - if (!bd) return; - e_illume_kbd_safe_app_region_get(bd->zone, &kx, &ky, &kw, &kh); - if (!((bd->need_fullscreen) || (bd->fullscreen))) - { - if (kh >= bd->zone->h) ps = panelsize; - ss = shelfsize; - } - nh = kh - ss - ps; - ny = ky + ss; - if (e_illume_border_is_conformant(bd)) - { - nh = bd->zone->h; - ny = ky; - } - if ((bd->w != kw) || (bd->h != nh)) - _zone_layout_border_resize(bd, kw, nh); - if ((bd->x != kx) || (bd->y != ny)) - _zone_layout_border_move(bd, kx, ny); -} - -static void -_zone_layout_dual(E_Border *bd) -{ - E_Illume_Config_Zone *cz; - - if (!bd) return; - cz = e_illume_zone_config_get(bd->zone->id); - if (!cz) return; - if (cz->mode.side == 0) - { - int ty; - - e_illume_border_top_shelf_pos_get(bd->zone, NULL, &ty); - if (ty <= bd->zone->y) - _zone_layout_dual_top(bd); - else - _zone_layout_dual_top_custom(bd); - } - else if (cz->mode.side == 1) - _zone_layout_dual_left(bd); -} - -static void -_zone_layout_dual_top(E_Border *bd) -{ - int conform; - int kx, ky, kw, kh; - int ps = 0, ss = 0; - int by, bh; - E_Border *b; - - if (!bd) return; - conform = e_illume_border_is_conformant(bd); - e_illume_kbd_safe_app_region_get(bd->zone, &kx, &ky, &kw, &kh); - - if (!((bd->need_fullscreen) || (bd->fullscreen))) - { - if (kh >= bd->zone->h) ps = panelsize; - ss = shelfsize; - } - - by = (ky + ss); - bh = ((kh - ss - ps) / 2); - - b = e_illume_border_at_xy_get(bd->zone, kx, by); - if ((b) && (bd != b)) - { - if (e_illume_border_is_home(b)) - { - if (conform) - { - by = ky; - bh = bd->zone->h / 2; - } - else if (e_illume_border_is_home(bd)) - by = (b->y + b->h); - } - else if (e_illume_border_is_conformant(b)) - { - by = (b->y + b->h); - if (conform) bh = bd->zone->h / 2; - } - else - { - by = (b->y + b->h); - if (conform) bh = bd->zone->h / 2; - } - } - else if (b) - { - if (bd->client.vkbd.state > ECORE_X_VIRTUAL_KEYBOARD_STATE_OFF) - { - by = (ky + ss); - bh = ((kh - ss - ps) / 2); - } - } - - if ((bd->need_fullscreen) || (bd->fullscreen)) - { - by = ky; - bh = kh; - } - - if ((bd->w != kw) || (bd->h != bh)) - _zone_layout_border_resize(bd, kw, bh); - if ((bd->x != kx) || (bd->y != by)) - _zone_layout_border_move(bd, kx, by); -} - -static void -_zone_layout_dual_top_custom(E_Border *bd) -{ - int kx, kw, ky, kh; - int ax, ay, aw, ah; - int zx, zy, zw, zh; - - if (!bd) return; - - /* grab the 'safe' region. Safe region is space not occupied by keyboard */ - e_illume_kbd_safe_app_region_get(bd->zone, &kx, &ky, &kw, &kh); - - e_illume_border_app1_safe_region_get(bd->zone, &ax, &ay, &aw, &ah); - e_illume_border_app2_safe_region_get(bd->zone, &zx, &zy, &zw, &zh); - - /* if there are no other borders, than give this one all available space */ - if (e_illume_border_valid_count_get(bd->zone) < 2) - { - if (ah >= zh) - { - zx = ax; - zy = ax; - zw = aw; - zh = ah; - } - if ((bd->w != zw) || (bd->h != zh)) - _zone_layout_border_resize(bd, zw, zh); - if ((bd->x != zx) || (bd->y != zy)) - _zone_layout_border_move(bd, zx, zy); - } - else - { - int bh, by; - - bh = ah; - by = ay; - - if (bd->client.vkbd.state <= ECORE_X_VIRTUAL_KEYBOARD_STATE_OFF) - { - E_Border *bt; - - /* grab the border at the top */ - bt = e_illume_border_at_xy_get(bd->zone, kx, ay); - if ((bt) && (bd != bt)) - { - E_Border *bb; - - /* have border @ top, check for border @ bottom */ - bb = e_illume_border_at_xy_get(bd->zone, kx, zy); - if ((bb) && (bd != bb)) - { - /* have border @ top & bottom; neither is current */ - - /* if top border is !home, check bottom */ - if (!e_illume_border_is_home(bt)) - { - if (e_illume_border_is_home(bb)) - { - bh = zh; - by = zy; - } - else - { - /* potential hole */ - bh = ah; - by = ay; - } - } - else - { - bh = ah; - by = ay; - } - } - else if (bb) - { - bh = zh; - by = bd->y; - } - else - { - bh = zh; - by = zy; - } - } - else if (bt) - { - bh = ah; - by = bd->y; - } - else - { - bh = ah; - by = ay; - } - } - - if ((bd->fullscreen) || (bd->need_fullscreen)) - { - bh = kh; - by = ky; - } - if ((bd->w != kw) || (bd->h != bh)) - _zone_layout_border_resize(bd, kw, bh); - if ((bd->x != kx) || (bd->y != by)) - _zone_layout_border_move(bd, kx, by); - } -} - -static void -_zone_layout_dual_left(E_Border *bd) -{ - int conform; - int kx, ky, kw, kh; - int ps = 0, ss = 0; - int by, bh, bx, bw; - E_Border *b; - - if (!bd) return; - - conform = e_illume_border_is_conformant(bd); - e_illume_kbd_safe_app_region_get(bd->zone, &kx, &ky, &kw, &kh); - - if (!((bd->need_fullscreen) || (bd->fullscreen))) - { - if (kh >= bd->zone->h) ps = panelsize; - ss = shelfsize; - } - - bx = kx; - by = (ky + ss); - bw = (kw / 2); - bh = (kh - ss - ps); - - b = e_illume_border_at_xy_get(bd->zone, kx, by); - if ((b) && (bd != b)) - { - if (e_illume_border_is_home(b)) - { - if (conform) - { - by = ky; - bh = bd->zone->h; - } - else if (e_illume_border_is_home(bd)) - bx = (b->x + b->w); - } - else if (e_illume_border_is_conformant(b)) - { - bx = (b->x + b->w); - if (conform) - { - by = ky; - bh = bd->zone->h; - } - } - else - { - bx = (b->x + b->w); - if (conform) - { - by = ky; - bh = bd->zone->h; - } - } - } - else if (b) - { - if (bd->client.vkbd.state > ECORE_X_VIRTUAL_KEYBOARD_STATE_OFF) - { - by = (ky + ss); - bh = (kh - ss - ps); - } - } - - if ((bd->need_fullscreen) || (bd->fullscreen)) - { - bx = kx; - by = ky; - bw = kw; - bh = kh; - } - - if ((bd->w != bw) || (bd->h != bh)) - _zone_layout_border_resize(bd, bw, bh); - if ((bd->x != bx) || (bd->y != by)) - _zone_layout_border_move(bd, bx, by); -} diff --git a/src/modules/illume2/policies/illume/layout.h b/src/modules/illume2/policies/illume/layout.h deleted file mode 100644 index 711be2130..000000000 --- a/src/modules/illume2/policies/illume/layout.h +++ /dev/null @@ -1,26 +0,0 @@ -#ifndef _LAYOUT_H -# define _LAYOUT_H - -/* define some values here for easily changing layers so we don't have to - * grep through code to change layers */ -#define IL_TOP_SHELF_LAYER 200 -#define IL_BOTTOM_PANEL_LAYER 110 -#define IL_KEYBOARD_LAYER 150 -#define IL_DIALOG_LAYER 120 -#define IL_CONFORM_LAYER 100 -#define IL_FULLSCREEN_LAYER 140 -#define IL_QUICKPANEL_LAYER 160 -#define IL_APP_LAYER 100 - -void _layout_border_add(E_Border *bd); -void _layout_border_del(E_Border *bd); -void _layout_border_focus_in(E_Border *bd); -void _layout_border_focus_out(E_Border *bd); -void _layout_border_activate(E_Border *bd); -void _layout_border_property_change(E_Border *bd, Ecore_X_Event_Window_Property *event); -void _layout_zone_layout(E_Zone *zone); -void _layout_zone_move_resize(E_Zone *zone); -void _layout_drag_start(E_Border *bd); -void _layout_drag_end(E_Border *bd); - -#endif