nice little overhaul of module related stuff. moduels now finally RELY on

module.eap files being installed - and using the e_apps api to load them and
ask for a name. Also icon is expected to be in this file too and i have
removed the info func call from modules as well as config_menu, module menus,
and other cruft in moduel structs. this also means revving the module api
version and saving users from a "if i recompile it will work" thing. :)
moduels need serious updates, not just a recompile for this. your modules
WILL break.


SVN revision: 23045
This commit is contained in:
Carsten Haitzler 2006-06-01 06:44:37 +00:00
parent f0ae0e8d64
commit 3a2144cad0
59 changed files with 44 additions and 584 deletions

20
TODO
View File

@ -48,14 +48,15 @@ Some of the things (in very short form) that need to be done to E17...
* finish complete netwm support
* add a "taskbar" module
* add cpu load module
* add a way to access "all" apps app dir
* add a way to access "all" apps app dir (and dnd from it into ibar etc.)
* add setup/install wizard to seed eap files etc. etc.
* support color classes
* support color classes (gui config etc. etc.)
* add clientinfo pane/popdown for borders
* gui config dialogs for all config
* make it possible to disable border buttons/actions (tell theme what is
disabled)
* shelf gui config needs a basic mode that is simpler.
* shelf gui config needs a basic mode that is simpler and current becomes
"advanced" mode.
* ibar should support creating and deleting bar dirs
* ibar labels need to be selected (name, generic, etc.)
]]]
@ -65,6 +66,7 @@ Some of the things (in very short form) that need to be done to E17...
CLEANUPS
-------------------------------------------------------------------------------
* ipc is a mess. overgrown. hard to work with. what to do? remove?
* EAP cache files can be hit and miss and have problems. move things to be
explicit reloads.
* winlist should support place for window "screenshot" in list as well as
@ -73,8 +75,6 @@ Some of the things (in very short form) that need to be done to E17...
per desktop (with stick windows considered to live on the "current" desk
when winlist starts)
* make it easy for modules to hook into ipc and extend it for themselves
* module api needs to move label and icon to data file (.eap file?), not api
* allow object paranoia to be a runtime option too
]]]
[[[
@ -82,6 +82,8 @@ Some of the things (in very short form) that need to be done to E17...
"NICE TO HAVE" FEATURES
-------------------------------------------------------------------------------
* option to allow flipping desktops to wrap at virtual desktop grid edges
* window menu with raise/lower for windows (obviously missing currently)
* ibox should have options "Show from this desktop", "Show from all desktops",
"show from zones", "show from this zone", etc. Similarly to those, that are
in winlist.
@ -90,11 +92,6 @@ Some of the things (in very short form) that need to be done to E17...
* switch to desktop of a new window if it opens on another desktop than the
current one
* emit signal to submenu entries if they have a submenu shown for them or not
* tip/hint/suggestion dialog
* add tooltips
* add locale and encoding fields to eapp files (to launch eapp in that
locale+encoding)
* add input method selector stuff to eapp - same as locale
* setup configs for gnome and kde (as options) if they are installed (eg
run gnome-settings-daemon).
* check engine can work on a given screen before using it
@ -102,8 +99,6 @@ Some of the things (in very short form) that need to be done to E17...
* add "osd" subsystem for things like volume controls on keybboards, etc.
that overlay the screen
* file icons on the desktop (people ask for it) - xdnd for these
* a "togglelist" widget (a scrollable list of items where u toggle
each of them on or off - much like ilist, but with a checkbox)
* "disable this gadget" menu option on gadcon clients
* improve drag/resize of gadget items
* pager should be able to be configured to control more than the current zone
@ -117,4 +112,3 @@ Some of the things (in very short form) that need to be done to E17...
* optimize clock theme (speed/cpu) (rotation in edje??? or evas???)
]]]

View File

@ -7,6 +7,8 @@
#include "config.h"
#define USE_IPC
/* #define OBJECT_PARANOIA_CHECK */
/* #define OBJECT_CHECK */
#include <stdio.h>
#include <stdlib.h>

View File

@ -264,7 +264,6 @@ _e_gadget_free(E_Gadget *gad)
}
evas_list_free(gad->faces);
gad->module->config_menu = NULL;
e_object_unref(E_OBJECT(gad->module));
if (gad->name) evas_stringshare_del(gad->name);
free(gad);

View File

