'everything'

- everything plugins are now e-modules.


SVN revision: 47895
This commit is contained in:
Hannes Janetzek 2010-04-10 20:05:57 +00:00
parent 6b520fb445
commit c9c75b2420
55 changed files with 2898 additions and 2566 deletions

View File

@ -476,6 +476,62 @@ group "E_Config" struct {
group "E_Config_Module" struct {
value "name" string: "everything";
value "enabled" uchar: 1;
value "delayed" uchar: 0;
value "priority" int: -1000;
}
}
group "modules" list {
group "E_Config_Module" struct {
value "name" string: "everything-files";
value "enabled" uchar: 1;
value "delayed" uchar: 1;
value "priority" int: 0;
}
}
group "modules" list {
group "E_Config_Module" struct {
value "name" string: "everything-apps";
value "enabled" uchar: 1;
value "delayed" uchar: 1;
value "priority" int: 0;
}
}
group "modules" list {
group "E_Config_Module" struct {
value "name" string: "everything-calc";
value "enabled" uchar: 1;
value "delayed" uchar: 1;
value "priority" int: 0;
}
}
group "modules" list {
group "E_Config_Module" struct {
value "name" string: "everything-aspell";
value "enabled" uchar: 1;
value "delayed" uchar: 1;
value "priority" int: 0;
}
}
group "modules" list {
group "E_Config_Module" struct {
value "name" string: "everything-wallpaper";
value "enabled" uchar: 1;
value "delayed" uchar: 1;
value "priority" int: 0;
}
}
group "modules" list {
group "E_Config_Module" struct {
value "name" string: "everything-settings";
value "enabled" uchar: 1;
value "delayed" uchar: 1;
value "priority" int: 0;
}
}
group "modules" list {
group "E_Config_Module" struct {
value "name" string: "everything-windows";
value "enabled" uchar: 1;
value "delayed" uchar: 1;
value "priority" int: 0;
}

View File

@ -532,6 +532,13 @@ AC_E_OPTIONAL_MODULE([illume], true)
AC_E_OPTIONAL_MODULE([illume2], true)
AC_E_OPTIONAL_MODULE([syscon], true)
AC_E_OPTIONAL_MODULE([everything], true)
AC_E_OPTIONAL_MODULE([everything-files], true)
AC_E_OPTIONAL_MODULE([everything-apps], true)
AC_E_OPTIONAL_MODULE([everything-calc], true)
AC_E_OPTIONAL_MODULE([everything-aspell], true)
AC_E_OPTIONAL_MODULE([everything-wallpaper], true)
AC_E_OPTIONAL_MODULE([everything-settings], true)
AC_E_OPTIONAL_MODULE([everything-windows], true)
AC_E_OPTIONAL_MODULE([systray], true)
AC_E_OPTIONAL_MODULE([comp], true)
@ -697,11 +704,22 @@ src/modules/illume2/policies/illume/Makefile
src/modules/syscon/Makefile
src/modules/syscon/module.desktop
src/modules/everything/Makefile
src/modules/everything/sources/Makefile
src/modules/everything/actions/Makefile
src/modules/everything/views/Makefile
src/modules/everything/module.desktop
src/modules/everything/everything.pc
src/modules/everything-files/Makefile
src/modules/everything-files/module.desktop
src/modules/everything-apps/Makefile
src/modules/everything-apps/module.desktop
src/modules/everything-windows/Makefile
src/modules/everything-windows/module.desktop
src/modules/everything-settings/Makefile
src/modules/everything-settings/module.desktop
src/modules/everything-calc/Makefile
src/modules/everything-calc/module.desktop
src/modules/everything-aspell/Makefile
src/modules/everything-aspell/module.desktop
src/modules/everything-wallpaper/Makefile
src/modules/everything-wallpaper/module.desktop
src/modules/systray/Makefile
src/modules/systray/module.desktop
src/modules/comp/Makefile

View File

@ -258,6 +258,38 @@ if USE_MODULE_EVERYTHING
SUBDIRS += everything
endif
if USE_MODULE_EVERYTHING_FILES
SUBDIRS += everything-files
endif
if USE_MODULE_EVERYTHING_APPS
SUBDIRS += everything-apps
endif
if USE_MODULE_EVERYTHING_FILES
SUBDIRS += everything-calc
endif
if USE_MODULE_EVERYTHING_ASPELL
SUBDIRS += everything-aspell
endif
if USE_MODULE_EVERYTHING_SETTINGS
SUBDIRS += everything-settings
endif
if USE_MODULE_EVERYTHING_WALLPAPER
SUBDIRS += everything-wallpaper
endif
if USE_MODULE_EVERYTHING_CALC
SUBDIRS += everything-calc
endif
if USE_MODULE_EVERYTHING_CALC
SUBDIRS += everything-windows
endif
if USE_MODULE_SYSTRAY
SUBDIRS += systray
endif
@ -342,6 +374,7 @@ illume-kbd-toggle \
illume-mode-toggle \
syscon \
everything \
everything-files \
systray \
comp \
ofono

View File

@ -0,0 +1,30 @@
MAINTAINERCLEANFILES = Makefile.in
MODULE = everything-apps
# data files for the module
filesdir = $(libdir)/enlightenment/modules/$(MODULE)
files_DATA = \
e-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 \
-I$(top_srcdir)/src/modules/everything \
@e_cflags@
pkgdir = $(libdir)/enlightenment/modules/$(MODULE)/$(MODULE_ARCH)
pkg_LTLIBRARIES = module.la
module_la_SOURCES = 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
uninstall:
rm -rf $(DESTDIR)$(libdir)/enlightenment/modules/$(MODULE)

Binary file not shown.

View File

@ -1,5 +1,9 @@
#include "e_mod_main.h"
/*
* vim:ts=8:sw=3:sts=8:noexpandtab:cino=>5n-3f0^-2{2
*/
#include "Evry.h"
#include "e_mod_main.h"
typedef struct _Plugin Plugin;
@ -290,13 +294,13 @@ _item_add(Plugin *p, Efreet_Desktop *desktop, char *file, int match)
if (desktop)
{
evry_item_new(EVRY_ITEM(app), EVRY_PLUGIN(p), desktop->name, _item_free);
EVRY_ITEM(app)->id = eina_stringshare_add(desktop->exec);
evry_item_new(EVRY_ITEM(app), EVRY_PLUGIN(p), desktop->name, _item_free);
EVRY_ITEM(app)->id = eina_stringshare_add(desktop->exec);
}
else
{
evry_item_new(EVRY_ITEM(app), EVRY_PLUGIN(p), file, _item_free);
EVRY_ITEM(app)->id = eina_stringshare_add(file);
evry_item_new(EVRY_ITEM(app), EVRY_PLUGIN(p), file, _item_free);
EVRY_ITEM(app)->id = eina_stringshare_add(file);
}
app->desktop = desktop;
@ -390,37 +394,37 @@ _cb_sort(const void *data1, const void *data2)
static Eina_Bool
_hist_items_add_cb(const Eina_Hash *hash, const void *key, void *data, void *fdata)
{
History_Entry *he = data;
History_Item *hi;
Plugin *p = fdata;
Efreet_Desktop *d;
Eina_List *l;
Evry_Item_App *app;
History_Entry *he = data;
History_Item *hi;
Plugin *p = fdata;
Efreet_Desktop *d;
Eina_List *l;
Evry_Item_App *app;
EINA_LIST_FOREACH(he->items, l, hi)
{
if (hi->plugin != p->base.name)
continue;
EINA_LIST_FOREACH(he->items, l, hi)
{
if (hi->plugin != p->base.name)
continue;
if ((d = efreet_util_desktop_exec_find(key)))
{
app = _item_add(p, d, NULL, 1);
}
else
{
app = _item_add(p, NULL, (char *) key, 1);
if (app && app->desktop)
efreet_desktop_ref(app->desktop);
}
if ((d = efreet_util_desktop_exec_find(key)))
{
app = _item_add(p, d, NULL, 1);
}
else
{
app = _item_add(p, NULL, (char *) key, 1);
if (app && app->desktop)
efreet_desktop_ref(app->desktop);
}
if (app && app->desktop)
{
p->apps_hist = eina_list_append(p->apps_hist, app->desktop);
}
if (app && app->desktop)
{
p->apps_hist = eina_list_append(p->apps_hist, app->desktop);
}
if (app) break;
}
return EINA_TRUE;
if (app) break;
}
return EINA_TRUE;
}
static int
@ -731,7 +735,7 @@ _new_app_action(Evry_Action *act)
//#define TIME_FACTOR(_now) (1.0 - (evry_hist->begin / _now)) / 1000000000000000.0
static Eina_Bool
_init(void)
module_init(void)
{
if (!evry_api_version_check(EVRY_API_VERSION))
return EINA_FALSE;
@ -785,56 +789,56 @@ _init(void)
evry_action_register(act5, 5);
/*
Eina_List *l, *ll;
const char *file, *name;
History_Entry *he;
History_Item *hi;
name = EVRY_PLUGIN(p1)->name;
double t;
int found = 0;
Eina_List *l, *ll;
const char *file, *name;
History_Entry *he;
History_Item *hi;
name = EVRY_PLUGIN(p1)->name;
double t;
int found = 0;
evry_history_load();
evry_history_load();
EINA_LIST_FOREACH(e_exehist_list_get(), l, file)
EINA_LIST_FOREACH(e_exehist_list_get(), l, file)
{
t = e_exehist_newest_run_get(file);
he = eina_hash_find(evry_hist->subjects, file);
t = e_exehist_newest_run_get(file);
he = eina_hash_find(evry_hist->subjects, file);
if (!he)
{
he = E_NEW(History_Entry, 1);
eina_hash_add(evry_hist->subjects, file, he);
}
else
{
EINA_LIST_FOREACH(he->items, ll, hi)
{
if (hi->plugin != name) continue;
if (t > hi->last_used - 1.0)
{
hi->last_used = t;
hi->usage += TIME_FACTOR(hi->last_used);
hi->count = e_exehist_popularity_get(file);
}
found = 1;
break;
}
}
if (!found)
{
hi = E_NEW(History_Item, 1);
hi->plugin = eina_stringshare_ref(name);
hi->last_used = t;
hi->count = e_exehist_popularity_get(file);
hi->usage += TIME_FACTOR(hi->last_used);
he->items = eina_list_append(he->items, hi);
}
found = 0;
if (!he)
{
he = E_NEW(History_Entry, 1);
eina_hash_add(evry_hist->subjects, file, he);
}
evry_history_unload();
else
{
EINA_LIST_FOREACH(he->items, ll, hi)
{
if (hi->plugin != name) continue;
if (t > hi->last_used - 1.0)
{
hi->last_used = t;
hi->usage += TIME_FACTOR(hi->last_used);
hi->count = e_exehist_popularity_get(file);
}
found = 1;
break;
}
}
if (!found)
{
hi = E_NEW(History_Item, 1);
hi->plugin = eina_stringshare_ref(name);
hi->last_used = t;
hi->count = e_exehist_popularity_get(file);
hi->usage += TIME_FACTOR(hi->last_used);
he->items = eina_list_append(he->items, hi);
}
found = 0;
}
evry_history_unload();
*/
/* taken from e_exebuf.c */
exelist_exe_edd = E_CONFIG_DD_NEW("E_Exe", E_Exe);
@ -855,7 +859,7 @@ _init(void)
}
static void
_shutdown(void)
module_shutdown(void)
{
EVRY_PLUGIN_FREE(p1);
EVRY_PLUGIN_FREE(p2);
@ -871,10 +875,6 @@ _shutdown(void)
E_CONFIG_DD_FREE(exelist_exe_edd);
}
EINA_MODULE_INIT(_init);
EINA_MODULE_SHUTDOWN(_shutdown);
/* taken from e_exebuf.c */
static int
_scan_idler(void *data)
@ -990,3 +990,53 @@ _scan_idler(void *data)
/* we have mroe scannign to do */
return 1;
}
/***************************************************************************/
/**/
/* actual module specifics */
static E_Module *module = NULL;
static Eina_Bool active = EINA_FALSE;
/***************************************************************************/
/**/
/* module setup */
EAPI E_Module_Api e_modapi =
{
E_MODULE_API_VERSION,
"everything-apps"
};
EAPI void *
e_modapi_init(E_Module *m)
{
module = m;
if (e_datastore_get("everything_loaded"))
active = module_init();
e_module_delayed_set(m, 1);
return m;
}
EAPI int
e_modapi_shutdown(E_Module *m)
{
if (active && e_datastore_get("everything_loaded"))
module_shutdown();
module = NULL;
return 1;
}
EAPI int
e_modapi_save(E_Module *m)
{
return 1;
}
/**/
/***************************************************************************/

View File

@ -0,0 +1,13 @@
/*
* vim:ts=8:sw=3:sts=8:noexpandtab:cino=>5n-3f0^-2{2
*/
#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);
#endif

View File

@ -0,0 +1,5 @@
[Desktop Entry]
Type=Link
Name=Everything Applications
Icon=e-module
X-Enlightenment-ModuleType=system

View File

@ -0,0 +1,30 @@
MAINTAINERCLEANFILES = Makefile.in
MODULE = everything-aspell
# data files for the module
filesdir = $(libdir)/enlightenment/modules/$(MODULE)
files_DATA = \
e-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 \
-I$(top_srcdir)/src/modules/everything \
@e_cflags@
pkgdir = $(libdir)/enlightenment/modules/$(MODULE)/$(MODULE_ARCH)
pkg_LTLIBRARIES = module.la
module_la_SOURCES = 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
uninstall:
rm -rf $(DESTDIR)$(libdir)/enlightenment/modules/$(MODULE)

View File

