parent
9616c8fdd6
commit
ea0b0dd7d8
18 changed files with 301 additions and 125 deletions
@ -0,0 +1,31 @@ |
||||
MAINTAINERCLEANFILES = Makefile.in
|
||||
MODULE = winlist
|
||||
|
||||
# data files for the module
|
||||
filesdir = $(libdir)/enlightenment/modules/$(MODULE)
|
||||
files_DATA = \
|
||||
e-module-$(MODULE).edj module.desktop |
||||
|
||||
EXTRA_DIST = $(files_DATA)
|
||||
|
||||
# the module .so file
|
||||
INCLUDES = -I. \
|
||||
-I$(top_srcdir) \
|
||||
-I$(top_srcdir)/src/modules/$(MODULE) \
|
||||
-I$(top_srcdir)/src/bin \
|
||||
-I$(top_srcdir)/src/lib \
|
||||
-I$(top_srcdir)/src/modules \
|
||||
@e_cflags@
|
||||
pkgdir = $(libdir)/enlightenment/modules/$(MODULE)/$(MODULE_ARCH)
|
||||
pkg_LTLIBRARIES = module.la
|
||||
module_la_SOURCES = e_mod_main.c \
|
||||
e_mod_main.h \
|
||||
e_winlist.c \
|
||||
e_winlist.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.
@ -0,0 +1,219 @@ |
||||
/*
|
||||
* vim:ts=8:sw=3:sts=8:noexpandtab:cino=>5n-3f0^-2{2 |
||||
*/ |
||||
#include "e.h" |
||||
#include "e_mod_main.h" |
||||
|
||||
/***************************************************************************/ |
||||
/**/ |
||||
/* actual module specifics */ |
||||
|
||||
static void _e_mod_action_winlist_cb(E_Object *obj, const char *params); |
||||
static void _e_mod_action_winlist_mouse_cb(E_Object *obj, const char *params, Ecore_X_Event_Mouse_Button_Down *ev); |
||||
static void _e_mod_action_winlist_key_cb(E_Object *obj, const char *params, Ecore_X_Event_Key_Down *ev); |
||||
|
||||
static E_Module *conf_module = NULL; |
||||
static E_Action *act = NULL; |
||||
|
||||
/**/ |
||||
/***************************************************************************/ |
||||
|
||||
/***************************************************************************/ |
||||
/**/ |
||||
|
||||
/**/ |
||||
/***************************************************************************/ |
||||
|
||||
/***************************************************************************/ |
||||
/**/ |
||||
/* module setup */ |
||||
EAPI E_Module_Api e_modapi = |
||||
{ |
||||
E_MODULE_API_VERSION, |
||||
"Exebuf" |
||||
}; |
||||
|
||||
EAPI void * |
||||
e_modapi_init(E_Module *m) |
||||
{ |
||||
conf_module = m; |
||||
e_winlist_init(); |
||||
/* add module supplied action */ |
||||
act = e_action_add("winlist"); |
||||
if (act) |
||||
{ |
||||
act->func.go = _e_mod_action_winlist_cb; |
||||
act->func.go_mouse = _e_mod_action_winlist_mouse_cb; |
||||
act->func.go_key = _e_mod_action_winlist_key_cb; |
||||
e_action_predef_name_set(_("Window : List"), _("Next Window"), "winlist", |
||||
"next", NULL, 0); |
||||
e_action_predef_name_set(_("Window : List"), _("Previous Window"), |
||||
"winlist", "prev", NULL, 0); |
||||
} |
||||
e_module_delayed_set(m, 1); |
||||
return m; |
||||
} |
||||
|
||||
EAPI int |
||||
e_modapi_shutdown(E_Module *m) |
||||
{ |
||||
/* remove module-supplied action */ |
||||
if (act) |
||||
{ |
||||
e_action_predef_name_del(_("Window : List"), _("Previous Window")); |
||||
e_action_predef_name_del(_("Window : List"), _("Next Window")); |
||||
e_action_del("exebuf"); |
||||
act = NULL; |
||||
} |
||||
e_winlist_shutdown(); |
||||
conf_module = NULL; |
||||
return 1; |
||||
} |
||||
|
||||
EAPI int |
||||
e_modapi_save(E_Module *m) |
||||
{ |
||||
return 1; |
||||
} |
||||
|
||||
EAPI int |
||||
e_modapi_about(E_Module *m) |
||||
{ |
||||
e_module_dialog_show(m, |
||||
_("Enlightenment Winlist Module"), |
||||
_("A module for displaying a list of windows to switch between.")); |
||||
return 1; |
||||
} |
||||
|
||||
/* action callback */ |
||||
static void |
||||
_e_mod_action_winlist_cb(E_Object *obj, const char *params) |
||||
{ |
||||
E_Zone *zone; |
||||
|
||||
if (obj) |
||||
{ |
||||
if (obj->type == E_MANAGER_TYPE) |
||||
zone = e_util_zone_current_get((E_Manager *)obj); |
||||
else if (obj->type == E_CONTAINER_TYPE) |
||||
zone = e_util_zone_current_get(((E_Container *)obj)->manager); |
||||
else if (obj->type == E_ZONE_TYPE) |
||||
zone = e_util_zone_current_get(((E_Zone *)obj)->container->manager); |
||||
else |
||||
zone = e_util_zone_current_get(e_manager_current_get()); |
||||
} |
||||
zone = e_util_zone_current_get(e_manager_current_get()); |
||||
if (zone) |
||||
{ |
||||
if (params) |
||||
{ |
||||
if (!strcmp(params, "next")) |
||||
{ |
||||
if (!e_winlist_show(zone)) |
||||
e_winlist_next(); |
||||
} |
||||
else if (!strcmp(params, "prev")) |
||||
{ |
||||
if (!e_winlist_show(zone)) |
||||
e_winlist_prev(); |
||||
} |
||||
} |
||||
else |
||||
{ |
||||
if (!e_winlist_show(zone)) |
||||
e_winlist_next(); |
||||
} |
||||
} |
||||
} |
||||
|
||||
static void |
||||
_e_mod_action_winlist_mouse_cb(E_Object *obj, const char *params, Ecore_X_Event_Mouse_Button_Down *ev) |
||||
{ |
||||
E_Zone *zone; |
||||
|
||||
if (obj) |
||||
{ |
||||
if (obj->type == E_MANAGER_TYPE) |
||||
zone = e_util_zone_current_get((E_Manager *)obj); |
||||
else if (obj->type == E_CONTAINER_TYPE) |
||||
zone = e_util_zone_current_get(((E_Container *)obj)->manager); |
||||
else if (obj->type == E_ZONE_TYPE) |
||||
zone = e_util_zone_current_get(((E_Zone *)obj)->container->manager); |
||||
else |
||||
zone = e_util_zone_current_get(e_manager_current_get()); |
||||
} |
||||
zone = e_util_zone_current_get(e_manager_current_get()); |
||||
if (zone) |
||||
{ |
||||
if (params) |
||||
{ |
||||
if (!strcmp(params, "next")) |
||||
{ |
||||
if (e_winlist_show(zone)) |
||||
e_winlist_modifiers_set(ev->modifiers); |
||||
else |
||||
e_winlist_next(); |
||||
} |
||||
else if (!strcmp(params, "prev")) |
||||
{ |
||||
if (e_winlist_show(zone)) |
||||
e_winlist_modifiers_set(ev->modifiers); |
||||
else |
||||
e_winlist_prev(); |
||||
} |
||||
} |
||||
else |
||||
{ |
||||
if (e_winlist_show(zone)) |
||||
e_winlist_modifiers_set(ev->modifiers); |
||||
else |
||||
e_winlist_next(); |
||||
} |
||||
} |
||||
} |
||||
|
||||
static void |
||||
_e_mod_action_winlist_key_cb(E_Object *obj, const char *params, Ecore_X_Event_Key_Down *ev) |
||||
{ |
||||
E_Zone *zone; |
||||
|
||||
if (obj) |
||||
{ |
||||
if (obj->type == E_MANAGER_TYPE) |
||||
zone = e_util_zone_current_get((E_Manager *)obj); |
||||
else if (obj->type == E_CONTAINER_TYPE) |
||||
zone = e_util_zone_current_get(((E_Container *)obj)->manager); |
||||
else if (obj->type == E_ZONE_TYPE) |
||||
zone = e_util_zone_current_get(((E_Zone *)obj)->container->manager); |
||||
else |
||||
zone = e_util_zone_current_get(e_manager_current_get()); |
||||
} |
||||
zone = e_util_zone_current_get(e_manager_current_get()); |
||||
if (zone) |
||||
{ |
||||
if (params) |
||||
{ |
||||
if (!strcmp(params, "next")) |
||||
{ |
||||
if (e_winlist_show(zone)) |
||||
e_winlist_modifiers_set(ev->modifiers); |
||||
else |
||||
e_winlist_next(); |
||||
} |
||||
else if (!strcmp(params, "prev")) |
||||
{ |
||||
if (e_winlist_show(zone)) |
||||
e_winlist_modifiers_set(ev->modifiers); |
||||
else |
||||
e_winlist_prev(); |
||||
} |
||||
} |
||||
else |
||||
{ |
||||
if (e_winlist_show(zone)) |
||||
e_winlist_modifiers_set(ev->modifiers); |
||||
else |
||||
e_winlist_next(); |
||||
} |
||||
} |
||||
} |
@ -0,0 +1,21 @@ |
||||
/*
|
||||
* vim:ts=8:sw=3:sts=8:noexpandtab:cino=>5n-3f0^-2{2 |
||||
*/ |
||||
#ifndef E_MOD_MAIN_H |
||||
#define E_MOD_MAIN_H |
||||
|
||||
#define E_TYPEDEFS 1 |
||||
#include "e_winlist.h" |
||||
|
||||
#undef E_TYPEDEFS |
||||
#include "e_winlist.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); |
||||
EAPI int e_modapi_about (E_Module *m); |
||||
|
||||
#endif |
@ -0,0 +1,4 @@ |
||||
[Desktop Entry] |
||||
Type=Link |
||||
Name=Winlist |
||||
Icon=e-module-winlist |
Loading…
Reference in new issue