@ -250,17 +250,24 @@ _basic_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cf
cm = l->data;
if (cm)
{
E_App *a;
cm->state = MOD_UNLOADED;
m = e_module_find(cm->name);
if (m)
{
if (m->enabled) cm->state = MOD_ENABLED;
}
/* This Fails if module author names icon something else */
snprintf(buf, sizeof(buf), "%s/module_icon.png", cm->path);
oc = e_icon_add(evas);
e_icon_file_set(oc, buf);
e_widget_ilist_append(ilist, oc, cm->name, NULL, NULL, NULL);
snprintf(buf, sizeof(buf), "%s/module.eap", cm->path);
a = e_app_new(buf, 0);
if (a)
{
oc = edje_object_add(evas);
edje_object_file_set(oc, buf, "icon");
e_widget_ilist_append(ilist, oc, a->name, NULL, NULL, NULL);
e_object_unref(E_OBJECT(a));
}
}
}

View File

@ -444,179 +444,3 @@ _basic_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cf
return o;
}
/************* raster original code ********************/
#if 0
static int
_basic_apply_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata)
{
Evas_List *l, *l2;
E_Config_Gadcon *cf_gc, *cf_gc2;
E_Config_Gadcon_Client *cf_gcc, *cf_gcc2;
int i, ok = 0;
char buf[256];
cfdata->gc->config_dialog = cfd;
for (l = e_config->gadcons; l; l = l->next)
{
cf_gc = l->data;
if ((!strcmp(cf_gc->name, cfdata->gc->name)) &&
(!strcmp(cf_gc->id, cfdata->gc->id)))
{
ok = 1;
break;
}
}
if (!ok) return 1;
for (l = cf_gc->clients; l; l = l->next)
{
cf_gcc = l->data;
if (!cf_gcc->name) continue;
if (!strcmp(cf_gcc->name, cfdata->cname))
{
if (!cfdata->enabled)
{
/* remove from list */
cf_gc->clients = evas_list_remove_list(cf_gc->clients, l);
if (cf_gcc->name) evas_stringshare_del(cf_gcc->name);
if (cf_gcc->id) evas_stringshare_del(cf_gcc->id);
if (cf_gcc->style) evas_stringshare_del(cf_gcc->style);
free(cf_gcc);
goto savedone;
}
return 1; /* Apply was OK */
}
}
snprintf(buf, sizeof(buf), "default");
for (i = 0; ; i++)
{
ok = 1;
for (l = e_config->gadcons; l; l = l->next)
{
cf_gc2 = l->data;
for (l2 = cf_gc2->clients; l2; l2 = l2->next)
{
cf_gcc2 = l2->data;
if ((!cf_gcc2->name) || (!cf_gcc2->id)) continue;
if ((!strcmp(cf_gcc2->name, cfdata->cname)) && (!strcmp(cf_gcc2->id, buf)))
{
ok = 0;
goto done;
}
}
}
if (ok) break;
done:
snprintf(buf, sizeof(buf), "other-%i", i);
}
cf_gcc = E_NEW(E_Config_Gadcon_Client, 1);
cf_gcc->name = evas_stringshare_add(cfdata->cname);
cf_gcc->id = evas_stringshare_add(buf);
cf_gcc->geom.res = 800;
cf_gcc->geom.size = 80;
cf_gcc->geom.pos = cf_gcc->geom.res - cf_gcc->geom.size;
cf_gcc->autoscroll = 0;
cf_gcc->resizable = 0;
cf_gc->clients = evas_list_append(cf_gc->clients, cf_gcc);
savedone:
e_gadcon_unpopulate(cfdata->gc);
e_gadcon_populate(cfdata->gc);
e_config_save_queue();
return 1; /* Apply was OK */
}
static void
_cb_select(void *data)
{
E_Config_Dialog_Data *cfdata;
Evas_List *l;
E_Config_Gadcon *cf_gc;
E_Config_Gadcon_Client *cf_gcc;
int ok = 0, enabled = 0;
cfdata = data;
e_widget_disabled_set(cfdata->o_enabled, 0);
e_widget_disabled_set(cfdata->o_disabled, 0);
for (l = e_config->gadcons; l; l = l->next)
{
cf_gc = l->data;
if ((!strcmp(cf_gc->name, cfdata->gc->name)) &&
(!strcmp(cf_gc->id, cfdata->gc->id)))
{
ok = 1;
break;
}
}
if (!ok) return;
for (l = cf_gc->clients; l; l = l->next)
{
cf_gcc = l->data;
if (!cf_gcc->name) continue;
if (!strcmp(cf_gcc->name, cfdata->cname))
{
enabled = 1;
break;
}
}
e_widget_radio_toggle_set(cfdata->o_enabled, enabled);
e_widget_radio_toggle_set(cfdata->o_disabled, 1 - enabled);
}
static Evas_Object *
_basic_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cfdata)
{
/* generate the core widget layout for a basic dialog */
Evas_Object *o, *o2, *of, *ob, *oi, *oj;
E_Radio_Group *rg;
Evas_Coord wmw, wmh;
Evas_List *styles, *l;
int sel, n;
/* FIXME: this is just raw config now - it needs UI improvments */
o = e_widget_list_add(evas, 0, 1);
of = e_widget_framelist_add(evas, _("Available Items"), 0);
oi = e_widget_ilist_add(evas, 24, 24, &(cfdata->cname));
for (l = e_gadcon_provider_list(); l; l = l->next)
{
E_Gadcon_Client_Class *cc;
char *label;
Evas_Object *icon;
cc = l->data;
icon = NULL;
label = NULL;
if (cc->func.label) label = cc->func.label();
if (!label) label = cc->name;
if (cc->func.icon) icon = cc->func.icon(evas);
e_widget_ilist_append(oi, icon, label, _cb_select, cfdata, cc->name);
}
e_widget_ilist_go(oi);
e_widget_min_size_get(oi, &wmw, &wmh);
if (wmw < 200) wmw = 200;
e_widget_min_size_set(oi, wmw, 250);
e_widget_framelist_object_append(of, oi);
e_widget_list_object_append(o, of, 1, 1, 0.5);
of = e_widget_framelist_add(evas, _("Status"), 0);
rg = e_widget_radio_group_new(&(cfdata->enabled));
ob = e_widget_radio_add(evas, _("Enabled"), 1, rg);
e_widget_disabled_set(ob, 1);
e_widget_framelist_object_append(of, ob);
cfdata->o_enabled = ob;
ob = e_widget_radio_add(evas, _("Disabled"), 0, rg);
e_widget_disabled_set(ob, 1);
e_widget_framelist_object_append(of, ob);
cfdata->o_disabled = ob;
e_widget_list_object_append(o, of, 0, 0, 0.0);
return o;
}
#endif