@ -0,0 +1,771 @@
# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
# Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
subdir = src/modules/everything-aspell
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
$(srcdir)/module.desktop.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/ac-plugins.m4 \
$(top_srcdir)/m4/ac_attribute.m4 \
$(top_srcdir)/m4/efl_doxygen.m4 \
$(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/gettext.m4 \
$(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/isc-posix.m4 \
$(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
$(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
$(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
$(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES = module.desktop
CONFIG_CLEAN_VPATH_FILES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
am__install_max = 40
am__nobase_strip_setup = \
srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
am__nobase_strip = \
for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
am__nobase_list = $(am__nobase_strip_setup); \
for p in $$list; do echo "$$p $$p"; done | \
sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
$(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
if (++n[$$2] == $(am__install_max)) \
{ print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
END { for (dir in files) print dir, files[dir] }'
am__base_list = \
sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
am__installdirs = "$(DESTDIR)$(pkgdir)" "$(DESTDIR)$(filesdir)"
LTLIBRARIES = $(pkg_LTLIBRARIES)
am_module_la_OBJECTS = e_mod_main.lo
module_la_OBJECTS = $(am_module_la_OBJECTS)
AM_V_lt = $(am__v_lt_$(V))
am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
am__v_lt_0 = --silent
module_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
$(module_la_LDFLAGS) $(LDFLAGS) -o $@
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
$(AM_CFLAGS) $(CFLAGS)
AM_V_CC = $(am__v_CC_$(V))
am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY))
am__v_CC_0 = @echo " CC " $@;
AM_V_at = $(am__v_at_$(V))
am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
am__v_at_0 = @
CCLD = $(CC)
LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
$(AM_LDFLAGS) $(LDFLAGS) -o $@
AM_V_CCLD = $(am__v_CCLD_$(V))
am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY))
am__v_CCLD_0 = @echo " CCLD " $@;
AM_V_GEN = $(am__v_GEN_$(V))
am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
am__v_GEN_0 = @echo " GEN " $@;
SOURCES = $(module_la_SOURCES)
DIST_SOURCES = $(module_la_SOURCES)
DATA = $(files_DATA)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
ALLOCA = @ALLOCA@
ALL_LINGUAS = @ALL_LINGUAS@
ALSA_CFLAGS = @ALSA_CFLAGS@
ALSA_LIBS = @ALSA_LIBS@
ALSA_VERSION = @ALSA_VERSION@
AMTAR = @AMTAR@
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
BATTERY_CFLAGS = @BATTERY_CFLAGS@
BATTERY_LDFLAGS = @BATTERY_LDFLAGS@
BATTERY_LIBS = @BATTERY_LIBS@
BATTERY_VERSION = @BATTERY_VERSION@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
EBLUEZ_CFLAGS = @EBLUEZ_CFLAGS@
EBLUEZ_LIBS = @EBLUEZ_LIBS@
EBLUEZ_VERSION = @EBLUEZ_VERSION@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
ECONNMAN_CFLAGS = @ECONNMAN_CFLAGS@
ECONNMAN_LIBS = @ECONNMAN_LIBS@
ECONNMAN_VERSION = @ECONNMAN_VERSION@
ECORE_IMF_CFLAGS = @ECORE_IMF_CFLAGS@
ECORE_IMF_LIBS = @ECORE_IMF_LIBS@
ECORE_IMF_VERSION = @ECORE_IMF_VERSION@
EDJE_DEF = @EDJE_DEF@
EET_CFLAGS = @EET_CFLAGS@
EET_LIBS = @EET_LIBS@
EGREP = @EGREP@
EOFONO_CFLAGS = @EOFONO_CFLAGS@
EOFONO_LIBS = @EOFONO_LIBS@
EOFONO_VERSION = @EOFONO_VERSION@
EXCHANGE_CFLAGS = @EXCHANGE_CFLAGS@
EXCHANGE_LIBS = @EXCHANGE_LIBS@
EXCHANGE_VERSION = @EXCHANGE_VERSION@
EXEEXT = @EXEEXT@
E_CFLAGS = @E_CFLAGS@
E_FM_CFLAGS = @E_FM_CFLAGS@
E_FM_LIBS = @E_FM_LIBS@
E_FM_OPEN_CFLAGS = @E_FM_OPEN_CFLAGS@
E_FM_OPEN_LIBS = @E_FM_OPEN_LIBS@
E_FM_OP_CFLAGS = @E_FM_OP_CFLAGS@
E_FM_OP_LIBS = @E_FM_OP_LIBS@
E_IMC_CFLAGS = @E_IMC_CFLAGS@
E_IMC_LIBS = @E_IMC_LIBS@
E_INIT_CFLAGS = @E_INIT_CFLAGS@
E_INIT_LIBS = @E_INIT_LIBS@
E_LIBS = @E_LIBS@
E_REMOTE_CFLAGS = @E_REMOTE_CFLAGS@
E_REMOTE_LIBS = @E_REMOTE_LIBS@
E_SYS_CFLAGS = @E_SYS_CFLAGS@
E_SYS_LIBS = @E_SYS_LIBS@
E_THUMB_CFLAGS = @E_THUMB_CFLAGS@
E_THUMB_LIBS = @E_THUMB_LIBS@
FGREP = @FGREP@
GMSGFMT = @GMSGFMT@
GREP = @GREP@
HAVE_ALSA = @HAVE_ALSA@
HAVE_BATTERY = @HAVE_BATTERY@
HAVE_EBLUEZ = @HAVE_EBLUEZ@
HAVE_ECONNMAN = @HAVE_ECONNMAN@
HAVE_ECORE_IMF = @HAVE_ECORE_IMF@
HAVE_EOFONO = @HAVE_EOFONO@
HAVE_EXCHANGE = @HAVE_EXCHANGE@
HAVE_TEMPERATURE = @HAVE_TEMPERATURE@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
INTLLIBS = @INTLLIBS@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBICONV = @LIBICONV@
LIBINTL = @LIBINTL@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
LN_S = @LN_S@
LOCALE_DIR = @LOCALE_DIR@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
MAKEINFO = @MAKEINFO@
MKDIR_P = @MKDIR_P@
MKINSTALLDIRS = @MKINSTALLDIRS@
MODULE_ARCH = @MODULE_ARCH@
MSGFMT = @MSGFMT@
MSGMERGE = @MSGMERGE@
NM = @NM@
NMEDIT = @NMEDIT@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OTOOL = @OTOOL@
OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BIN_DIR = @PACKAGE_BIN_DIR@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_DATA_DIR = @PACKAGE_DATA_DIR@
PACKAGE_LIB_DIR = @PACKAGE_LIB_DIR@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_SYSCONF_DIR = @PACKAGE_SYSCONF_DIR@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PKG_CONFIG = @PKG_CONFIG@
POSUB = @POSUB@
RANLIB = @RANLIB@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
SOUND_CFLAGS = @SOUND_CFLAGS@
SOUND_LIBS = @SOUND_LIBS@
STRIP = @STRIP@
TEMPERATURE_CFLAGS = @TEMPERATURE_CFLAGS@
TEMPERATURE_LIBS = @TEMPERATURE_LIBS@
TEMPERATURE_VERSION = @TEMPERATURE_VERSION@
USE_MODULE_BATTERY = @USE_MODULE_BATTERY@
USE_MODULE_BLUEZ = @USE_MODULE_BLUEZ@
USE_MODULE_CLOCK = @USE_MODULE_CLOCK@
USE_MODULE_COMP = @USE_MODULE_COMP@
USE_MODULE_CONF = @USE_MODULE_CONF@
USE_MODULE_CONF_APPLICATIONS = @USE_MODULE_CONF_APPLICATIONS@
USE_MODULE_CONF_BORDERS = @USE_MODULE_CONF_BORDERS@
USE_MODULE_CONF_CLIENTLIST = @USE_MODULE_CONF_CLIENTLIST@
USE_MODULE_CONF_COLORS = @USE_MODULE_CONF_COLORS@
USE_MODULE_CONF_DESK = @USE_MODULE_CONF_DESK@
USE_MODULE_CONF_DESKLOCK = @USE_MODULE_CONF_DESKLOCK@
USE_MODULE_CONF_DESKS = @USE_MODULE_CONF_DESKS@
USE_MODULE_CONF_DIALOGS = @USE_MODULE_CONF_DIALOGS@
USE_MODULE_CONF_DISPLAY = @USE_MODULE_CONF_DISPLAY@
USE_MODULE_CONF_DPMS = @USE_MODULE_CONF_DPMS@
USE_MODULE_CONF_EDGEBINDINGS = @USE_MODULE_CONF_EDGEBINDINGS@
USE_MODULE_CONF_ENGINE = @USE_MODULE_CONF_ENGINE@
USE_MODULE_CONF_EXEBUF = @USE_MODULE_CONF_EXEBUF@
USE_MODULE_CONF_FONTS = @USE_MODULE_CONF_FONTS@
USE_MODULE_CONF_ICON_THEME = @USE_MODULE_CONF_ICON_THEME@
USE_MODULE_CONF_IMC = @USE_MODULE_CONF_IMC@
USE_MODULE_CONF_INTERACTION = @USE_MODULE_CONF_INTERACTION@
USE_MODULE_CONF_INTL = @USE_MODULE_CONF_INTL@
USE_MODULE_CONF_KEYBINDINGS = @USE_MODULE_CONF_KEYBINDINGS@
USE_MODULE_CONF_MENUS = @USE_MODULE_CONF_MENUS@
USE_MODULE_CONF_MIME = @USE_MODULE_CONF_MIME@
USE_MODULE_CONF_MOUSE = @USE_MODULE_CONF_MOUSE@
USE_MODULE_CONF_MOUSEBINDINGS = @USE_MODULE_CONF_MOUSEBINDINGS@
USE_MODULE_CONF_MOUSE_CURSOR = @USE_MODULE_CONF_MOUSE_CURSOR@
USE_MODULE_CONF_PATHS = @USE_MODULE_CONF_PATHS@
USE_MODULE_CONF_PERFORMANCE = @USE_MODULE_CONF_PERFORMANCE@
USE_MODULE_CONF_PROFILES = @USE_MODULE_CONF_PROFILES@
USE_MODULE_CONF_SCALE = @USE_MODULE_CONF_SCALE@
USE_MODULE_CONF_SCREENSAVER = @USE_MODULE_CONF_SCREENSAVER@
USE_MODULE_CONF_SHELVES = @USE_MODULE_CONF_SHELVES@
USE_MODULE_CONF_STARTUP = @USE_MODULE_CONF_STARTUP@
USE_MODULE_CONF_THEME = @USE_MODULE_CONF_THEME@
USE_MODULE_CONF_TRANSITIONS = @USE_MODULE_CONF_TRANSITIONS@
USE_MODULE_CONF_WALLPAPER = @USE_MODULE_CONF_WALLPAPER@
USE_MODULE_CONF_WALLPAPER2 = @USE_MODULE_CONF_WALLPAPER2@
USE_MODULE_CONF_WINDOW_DISPLAY = @USE_MODULE_CONF_WINDOW_DISPLAY@
USE_MODULE_CONF_WINDOW_FOCUS = @USE_MODULE_CONF_WINDOW_FOCUS@
USE_MODULE_CONF_WINDOW_MANIPULATION = @USE_MODULE_CONF_WINDOW_MANIPULATION@
USE_MODULE_CONF_WINDOW_REMEMBERS = @USE_MODULE_CONF_WINDOW_REMEMBERS@
USE_MODULE_CONF_WINLIST = @USE_MODULE_CONF_WINLIST@
USE_MODULE_CONNMAN = @USE_MODULE_CONNMAN@
USE_MODULE_CPUFREQ = @USE_MODULE_CPUFREQ@
USE_MODULE_DROPSHADOW = @USE_MODULE_DROPSHADOW@
USE_MODULE_EVERYTHING = @USE_MODULE_EVERYTHING@
USE_MODULE_EVERYTHING_APPS = @USE_MODULE_EVERYTHING_APPS@
USE_MODULE_EVERYTHING_ASPELL = @USE_MODULE_EVERYTHING_ASPELL@
USE_MODULE_EVERYTHING_CALC = @USE_MODULE_EVERYTHING_CALC@
USE_MODULE_EVERYTHING_FILES = @USE_MODULE_EVERYTHING_FILES@
USE_MODULE_EVERYTHING_SETTINGS = @USE_MODULE_EVERYTHING_SETTINGS@
USE_MODULE_EVERYTHING_WALLPAPER = @USE_MODULE_EVERYTHING_WALLPAPER@
USE_MODULE_EVERYTHING_WINDOWS = @USE_MODULE_EVERYTHING_WINDOWS@
USE_MODULE_EXEBUF = @USE_MODULE_EXEBUF@
USE_MODULE_FILEMAN = @USE_MODULE_FILEMAN@
USE_MODULE_FILEMAN_OPINFO = @USE_MODULE_FILEMAN_OPINFO@
USE_MODULE_GADMAN = @USE_MODULE_GADMAN@
USE_MODULE_IBAR = @USE_MODULE_IBAR@
USE_MODULE_IBOX = @USE_MODULE_IBOX@
USE_MODULE_ILLUME = @USE_MODULE_ILLUME@
USE_MODULE_ILLUME2 = @USE_MODULE_ILLUME2@
USE_MODULE_MIXER = @USE_MODULE_MIXER@
USE_MODULE_MSGBUS = @USE_MODULE_MSGBUS@
USE_MODULE_OFONO = @USE_MODULE_OFONO@
USE_MODULE_PAGER = @USE_MODULE_PAGER@
USE_MODULE_START = @USE_MODULE_START@
USE_MODULE_SYSCON = @USE_MODULE_SYSCON@
USE_MODULE_SYSTRAY = @USE_MODULE_SYSTRAY@
USE_MODULE_TEMPERATURE = @USE_MODULE_TEMPERATURE@
USE_MODULE_WINLIST = @USE_MODULE_WINLIST@
USE_MODULE_WIZARD = @USE_MODULE_WIZARD@
USE_NLS = @USE_NLS@
VALGRIND_CFLAGS = @VALGRIND_CFLAGS@
VALGRIND_LIBS = @VALGRIND_LIBS@
VERSION = @VERSION@
XGETTEXT = @XGETTEXT@
XMKMF = @XMKMF@
X_CFLAGS = @X_CFLAGS@
X_EXTRA_LIBS = @X_EXTRA_LIBS@
X_LIBS = @X_LIBS@
X_PRE_LIBS = @X_PRE_LIBS@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_CC = @ac_ct_CC@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
builddir = @builddir@
cf_cflags = @cf_cflags@
cf_libs = @cf_libs@
datadir = @datadir@
datarootdir = @datarootdir@
dlopen_libs = @dlopen_libs@
docdir = @docdir@
dvidir = @dvidir@
e_cflags = @e_cflags@
e_configflags = @e_configflags@
e_libs = @e_libs@
edje_cc = @edje_cc@
eet_eet = @eet_eet@
efl_doxygen = @efl_doxygen@
efl_have_doxygen = @efl_have_doxygen@
exec_prefix = @exec_prefix@
fnmatch_libs = @fnmatch_libs@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
lt_ECHO = @lt_ECHO@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
release = @release@
requirements_e = @requirements_e@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
x_cflags = @x_cflags@
x_libs = @x_libs@
MAINTAINERCLEANFILES = Makefile.in
MODULE = everything-aspell
# data files for the module
filesdir = $(libdir)/enlightenment/modules/$(MODULE)
files_DATA = \
e-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 \
-I$(top_srcdir)/src/modules/everything \
@e_cflags@
pkgdir = $(libdir)/enlightenment/modules/$(MODULE)/$(MODULE_ARCH)
pkg_LTLIBRARIES = module.la
module_la_SOURCES = 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
all: all-am
.SUFFIXES:
.SUFFIXES: .c .lo .o .obj
$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
&& { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/modules/everything-aspell/Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --gnu src/modules/everything-aspell/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):
module.desktop: $(top_builddir)/config.status $(srcdir)/module.desktop.in
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
install-pkgLTLIBRARIES: $(pkg_LTLIBRARIES)
@$(NORMAL_INSTALL)
test -z "$(pkgdir)" || $(MKDIR_P) "$(DESTDIR)$(pkgdir)"
@list='$(pkg_LTLIBRARIES)'; test -n "$(pkgdir)" || list=; \
list2=; for p in $$list; do \
if test -f $$p; then \
list2="$$list2 $$p"; \
else :; fi; \
done; \
test -z "$$list2" || { \
echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(pkgdir)'"; \
$(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(pkgdir)"; \
}
uninstall-pkgLTLIBRARIES:
@$(NORMAL_UNINSTALL)
@list='$(pkg_LTLIBRARIES)'; test -n "$(pkgdir)" || list=; \
for p in $$list; do \
$(am__strip_dir) \
echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(pkgdir)/$$f'"; \
$(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(pkgdir)/$$f"; \
done
clean-pkgLTLIBRARIES:
-test -z "$(pkg_LTLIBRARIES)" || rm -f $(pkg_LTLIBRARIES)
@list='$(pkg_LTLIBRARIES)'; for p in $$list; do \
dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
test "$$dir" != "$$p" || dir=.; \
echo "rm -f \"$${dir}/so_locations\""; \
rm -f "$${dir}/so_locations"; \
done
module.la: $(module_la_OBJECTS) $(module_la_DEPENDENCIES)
$(AM_V_CCLD)$(module_la_LINK) -rpath $(pkgdir) $(module_la_OBJECTS) $(module_la_LIBADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
distclean-compile:
-rm -f *.tab.c
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/e_mod_main.Plo@am__quote@
.c.o:
@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(COMPILE) -c $<
.c.obj:
@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
.c.lo:
@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
install-filesDATA: $(files_DATA)
@$(NORMAL_INSTALL)
test -z "$(filesdir)" || $(MKDIR_P) "$(DESTDIR)$(filesdir)"
@list='$(files_DATA)'; test -n "$(filesdir)" || list=; \
for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
echo "$$d$$p"; \
done | $(am__base_list) | \
while read files; do \
echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(filesdir)'"; \
$(INSTALL_DATA) $$files "$(DESTDIR)$(filesdir)" || exit $$?; \
done
uninstall-filesDATA:
@$(NORMAL_UNINSTALL)
@list='$(files_DATA)'; test -n "$(filesdir)" || list=; \
files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
test -n "$$files" || exit 0; \
echo " ( cd '$(DESTDIR)$(filesdir)' && rm -f" $$files ")"; \
cd "$(DESTDIR)$(filesdir)" && rm -f $$files
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
set x; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
shift; \
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
if test $$# -gt 0; then \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
"$$@" $$unique; \
else \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$unique; \
fi; \
fi
ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& $(am__cd) $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) "$$here"
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
dist_files=`for file in $$list; do echo $$file; done | \
sed -e "s|^$$srcdirstrip/||;t" \
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
case $$dist_files in \
*/*) $(MKDIR_P) `echo "$$dist_files" | \
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
sort -u` ;; \
esac; \
for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
if test -d "$(distdir)/$$file"; then \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
test -f "$(distdir)/$$file" \
|| cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-am
all-am: Makefile $(LTLIBRARIES) $(DATA)
installdirs:
for dir in "$(DESTDIR)$(pkgdir)" "$(DESTDIR)$(filesdir)"; do \
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
done
install: install-am
install-exec: install-exec-am
install-data: install-data-am
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-am
install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
`test -z '$(STRIP)' || \
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
-test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
clean: clean-am
clean-am: clean-generic clean-libtool clean-pkgLTLIBRARIES \
mostlyclean-am
distclean: distclean-am
-rm -rf ./$(DEPDIR)
-rm -f Makefile
distclean-am: clean-am distclean-compile distclean-generic \
distclean-tags
dvi: dvi-am
dvi-am:
html: html-am
html-am:
info: info-am
info-am:
install-data-am: install-filesDATA install-pkgLTLIBRARIES
install-dvi: install-dvi-am
install-dvi-am:
install-exec-am:
install-html: install-html-am
install-html-am:
install-info: install-info-am
install-info-am:
install-man:
install-pdf: install-pdf-am
install-pdf-am:
install-ps: install-ps-am
install-ps-am:
installcheck-am:
maintainer-clean: maintainer-clean-am
-rm -rf ./$(DEPDIR)
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-am
mostlyclean-am: mostlyclean-compile mostlyclean-generic \
mostlyclean-libtool
pdf: pdf-am
pdf-am:
ps: ps-am
ps-am:
uninstall-am: uninstall-filesDATA uninstall-pkgLTLIBRARIES
.MAKE: install-am install-strip
.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
clean-libtool clean-pkgLTLIBRARIES ctags distclean \
distclean-compile distclean-generic distclean-libtool \
distclean-tags distdir dvi dvi-am html html-am info info-am \
install install-am install-data install-data-am install-dvi \
install-dvi-am install-exec install-exec-am install-filesDATA \
install-html install-html-am install-info install-info-am \
install-man install-pdf install-pdf-am install-pkgLTLIBRARIES \
install-ps install-ps-am install-strip installcheck \
installcheck-am installdirs maintainer-clean \
maintainer-clean-generic mostlyclean mostlyclean-compile \
mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
tags uninstall uninstall-am uninstall-filesDATA \
uninstall-pkgLTLIBRARIES
uninstall:
rm -rf $(DESTDIR)$(libdir)/enlightenment/modules/$(MODULE)
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

Binary file not shown.

View File

@ -1,4 +1,9 @@
/*
* vim:ts=8:sw=3:sts=8:noexpandtab:cino=>5n-3f0^-2{2
*/
#include "Evry.h"
#include "e_mod_main.h"
#include <ctype.h>
static const char TRIGGER[] = "aspell ";
@ -9,16 +14,16 @@ typedef struct _Plugin Plugin;
struct _Plugin
{
Evry_Plugin base;
struct
{
Ecore_Event_Handler *data;
Ecore_Event_Handler *del;
} handler;
Ecore_Exe *exe;
const char *lang;
const char *input;
Eina_Bool is_first;
Evry_Plugin base;
struct
{
Ecore_Event_Handler *data;
Ecore_Event_Handler *del;
} handler;
Ecore_Exe *exe;
const char *lang;
const char *input;
Eina_Bool is_first;
};
static Plugin *plugin = NULL;
@ -288,11 +293,11 @@ _cleanup(Evry_Plugin *plugin)
EVRY_PLUGIN_ITEMS_FREE(p)
if (p->handler.data)
{
ecore_event_handler_del(p->handler.data);
p->handler.data = NULL;
}
if (p->handler.data)
{
ecore_event_handler_del(p->handler.data);
p->handler.data = NULL;
}
if (p->handler.del)
{
ecore_event_handler_del(p->handler.del);
@ -317,7 +322,7 @@ _cleanup(Evry_Plugin *plugin)
}
static Eina_Bool
_init(void)
module_init(void)
{
Plugin *p;
@ -338,10 +343,57 @@ _init(void)
}
static void
_shutdown(void)
module_shutdown(void)
{
EVRY_PLUGIN_FREE(plugin);
}
EINA_MODULE_INIT(_init);
EINA_MODULE_SHUTDOWN(_shutdown);
/***************************************************************************/
/**/
/* actual module specifics */
static E_Module *module = NULL;
static Eina_Bool active = EINA_FALSE;
/***************************************************************************/
/**/
/* module setup */
EAPI E_Module_Api e_modapi =
{
E_MODULE_API_VERSION,
"everything-aspell"
};
EAPI void *
e_modapi_init(E_Module *m)
{
module = m;
if (e_datastore_get("everything_loaded"))
active = module_init();
e_module_delayed_set(m, 1);
return m;
}
EAPI int
e_modapi_shutdown(E_Module *m)
{
if (active && e_datastore_get("everything_loaded"))
module_shutdown();
module = NULL;
return 1;
}
EAPI int
e_modapi_save(E_Module *m)
{
return 1;
}
/**/
/***************************************************************************/

View File

@ -0,0 +1,13 @@
/*
* vim:ts=8:sw=3:sts=8:noexpandtab:cino=>5n-3f0^-2{2
*/
#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);
#endif

View File

@ -0,0 +1,6 @@
[Desktop Entry]
Type=Link
Name=Everything Aspell
Icon=e-module
X-Enlightenment-ModuleType=system
Comment=Aspell Frontend, use 'aspell ' as trigger

View File

@ -0,0 +1,30 @@
MAINTAINERCLEANFILES = Makefile.in
MODULE = everything-calc
# data files for the module
filesdir = $(libdir)/enlightenment/modules/$(MODULE)
files_DATA = \
e-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 \
-I$(top_srcdir)/src/modules/everything \
@e_cflags@
pkgdir = $(libdir)/enlightenment/modules/$(MODULE)/$(MODULE_ARCH)
pkg_LTLIBRARIES = module.la
module_la_SOURCES = 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
uninstall:
rm -rf $(DESTDIR)$(libdir)/enlightenment/modules/$(MODULE)

Binary file not shown.

View File

@ -1,4 +1,9 @@
/*
* vim:ts=8:sw=3:sts=8:noexpandtab:cino=>5n-3f0^-2{2
*/
#include "Evry.h"
#include "e_mod_main.h"
// TODO - show error when input not parseable
static int _cb_data(void *data, int type, void *event);
@ -219,7 +224,7 @@ _cb_del(void *data __UNUSED__, int type __UNUSED__, void *event)
}
static Eina_Bool
_init(void)
module_init(void)
{
if (!evry_api_version_check(EVRY_API_VERSION))
return EINA_FALSE;
@ -235,7 +240,7 @@ _init(void)
}
static void
_shutdown(void)
module_shutdown(void)
{
char *result;
@ -246,5 +251,52 @@ _shutdown(void)
}
EINA_MODULE_INIT(_init);
EINA_MODULE_SHUTDOWN(_shutdown);
/***************************************************************************/
/**/
/* actual module specifics */
static E_Module *module = NULL;
static Eina_Bool active = EINA_FALSE;
/***************************************************************************/
/**/
/* module setup */
EAPI E_Module_Api e_modapi =
{
E_MODULE_API_VERSION,
"everything-calc"
};
EAPI void *
e_modapi_init(E_Module *m)
{
module = m;
if (e_datastore_get("everything_loaded"))
active = module_init();
e_module_delayed_set(m, 1);
return m;
}
EAPI int
e_modapi_shutdown(E_Module *m)
{
if (active && e_datastore_get("everything_loaded"))
module_shutdown();
module = NULL;
return 1;
}
EAPI int
e_modapi_save(E_Module *m)
{
return 1;
}
/**/
/***************************************************************************/

View File

@ -0,0 +1,13 @@
/*
* vim:ts=8:sw=3:sts=8:noexpandtab:cino=>5n-3f0^-2{2
*/
#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);
#endif

View File

@ -0,0 +1,6 @@
[Desktop Entry]
Type=Link
Name=Everything Calculator
Icon=e-module
X-Enlightenment-ModuleType=system
Comment=Frontend for bc. Use '=' as trigger.

View File

@ -0,0 +1,30 @@
MAINTAINERCLEANFILES = Makefile.in
MODULE = everything-files
# data files for the module
filesdir = $(libdir)/enlightenment/modules/$(MODULE)
files_DATA = \
e-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 \
-I$(top_srcdir)/src/modules/everything \
@e_cflags@
pkgdir = $(libdir)/enlightenment/modules/$(MODULE)/$(MODULE_ARCH)
pkg_LTLIBRARIES = module.la
module_la_SOURCES = 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
uninstall:
rm -rf $(DESTDIR)$(libdir)/enlightenment/modules/$(MODULE)

Binary file not shown.

View File

@ -1,3 +1,8 @@
/*
* vim:ts=8:sw=3:sts=8:noexpandtab:cino=>5n-3f0^-2{2
*/
#include "Evry.h"
#include "e_mod_main.h"
#define MAX_ITEMS 100
@ -36,9 +41,6 @@ static Evry_Plugin *p2 = NULL;
static Evry_Action *act1 = NULL;
static Evry_Action *act2 = NULL;
/* static long thread_cnt = 0;
* static long thread_last = 0; */
static const char *mime_folder;
@ -244,11 +246,9 @@ _scan_end_func(void *data)
static void
_read_directory(Plugin *p)
{
/* thread_last = ++thread_cnt; */
Data *d = E_NEW(Data, 1);
d->plugin = p;
/* d->id = thread_cnt; */
p->thread = ecore_thread_run(_scan_func, _scan_end_func, _scan_cancel_func, d);
}
@ -291,14 +291,8 @@ _cleanup(Evry_Plugin *plugin)
Evry_Item_File *file;
/* if a thread for this plugin returns
it will free its data if its id is smaller
than thread_last */
/* thread_last = ++thread_cnt; */
if (p->thread)
{
{
ecore_thread_cancel(p->thread);
}
else
@ -492,7 +486,7 @@ _open_term_action(Evry_Action *act)
}
static Eina_Bool
_init(void)
module_init(void)
{
if (!evry_api_version_check(EVRY_API_VERSION))
return EINA_FALSE;
@ -509,16 +503,13 @@ _init(void)
evry_plugin_register(p2, 1);
act1 = evry_action_new("Open Folder (EFM)", "FILE", NULL, NULL, "folder-open",
_open_folder_action, _open_folder_check, NULL, NULL, NULL);
_open_folder_action, _open_folder_check, NULL, NULL, NULL);
evry_action_register(act1, 0);
act2 = evry_action_new("Open Terminal here", "FILE", NULL, NULL,
"system-run",
_open_term_action, NULL, NULL, NULL, NULL);
"system-run",
_open_term_action, NULL, NULL, NULL, NULL);
evry_action_register(act2, 2);
mime_folder = eina_stringshare_add("inode/directory");
@ -526,7 +517,7 @@ _init(void)
}
static void
_shutdown(void)
module_shutdown(void)
{
EVRY_PLUGIN_FREE(p1);
EVRY_PLUGIN_FREE(p2);
@ -537,5 +528,52 @@ _shutdown(void)
evry_action_free(act2);
}
EINA_MODULE_INIT(_init);
EINA_MODULE_SHUTDOWN(_shutdown);
/***************************************************************************/
/**/
/* actual module specifics */
static E_Module *module = NULL;
static Eina_Bool active = EINA_FALSE;
/***************************************************************************/
/**/
/* module setup */
EAPI E_Module_Api e_modapi =
{
E_MODULE_API_VERSION,
"everything-files"
};
EAPI void *
e_modapi_init(E_Module *m)
{
module = m;
if (e_datastore_get("everything_loaded"))
active = module_init();
e_module_delayed_set(m, 1);
return m;
}
EAPI int
e_modapi_shutdown(E_Module *m)
{
if (active && e_datastore_get("everything_loaded"))
module_shutdown();
module = NULL;
return 1;
}
EAPI int
e_modapi_save(E_Module *m)
{
return 1;
}
/**/
/***************************************************************************/

View File

@ -0,0 +1,13 @@
/*
* vim:ts=8:sw=3:sts=8:noexpandtab:cino=>5n-3f0^-2{2
*/
#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);
#endif

View File

@ -0,0 +1,529 @@
#include "Evry.h"
#include "e_mod_main.h"
#define MAX_ITEMS 100
#define TERM_ACTION_DIR "%s"
typedef struct _Plugin Plugin;
typedef struct _Data Data;
struct _Plugin
{
Evry_Plugin base;
const char *directory;
/* all files of directory */
Eina_List *files;
/* current list of files */
Eina_List *cur;
Eina_Bool command;
const char *input;
Ecore_Thread *thread;
};
struct _Data
{
Plugin *plugin;
long id;
int level;
int cnt;
Eina_List *files;
};
static Evry_Plugin *p1 = NULL;
static Evry_Plugin *p2 = NULL;
static Evry_Action *act1 = NULL;
static Evry_Action *act2 = NULL;
static const char *mime_folder;
static void
_item_fill(Evry_Item_File *file)
{
const char *mime;
if (file->mime) return;
if ((mime = efreet_mime_type_get(file->path)))
{
file->mime = eina_stringshare_add(mime);
EVRY_ITEM(file)->context = eina_stringshare_ref(file->mime);
if ((!strcmp(mime, "inode/directory")) ||
(!strcmp(mime, "inode/mount-point")))
EVRY_ITEM(file)->browseable = EINA_TRUE;
return;
}
file->mime = eina_stringshare_add("None");
}
static int
_cb_sort(const void *data1, const void *data2)
{
const Evry_Item *it1 = data1;
const Evry_Item *it2 = data2;
if (it1->browseable && !it2->browseable)
return -1;
if (!it1->browseable && it2->browseable)
return 1;
if (it1->fuzzy_match && it2->fuzzy_match)
if (it1->fuzzy_match - it2->fuzzy_match)
return (it1->fuzzy_match - it2->fuzzy_match);
return strcasecmp(it1->label, it2->label);
}
static void
_item_free(Evry_Item *it)
{
ITEM_FILE(file, it);
if (file->path) eina_stringshare_del(file->path);
if (file->mime) eina_stringshare_del(file->mime);
E_FREE(file);
}
static void
_scan_func(void *data)
{
Data *d = data;
Plugin *p = d->plugin;
Eina_List *files;
char *filename;
Evry_Item_File *file;
char buf[4096];
files = ecore_file_ls(p->directory);
EINA_LIST_FREE(files, filename)
{
if (filename[0] == '.')
{
free(filename);
continue;
}
file = E_NEW(Evry_Item_File, 1);
if (!file)
{
free(filename);
continue;
}
evry_item_new(EVRY_ITEM(file), EVRY_PLUGIN(p), NULL, _item_free);
EVRY_ITEM(file)->data = filename;
snprintf(buf, sizeof(buf), "%s/%s", p->directory, filename);
file->path = strdup(buf);
if (ecore_file_is_dir(file->path))
EVRY_ITEM(file)->browseable = EINA_TRUE;
d->files = eina_list_append(d->files, file);
}
}
static int
_append_file(Plugin *p, Evry_Item_File *file)
{
int match;
if (p->input && (match = evry_fuzzy_match(EVRY_ITEM(file)->label, p->input)))
{
EVRY_ITEM(file)->fuzzy_match = match;
EVRY_PLUGIN_ITEM_APPEND(p, file);
return 1;
}
else if (!p->input)
{
EVRY_PLUGIN_ITEM_APPEND(p, file);
return 1;
}
return 0;
}
static const char *
_item_id(const char *path)
{
const char *s1, *s2, *s3;
s1 = s2 = s3 = path;
while (s1 && ++s1 && (s1 = strchr(s1, '/')))
{
s3 = s2;
s2 = s1;
}
return s3;
}
static void
_scan_cancel_func(void *data)
{
Data *d = data;
Plugin *p = d->plugin;
int cnt = 0;
Evry_Item *item;
char *filename, *path;
Evry_Item_File *file;
EINA_LIST_FREE(d->files, item)
{
filename = item->data;
free(filename);
evry_item_free(item);
}
E_FREE(d);
if (p->directory)
eina_stringshare_del(p->directory);
EINA_LIST_FREE(p->files, file)
evry_item_free(EVRY_ITEM(file));
EVRY_PLUGIN_ITEMS_CLEAR(p);
E_FREE(p);
}
static void
_scan_end_func(void *data)
{
Data *d = data;
Plugin *p = d->plugin;
int cnt = 0;
Evry_Item *item;
char *filename, *path;
p->thread = NULL;
EINA_LIST_FREE(d->files, item)
{
ITEM_FILE(file, item);
filename = item->data;
path = (char *) file->path;
file->path = eina_stringshare_add(path);
item->id = eina_stringshare_add(_item_id(path));
item->label = eina_stringshare_add(filename);
free(filename);
free(path);
p->files = eina_list_append(p->files, file);
if (item->browseable)
{
file->mime = eina_stringshare_ref(mime_folder);
EVRY_ITEM(file)->context = eina_stringshare_ref(file->mime);
}
if (p->command || cnt >= MAX_ITEMS) continue;
cnt += _append_file(p, file);
}
if (!p->command)
{
EVRY_PLUGIN_ITEMS_SORT(p, _cb_sort);
evry_plugin_async_update(EVRY_PLUGIN(p), EVRY_ASYNC_UPDATE_ADD);
}
E_FREE(d);
}
static void
_read_directory(Plugin *p)
{
Data *d = E_NEW(Data, 1);
d->plugin = p;
p->thread = ecore_thread_run(_scan_func, _scan_end_func, _scan_cancel_func, d);
}
static Evry_Plugin *
_begin(Evry_Plugin *plugin, const Evry_Item *it)
{
Plugin *p = NULL;
/* is FILE ? */
if (it && (it->plugin->type_out == plugin->type_in))
{
ITEM_FILE(file, it);
if (!file->path || !ecore_file_is_dir(file->path))
return NULL;
p = E_NEW(Plugin, 1);
p->base = *plugin;
p->base.items = NULL;
p->directory = eina_stringshare_add(file->path);
}
else
{
p = E_NEW(Plugin, 1);
p->base = *plugin;
p->base.items = NULL;
p->directory = eina_stringshare_add(e_user_homedir_get());
}
_read_directory(p);
return EVRY_PLUGIN(p);
}
static void
_cleanup(Evry_Plugin *plugin)
{
PLUGIN(p, plugin);
Evry_Item_File *file;
if (p->thread)
{
ecore_thread_cancel(p->thread);
}
else
{
if (p->directory)
eina_stringshare_del(p->directory);
EINA_LIST_FREE(p->files, file)
evry_item_free(EVRY_ITEM(file));
EVRY_PLUGIN_ITEMS_CLEAR(p);
E_FREE(p);
}
}
static void
_folder_item_add(Plugin *p, const char *path)
{
Evry_Item_File *file = E_NEW(Evry_Item_File, 1);
if (!file) return;
evry_item_new(EVRY_ITEM(file), EVRY_PLUGIN(p), path, _item_free);
file->path = eina_stringshare_add(path);
file->mime = eina_stringshare_ref(mime_folder);
EVRY_ITEM(file)->browseable = EINA_TRUE;
EVRY_PLUGIN_ITEM_APPEND(p, file);
}
static int
_fetch(Evry_Plugin *plugin, const char *input)
{
PLUGIN(p, plugin);
Evry_Item_File *file;
Eina_List *l;
int cnt = 0;
if (!p->command)
EVRY_PLUGIN_ITEMS_CLEAR(p);
p->input = input;
/* input is command ? */
if (input)
{
if (!strncmp(input, "/", 1))
{
if (p->command) return 1;
_folder_item_add(p, "/");
p->command = EINA_TRUE;
return 1;
}
else if (!strncmp(input, "..", 2))
{
char *end;
char dir[4096];
char *tmp;
int prio = 0;
if (p->command) return 1;
if (strncmp(p->directory, "/", 1)) return 0;
if (!strcmp(p->directory, "/")) return 0;
snprintf(dir, 4096, "%s", p->directory);
end = strrchr(dir, '/');
while (end != dir)
{
tmp = strdup(dir);
snprintf(dir, (end - dir) + 1, "%s", tmp);
_folder_item_add(p, dir);
end = strrchr(dir, '/');
free(tmp);
prio--;
}
_folder_item_add(p, "/");
p->command = EINA_TRUE;
return 1;
}
}
if (p->command)
{
p->command = EINA_FALSE;
EVRY_PLUGIN_ITEMS_FREE(p);
}
EINA_LIST_FOREACH(p->files, l, file)
{
if (cnt >= MAX_ITEMS);
cnt += _append_file(p, file);
}
if (!EVRY_PLUGIN(p)->items)
return 0;
EVRY_PLUGIN_ITEMS_SORT(p, _cb_sort);
return 1;
}
static Evas_Object *
_icon_get(Evry_Plugin *p __UNUSED__, const Evry_Item *it, Evas *e)
{
Evas_Object *o = NULL;
ITEM_FILE(file, it);
if (!file->mime)
_item_fill(file);
if (!file->mime) return NULL;
if (it->browseable)
o = evry_icon_theme_get("folder", e);
else
o = evry_icon_mime_get(file->mime, e);
return o;
}
static int
_open_folder_check(Evry_Action *act __UNUSED__, const Evry_Item *it)
{
return (it->browseable && e_action_find("fileman"));
}
static int
_open_folder_action(Evry_Action *act)
{
E_Action *action = e_action_find("fileman");
char *path;
Eina_List *m;
if (!action) return 0;
m = e_manager_list();
ITEM_FILE(file, act->item1);
if (!act->item1->browseable)
{
path = ecore_file_dir_get(file->path);
if (!path) return 0;
action->func.go(E_OBJECT(m->data), path);
free(path);
}
else
{
action->func.go(E_OBJECT(m->data), file->path);
}
return 1;
}
/* static int
* _open_term_action(Evry_Action *act)
* {
* ITEM_FILE(file, act->item1);
* Evry_Item_App *tmp;
* char cwd[4096];
* char *dir;
* int ret = 0;
*
* if (act->item1->browseable)
* dir = strdup(file->path);
* else
* dir = ecore_file_dir_get(file->path);
*
* if (dir)
* {
* getcwd(cwd, sizeof(cwd));
* chdir(dir);
*
* tmp = E_NEW(Evry_Item_App, 1);
* tmp->file = evry_conf->cmd_terminal;
*
* ret = evry_util_exec_app(EVRY_ITEM(tmp), NULL);
* E_FREE(tmp);
* E_FREE(dir);
* chdir(cwd);
* }
*
* return ret;
* } */
Eina_Bool
module_init(void)
{
if (!evry_api_version_check(EVRY_API_VERSION))
return EINA_FALSE;
p1 = evry_plugin_new(NULL, "Files", type_subject, "FILE", "FILE", 0, NULL, NULL,
_begin, _cleanup, _fetch, NULL, _icon_get,
NULL, NULL);
p2 = evry_plugin_new(NULL, "Files", type_object, "FILE", "FILE", 0, NULL, NULL,
_begin, _cleanup, _fetch, NULL, _icon_get,
NULL, NULL);
evry_plugin_register(p1, 3);
evry_plugin_register(p2, 1);
act1 = evry_action_new("Open Folder (EFM)", "FILE", NULL, NULL, "folder-open",
_open_folder_action, _open_folder_check, NULL, NULL, NULL);
evry_action_register(act1, 0);
/* act2 = evry_action_new("Open Terminal here", "FILE", NULL, NULL,
* "system-run",
* _open_term_action, NULL, NULL, NULL, NULL);
* evry_action_register(act2, 2); */
mime_folder = eina_stringshare_add("inode/directory");
return EINA_TRUE;
}
void
module_shutdown(void)
{
EVRY_PLUGIN_FREE(p1);
EVRY_PLUGIN_FREE(p2);
eina_stringshare_del(mime_folder);
evry_action_free(act1);
evry_action_free(act2);
}

View File

@ -0,0 +1,5 @@
[Desktop Entry]
Type=Link
Name=Everything Files
Icon=e-module
X-Enlightenment-ModuleType=system

View File

@ -0,0 +1,30 @@
MAINTAINERCLEANFILES = Makefile.in
MODULE = everything-settings
# data files for the module
filesdir = $(libdir)/enlightenment/modules/$(MODULE)
files_DATA = \
e-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 \
-I$(top_srcdir)/src/modules/everything \
@e_cflags@
pkgdir = $(libdir)/enlightenment/modules/$(MODULE)/$(MODULE_ARCH)
pkg_LTLIBRARIES = module.la
module_la_SOURCES = 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
uninstall:
rm -rf $(DESTDIR)$(libdir)/enlightenment/modules/$(MODULE)

Binary file not shown.

View File

@ -1,4 +1,9 @@
/*
* vim:ts=8:sw=3:sts=8:noexpandtab:cino=>5n-3f0^-2{2
*/
#include "Evry.h"
#include "e_mod_main.h"
static Evry_Plugin *p;
static Evry_Action *act;
@ -113,7 +118,7 @@ _action(Evry_Action *act)
}
static Eina_Bool
_init(void)
module_init(void)
{
if (!evry_api_version_check(EVRY_API_VERSION))
return EINA_FALSE;
@ -132,12 +137,60 @@ _init(void)
}
static void
_shutdown(void)
module_shutdown(void)
{
EVRY_PLUGIN_FREE(p);
evry_action_free(act);
}
EINA_MODULE_INIT(_init);
EINA_MODULE_SHUTDOWN(_shutdown);
/***************************************************************************/
/**/
/* actual module specifics */
static E_Module *module = NULL;
static Eina_Bool active = EINA_FALSE;
/***************************************************************************/
/**/
/* module setup */
EAPI E_Module_Api e_modapi =
{
E_MODULE_API_VERSION,
"everything-settings"
};
EAPI void *
e_modapi_init(E_Module *m)
{
module = m;
if (e_datastore_get("everything_loaded"))
active = module_init();
e_module_delayed_set(m, 1);
return m;
}
EAPI int
e_modapi_shutdown(E_Module *m)
{
if (active && e_datastore_get("everything_loaded"))
module_shutdown();
module = NULL;
return 1;
}
EAPI int
e_modapi_save(E_Module *m)
{
return 1;
}
/**/
/***************************************************************************/

View File

@ -0,0 +1,13 @@
/*
* vim:ts=8:sw=3:sts=8:noexpandtab:cino=>5n-3f0^-2{2
*/
#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);
#endif

View File

@ -0,0 +1,6 @@
[Desktop Entry]
Type=Link
Name=Everything Settings
Icon=e-module
X-Enlightenment-ModuleType=system
Comment=Quickly open e17 settings dialogs.

View File

@ -0,0 +1,30 @@
MAINTAINERCLEANFILES = Makefile.in
MODULE = everything-wallpaper
# data files for the module
filesdir = $(libdir)/enlightenment/modules/$(MODULE)
files_DATA = \
e-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 \
-I$(top_srcdir)/src/modules/everything \
@e_cflags@
pkgdir = $(libdir)/enlightenment/modules/$(MODULE)/$(MODULE_ARCH)
pkg_LTLIBRARIES = module.la
module_la_SOURCES = 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
uninstall:
rm -rf $(DESTDIR)$(libdir)/enlightenment/modules/$(MODULE)

Binary file not shown.

View File

@ -1,4 +1,9 @@
/*
* vim:ts=8:sw=3:sts=8:noexpandtab:cino=>5n-3f0^-2{2
*/
#include "Evry.h"
#include "e_mod_main.h"
#define IMPORT_STRETCH 0
#define IMPORT_TILE 1
@ -195,7 +200,7 @@ _action(Evry_Plugin *plugin, const Evry_Item *item)
}
static Eina_Bool
_init(void)
module_init(void)
{
if (!evry_api_version_check(EVRY_API_VERSION))
return EINA_FALSE;
@ -206,13 +211,12 @@ _init(void)
NULL, NULL);
evry_plugin_register(plugin, 10);
return EINA_TRUE;
}
static void
_shutdown(void)
module_shutdown(void)
{
EVRY_PLUGIN_FREE(plugin);
@ -224,12 +228,6 @@ _shutdown(void)
}
}
EINA_MODULE_INIT(_init);
EINA_MODULE_SHUTDOWN(_shutdown);
/* taken from e_int_config_wallpaper_import.c */
static void
_import_edj_gen(Import *import)
@ -449,3 +447,53 @@ _import_cb_edje_cc_exit(void *data, int type, void *event)
return 0;
}
/***************************************************************************/
/**/
/* actual module specifics */
static E_Module *module = NULL;
static Eina_Bool active = EINA_FALSE;
/***************************************************************************/
/**/
/* module setup */
EAPI E_Module_Api e_modapi =
{
E_MODULE_API_VERSION,
"everything-wallpaper"
};
EAPI void *
e_modapi_init(E_Module *m)
{
module = m;
if (e_datastore_get("everything_loaded"))
active = module_init();
e_module_delayed_set(m, 1);
return m;
}
EAPI int
e_modapi_shutdown(E_Module *m)
{
if (active && e_datastore_get("everything_loaded"))
module_shutdown();
module = NULL;
return 1;
}
EAPI int
e_modapi_save(E_Module *m)
{
return 1;
}
/**/
/***************************************************************************/

