From 5ebb87d1581f428f20b99c1e5dfa6b2a6bf8aafe Mon Sep 17 00:00:00 2001 From: Carsten Haitzler Date: Mon, 4 Jan 2010 12:27:15 +0000 Subject: [PATCH] 1. compositor module skeletion. have more code elsehwere currently 2. lutin patch for path_max SVN revision: 44874 --- configure.ac | 5 + m4/efl_path_max.m4 | 33 ++++++ src/modules/Makefile.am | 7 +- src/modules/comp/.cvsignore | 7 ++ src/modules/comp/Makefile.am | 33 ++++++ src/modules/comp/e-module-comp.edj | Bin 0 -> 9355 bytes src/modules/comp/e_mod_comp.c | 15 +++ src/modules/comp/e_mod_comp.h | 8 ++ src/modules/comp/e_mod_config.c | 175 +++++++++++++++++++++++++++++ src/modules/comp/e_mod_config.h | 7 ++ src/modules/comp/e_mod_main.c | 79 +++++++++++++ src/modules/comp/e_mod_main.h | 32 ++++++ src/modules/comp/module.desktop.in | 6 + x-ui.sh | 4 +- 14 files changed, 408 insertions(+), 3 deletions(-) create mode 100644 m4/efl_path_max.m4 create mode 100644 src/modules/comp/.cvsignore create mode 100644 src/modules/comp/Makefile.am create mode 100644 src/modules/comp/e-module-comp.edj create mode 100644 src/modules/comp/e_mod_comp.c create mode 100644 src/modules/comp/e_mod_comp.h create mode 100644 src/modules/comp/e_mod_config.c create mode 100644 src/modules/comp/e_mod_config.h create mode 100644 src/modules/comp/e_mod_main.c create mode 100644 src/modules/comp/e_mod_main.h create mode 100644 src/modules/comp/module.desktop.in diff --git a/configure.ac b/configure.ac index db53b857b..fae22c93f 100644 --- a/configure.ac +++ b/configure.ac @@ -30,6 +30,8 @@ AC_PROG_LIBTOOL AC_SUBST(release) +EFL_CHECK_PATH_MAX + AC_CHECK_FUNCS(setenv) AC_CHECK_FUNCS(unsetenv) @@ -485,6 +487,7 @@ AC_E_OPTIONAL_MODULE([illume2], true) AC_E_OPTIONAL_MODULE([syscon], true) AC_E_OPTIONAL_MODULE([everything], true) AC_E_OPTIONAL_MODULE([systray], true) +AC_E_OPTIONAL_MODULE([comp], true) AC_OUTPUT([ Makefile @@ -645,6 +648,8 @@ src/modules/everything/module.desktop src/modules/everything/everything.pc src/modules/systray/Makefile src/modules/systray/module.desktop +src/modules/comp/Makefile +src/modules/comp/module.desktop src/preload/Makefile data/Makefile data/images/Makefile diff --git a/m4/efl_path_max.m4 b/m4/efl_path_max.m4 new file mode 100644 index 000000000..2c9b60afe --- /dev/null +++ b/m4/efl_path_max.m4 @@ -0,0 +1,33 @@ +dnl Check for PATH_MAX in limits.h, and define a default value if not found +dnl This is a workaround for systems not providing PATH_MAX, like GNU/Hurd + +dnl EFL_CHECK_PATH_MAX([DEFAULT_VALUE_IF_NOT_FOUND]) +dnl +dnl If PATH_MAX is not defined in , defines it +dnl to DEFAULT_VALUE_IF_NOT_FOUND if it exists, or fallback +dnl to using 4096 + +AC_DEFUN([EFL_CHECK_PATH_MAX], +[ + +default_max=m4_default([$1], "4096") +AC_LANG_PUSH([C]) + +AC_MSG_CHECKING([for PATH_MAX in limit.h]) +AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM([[#include ]], + [[int i = PATH_MAX]]) + ], + AC_MSG_RESULT([yes]), + [ + AC_DEFINE_UNQUOTED([PATH_MAX], + [${default_max}], + [default value since PATH_MAX is not defined]) + AC_MSG_RESULT([no: using ${default_max}]) + ] +) + +AC_LANG_POP([C]) + +]) +dnl end of efl_path_max.m4 diff --git a/src/modules/Makefile.am b/src/modules/Makefile.am index ffce5abae..aace6a930 100644 --- a/src/modules/Makefile.am +++ b/src/modules/Makefile.am @@ -258,6 +258,10 @@ if USE_MODULE_SYSTRAY SUBDIRS += systray endif +if USE_MODULE_COMP +SUBDIRS += comp +endif + DIST_SUBDIRS = \ ibar \ @@ -329,4 +333,5 @@ illume-kbd-toggle \ illume-mode-toggle \ syscon \ everything \ -systray +systray \ +comp diff --git a/src/modules/comp/.cvsignore b/src/modules/comp/.cvsignore new file mode 100644 index 000000000..06d064a84 --- /dev/null +++ b/src/modules/comp/.cvsignore @@ -0,0 +1,7 @@ +.deps +.libs +Makefile +Makefile.in +*.lo +module.la +module.desktop diff --git a/src/modules/comp/Makefile.am b/src/modules/comp/Makefile.am new file mode 100644 index 000000000..1d2f1bcfe --- /dev/null +++ b/src/modules/comp/Makefile.am @@ -0,0 +1,33 @@ +MAINTAINERCLEANFILES = Makefile.in +MODULE = comp + +# 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_mod_comp.c \ + e_mod_comp.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/comp/e-module-comp.edj b/src/modules/comp/e-module-comp.edj new file mode 100644 index 0000000000000000000000000000000000000000..8721b817d508f94adb47647c578c15d0bc01bc9a GIT binary patch literal 9355 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 = _create_data; + v->free_cfdata = _free_data; + v->basic.apply_cfdata = _basic_apply_data; + v->basic.create_widgets = _basic_create_widgets; + + snprintf(buf, sizeof(buf), "%s/e-module-comp.edj", + e_module_dir_get(mod->module)); + cfd = e_config_dialog_new(con, + _("Composite Settings"), + "E", "appearance/comp", + buf, 0, v, mod); + mod->config_dialog = cfd; + return cfd; +} + +static void * +_create_data(E_Config_Dialog *cfd) +{ + /* + E_Config_Dialog_Data *cfdata; + Dropshadow *ds; + + ds = cfd->data; + cfdata = E_NEW(E_Config_Dialog_Data, 1); + _fill_data(ds, cfdata); + return cfdata; + */ + return NULL; +} + +static void +_free_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata) +{ + /* + Dropshadow *ds; + + ds = cfd->data; + ds->config_dialog = NULL; + free(cfdata); + */ +} + +static Evas_Object * +_basic_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cfdata) +{ + Evas_Object *o, *ob, *of, *ot; + E_Radio_Group *rg; + + o = e_widget_list_add(evas, 0, 0); + ot = e_widget_table_add(evas, 1); + + of = e_widget_framelist_add(evas, _("Quality"), 0); + e_widget_framelist_content_align_set(of, 0.5, 0.0); + rg = e_widget_radio_group_new(&(cfdata->x)); + ob = e_widget_radio_add(evas, _("X"), 1, rg); + e_widget_framelist_object_append(of, ob); + ob = e_widget_radio_add(evas, _("Y"), 2, rg); + e_widget_framelist_object_append(of, ob); + ob = e_widget_radio_add(evas, _("Z"), 4, rg); + e_widget_framelist_object_append(of, ob); + e_widget_table_object_append(ot, of, 0, 0, 1, 1, 1, 1, 1, 1); +/* + of = e_widget_framelist_add(evas, _("Blur Type"), 0); + e_widget_framelist_content_align_set(of, 0.5, 0.0); + rg = e_widget_radio_group_new(&(cfdata->blur_size)); + ob = e_widget_radio_add(evas, _("Very Fuzzy"), 80, rg); + e_widget_framelist_object_append(of, ob); + ob = e_widget_radio_add(evas, _("Fuzzy"), 40, rg); + e_widget_framelist_object_append(of, ob); + ob = e_widget_radio_add(evas, _("Medium"), 20, rg); + e_widget_framelist_object_append(of, ob); + ob = e_widget_radio_add(evas, _("Sharp"), 10, rg); + e_widget_framelist_object_append(of, ob); + ob = e_widget_radio_add(evas, _("Very Sharp"), 5, rg); + e_widget_framelist_object_append(of, ob); + e_widget_table_object_append(ot, of, 0, 1, 1, 1, 1, 1, 1, 1); + + of = e_widget_framelist_add(evas, _("Shadow Distance"), 0); + e_widget_framelist_content_align_set(of, 0.5, 0.0); + rg = e_widget_radio_group_new(&(cfdata->shadow_x)); + ob = e_widget_radio_add(evas, _("Very Far"), 32, rg); + e_widget_framelist_object_append(of, ob); + ob = e_widget_radio_add(evas, _("Far"), 16, rg); + e_widget_framelist_object_append(of, ob); + ob = e_widget_radio_add(evas, _("Near"), 8, rg); + e_widget_framelist_object_append(of, ob); + ob = e_widget_radio_add(evas, _("Very Near"), 4, rg); + e_widget_framelist_object_append(of, ob); + ob = e_widget_radio_add(evas, _("Extremely Near"), 2, rg); + e_widget_framelist_object_append(of, ob); + ob = e_widget_radio_add(evas, _("Underneath"), 0, rg); + e_widget_framelist_object_append(of, ob); + e_widget_table_object_append(ot, of, 1, 0, 1, 1, 1, 1, 1, 1); + + of = e_widget_framelist_add(evas, _("Shadow Darkness"), 0); + e_widget_framelist_content_align_set(of, 0.5, 0.0); + rg = e_widget_radio_group_new(&(cfdata->darkness)); + ob = e_widget_radio_add(evas, _("Very Dark"), 0, rg); + e_widget_framelist_object_append(of, ob); + ob = e_widget_radio_add(evas, _("Dark"), 1, rg); + e_widget_framelist_object_append(of, ob); + ob = e_widget_radio_add(evas, _("Light"), 2, rg); + e_widget_framelist_object_append(of, ob); + ob = e_widget_radio_add(evas, _("Very Light"), 3, rg); + e_widget_framelist_object_append(of, ob); + e_widget_table_object_append(ot, of, 1, 1, 1, 1, 1, 1, 1, 1); + + e_widget_list_object_append(o, ot, 1, 1, 0.5); +*/ + return o; +} + +static int +_basic_apply_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata) +{ + /* + Dropshadow *ds; + + ds = cfd->data; + e_border_button_bindings_ungrab_all(); + + ds->conf->quality = cfdata->quality; + ds->conf->blur_size = cfdata->blur_size; + ds->conf->shadow_x = cfdata->shadow_x; + ds->conf->shadow_y = cfdata->shadow_x; + switch (cfdata->darkness) + { + case 0: + ds->conf->shadow_darkness = 1.0; + break; + case 1: + ds->conf->shadow_darkness = 0.75; + break; + case 2: + ds->conf->shadow_darkness = 0.5; + break; + case 3: + ds->conf->shadow_darkness = 0.25; + break; + } + + e_config_save_queue(); + e_border_button_bindings_grab_all(); + + _dropshadow_cb_config_updated(ds); + */ + return 1; +} diff --git a/src/modules/comp/e_mod_config.h b/src/modules/comp/e_mod_config.h new file mode 100644 index 000000000..929ac4e14 --- /dev/null +++ b/src/modules/comp/e_mod_config.h @@ -0,0 +1,7 @@ +#ifdef E_TYPEDEFS +#else +#ifndef E_MOD_CONFIG_H +#define E_MOD_CONFIG_H +E_Config_Dialog *e_int_config_comp_module(E_Container *con, const char *params __UNUSED__); +#endif +#endif diff --git a/src/modules/comp/e_mod_main.c b/src/modules/comp/e_mod_main.c new file mode 100644 index 000000000..4b63c7a22 --- /dev/null +++ b/src/modules/comp/e_mod_main.c @@ -0,0 +1,79 @@ +#include "e.h" +#include "e_mod_main.h" +#include "e_mod_config.h" +#include "e_mod_comp.h" + +/* module private routines */ +Mod *_comp_mod = NULL; + +/* public module routines. all modules must have these */ +EAPI E_Module_Api e_modapi = +{ + E_MODULE_API_VERSION, + "Composite" +}; + +EAPI void * +e_modapi_init(E_Module *m) +{ + Mod *mod; + char buf[4096]; + + mod = calloc(1, sizeof(Mod)); + mod->module = m; + snprintf(buf, sizeof(buf), "%s/e-module-comp.edj", e_module_dir_get(m)); + e_configure_registry_category_add("appearance", 10, _("Look"), NULL, "preferences-appearance"); + e_configure_registry_item_add("appearance/comp", 120, _("Composite"), NULL, buf, e_int_config_comp_module); + + mod->conf_edd = E_CONFIG_DD_NEW("Comp_Config", Config); +#undef T +#undef D +#define T Config +#define D mod->conf_edd + E_CONFIG_VAL(D, T, x, INT); + + mod->conf = e_config_domain_load("module.comp", mod->conf_edd); + if (!mod->conf) + { + mod->conf = E_NEW(Config, 1); + mod->conf->x = 1; + } + E_CONFIG_LIMIT(mod->conf->x, -2, 2); + + _comp_mod = mod; + + e_mod_comp_init(); + + return mod; +} + +EAPI int +e_modapi_shutdown(E_Module *m) +{ + Mod *mod = m->data; + + e_mod_comp_shutdown(); + + e_configure_registry_item_del("appearance/comp"); + e_configure_registry_category_del("appearance"); + + if (mod->config_dialog) + { + e_object_del(E_OBJECT(mod->config_dialog)); + mod->config_dialog = NULL; + } + + free(mod->conf); + E_CONFIG_DD_FREE(mod->conf_edd); + free(mod); + + return 1; +} + +EAPI int +e_modapi_save(E_Module *m) +{ + Mod *mod = m->data; + e_config_domain_save("module.comp", mod->conf_edd, mod->conf); + return 1; +} diff --git a/src/modules/comp/e_mod_main.h b/src/modules/comp/e_mod_main.h new file mode 100644 index 000000000..3e01c52c9 --- /dev/null +++ b/src/modules/comp/e_mod_main.h @@ -0,0 +1,32 @@ +#ifndef E_MOD_MAIN_H +#define E_MOD_MAIN_H + +typedef struct _Config Config; +typedef struct _Mod Mod; + + +struct _Config +{ + int x; +}; + +struct _Mod +{ + E_Module *module; + + E_Config_DD *conf_edd; + Config *conf; + + E_Config_Dialog *config_dialog; +}; + +extern Mod *_comp_mod; + +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); +EAPI int e_modapi_info (E_Module *m); + +#endif diff --git a/src/modules/comp/module.desktop.in b/src/modules/comp/module.desktop.in new file mode 100644 index 000000000..b09f8fec0 --- /dev/null +++ b/src/modules/comp/module.desktop.in @@ -0,0 +1,6 @@ +[Desktop Entry] +Type=Link +Name=Composite +Icon=e-module-comp +Comment=Composite Module
+X-Enlightenment-ModuleType=appearance diff --git a/x-ui.sh b/x-ui.sh index 5b393483c..426437388 100755 --- a/x-ui.sh +++ b/x-ui.sh @@ -5,8 +5,8 @@ #Xephyr :1 -noreset -ac -br -dpi 186 -screen 272x480x16 & #Xephyr :1 -noreset -ac -br -dpi 186 -screen 480x272x16 & #Xephyr :1 -noreset -ac -br -dpi 181 -screen 320x320x16 & -#Xephyr :1 -noreset -ac -br -dpi 183 -screen 320x480x16 -host-cursor & -Xephyr :1 -noreset -ac -br -dpi 183 -screen 480x320x16 -host-cursor & +Xephyr :1 -noreset -ac -br -dpi 183 -screen 320x480x16 -host-cursor & +#Xephyr :1 -noreset -ac -br -dpi 183 -screen 480x320x16 -host-cursor & #Xephyr :1 -noreset -ac -br -dpi 183 -screen 480x800x16 & #Xephyr :1 -noreset -ac -br -dpi 183 -screen 800x480x16 & #Xephyr :1 -noreset -ac -br -dpi 284 -screen 480x640x16 &