View File

@ -11,9 +11,7 @@ struct _Main_Data
E_Menu *apps;
E_Menu *desktops;
E_Menu *clients;
// E_Menu *modules;
E_Menu *gadgets;
// E_Menu *themes;
E_Menu *config;
E_Menu *lost_clients;
};
@ -46,12 +44,10 @@ static void _e_int_menus_desktops_pre_cb (void *data, E_Menu *m);
static void _e_int_menus_desktops_item_cb (void *data, E_Menu *m, E_Menu_Item *mi);
static void _e_int_menus_gadgets_pre_cb (void *data, E_Menu *m);
static void _e_int_menus_gadgets_edit_mode_cb(void *data, E_Menu *m, E_Menu_Item *mi);
static void _e_int_menus_themes_pre_cb (void *data, E_Menu *m);
static void _e_int_menus_themes_edit_mode_cb (void *data, E_Menu *m, E_Menu_Item *mi);
static void _e_int_menus_themes_about (void *data, E_Menu *m, E_Menu_Item *mi);
static void _e_int_menus_lost_clients_pre_cb (void *data, E_Menu *m);
static void _e_int_menus_lost_clients_free_hook (void *obj);
static void _e_int_menus_lost_clients_item_cb (void *data, E_Menu *m, E_Menu_Item *mi);
static void _e_int_menus_lost_clients_pre_cb (void *data, E_Menu *m);
static void _e_int_menus_lost_clients_free_hook(void *obj);
static void _e_int_menus_lost_clients_item_cb (void *data, E_Menu *m, E_Menu_Item *mi);
static void _e_int_menus_augmentation_add (E_Menu *m, Evas_List *augmentation);
static void _e_int_menus_augmentation_del (E_Menu *m, Evas_List *augmentation);
@ -90,20 +86,6 @@ e_int_menus_main_new(void)
mi = e_menu_item_new(m);
e_menu_item_separator_set(mi, 1);
/* Modules menu MUST go. it's inconsistsent with the dialog - it displays only
* loaded modules, dialog displays everything so u can load and unload etc.
* it's BAD to have 2 UI's and each be inconsistent with the other. use the
* dialog. this code will go soon.
*/
/*
subm = e_module_menu_new();
dat->modules = subm;
mi = e_menu_item_new(m);
e_menu_item_label_set(mi, _("Modules"));
e_util_menu_item_edje_icon_set(mi, "enlightenment/modules");
e_menu_item_submenu_set(mi, subm);
*/
subm = e_int_menus_desktops_new();
dat->desktops = subm;
mi = e_menu_item_new(m);
@ -132,18 +114,6 @@ e_int_menus_main_new(void)
e_util_menu_item_edje_icon_set(mi, "enlightenment/gadgets");
e_menu_item_submenu_set(mi, subm);
/* We have a config dialog for this - this menu was a hack nayway to start
* with
*/
/*
subm = e_int_menus_themes_new();
dat->themes = subm;
mi = e_menu_item_new(m);
e_menu_item_label_set(mi, _("Themes"));
e_util_menu_item_edje_icon_set(mi, "enlightenment/themes");
e_menu_item_submenu_set(mi, subm);
*/
mi = e_menu_item_new(m);
e_menu_item_separator_set(mi, 1);
@ -253,18 +223,6 @@ e_int_menus_gadgets_new(void)
return m;
}
/*
EAPI E_Menu *
e_int_menus_themes_new(void)
{
E_Menu *m;
m = e_menu_new();
e_menu_pre_activate_callback_set(m, _e_int_menus_themes_pre_cb, NULL);
return m;
}
*/
EAPI E_Menu *
e_int_menus_lost_clients_new(void)
{
@ -355,11 +313,9 @@ _e_int_menus_main_del_hook(void *obj)
if (dat)
{
e_object_del(E_OBJECT(dat->apps));
// e_object_del(E_OBJECT(dat->modules));
e_object_del(E_OBJECT(dat->desktops));
e_object_del(E_OBJECT(dat->clients));
e_object_del(E_OBJECT(dat->gadgets));
// e_object_del(E_OBJECT(dat->themes));
e_object_del(E_OBJECT(dat->config));
e_object_del(E_OBJECT(dat->lost_clients));
free(dat);
@ -831,135 +787,6 @@ _e_int_menus_gadgets_edit_mode_cb(void *data, E_Menu *m, E_Menu_Item *mi)
e_gadman_mode_set(gm, E_GADMAN_MODE_NORMAL);
}
}
/* FIXME:
*
* Remove this later, keep for fast theme switching now.
*/
/*
static void
_e_int_menus_themes_pre_cb(void *data, E_Menu *m)
{
E_Menu_Item *mi;
E_Menu *root;
e_menu_pre_activate_callback_set(m, NULL, NULL);
root = e_menu_root_get(m);
mi = e_menu_item_new(m);
e_menu_item_label_set(mi, _("About This Theme"));
e_util_menu_item_edje_icon_set(mi, "enlightenment/theme");
e_menu_item_callback_set(mi, _e_int_menus_themes_about, NULL);
mi = e_menu_item_new(m);
e_menu_item_separator_set(mi, 1);
if ((root) && (root->zone))
{
char buf[4096];
char *homedir;
homedir = e_user_homedir_get();
if (homedir)
{
snprintf(buf, sizeof(buf), "%s/.e/e/themes", homedir);
free(homedir);
}
if (ecore_file_is_dir(buf))
{
Ecore_List *themes;
themes = ecore_file_ls(buf);
if (themes)
{
char *theme, *deftheme = NULL;
char fulltheme[PATH_MAX];
Evas_Object *o;
Ecore_Evas *eebuf;
Evas *evasbuf;
Evas_List *l;
for (l = e_config->themes; l; l = l->next)
{
E_Config_Theme *et;
et = l->data;
if (!strcmp(et->category, "theme")) deftheme = et->file;
}
mi = e_menu_item_new(m);
e_menu_item_radio_set(mi, 1);
e_menu_item_radio_group_set(mi, 1);
if (((deftheme) && (!strcmp("default", deftheme))) ||
(!deftheme))
e_menu_item_toggle_set(mi, 1);
e_menu_item_label_set(mi, "default");
e_menu_item_callback_set(mi, _e_int_menus_themes_edit_mode_cb, NULL);
eebuf = ecore_evas_buffer_new(1, 1);
evasbuf = ecore_evas_get(eebuf);
o = edje_object_add(evasbuf);
while ((theme = ecore_list_next(themes)))
{
snprintf(fulltheme, sizeof(fulltheme), "%s/%s", buf, theme);
if (ecore_file_is_dir(fulltheme)) continue;
if(edje_object_file_set(o, fulltheme, "widgets/border/default/border"))
{
mi = e_menu_item_new(m);
e_menu_item_radio_set(mi, 1);
e_menu_item_radio_group_set(mi, 1);
if (deftheme)
{
if (!strcmp(theme, deftheme))
e_menu_item_toggle_set(mi, 1);
}
e_menu_item_label_set(mi, theme);
e_menu_item_callback_set(mi, _e_int_menus_themes_edit_mode_cb, NULL);
}
}
evas_object_del(o);
ecore_evas_free(eebuf);
ecore_list_destroy(themes);
}
}
}
}
static void
_e_int_menus_themes_edit_mode_cb(void *data, E_Menu *m, E_Menu_Item *mi)
{
E_Config_Theme *et;
Evas_List *l;
E_Action *a;
for (l = e_config->themes; l; l = l->next)
{
et = l->data;
if (!strcmp(et->category, "theme"))
{
e_config->themes = evas_list_remove_list(e_config->themes, l);
evas_stringshare_del(et->category);
evas_stringshare_del(et->file);
E_FREE(et);
break;
}
}
et = E_NEW(E_Config_Theme, 1);
et->category = evas_stringshare_add("theme");
et->file = evas_stringshare_add(mi->label);
e_config->themes = evas_list_append(e_config->themes, et);
e_config_save_queue();
a = e_action_find("restart");
if ((a) && (a->func.go)) a->func.go(NULL, NULL);
}
*/
static void
_e_int_menus_lost_clients_pre_cb(void *data, E_Menu *m)