View File

@ -0,0 +1,13 @@
/*
* vim:ts=8:sw=3:sts=8:noexpandtab:cino=>5n-3f0^-2{2
*/
#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);
#endif

View File

@ -0,0 +1,6 @@
[Desktop Entry]
Type=Link
Name=Everything Wallpaper
Icon=e-module
X-Enlightenment-ModuleType=system
Comment=Provides action to set image as wallpaper.

View File

@ -0,0 +1,30 @@
MAINTAINERCLEANFILES = Makefile.in
MODULE = everything-windows
# data files for the module
filesdir = $(libdir)/enlightenment/modules/$(MODULE)
files_DATA = \
e-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 \
-I$(top_srcdir)/src/modules/everything \
@e_cflags@
pkgdir = $(libdir)/enlightenment/modules/$(MODULE)/$(MODULE_ARCH)
pkg_LTLIBRARIES = module.la
module_la_SOURCES = 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
uninstall:
rm -rf $(DESTDIR)$(libdir)/enlightenment/modules/$(MODULE)

Binary file not shown.

View File

@ -0,0 +1,570 @@
/*
* vim:ts=8:sw=3:sts=8:noexpandtab:cino=>5n-3f0^-2{2
*/
#include "Evry.h"
#include "e_mod_main.h"
static Evry_Plugin *plugin;
static Eina_List *handlers = NULL;
static Eina_Hash *border_hash = NULL;
static int
_cb_border_remove(void *data, int type, void *event)
{
E_Event_Border_Remove *ev = event;
Evry_Item *it;
Evry_Plugin *p = data;
it = eina_hash_find(border_hash, &(ev->border));
if (!it) return 1;
p->items = eina_list_remove(p->items, it);
eina_hash_del_by_key(border_hash, &(ev->border));
evry_plugin_async_update(p, EVRY_ASYNC_UPDATE_ADD);
return 1;
}
static void _hash_free(void *data)
{
Evry_Item *it = data;
evry_item_free(it);
}
static Evry_Plugin *
_begin(Evry_Plugin *p, const Evry_Item *it)
{
handlers = eina_list_append
(handlers, ecore_event_handler_add
(E_EVENT_BORDER_REMOVE, _cb_border_remove, p));
border_hash = eina_hash_pointer_new(_hash_free);
return p;
}
static void
_cleanup(Evry_Plugin *p)
{
Ecore_Event_Handler *h;
EINA_LIST_FREE(handlers, h)
ecore_event_handler_del(h);
if (border_hash) eina_hash_free(border_hash);
border_hash = NULL;
EVRY_PLUGIN_ITEMS_CLEAR(p);
}
static void
_item_free(Evry_Item *it)
{
if (it->data)
e_object_unref(E_OBJECT(it->data));
E_FREE(it);
}
static void
_item_add(Evry_Plugin *p, E_Border *bd, int match, int *prio)
{
Evry_Item *it = NULL;
if ((it = eina_hash_find(border_hash, &bd)))
{
it->priority = *prio;
EVRY_PLUGIN_ITEM_APPEND(p, it);
it->fuzzy_match = match;
*prio += 1;
return;
}
it = evry_item_new(NULL, p, e_border_name_get(bd), _item_free);
e_object_ref(E_OBJECT(bd));
it->data = bd;
it->fuzzy_match = match;
it->priority = *prio;
it->transient = EINA_TRUE;
it->id = eina_stringshare_add(e_util_winid_str_get(bd->win));
*prio += 1;
eina_hash_add(border_hash, &bd, it);
EVRY_PLUGIN_ITEM_APPEND(p, it);
}
static int
_cb_sort(const void *data1, const void *data2)
{
const Evry_Item *it1 = data1;
const Evry_Item *it2 = data2;
if (it1->fuzzy_match - it2->fuzzy_match)
return (it1->fuzzy_match - it2->fuzzy_match);
return (it1->priority - it2->priority);
}
static int
_fetch(Evry_Plugin *p, const char *input)
{
E_Zone *zone;
E_Border *bd;
Eina_List *l;
int prio = 0;
int m1, m2;
EVRY_PLUGIN_ITEMS_CLEAR(p);
zone = e_util_zone_current_get(e_manager_current_get());
EINA_LIST_FOREACH(e_border_focus_stack_get(), l, bd)
{
if (zone == bd->zone)
{
if (!input)
_item_add(p, bd, 0, &prio);
else
{
m1 = evry_fuzzy_match(e_border_name_get(bd), input);
if (bd->client.icccm.name)
{
m2 = evry_fuzzy_match(bd->client.icccm.name, input);
if (!m1 || (m2 && m2 < m1))
m1 = m2;
}
if (bd->desktop)
{
m2 = evry_fuzzy_match(bd->desktop->name, input);
if (!m1 || (m2 && m2 < m1))
m1 = m2;
}
if (m1)
_item_add(p, bd, m1, &prio);
}
}
}
if (!p->items) return 0;
EVRY_PLUGIN_ITEMS_SORT(p, _cb_sort);
return 1;
}
static Evas_Object *
_item_icon_get(Evry_Plugin *p __UNUSED__, const Evry_Item *it, Evas *e)
{
Evas_Object *o = NULL;
E_Border *bd = it->data;
if (bd->internal)
{
o = edje_object_add(e);
if (!bd->internal_icon)
e_util_edje_icon_set(o, "enlightenment/e");
else
{
if (!bd->internal_icon_key)
{
char *ext;
ext = strrchr(bd->internal_icon, '.');
if ((ext) && ((!strcmp(ext, ".edj"))))
{
if (!edje_object_file_set(o, bd->internal_icon, "icon"))
e_util_edje_icon_set(o, "enlightenment/e");
}
else if (ext)
{
evas_object_del(o);
o = e_icon_add(e);
e_icon_file_set(o, bd->internal_icon);
}
else
{
if (!e_util_edje_icon_set(o, bd->internal_icon))
e_util_edje_icon_set(o, "enlightenment/e");
}
}
else
{
edje_object_file_set(o, bd->internal_icon,
bd->internal_icon_key);
}
}
return o;
}
if (!o && bd->desktop)
o = e_util_desktop_icon_add(bd->desktop, 128, e);
if (!o && bd->client.netwm.icons)
{
int i, size, tmp, found = 0;
o = e_icon_add(e);
size = bd->client.netwm.icons[0].width;
for (i = 1; i < bd->client.netwm.num_icons; i++)
{
if ((tmp = bd->client.netwm.icons[i].width) > size)
{
size = tmp;
found = i;
}
}
e_icon_data_set(o, bd->client.netwm.icons[found].data,
bd->client.netwm.icons[found].width,
bd->client.netwm.icons[found].height);
e_icon_alpha_set(o, 1);
return o;
}
if (!o)
o = e_border_icon_add(bd, e);
return o;
}
/********* border actions ********/
typedef struct _Inst Inst;
struct _Inst
{
E_Border *border;
};
static Evry_Plugin *plugin2 = NULL;
static Inst *inst = NULL;
static Evry_Action *act = NULL;
static void
_act_cb_border_switch_to(E_Border *bd)
{
E_Zone *zone;
zone = e_util_zone_current_get(e_manager_current_get());
if (bd->desk != (e_desk_current_get(zone)))
e_desk_show(bd->desk);
if (bd->shaded)
e_border_unshade(bd, E_DIRECTION_UP);
if (bd->iconic)
e_border_uniconify(bd);
else
e_border_raise(bd);
/* e_border_focus_set(bd, 1, 1); */
e_border_focus_set_with_pointer(bd);
}
static void
_act_cb_border_to_desktop(E_Border *bd)
{
E_Zone *zone;
E_Desk *desk;
zone = e_util_zone_current_get(e_manager_current_get());
desk = e_desk_current_get(zone);
e_border_desk_set(bd, desk);
if (bd->shaded)
e_border_unshade(bd, E_DIRECTION_UP);
if (bd->iconic)
e_border_uniconify(bd);
else
e_border_raise(bd);
/* e_border_focus_set(bd, 1, 1); */
e_border_focus_set_with_pointer(bd);
}
static void
_act_cb_border_fullscreen(E_Border *bd)
{
if (!bd->fullscreen)
e_border_fullscreen(bd, E_FULLSCREEN_RESIZE);
else
e_border_unfullscreen(bd);
}
static void
_act_cb_border_close(E_Border *bd)
{
if (!bd->lock_close) e_border_act_close_begin(bd);
}
static void
_act_cb_border_minimize(E_Border *bd)
{
if (!bd->lock_user_iconify) e_border_iconify(bd);
}
static void
_act_cb_border_unminimize(E_Border *bd)
{
if (!bd->lock_user_iconify) e_border_uniconify(bd);
}
static Evry_Plugin *
_act_begin(Evry_Plugin *p __UNUSED__, const Evry_Item *item)
{
E_Border *bd;
bd = item->data;
/* e_object_ref(E_OBJECT(bd)); */
inst->border = bd;
return p;
}
static int
_act_cb_sort(const void *data1, const void *data2)
{
const Evry_Item *it1 = data1;
const Evry_Item *it2 = data2;
return (it1->fuzzy_match - it2->fuzzy_match);
}
static void
_act_item_add(Evry_Plugin *p, const char *label, void (*action_cb) (E_Border *bd), const char *icon, const char *input)
{
Evry_Item *it;
int match = 1;
if (input)
match = evry_fuzzy_match(label, input);
if (!match) return;
it = evry_item_new(NULL, p, label, NULL);
it->icon = eina_stringshare_add(icon);
it->data = action_cb;
it->fuzzy_match = match;
p->items = eina_list_prepend(p->items, it);
}
static void
_act_cleanup(Evry_Plugin *p)
{
EVRY_PLUGIN_ITEMS_FREE(p);
}
static int
_act_fetch(Evry_Plugin *p, const char *input)
{
E_Zone *zone;
E_Desk *desk;
zone = e_util_zone_current_get(e_manager_current_get());
desk = e_desk_current_get(zone);
_cleanup(p);
_act_item_add(p, _("Switch to Window"),
_act_cb_border_switch_to,
"go-next", input);
if (desk != inst->border->desk)
_act_item_add(p, _("Send to Deskop"),
_act_cb_border_to_desktop,
"go-previous", input);
if (inst->border->iconic)
_act_item_add(p, _("Uniconify"),
_act_cb_border_unminimize,
"window-minimize", input);
else
_act_item_add(p, _("Iconify"),
_act_cb_border_minimize,
"window-minimize", input);
if (!inst->border->fullscreen)
_act_item_add(p, _("Fullscreen"),
_act_cb_border_fullscreen,
"view-fullscreen", input);
else
_act_item_add(p, _("Unfullscreen"),
_act_cb_border_fullscreen,
"view-restore", input);
_act_item_add(p, _("Close"),
_act_cb_border_close,
"window-close", input);
if (!p->items) return 0;
EVRY_PLUGIN_ITEMS_SORT(p, _act_cb_sort);
return 1;
}
static int
_act_action(Evry_Plugin *p __UNUSED__, const Evry_Item *item)
{
void (*border_action) (E_Border *bd);
border_action = item->data;
border_action(inst->border);
return EVRY_ACTION_FINISHED;
}
static Evas_Object *
_act_item_icon_get(Evry_Plugin *p __UNUSED__, const Evry_Item *it, Evas *e)
{
Evas_Object *o;
o = evry_icon_theme_get(it->icon, e);
return o;
}
static int
_exec_border_check_item(Evry_Action *act __UNUSED__, const Evry_Item *it)
{
E_Border *bd = it->data;
E_OBJECT_CHECK_RETURN(bd, 0);
E_OBJECT_TYPE_CHECK_RETURN(bd, E_BORDER_TYPE, 0);
if ((bd->desktop && bd->desktop->exec) &&
((strstr(bd->desktop->exec, "%u")) ||
(strstr(bd->desktop->exec, "%U")) ||
(strstr(bd->desktop->exec, "%f")) ||
(strstr(bd->desktop->exec, "%F"))))
return 1;
return 0;
}
static int
_exec_border_action(Evry_Action *act)
{
return evry_util_exec_app(act->item1, act->item2);
}
static int
_exec_border_intercept(Evry_Action *act)
{
Evry_Item_App *app = E_NEW(Evry_Item_App, 1);
E_Border *bd = act->item1->data;
app->desktop = bd->desktop;
act->item1 = EVRY_ITEM(app);
return 1;
}
static void
_exec_border_cleanup(Evry_Action *act)
{
ITEM_APP(app, act->item1);
E_FREE(app);
}
static Eina_Bool
module_init(void)
{
if (!evry_api_version_check(EVRY_API_VERSION))
return EINA_FALSE;
plugin = evry_plugin_new(NULL, "Windows", type_subject, NULL, "BORDER", 0, NULL, NULL,
_begin, _cleanup, _fetch, NULL, _item_icon_get, NULL, NULL);
evry_plugin_register(plugin, 2);
plugin2 = evry_plugin_new(NULL, "Window Action", type_action, "BORDER", NULL, 0, NULL, NULL,
_act_begin, _act_cleanup, _act_fetch, _act_action, _act_item_icon_get, NULL, NULL);
evry_plugin_register(plugin2, 1);
inst = E_NEW(Inst, 1);
act = evry_action_new("Open File...", "BORDER", "FILE", "APPLICATION",
"everything-launch",
_exec_border_action, _exec_border_check_item,
_exec_border_cleanup, _exec_border_intercept, NULL);
evry_action_register(act, 10);
return EINA_TRUE;
}
static void
module_shutdown(void)
{
EVRY_PLUGIN_FREE(plugin);
EVRY_PLUGIN_FREE(plugin2);
E_FREE(inst);
evry_action_free(act);
}
/***************************************************************************/
/**/
/* actual module specifics */
static E_Module *module = NULL;
static Eina_Bool active = EINA_FALSE;
/***************************************************************************/
/**/
/* module setup */
EAPI E_Module_Api e_modapi =
{
E_MODULE_API_VERSION,
"everything-windows"
};
EAPI void *
e_modapi_init(E_Module *m)
{
module = m;
if (e_datastore_get("everything_loaded"))
active = module_init();
e_module_delayed_set(m, 1);
return m;
}
EAPI int
e_modapi_shutdown(E_Module *m)
{
if (active && e_datastore_get("everything_loaded"))
module_shutdown();
module = NULL;
return 1;
}
EAPI int
e_modapi_save(E_Module *m)
{
return 1;
}
/**/
/***************************************************************************/