View File

@ -130,16 +130,19 @@ e_module_new(const char *name)
m->func.init = dlsym(m->handle, "e_modapi_init");
m->func.shutdown = dlsym(m->handle, "e_modapi_shutdown");
m->func.save = dlsym(m->handle, "e_modapi_save");
m->func.info = dlsym(m->handle, "e_modapi_info");
m->func.about = dlsym(m->handle, "e_modapi_about");
m->func.config = dlsym(m->handle, "e_modapi_config");
if ((!m->func.init) ||
(!m->func.shutdown) ||
(!m->func.save) ||
(!m->func.info) ||
(!m->func.about) ||
(!m->api)
(!m->api) ||
// this is to more forcibly catch old/bad modules. will go - eventually,
// but for now is a good check to have
(dlsym(m->handle, "e_modapi_info"))
)
{
snprintf(body, sizeof(body), _("There was an error loading module named: %s<br>"
@ -153,7 +156,6 @@ e_module_new(const char *name)
m->func.init = NULL;
m->func.shutdown = NULL;
m->func.save = NULL;
m->func.info = NULL;
m->func.about = NULL;
m->func.config = NULL;
@ -176,7 +178,6 @@ e_module_new(const char *name)
m->func.init = NULL;
m->func.shutdown = NULL;
m->func.save = NULL;
m->func.info = NULL;
m->func.about = NULL;
m->func.config = NULL;
dlclose(m->handle);
@ -205,8 +206,6 @@ init_done:
}
}
}
if (m->func.info)
m->func.info(m);
for (l = e_config->modules; l; l = l->next)
{
E_Config_Module *em;
@ -356,53 +355,6 @@ e_module_list(void)
return _e_modules;
}
EAPI E_Menu *
e_module_menu_new(void)
{
E_Menu *m, *subm;
E_Menu_Item *mi;
Evas_List *l;
Module_Menu_Data *dat;
int mod_count = 0;
dat = calloc(1, sizeof(Module_Menu_Data));
m = e_menu_new();
e_object_data_set(E_OBJECT(m), dat);
e_object_free_attach_func_set(E_OBJECT(m), _e_module_menu_free);
for (l = _e_modules; l; l = l->next)
{
E_Module *mod;
mod = l->data;
mi = e_menu_item_new(m);
if ((mod->api) && (mod->api->name))
e_menu_item_label_set(mi, mod->api->name);
else e_menu_item_label_set(mi, mod->name);
if (mod->edje_icon_file)
{
if (mod->edje_icon_key)
e_menu_item_icon_edje_set(mi, mod->edje_icon_file, mod->edje_icon_key);
else
e_menu_item_icon_edje_set(mi, mod->edje_icon_file, "icon");
}
else if (mod->icon_file)
e_menu_item_icon_file_set(mi, mod->icon_file);
subm = _e_module_control_menu_new(mod);
if (subm)
{
e_menu_item_submenu_set(mi, subm);
dat->submenus = evas_list_append(dat->submenus, subm);
}
++mod_count;
}
if (mod_count == 0)
{
mi = e_menu_item_new(m);
e_menu_item_label_set(mi, _("(No Loaded Modules)"));
}
return m;
}
EAPI void
e_module_dialog_show(const char *title, const char *body)
{
@ -455,9 +407,6 @@ _e_module_free(E_Module *m)
if (m->dir) evas_stringshare_del(m->dir);
if (m->handle) dlclose(m->handle);
_e_modules = evas_list_remove(_e_modules, m);
if (m->icon_file) free(m->icon_file);
if (m->edje_icon_file) free(m->edje_icon_file);
if (m->edje_icon_key) free(m->edje_icon_key);
free(m);
}

View File

@ -3,7 +3,7 @@
*/
#ifdef E_TYPEDEFS
#define E_MODULE_API_VERSION 2
#define E_MODULE_API_VERSION 3
typedef struct _E_Module E_Module;
typedef struct _E_Module_Api E_Module_Api;
@ -28,7 +28,6 @@ struct _E_Module
void * (*init) (E_Module *m);
int (*shutdown) (E_Module *m);
int (*save) (E_Module *m);
int (*info) (E_Module *m);
int (*about) (E_Module *m);
int (*config) (E_Module *m);
} func;
@ -38,14 +37,6 @@ struct _E_Module
/* the module is allowed to modify these */
void *data;
E_Menu *config_menu;
/* modify these but only set them up when the info func is called */
/* e_module will free them when the module is freed. */
/* note you will need to malloc (strdup) these fields due to the free */
char *icon_file;
char *edje_icon_file;
char *edje_icon_key;
};
struct _E_Module_Api
@ -66,7 +57,6 @@ EAPI int e_module_enabled_get(E_Module *m);
EAPI int e_module_save_all(void);
EAPI E_Module *e_module_find(const char *name);
EAPI Evas_List *e_module_list(void);
EAPI E_Menu *e_module_menu_new(void);
EAPI void e_module_dialog_show(const char *title, const char *body);
#endif