View File

@ -0,0 +1,13 @@
/*
* vim:ts=8:sw=3:sts=8:noexpandtab:cino=>5n-3f0^-2{2
*/
#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);
#endif

View File

@ -0,0 +1,6 @@
[Desktop Entry]
Type=Link
Name=Everything Windows
Icon=e-module
X-Enlightenment-ModuleType=system
Comment=Window actions

View File

@ -38,6 +38,10 @@ typedef struct _Evry_Action Evry_Action;
typedef struct _Evry_State Evry_State;
typedef struct _Evry_View Evry_View;
typedef struct _Plugin_Config Plugin_Config;
typedef struct _History Evry_History;
typedef struct _History_Entry History_Entry;
typedef struct _History_Item History_Item;
typedef struct _Config Evry_Config;
#define EVRY_ITEM(_item) ((Evry_Item *)_item)
#define EVRY_PLUGIN(_plugin) ((Evry_Plugin *) _plugin)
@ -218,6 +222,49 @@ struct _Evry_State
Evry_View *view;
};
struct _Config
{
int version;
/* position */
double rel_x, rel_y;
/* size */
int width, height;
Eina_List *modules;
/* generic plugin config */
Eina_List *conf_subjects;
Eina_List *conf_actions;
Eina_List *conf_objects;
Eina_List *conf_views;
int scroll_animate;
double scroll_speed;
int hide_input;
int hide_list;
int quick_nav;
const char *cmd_terminal;
const char *cmd_sudo;
int view_mode;
int view_zoom;
int history_sort_mode;
/* use up/down keys for prev/next in thumb view */
int cycle_mode;
/* not saved data */
Eina_List *plugins;
Eina_List *actions;
Eina_List *views;
int min_w, min_h;
};
struct _Evry_View
{
Evry_View *id;
@ -262,6 +309,30 @@ struct _Evry_Action
int priority;
};
struct _History_Entry
{
Eina_List *items;
};
struct _History
{
int version;
Eina_Hash *subjects;
Eina_Hash *actions;
double begin;
};
struct _History_Item
{
const char *plugin;
const char *context;
const char *input;
double last_used;
double usage;
int count;
int transient;
};
/* evry.c */
EAPI void evry_item_select(const Evry_State *s, Evry_Item *it);
EAPI void evry_item_mark(const Evry_State *state, Evry_Item *it, Eina_Bool mark);
@ -291,6 +362,11 @@ EAPI void evry_action_unregister(Evry_Action *act);
EAPI void evry_view_register(Evry_View *view, int priority);
EAPI void evry_view_unregister(Evry_View *view);
EAPI void evry_history_load(void);
EAPI void evry_history_unload(void);
EAPI void evry_history_add(Eina_Hash *hist, Evry_State *s, const char *ctxt);
EAPI int evry_history_item_usage_set(Eina_Hash *hist, Evry_Item *it, const char *input, const char *ctxt);
EAPI Evry_Plugin *evry_plugin_new(Evry_Plugin *base, const char *name, int type,
const char *type_in, const char *type_out,
int async_fetch, const char *icon, const char *trigger,
@ -329,4 +405,7 @@ extern EAPI int EVRY_EVENT_ITEM_SELECT;
extern EAPI int EVRY_EVENT_ITEM_CHANGED;
extern EAPI int EVRY_EVENT_ITEMS_UPDATE;
EAPI extern Evry_History *evry_hist;
EAPI extern Evry_Config *evry_conf;
#endif

View File

@ -1,8 +1,6 @@
MAINTAINERCLEANFILES = Makefile.in everything.pc
MODULE = everything
SUBDIRS = . sources actions views
# data files for the module
filesdir = $(libdir)/enlightenment/modules/$(MODULE)
files_DATA = \
@ -21,7 +19,7 @@ INCLUDES = -I. \
pkgdir = $(libdir)/enlightenment/modules/$(MODULE)/$(MODULE_ARCH)
pkg_LTLIBRARIES = module.la
noinst_LTLIBRARIES = libfoo.la
# noinst_LTLIBRARIES = libfoo.la
EVRYHEADERS = Evry.h
@ -34,7 +32,11 @@ module_la_SOURCES = $(EVRYHEADERS) \
evry_history.c \
evry_plug_aggregator.c \
evry_plug_actions.c \
evry_view_plugin_tabs.c
evry_view_plugin_tabs.c \
evry_plug_view_thumb.c \
evry_plug_preview.c \
evry_plug_view_help.c \
evry_plug_clipboard.c
module_la_LIBADD = @e_libs@ @dlopen_libs@
module_la_LDFLAGS = -module -avoid-version
@ -43,10 +45,10 @@ module_la_DEPENDENCIES = $(top_builddir)/config.h
installed_headersdir = $(prefix)/include/@PACKAGE@
installed_headers_DATA = $(EVRYHEADERS)
libfoo_la_SOURCES = evry.c e_mod_main.h evry_util.c evry_config.c evry_history.c evry_view_plugin_tabs.c
libfoo_la_LIBADD = @e_libs@ @dlopen_libs@
libfoo_la_LDFLAGS = -avoid-version
libfoo_la_DEPENDENCIES = $(top_builddir)/config.h
# libfoo_la_SOURCES = evry.c e_mod_main.h evry_util.c evry_config.c evry_history.c evry_view_plugin_tabs.c
# libfoo_la_LIBADD = @e_libs@ @dlopen_libs@
# libfoo_la_LDFLAGS = -avoid-version
# libfoo_la_DEPENDENCIES = $(top_builddir)/config.h
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = everything.pc

View File

@ -1,34 +0,0 @@
MAINTAINERCLEANFILES = Makefile.in
MODULE = everything
# 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@
plugindir = $(libdir)/enlightenment/modules/$(MODULE)/plugins/core/$(MODULE_ARCH)
evry_plug_border_actdir = $(plugindir)
evry_plug_border_act_LTLIBRARIES = evry_plug_border_act.la
evry_plug_border_act_la_SOURCES = evry_plug_border_act.c
evry_plug_border_act_la_LIBADD = @e_libs@ ../libfoo.la
evry_plug_border_act_la_LDFLAGS = -module -avoid-version
evry_plug_border_act_la_LIBTOOLFLAGS = --tag=disable-static
evry_plug_clipboarddir = $(plugindir)
evry_plug_clipboard_LTLIBRARIES = evry_plug_clipboard.la
evry_plug_clipboard_la_SOURCES = evry_plug_clipboard.c
evry_plug_clipboard_la_LIBADD = @e_libs@ ../libfoo.la
evry_plug_clipboard_la_LDFLAGS = -module -avoid-version
evry_plug_clipboard_la_LIBTOOLFLAGS = --tag=disable-static
evry_plug_wallpaperdir = $(plugindir)
evry_plug_wallpaper_LTLIBRARIES = evry_plug_wallpaper.la
evry_plug_wallpaper_la_SOURCES = evry_plug_wallpaper.c
evry_plug_wallpaper_la_LIBADD = @e_libs@ ../libfoo.la
evry_plug_wallpaper_la_LDFLAGS = -module -avoid-version
evry_plug_wallpaper_la_LIBTOOLFLAGS = --tag=disable-static

View File

@ -1,279 +0,0 @@
#include "Evry.h"
typedef struct _Inst Inst;
struct _Inst
{
E_Border *border;
};
static Evry_Plugin *plugin = NULL;
static Inst *inst = NULL;
static Evry_Action *act = NULL;
static void
_act_cb_border_switch_to(E_Border *bd)
{
E_Zone *zone;
zone = e_util_zone_current_get(e_manager_current_get());
if (bd->desk != (e_desk_current_get(zone)))
e_desk_show(bd->desk);
if (bd->shaded)
e_border_unshade(bd, E_DIRECTION_UP);
if (bd->iconic)
e_border_uniconify(bd);
else
e_border_raise(bd);
/* e_border_focus_set(bd, 1, 1); */
e_border_focus_set_with_pointer(bd);
}
static void
_act_cb_border_to_desktop(E_Border *bd)
{
E_Zone *zone;
E_Desk *desk;
zone = e_util_zone_current_get(e_manager_current_get());
desk = e_desk_current_get(zone);
e_border_desk_set(bd, desk);
if (bd->shaded)
e_border_unshade(bd, E_DIRECTION_UP);
if (bd->iconic)
e_border_uniconify(bd);
else
e_border_raise(bd);
/* e_border_focus_set(bd, 1, 1); */
e_border_focus_set_with_pointer(bd);
}
static void
_act_cb_border_fullscreen(E_Border *bd)
{
if (!bd->fullscreen)
e_border_fullscreen(bd, E_FULLSCREEN_RESIZE);
else
e_border_unfullscreen(bd);
}
static void
_act_cb_border_close(E_Border *bd)
{
if (!bd->lock_close) e_border_act_close_begin(bd);
}
static void
_act_cb_border_minimize(E_Border *bd)
{
if (!bd->lock_user_iconify) e_border_iconify(bd);
}
static void
_act_cb_border_unminimize(E_Border *bd)
{
if (!bd->lock_user_iconify) e_border_uniconify(bd);
}
static Evry_Plugin *
_begin(Evry_Plugin *p __UNUSED__, const Evry_Item *item)
{
E_Border *bd;
bd = item->data;
/* e_object_ref(E_OBJECT(bd)); */
inst->border = bd;
return p;
}
static int
_cb_sort(const void *data1, const void *data2)
{
const Evry_Item *it1 = data1;
const Evry_Item *it2 = data2;
return (it1->fuzzy_match - it2->fuzzy_match);
}
static void
_item_add(Evry_Plugin *p, const char *label, void (*action_cb) (E_Border *bd), const char *icon, const char *input)
{
Evry_Item *it;
int match = 1;
if (input)
match = evry_fuzzy_match(label, input);
if (!match) return;
it = evry_item_new(NULL, p, label, NULL);
it->icon = eina_stringshare_add(icon);
it->data = action_cb;
it->fuzzy_match = match;
p->items = eina_list_prepend(p->items, it);
}
static void
_cleanup(Evry_Plugin *p)
{
EVRY_PLUGIN_ITEMS_FREE(p);
}
static int
_fetch(Evry_Plugin *p, const char *input)
{
E_Zone *zone;
E_Desk *desk;
zone = e_util_zone_current_get(e_manager_current_get());
desk = e_desk_current_get(zone);
_cleanup(p);
_item_add(p, _("Switch to Window"),
_act_cb_border_switch_to,
"go-next", input);
if (desk != inst->border->desk)
_item_add(p, _("Send to Deskop"),
_act_cb_border_to_desktop,
"go-previous", input);
if (inst->border->iconic)
_item_add(p, _("Uniconify"),
_act_cb_border_unminimize,
"window-minimize", input);
else
_item_add(p, _("Iconify"),
_act_cb_border_minimize,
"window-minimize", input);
if (!inst->border->fullscreen)
_item_add(p, _("Fullscreen"),
_act_cb_border_fullscreen,
"view-fullscreen", input);
else
_item_add(p, _("Unfullscreen"),
_act_cb_border_fullscreen,
"view-restore", input);
_item_add(p, _("Close"),
_act_cb_border_close,
"window-close", input);
if (!p->items) return 0;
EVRY_PLUGIN_ITEMS_SORT(p, _cb_sort);
return 1;
}
static int
_action(Evry_Plugin *p __UNUSED__, const Evry_Item *item)
{
void (*border_action) (E_Border *bd);
border_action = item->data;
border_action(inst->border);
return EVRY_ACTION_FINISHED;
}
static Evas_Object *
_item_icon_get(Evry_Plugin *p __UNUSED__, const Evry_Item *it, Evas *e)
{
Evas_Object *o;
o = evry_icon_theme_get(it->icon, e);
return o;
}
static int
_exec_border_check_item(Evry_Action *act __UNUSED__, const Evry_Item *it)
{
E_Border *bd = it->data;
E_OBJECT_CHECK_RETURN(bd, 0);
E_OBJECT_TYPE_CHECK_RETURN(bd, E_BORDER_TYPE, 0);
if ((bd->desktop && bd->desktop->exec) &&
((strstr(bd->desktop->exec, "%u")) ||
(strstr(bd->desktop->exec, "%U")) ||
(strstr(bd->desktop->exec, "%f")) ||
(strstr(bd->desktop->exec, "%F"))))
return 1;
return 0;
}
static int
_exec_border_action(Evry_Action *act)
{
return evry_util_exec_app(act->item1, act->item2);
}
static int
_exec_border_intercept(Evry_Action *act)
{
Evry_Item_App *app = E_NEW(Evry_Item_App, 1);
E_Border *bd = act->item1->data;
app->desktop = bd->desktop;
act->item1 = EVRY_ITEM(app);
return 1;
}
static void
_exec_border_cleanup(Evry_Action *act)
{
ITEM_APP(app, act->item1);
E_FREE(app);
}
static Eina_Bool
_init(void)
{
if (!evry_api_version_check(EVRY_API_VERSION))
return EINA_FALSE;
plugin = evry_plugin_new(NULL, "Window Action", type_action, "BORDER", NULL, 0, NULL, NULL,
_begin, _cleanup, _fetch, _action, _item_icon_get, NULL, NULL);
evry_plugin_register(plugin, 1);
inst = E_NEW(Inst, 1);
act = evry_action_new("Open File...", "BORDER", "FILE", "APPLICATION",
"everything-launch",
_exec_border_action, _exec_border_check_item,
_exec_border_cleanup, _exec_border_intercept, NULL);
evry_action_register(act, 10);
return EINA_TRUE;
}
static void
_shutdown(void)
{
EVRY_PLUGIN_FREE(plugin);
E_FREE(inst);
evry_action_free(act);
}
EINA_MODULE_INIT(_init);
EINA_MODULE_SHUTDOWN(_shutdown);

View File

@ -1,52 +0,0 @@
#include "Evry.h"
static Evry_Action *act;
static Ecore_X_Window clipboard_win = 0;
static int
_action(Evry_Action *act)
{
const Evry_Item *it = act->item1;
ecore_x_selection_primary_set(clipboard_win, it->label, strlen(it->label));
ecore_x_selection_clipboard_set(clipboard_win, it->label, strlen(it->label));
return 1;
}
static int
_check_item(Evry_Action *act __UNUSED__, const Evry_Item *it)
{
return (it && it->label && (strlen(it->label) > 0));
}
static Eina_Bool
_init(void)
{
if (!evry_api_version_check(EVRY_API_VERSION))
return EINA_FALSE;
Ecore_X_Window win = ecore_x_window_new(0, 0, 0, 1, 1);
if (!win) return EINA_FALSE;
act = evry_action_new("Copy to Clipboard", "TEXT", NULL, NULL, "edit-copy",
_action, _check_item, NULL, NULL, NULL);
evry_action_register(act, 10);
clipboard_win = win;
return EINA_TRUE;
}
static void
_shutdown(void)
{
ecore_x_window_free(clipboard_win);
evry_action_free(act);
}
EINA_MODULE_INIT(_init);
EINA_MODULE_SHUTDOWN(_shutdown);

View File

@ -9,6 +9,9 @@
#include "e_mod_main.h"
/* #undef DBG
* #define DBG(...) ERR(__VA_ARGS__) */
#define CONFIG_VERSION 7
/* actual module specifics */
@ -22,14 +25,14 @@ static void _config_free(void);
static E_Int_Menu_Augmentation *maug = NULL;
static E_Action *act = NULL;
static Eina_Array *plugins = NULL;
/* static Eina_Array *plugins = NULL; */
static E_Config_DD *conf_edd = NULL;
static E_Config_DD *conf_item_edd = NULL;
EAPI int _e_module_evry_log_dom = -1;
EAPI Config *evry_conf = NULL;
EAPI Evry_Config *evry_conf = NULL;
EAPI int EVRY_EVENT_ITEM_SELECT;
EAPI int EVRY_EVENT_ITEM_CHANGED;
@ -42,19 +45,6 @@ EAPI E_Module_Api e_modapi =
"Everything"
};
static Eina_Bool list_cb(Eina_Module *m, void *data)
{
int err;
if ((err = eina_module_load(m)))
{
return EINA_TRUE;
}
ERR("loading failed (%d), %s", err, eina_module_file_get(m));
return EINA_FALSE;
}
EAPI void *
e_modapi_init(E_Module *m)
{
@ -78,34 +68,11 @@ e_modapi_init(E_Module *m)
_config_init();
evry_history_init();
snprintf(dir, sizeof(dir), "%s/enlightenment/modules/everything/plugins",
e_prefix_lib_get());
files = ecore_file_ls(dir);
EINA_LIST_FREE(files, file)
{
snprintf(buf, sizeof(buf), "%s/%s/%s", dir, file, MODULE_ARCH);
if (ecore_file_is_dir(buf))
plugins = eina_module_list_get(plugins, buf, 1, &list_cb, NULL);
free(file);
}
snprintf(dir, sizeof(dir), "%s/.e/e/modules/everything/plugins",
e_user_homedir_get());
files = ecore_file_ls(dir);
EINA_LIST_FREE(files, file)
{
snprintf(buf, sizeof(buf), "%s/%s/%s", dir, file, MODULE_ARCH);
if (ecore_file_is_dir(buf))
plugins = eina_module_list_get(plugins, buf, 1, &list_cb, NULL);
free(file);
}
view_thumb_init();
view_preview_init();
view_help_init();
evry_plug_clipboard_init();
/* add module supplied action */
act = e_action_add("everything");
@ -137,8 +104,13 @@ e_modapi_init(E_Module *m)
if (!EVRY_EVENT_ITEM_CHANGED)
EVRY_EVENT_ITEM_CHANGED = ecore_event_type_new();
e_module_delayed_set(m, 1);
e_module_delayed_set(m, 0);
/* make sure module is loaded before others */
e_module_priority_set(m, -1000);
e_datastore_set("everything_loaded", "");
return m;
}
@ -162,14 +134,12 @@ e_modapi_shutdown(E_Module *m __UNUSED__)
e_action_del("everything");
}
if (plugins)
{
eina_module_list_free(plugins);
eina_array_free(plugins);
plugins = NULL;
}
view_thumb_shutdown();
view_preview_shutdown();
view_help_shutdown();
evry_plug_clipboard_shutdown();
while ((cfd = e_config_dialog_get("E", "_config_everything_dialog")))
e_object_del(E_OBJECT(cfd));
@ -182,6 +152,9 @@ e_modapi_shutdown(E_Module *m __UNUSED__)
/* Clean EET */
E_CONFIG_DD_FREE(conf_item_edd);
E_CONFIG_DD_FREE(conf_edd);
e_datastore_del("everything_loaded");
return 1;
}
@ -210,9 +183,9 @@ _config_init()
#undef T
#undef D
#define T Config
#define T Evry_Config
#define D conf_edd
conf_edd = E_CONFIG_DD_NEW("Config", Config);
conf_edd = E_CONFIG_DD_NEW("Config", Evry_Config);
E_CONFIG_VAL(D, T, version, INT);
E_CONFIG_VAL(D, T, width, INT);
E_CONFIG_VAL(D, T, height, INT);
@ -245,7 +218,7 @@ _config_init()
if (!evry_conf)
{
evry_conf = E_NEW(Config, 1);
evry_conf = E_NEW(Evry_Config, 1);
evry_conf->version = CONFIG_VERSION;
evry_conf->rel_x = 0.5;
evry_conf->rel_y = 0.33;
@ -368,8 +341,6 @@ _e_mod_menu_add(void *data __UNUSED__, E_Menu *m)
}
EAPI int evry_api_version_check(int version)
{
if (EVRY_API_VERSION == version)
@ -423,6 +394,8 @@ evry_plugin_new(Evry_Plugin *base, const char *name, int type,
p->config_apply = config_apply;
p->aggregate = EINA_TRUE;
p->async_fetch = EINA_FALSE;
DBG("%s", p->name);
return p;
}
@ -432,6 +405,8 @@ evry_plugin_free(Evry_Plugin *p, int free_pointer)
{
evry_plugin_unregister(p);
DBG("%s", p->name);
if (p->name) eina_stringshare_del(p->name);
if (p->type_in) eina_stringshare_del(p->type_in);
if (p->type_out) eina_stringshare_del(p->type_out);
@ -462,6 +437,8 @@ evry_action_new(const char *name, const char *type_in1, const char *type_in2,
act->cleanup = cleanup;
act->icon = (icon ? eina_stringshare_add(icon) : NULL);
DBG("%s", name);
return act;
}
@ -487,6 +464,8 @@ evry_plugin_register(Evry_Plugin *p, int priority)
Eina_List *l, *confs = NULL;
Plugin_Config *pc;
DBG("%s", p->name);
evry_conf->plugins = eina_list_append(evry_conf->plugins, p);
if (p->type == type_subject)
@ -539,6 +518,8 @@ evry_plugin_register(Evry_Plugin *p, int priority)
void
evry_plugin_unregister(Evry_Plugin *p)
{
DBG("%s", p->name);
evry_conf->plugins = eina_list_remove(evry_conf->plugins, p);
if (p->type == type_subject)

View File

@ -4,80 +4,9 @@
#define E_MOD_MAIN_H
typedef struct _Config Config;
typedef struct _Evry_Selector Evry_Selector;
typedef struct _Tab_View Tab_View;
typedef struct _History History;
typedef struct _History_Entry History_Entry;
typedef struct _History_Item History_Item;
struct _Config
{
int version;
/* position */
double rel_x, rel_y;
/* size */
int width, height;
/* generic plugin config */
Eina_List *conf_subjects;
Eina_List *conf_actions;
Eina_List *conf_objects;
Eina_List *conf_views;
int scroll_animate;
double scroll_speed;
int hide_input;
int hide_list;
int quick_nav;
const char *cmd_terminal;
const char *cmd_sudo;
int view_mode;
int view_zoom;
int history_sort_mode;
/* use up/down keys for prev/next in thumb view */
int cycle_mode;
/* not saved data */
Eina_List *plugins;
Eina_List *actions;
Eina_List *views;
int min_w, min_h;
};
struct _History_Item
{
const char *plugin;
const char *context;
const char *input;
double last_used;
double usage;
int count;
int transient;
};
struct _History_Entry
{
Eina_List *items;
};
struct _History
{
int version;
Eina_Hash *subjects;
Eina_Hash *actions;
double begin;
};
struct _Evry_Selector
{
@ -137,6 +66,18 @@ EAPI E_Config_Dialog *evry_config_dialog(E_Container *con, const char *params);
EAPI Tab_View *evry_tab_view_new(const Evry_State *s, Evas *e);
EAPI void evry_tab_view_free(Tab_View *v);
Eina_Bool view_thumb_init(void);
void view_thumb_shutdown(void);
Eina_Bool view_help_init(void);
void view_help_shutdown(void);
Eina_Bool view_preview_init(void);
void view_preview_shutdown(void);
Eina_Bool evry_plug_clipboard_init(void);
void evry_plug_clipboard_shutdown(void);
int evry_init(void);
int evry_shutdown(void);
int evry_show(E_Zone *zone, const char *params);
@ -150,16 +91,11 @@ EAPI void evry_plug_actions_free(Evry_Plugin *plugin);
void evry_history_init(void);
void evry_history_free(void);
EAPI void evry_history_load(void);
EAPI void evry_history_unload(void);
EAPI void evry_history_add(Eina_Hash *hist, Evry_State *s, const char *ctxt);
EAPI int evry_history_item_usage_set(Eina_Hash *hist, Evry_Item *it, const char *input, const char *ctxt);
EAPI int evry_browse_item(Evry_Selector *sel);
void evry_browse_back(Evry_Selector *sel);
EAPI extern Config *evry_conf;
EAPI extern History *evry_hist;
extern Evry_Selector **selectors;
extern const char *action_selector;
#endif

View File

@ -20,7 +20,7 @@ static E_Config_DD *hist_entry_edd = NULL;
static E_Config_DD *hist_item_edd = NULL;
static E_Config_DD *hist_edd = NULL;
History *evry_hist = NULL;
Evry_History *evry_hist = NULL;
void
evry_history_init(void)
@ -45,8 +45,8 @@ evry_history_init(void)
E_CONFIG_LIST(D, T, items, hist_item_edd);
#undef T
#undef D
hist_edd = E_CONFIG_DD_NEW("History", History);
#define T History
hist_edd = E_CONFIG_DD_NEW("History", Evry_History);
#define T Evry_History
#define D hist_edd
E_CONFIG_VAL(D, T, version, INT);
E_CONFIG_VAL(D, T, begin, DOUBLE);
@ -177,7 +177,7 @@ evry_history_load(void)
if (!evry_hist)
{
evry_hist = E_NEW(History, 1);
evry_hist = E_NEW(Evry_History, 1);
evry_hist->version = HISTORY_VERSION;
evry_hist->begin = ecore_time_get();
}

View File

@ -1,64 +0,0 @@
MAINTAINERCLEANFILES = Makefile.in
MODULE = everything
# 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@
plugindir = $(libdir)/enlightenment/modules/$(MODULE)/plugins/core/$(MODULE_ARCH)
evry_plug_appsdir = $(plugindir)
evry_plug_apps_LTLIBRARIES = evry_plug_apps.la
evry_plug_apps_la_SOURCES = evry_plug_apps.c
evry_plug_apps_la_LIBADD = @e_libs@ ../libfoo.la
evry_plug_apps_la_LDFLAGS = -module -avoid-version
evry_plug_apps_la_LIBTOOLFLAGS = --tag=disable-static
evry_plug_borderdir = $(plugindir)
evry_plug_border_LTLIBRARIES = evry_plug_border.la
evry_plug_border_la_SOURCES = evry_plug_border.c
evry_plug_border_la_LIBADD = @e_libs@ ../libfoo.la
evry_plug_border_la_LDFLAGS = -module -avoid-version
evry_plug_border_la_LIBTOOLFLAGS = --tag=disable-static
evry_plug_dir_browsedir = $(plugindir)
evry_plug_dir_browse_LTLIBRARIES = evry_plug_dir_browse.la
evry_plug_dir_browse_la_SOURCES = evry_plug_dir_browse.c
evry_plug_dir_browse_la_LIBADD = @e_libs@ ../libfoo.la
evry_plug_dir_browse_la_LDFLAGS = -module -avoid-version
evry_plug_dir_browse_la_LIBTOOLFLAGS = --tag=disable-static
evry_plug_calcdir = $(plugindir)
evry_plug_calc_LTLIBRARIES = evry_plug_calc.la
evry_plug_calc_la_SOURCES = evry_plug_calc.c
evry_plug_calc_la_LIBADD = @e_libs@ ../libfoo.la
evry_plug_calc_la_LDFLAGS = -module -avoid-version
evry_plug_calc_la_LIBTOOLFLAGS = --tag=disable-static
evry_plug_configdir = $(plugindir)
evry_plug_config_LTLIBRARIES = evry_plug_config.la
evry_plug_config_la_SOURCES = evry_plug_config.c
evry_plug_config_la_LIBADD = @e_libs@ ../libfoo.la
evry_plug_config_la_LDFLAGS = -module -avoid-version
evry_plug_config_la_LIBTOOLFLAGS = --tag=disable-static
evry_plug_aspelldir = $(plugindir)
evry_plug_aspell_LTLIBRARIES = evry_plug_aspell.la
evry_plug_aspell_la_SOURCES = evry_plug_aspell.c
evry_plug_aspell_la_LIBADD = @e_libs@ ../libfoo.la
evry_plug_aspell_la_LDFLAGS = -module -avoid-version
evry_plug_aspell_la_LIBTOOLFLAGS = --tag=disable-static
evry_plug_textdir = $(plugindir)
evry_plug_text_LTLIBRARIES = evry_plug_text.la
evry_plug_text_la_SOURCES = evry_plug_text.c
evry_plug_text_la_LIBADD = @e_libs@ ../libfoo.la
evry_plug_text_la_LDFLAGS = -module -avoid-version
evry_plug_text_la_LIBTOOLFLAGS = --tag=disable-static

View File

@ -1,260 +0,0 @@
#include "e.h"
#include "e_mod_main.h"
static Evry_Plugin *plugin;
static Eina_List *handlers = NULL;
static Eina_Hash *border_hash = NULL;
static int
_cb_border_remove(void *data, int type, void *event)
{
E_Event_Border_Remove *ev = event;
Evry_Item *it;
Evry_Plugin *p = data;
it = eina_hash_find(border_hash, &(ev->border));
if (!it) return 1;
p->items = eina_list_remove(p->items, it);
eina_hash_del_by_key(border_hash, &(ev->border));
evry_plugin_async_update(p, EVRY_ASYNC_UPDATE_ADD);
return 1;
}
static void _hash_free(void *data)
{
Evry_Item *it = data;
evry_item_free(it);
}
static Evry_Plugin *
_begin(Evry_Plugin *p, const Evry_Item *it)
{
handlers = eina_list_append
(handlers, ecore_event_handler_add
(E_EVENT_BORDER_REMOVE, _cb_border_remove, p));
border_hash = eina_hash_pointer_new(_hash_free);
return p;
}
static void
_cleanup(Evry_Plugin *p)
{
Ecore_Event_Handler *h;
EINA_LIST_FREE(handlers, h)
ecore_event_handler_del(h);
if (border_hash) eina_hash_free(border_hash);
border_hash = NULL;
EVRY_PLUGIN_ITEMS_CLEAR(p);
}
static void
_item_free(Evry_Item *it)
{
if (it->data)
e_object_unref(E_OBJECT(it->data));
E_FREE(it);
}
static void
_item_add(Evry_Plugin *p, E_Border *bd, int match, int *prio)
{
Evry_Item *it = NULL;
if ((it = eina_hash_find(border_hash, &bd)))
{
it->priority = *prio;
EVRY_PLUGIN_ITEM_APPEND(p, it);
it->fuzzy_match = match;
*prio += 1;
return;
}
it = evry_item_new(NULL, p, e_border_name_get(bd), _item_free);
e_object_ref(E_OBJECT(bd));
it->data = bd;
it->fuzzy_match = match;
it->priority = *prio;
it->transient = EINA_TRUE;
it->id = eina_stringshare_add(e_util_winid_str_get(bd->win));
*prio += 1;
eina_hash_add(border_hash, &bd, it);
EVRY_PLUGIN_ITEM_APPEND(p, it);
}
static int
_cb_sort(const void *data1, const void *data2)
{
const Evry_Item *it1 = data1;
const Evry_Item *it2 = data2;
if (it1->fuzzy_match - it2->fuzzy_match)
return (it1->fuzzy_match - it2->fuzzy_match);
return (it1->priority - it2->priority);
}
static int
_fetch(Evry_Plugin *p, const char *input)
{
E_Zone *zone;
E_Border *bd;
Eina_List *l;
int prio = 0;
int m1, m2;
EVRY_PLUGIN_ITEMS_CLEAR(p);
zone = e_util_zone_current_get(e_manager_current_get());
EINA_LIST_FOREACH(e_border_focus_stack_get(), l, bd)
{
if (zone == bd->zone)
{
if (!input)
_item_add(p, bd, 0, &prio);
else
{
m1 = evry_fuzzy_match(e_border_name_get(bd), input);
if (bd->client.icccm.name)
{
m2 = evry_fuzzy_match(bd->client.icccm.name, input);
if (!m1 || (m2 && m2 < m1))
m1 = m2;
}
if (bd->desktop)
{
m2 = evry_fuzzy_match(bd->desktop->name, input);
if (!m1 || (m2 && m2 < m1))
m1 = m2;
}
if (m1)
_item_add(p, bd, m1, &prio);
}
}
}
if (!p->items) return 0;
EVRY_PLUGIN_ITEMS_SORT(p, _cb_sort);
return 1;
}
static Evas_Object *
_item_icon_get(Evry_Plugin *p __UNUSED__, const Evry_Item *it, Evas *e)
{
Evas_Object *o = NULL;
E_Border *bd = it->data;
if (bd->internal)
{
o = edje_object_add(e);
if (!bd->internal_icon)
e_util_edje_icon_set(o, "enlightenment/e");
else
{
if (!bd->internal_icon_key)
{
char *ext;
ext = strrchr(bd->internal_icon, '.');
if ((ext) && ((!strcmp(ext, ".edj"))))
{
if (!edje_object_file_set(o, bd->internal_icon, "icon"))
e_util_edje_icon_set(o, "enlightenment/e");
}
else if (ext)
{
evas_object_del(o);
o = e_icon_add(e);
e_icon_file_set(o, bd->internal_icon);
}
else
{
if (!e_util_edje_icon_set(o, bd->internal_icon))
e_util_edje_icon_set(o, "enlightenment/e");
}
}
else
{
edje_object_file_set(o, bd->internal_icon,
bd->internal_icon_key);
}
}
return o;
}
if (!o && bd->desktop)
o = e_util_desktop_icon_add(bd->desktop, 128, e);
if (!o && bd->client.netwm.icons)
{
int i, size, tmp, found = 0;
o = e_icon_add(e);
size = bd->client.netwm.icons[0].width;
for (i = 1; i < bd->client.netwm.num_icons; i++)
{
if ((tmp = bd->client.netwm.icons[i].width) > size)
{
size = tmp;
found = i;
}
}
e_icon_data_set(o, bd->client.netwm.icons[found].data,
bd->client.netwm.icons[found].width,
bd->client.netwm.icons[found].height);
e_icon_alpha_set(o, 1);
return o;
}
if (!o)
o = e_border_icon_add(bd, e);
return o;
}
static Eina_Bool
_init(void)
{
if (!evry_api_version_check(EVRY_API_VERSION))
return EINA_FALSE;
plugin = evry_plugin_new(NULL, "Windows", type_subject, NULL, "BORDER", 0, NULL, NULL,
_begin, _cleanup, _fetch, NULL, _item_icon_get, NULL, NULL);
evry_plugin_register(plugin, 2);
return EINA_TRUE;
}
static void
_shutdown(void)
{
EVRY_PLUGIN_FREE(plugin);
}
EINA_MODULE_INIT(_init);
EINA_MODULE_SHUTDOWN(_shutdown);

View File

@ -1,60 +0,0 @@
#include "Evry.h"
static Evry_Plugin *p1;
static Evry_Plugin *p2;
static void
_cleanup(Evry_Plugin *p)
{
EVRY_PLUGIN_ITEMS_FREE(p);
}
static int
_fetch(Evry_Plugin *p, const char *input)
{
Evry_Item *it;
EVRY_PLUGIN_ITEMS_FREE(p);
if (input)
{
it = evry_item_new(NULL, p, input, NULL);
it->fuzzy_match = 9999;
EVRY_PLUGIN_ITEM_APPEND(p, it);
return 1;
}
return 0;
}
static Eina_Bool
_init(void)
{
if (!evry_api_version_check(EVRY_API_VERSION))
return EINA_FALSE;
p1 = evry_plugin_new(NULL, "Text", type_subject, NULL, "TEXT", 1, "accessories-text-editor", NULL,
NULL, _cleanup, _fetch, NULL, NULL, NULL, NULL);
p2 = evry_plugin_new(NULL, "Text", type_object, NULL, "TEXT", 1, "accessories-text-editor", NULL,
NULL, _cleanup, _fetch, NULL, NULL, NULL, NULL);
evry_plugin_register(p1, 100);
evry_plugin_register(p2, 100);
return EINA_TRUE;
}
static void
_shutdown(void)
{
EVRY_PLUGIN_FREE(p1);
EVRY_PLUGIN_FREE(p2);
}
EINA_MODULE_INIT(_init);
EINA_MODULE_SHUTDOWN(_shutdown);

View File

@ -1,36 +0,0 @@
MAINTAINERCLEANFILES = Makefile.in
MODULE = everything
# 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@
plugindir = $(libdir)/enlightenment/modules/$(MODULE)/plugins/core/$(MODULE_ARCH)
evry_plug_previewdir = $(plugindir)
evry_plug_preview_LTLIBRARIES = evry_plug_preview.la
evry_plug_preview_la_SOURCES = evry_plug_preview.c
evry_plug_preview_la_LIBADD = @e_libs@ ../libfoo.la
evry_plug_preview_la_LDFLAGS = -module -avoid-version
evry_plug_preview_la_LIBTOOLFLAGS = --tag=disable-static
evry_plug_view_helpdir = $(plugindir)
evry_plug_view_help_LTLIBRARIES = evry_plug_view_help.la
evry_plug_view_help_la_SOURCES = evry_plug_view_help.c
evry_plug_view_help_la_LIBADD = @e_libs@ ../libfoo.la
evry_plug_view_help_la_LDFLAGS = -module -avoid-version
evry_plug_view_help_la_LIBTOOLFLAGS = --tag=disable-static
evry_plug_view_thumbdir = $(plugindir)
evry_plug_view_thumb_LTLIBRARIES = evry_plug_view_thumb.la
evry_plug_view_thumb_la_SOURCES = evry_plug_view_thumb.c
evry_plug_view_thumb_la_LIBADD = @e_libs@ ../libfoo.la
evry_plug_view_thumb_la_LDFLAGS = -module -avoid-version
evry_plug_view_thumb_la_LIBTOOLFLAGS = --tag=disable-static

View File

@ -1,266 +0,0 @@
#include "Evry.h"
typedef struct _Image_View Image_View;
struct _Image_View
{
Evry_View view;
Evas *evas;
const Evry_State *state;
Evas_Object *o_main;
Eina_List *items;
Evas_Object *o_thumb[4];
};
static Evry_View *view = NULL;
static const char *view_types = NULL;
static int
_check_item(const Evry_Item *it)
{
if (!it || it->plugin->type_out != view_types) return 0;
ITEM_FILE(file, it);
if (!file->path || !file->mime) return 0;
if (!strncmp(file->mime, "image/", 6))
return 1;
return 0;
}
static void
_cb_preview_thumb_gen(void *data, Evas_Object *obj, void *event_info)
{
Evas_Coord w, h;
Image_View *v = data;
e_icon_size_get(v->o_thumb[1], &w, &h);
edje_extern_object_min_size_set(v->o_thumb[1], w, h);
edje_object_part_swallow(v->o_main, "e.swallow.icon2", v->o_thumb[1]);
evas_object_show(v->o_thumb[1]);
}
void
_show_item(Image_View *v, const Evry_Item_File *file, int dir)
{
int w, h;
if (v->o_thumb[1 + dir])
{
e_thumb_icon_end(v->o_thumb[1+dir]);
edje_object_part_unswallow(v->o_main, v->o_thumb[1+dir]);
evas_object_hide(v->o_thumb[1+dir]);
evas_object_del(v->o_thumb[1+dir]);
}
if (dir && v->o_thumb[1])
{
edje_object_part_unswallow(v->o_main, v->o_thumb[1]);
if (dir > 0)
{
v->o_thumb[2] = v->o_thumb[1];
edje_object_part_swallow(v->o_main, "e.swallow.icon1", v->o_thumb[2]);
}
else
{
v->o_thumb[0] = v->o_thumb[1];
edje_object_part_swallow(v->o_main, "e.swallow.icon3", v->o_thumb[0]);
}
}
v->o_thumb[1] = e_thumb_icon_add(v->evas);
e_thumb_icon_file_set(v->o_thumb[1], file->path, NULL);
evas_object_smart_callback_add(v->o_thumb[1], "e_thumb_gen", _cb_preview_thumb_gen, v);
edje_object_part_geometry_get(v->o_main, "e.swallow.icon2", NULL, NULL, &w, &h);
e_thumb_icon_size_set(v->o_thumb[1], w, h);
e_thumb_icon_begin(v->o_thumb[1]);
if (dir)
{
if (dir > 0)
edje_object_signal_emit(v->o_main, "e,signal,slide_left", "e");
else
edje_object_signal_emit(v->o_main, "e,signal,slide_right", "e");
}
}
static int
_cb_key_down(Evry_View *view, const Ecore_Event_Key *ev)
{
Image_View *v = (Image_View *) view;
Eina_List *l;
Evry_Item_File *file = NULL;
ITEM_FILE(cur_item, v->state->cur_item);
if (!strcmp(ev->key, "Down"))
{
if (!v->items) return 1;
l = eina_list_data_find_list(v->items, cur_item);
if (l && l->next)
file = l->next->data;
else
file = v->items->data;
if (file && (file != cur_item))
{
_show_item(v, file, 1);
evry_item_select(v->state, EVRY_ITEM(file));
}
return 1;
}
else if (!strcmp(ev->key, "Up"))
{
if (!v->items) return 1;
l = eina_list_data_find_list(v->items, cur_item);
if (l && l->prev)
file = l->prev->data;
else
file = eina_list_last(v->items)->data;
if (file && (file != cur_item))
{
_show_item(v, file, -1);
evry_item_select(v->state, EVRY_ITEM(file));
}
return 1;
}
return 0;
}
static void
_view_clear(Evry_View *view)
{
Image_View *v = (Image_View *) view;
if (v->o_thumb[0]) evas_object_del(v->o_thumb[0]);
v->o_thumb[0] = NULL;
if (v->o_thumb[1]) evas_object_del(v->o_thumb[1]);
v->o_thumb[1] = NULL;
if (v->o_thumb[2]) evas_object_del(v->o_thumb[2]);
v->o_thumb[2] = NULL;
if (v->items) eina_list_free(v->items);
v->items = NULL;
}
static Eina_List *
_get_list(const Evry_State *s)
{
Eina_List *l, *items = NULL;
Evry_Item *it;
EINA_LIST_FOREACH(s->plugin->items, l, it)
if (_check_item(it))
items = eina_list_append(items, it);
return items;
}
static int
_view_update(Evry_View *view)
{
Image_View *v = (Image_View *) view;
Evry_Item_File *file;
Evry_Item *selected = v->state->cur_item;
v->items = _get_list(v->state);
if (!v->items) return 0;
file = eina_list_data_find(v->items, selected);
if (!file)
{
file = v->items->data;
evry_item_select(v->state, EVRY_ITEM(file));
}
_show_item(v, file, 0);
return 1;
}
static Evry_View *
_view_create(Evry_View *view, const Evry_State *s, const Evas_Object *swallow)
{
Image_View *v;
int w, h, x, y;
if (!s->plugin)
return NULL;
if (!_get_list(s))
return NULL;
v = E_NEW(Image_View, 1);
v->view = *view;
v->state = s;
v->evas = evas_object_evas_get(swallow);
v->o_main = edje_object_add(v->evas);
e_theme_edje_object_set(v->o_main, "base/theme/everything",
"e/modules/everything/preview");
edje_object_part_geometry_get(swallow, "e.swallow.list", &x, &y, &w, &h);
edje_extern_object_min_size_set(v->o_main, w * 3, 100);
evas_object_resize(v->o_main, w * 3, h);
EVRY_VIEW(v)->o_list = v->o_main;
return EVRY_VIEW(v);
}
static void
_view_destroy(Evry_View *view)
{
Image_View *v = (Image_View *) view;
_view_clear(view);
evas_object_del(v->o_main);
E_FREE(v);
}
static Eina_Bool
_init(void)
{
if (!evry_api_version_check(EVRY_API_VERSION))
return EINA_FALSE;
view = E_NEW(Evry_View, 1);
view->id = view;
view->name = "Image Viewer";
view->create = &_view_create;
view->destroy = &_view_destroy;
view->update = &_view_update;
view->clear = &_view_clear;
view->cb_key_down = &_cb_key_down;
evry_view_register(view, 3);
view_types = eina_stringshare_add("FILE");
return EINA_TRUE;
}
static void
_shutdown(void)
{
eina_stringshare_del(view_types);
evry_view_unregister(view);
E_FREE(view);
}
EINA_MODULE_INIT(_init);
EINA_MODULE_SHUTDOWN(_shutdown);

View File

@ -1,139 +0,0 @@
#include "Evry.h"
static Evry_View *view;
static Evas_Object *o_text = NULL;
static void
_view_clear(Evry_View *v)
{
v->active = 0;
evas_object_del(v->o_list);
evas_object_del(o_text);
o_text = NULL;
}
static int
_view_update(Evry_View *v)
{
return 1;
}
static int
_cb_key_down(Evry_View *v, const Ecore_Event_Key *ev)
{
Evas_Object *o;
double align;
int h;
if (!strcmp(ev->key, "Down"))
{
o = v->o_list;
evas_object_geometry_get(o, NULL, NULL, NULL, &h);
e_box_align_get(o, NULL, &align);
align = align - (double)10/(double)h;
if (align < 0.0) align = 0.0;
e_box_align_set(v->o_list, 0.5, align);
return 1;
}
else if (!strcmp(ev->key, "Up"))
{
o = v->o_list;
evas_object_geometry_get(o, NULL, NULL, NULL, &h);
e_box_align_get(o, NULL, &align);
align = align + (double)10/(double)h;
if (align > 1.0) align = 1.0;
e_box_align_set(v->o_list, 0.5, align);
return 1;
}
return 0;
}
static Evry_View *
_view_create(Evry_View *v, const Evry_State *s, const Evas_Object *swallow)
{
Evas_Object *o;
int mw, mh;
char *text =
"<title><b>Welcome!</b></title>"
"Ok, here comes the explanation of <hilight>everything</hilight>...<br>"
"Just type a few letters of the thing you are looking for. <br>"
"Use cursor <hilight>&lt;up/down&gt;</hilight> to choose from the list of things.<br>"
"Press <hilight>&lt;tab&gt;</hilight> to select "
"an action, then press <hilight>&lt;return&gt;</hilight>.<br>"
/* "You might want to know <br>some mo keybinding to ease your experience though.<br>" */
"<hilight>&lt;space&gt;&lt;?&gt;</hilight> show this page<br>"
"<hilight>&lt;ctrl+letter&gt;</hilight> jump to plugin beginning with 'letter'<br>"
"<hilight>&lt;ctrl+left/right&gt;</hilight>"
"cycle through plugins<br>"
"<hilight>&lt;ctrl+1&gt;</hilight> "
"choose a different view (e.g. for images)<br>";
if (v->active) return v;
o = e_box_add(evas_object_evas_get(swallow));
e_box_orientation_set(o, 0);
e_box_align_set(o, 0.5, 1.0);
v->o_list = o;
e_box_freeze(v->o_list);
o = edje_object_add(evas_object_evas_get(swallow));
e_theme_edje_object_set(o, "base/theme/widgets",
"e/widgets/textblock");
edje_object_part_text_set(o, "e.textblock.text", text);
e_box_pack_start(v->o_list, o);
edje_object_size_min_calc(o, &mw, &mh);
e_box_pack_options_set(o, 1, 0, 1, 0, 0.5, 0.5, mw, mh + 200, 999, 999);
e_box_thaw(v->o_list);
evas_object_show(o);
o_text = o;
v->active = 1;
return v;
}
static void
_view_destroy(Evry_View *v)
{
v->active = 0;
}
static Eina_Bool
_init(void)
{
if (!evry_api_version_check(EVRY_API_VERSION))
return EINA_FALSE;
view = E_NEW(Evry_View, 1);
view->id = view;
view->name = "Help";
view->create = &_view_create;
view->destroy = &_view_destroy;
view->update = &_view_update;
view->clear = &_view_clear;
view->cb_key_down = &_cb_key_down;
view->trigger = "?";
/* view->types = "NONE"; */
evry_view_register(view, 2);
return EINA_TRUE;
}
static void
_shutdown(void)
{
evry_view_unregister(view);
E_FREE(view);
}
EINA_MODULE_INIT(_init);
EINA_MODULE_SHUTDOWN(_shutdown);

File diff suppressed because it is too large Load Diff