View File

@ -3,17 +3,6 @@
*/
#include "e.h"
/* TODO List:
*
* * fix a lot of parts of e17's code to use e_object_del NOT e_object_unref.
* there is a subtle difference. unref means u had a reference and you stop
* referencing the object - thats ALL. if you created it and now literally
* want to destroy it - del is the way to go. there is a separate handler for
* this so on del it can go and clean up objects that may reference this one
* etc.
*
*/
/* yes - i know. glibc specific... but i like being able to do my own */
/* backtraces! NB: you need CFLAGS="-rdynamic -g" LDFLAGS="-rdynamic -g" */
#ifdef OBJECT_PARANOIA_CHECK

View File

@ -6,15 +6,12 @@
/* Object safety/debugging checks */
/* */
/* OBJECT_PARANOIA_CHECK is paranoid and checkes pointers and traps segv's */
/* incase they dont work... very paranoid and slow. NB for backtrace to */
/* in case they dont work... very paranoid and slow. NB for backtrace to */
/* work you need gcc, glibc and you need to compile with compile options of */
/* -g -rdynamic and link with them too */
/* OBJECT_CHECK is a simple null pointer and magic number check with no */
/* debug output */
/* #define OBJECT_PARANOIA_CHECK */
/* #define OBJECT_CHECK */
#ifndef __GLIBC__
# ifdef OBJECT_PARANOIA_CHECK
# warning "Your system doesn't have glibc. Paranoid object checking disabled."

View File

@ -4,8 +4,7 @@ MODULE = battery
# data files for the module
filesdir = $(libdir)/enlightenment/modules/$(MODULE)
files_DATA = \
module.eap \
module_icon.png
module.eap
EXTRA_DIST = $(files_DATA)

View File

@ -1424,16 +1424,6 @@ e_modapi_save(E_Module *m)
return 1;
}
EAPI int
e_modapi_info(E_Module *m)
{
char buf[4096];
snprintf(buf, sizeof(buf), "%s/module_icon.png", e_module_dir_get(m));
m->icon_file = strdup(buf);
return 1;
}
EAPI int
e_modapi_about(E_Module *m)
{

View File

@ -63,7 +63,6 @@ EAPI extern E_Module_Api e_modapi;
EAPI void *e_modapi_init (E_Module *m);
EAPI int e_modapi_shutdown (E_Module *m);
EAPI int e_modapi_save (E_Module *m);
EAPI int e_modapi_info (E_Module *m);
EAPI int e_modapi_about (E_Module *m);
EAPI int e_modapi_config (E_Module *m);

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

View File

@ -4,8 +4,7 @@ MODULE = clock
# data files for the module
filesdir = $(libdir)/enlightenment/modules/$(MODULE)
files_DATA = \
module.eap \
module_icon.png
module.eap
EXTRA_DIST = $(files_DATA)

View File

@ -143,16 +143,6 @@ e_modapi_save(E_Module *m)
return 1;
}
EAPI int
e_modapi_info(E_Module *m)
{
char buf[4096];
snprintf(buf, sizeof(buf), "%s/module_icon.png", e_module_dir_get(m));
m->icon_file = strdup(buf);
return 1;
}
EAPI int
e_modapi_about(E_Module *m)
{

View File

@ -9,7 +9,6 @@ EAPI extern E_Module_Api e_modapi;
EAPI void *e_modapi_init (E_Module *m);
EAPI int e_modapi_shutdown (E_Module *m);
EAPI int e_modapi_save (E_Module *m);
EAPI int e_modapi_info (E_Module *m);
EAPI int e_modapi_about (E_Module *m);
EAPI int e_modapi_config (E_Module *m);

Binary file not shown.

View File

@ -4,8 +4,7 @@ MODULE = cpufreq
# data files for the module
filesdir = $(libdir)/enlightenment/modules/$(MODULE)
files_DATA = \
module.eap \
module_icon.png
module.eap
EXTRA_DIST = $(files_DATA)

View File

@ -933,16 +933,6 @@ e_modapi_save(E_Module *m)
return 1;
}
EAPI int
e_modapi_info(E_Module *m)
{
char buf[4096];
snprintf(buf, sizeof(buf), "%s/module_icon.png", e_module_dir_get(m));
m->icon_file = strdup(buf);
return 1;
}
EAPI int
e_modapi_about(E_Module *m)
{

View File

@ -37,7 +37,6 @@ EAPI extern E_Module_Api e_modapi;
EAPI void *e_modapi_init (E_Module *m);
EAPI int e_modapi_shutdown (E_Module *m);
EAPI int e_modapi_save (E_Module *m);
EAPI int e_modapi_info (E_Module *m);
EAPI int e_modapi_about (E_Module *m);
EAPI int e_modapi_config (E_Module *m);

Binary file not shown.

Before

Width:  |  Height:  |  Size: 985 B

View File

@ -4,21 +4,8 @@ MODULE = dropshadow
# data files for the module
filesdir = $(libdir)/enlightenment/modules/$(MODULE)
files_DATA = \
module.eap \
module_icon.png \
menu_icon_close.png \
menu_icon_dark.png \
menu_icon_far.png \
menu_icon_fuzzy.png \
menu_icon_light.png \
menu_icon_medium.png \
menu_icon_sharp.png \
menu_icon_underneath.png \
menu_icon_very_dark.png \
menu_icon_very_far.png \
menu_icon_very_fuzzy.png \
menu_icon_very_light.png \
menu_icon_very_sharp.png
module.eap
EXTRA_DIST = $(files_DATA)
# the module .so file

View File

@ -151,16 +151,6 @@ e_modapi_save(E_Module *m)
return 1;
}
EAPI int
e_modapi_info(E_Module *m)
{
char buf[4096];
snprintf(buf, sizeof(buf), "%s/module_icon.png", e_module_dir_get(m));
m->icon_file = strdup(buf);
return 1;
}
EAPI int
e_modapi_about(E_Module *m)
{

Binary file not shown.

Before

Width:  |  Height:  |  Size: 671 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 578 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 713 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 624 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 518 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 604 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 528 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 539 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 604 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 728 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 640 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 456 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 281 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

View File

@ -4,8 +4,7 @@ MODULE = ibar
# data files for the module
filesdir = $(libdir)/enlightenment/modules/$(MODULE)
files_DATA = \
module.eap \
module_icon.png
module.eap
EXTRA_DIST = $(files_DATA)

View File

@ -1333,16 +1333,6 @@ e_modapi_save(E_Module *m)
return 1;
}
EAPI int
e_modapi_info(E_Module *m)
{
char buf[4096];
snprintf(buf, sizeof(buf), "%s/module_icon.png", e_module_dir_get(m));
m->icon_file = strdup(buf);
return 1;
}
EAPI int
e_modapi_about(E_Module *m)
{

Binary file not shown.

Before

Width:  |  Height:  |  Size: 581 B

View File

@ -4,8 +4,7 @@ MODULE = ibox
# data files for the module
filesdir = $(libdir)/enlightenment/modules/$(MODULE)
files_DATA = \
module.eap \
module_icon.png
module.eap
EXTRA_DIST = $(files_DATA)

View File

@ -1263,16 +1263,6 @@ e_modapi_save(E_Module *m)
return 1;
}
EAPI int
e_modapi_info(E_Module *m)
{
char buf[4096];
snprintf(buf, sizeof(buf), "%s/module_icon.png", e_module_dir_get(m));
m->icon_file = strdup(buf);
return 1;
}
EAPI int
e_modapi_about(E_Module *m)
{

View File

@ -29,7 +29,6 @@ EAPI extern E_Module_Api e_modapi;
EAPI void *e_modapi_init (E_Module *m);
EAPI int e_modapi_shutdown (E_Module *m);
EAPI int e_modapi_save (E_Module *m);
EAPI int e_modapi_info (E_Module *m);
EAPI int e_modapi_about (E_Module *m);
void _ibox_config_update(void);

Binary file not shown.

View File

@ -3,8 +3,7 @@ MODULE = itray
# data files for the module
filesdir = $(libdir)/enlightenment/modules/$(MODULE)
files_DATA = \
module_icon.png
files_DATA =
EXTRA_DIST = $(files_DATA)

Binary file not shown.

Before

Width:  |  Height:  |  Size: 688 B

View File

@ -4,8 +4,7 @@ MODULE = pager
# data files for the module
filesdir = $(libdir)/enlightenment/modules/$(MODULE)
files_DATA = \
module.eap \
module_icon.png
module.eap
EXTRA_DIST = $(files_DATA)

View File

@ -1822,16 +1822,6 @@ e_modapi_save(E_Module *m)
return 1;
}
EAPI int
e_modapi_info(E_Module *m)
{
char buf[4096];
snprintf(buf, sizeof(buf), "%s/module_icon.png", e_module_dir_get(m));
m->icon_file = strdup(buf);
return 1;
}
EAPI int
e_modapi_about(E_Module *m)
{

View File

@ -46,7 +46,6 @@ EAPI extern E_Module_Api e_modapi;
EAPI void *e_modapi_init (E_Module *m);
EAPI int e_modapi_shutdown (E_Module *m);
EAPI int e_modapi_save (E_Module *m);
EAPI int e_modapi_info (E_Module *m);
EAPI int e_modapi_about (E_Module *m);
void _pager_cb_config_updated(void);

Binary file not shown.

View File

@ -4,8 +4,7 @@ MODULE = start
# data files for the module
filesdir = $(libdir)/enlightenment/modules/$(MODULE)
files_DATA = \
module.eap \
module_icon.png
module.eap
EXTRA_DIST = $(files_DATA)

View File

@ -249,16 +249,6 @@ e_modapi_save(E_Module *m)
return 1;
}
EAPI int
e_modapi_info(E_Module *m)
{
char buf[4096];
snprintf(buf, sizeof(buf), "%s/module_icon.png", e_module_dir_get(m));
m->icon_file = strdup(buf);
return 1;
}
EAPI int
e_modapi_about(E_Module *m)
{
@ -268,3 +258,4 @@ e_modapi_about(E_Module *m)
}
/**/
/***************************************************************************/

View File

@ -9,7 +9,6 @@ EAPI extern E_Module_Api e_modapi;
EAPI void *e_modapi_init (E_Module *m);
EAPI int e_modapi_shutdown (E_Module *m);
EAPI int e_modapi_save (E_Module *m);
EAPI int e_modapi_info (E_Module *m);
EAPI int e_modapi_about (E_Module *m);
#endif

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 KiB

View File

@ -4,8 +4,7 @@ MODULE = temperature
# data files for the module
filesdir = $(libdir)/enlightenment/modules/$(MODULE)
files_DATA = \
module.eap \
module_icon.png
module.eap
EXTRA_DIST = $(files_DATA)

View File

@ -443,16 +443,6 @@ e_modapi_save(E_Module *m)
return 1;
}
EAPI int
e_modapi_info(E_Module *m)
{
char buf[4096];
snprintf(buf, sizeof(buf), "%s/module_icon.png", e_module_dir_get(m));
m->icon_file = strdup(buf);
return 1;
}
EAPI int
e_modapi_about(E_Module *m)
{

View File

@ -33,7 +33,6 @@ EAPI extern E_Module_Api e_modapi;
EAPI void *e_modapi_init (E_Module *m);
EAPI int e_modapi_shutdown (E_Module *m);
EAPI int e_modapi_save (E_Module *m);
EAPI int e_modapi_info (E_Module *m);
EAPI int e_modapi_about (E_Module *m);
EAPI int e_modapi_config (E_Module *m);

Binary file not shown.

Before

Width:  |  Height:  |  Size: 706 B