parent
9616c8fdd6
commit
ea0b0dd7d8
|
@ -256,6 +256,8 @@ src/modules/layout/Makefile
|
|||
src/modules/layout/module.desktop
|
||||
src/modules/exebuf/Makefile
|
||||
src/modules/exebuf/module.desktop
|
||||
src/modules/winlist/Makefile
|
||||
src/modules/winlist/module.desktop
|
||||
src/modules/conf_wallpaper/Makefile
|
||||
src/modules/conf_wallpaper/module.desktop
|
||||
src/modules/conf_theme/Makefile
|
||||
|
|
|
@ -126,7 +126,6 @@ src/bin/e_widget_table.c
|
|||
src/bin/e_widget_textblock.c
|
||||
src/bin/e_widget_tlist.c
|
||||
src/bin/e_win.c
|
||||
src/bin/e_winlist.c
|
||||
src/bin/e_xinerama.c
|
||||
src/bin/e_zone.c
|
||||
src/modules/battery/e_mod_config.c
|
||||
|
@ -211,6 +210,8 @@ src/modules/dropshadow/e_mod_config.c
|
|||
src/modules/dropshadow/e_mod_main.c
|
||||
src/modules/exebuf/e_mod_main.c
|
||||
src/modules/exebuf/e_exebuf.c
|
||||
src/modules/winlist/e_mod_main.c
|
||||
src/modules/winlist/e_winlist.c
|
||||
src/modules/ibar/e_mod_config.c
|
||||
src/modules/ibar/e_mod_main.c
|
||||
src/modules/ibox/e_mod_config.c
|
||||
|
|
|
@ -72,7 +72,6 @@ e_ipc_codec.h \
|
|||
e_prefix.h \
|
||||
e_datastore.h \
|
||||
e_msg.h \
|
||||
e_winlist.h \
|
||||
e_alert.h \
|
||||
e_maximize.h \
|
||||
e_grabinput.h \
|
||||
|
@ -199,7 +198,6 @@ e_ipc_codec.c \
|
|||
e_prefix.c \
|
||||
e_datastore.c \
|
||||
e_msg.c \
|
||||
e_winlist.c \
|
||||
e_alert.c \
|
||||
e_maximize.c \
|
||||
e_grabinput.c \
|
||||
|
|
|
@ -1441,100 +1441,6 @@ ACT_FN_GO(app)
|
|||
}
|
||||
|
||||
/***************************************************************************/
|
||||
ACT_FN_GO(winlist)
|
||||
{
|
||||
E_Zone *zone;
|
||||
|
||||
zone = _e_actions_zone_get(obj);
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
||||
ACT_FN_GO_MOUSE(winlist)
|
||||
{
|
||||
E_Zone *zone;
|
||||
|
||||
zone = _e_actions_zone_get(obj);
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
||||
ACT_FN_GO_KEY(winlist)
|
||||
{
|
||||
E_Zone *zone;
|
||||
|
||||
zone = _e_actions_zone_get(obj);
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ACT_FN_GO(desk_deskshow_toggle)
|
||||
{
|
||||
E_Zone *zone;
|
||||
|
@ -2249,15 +2155,6 @@ e_actions_init(void)
|
|||
e_action_predef_name_set(_("Launch"), _("Application"), "app", NULL,
|
||||
"syntax: , example:", 1);
|
||||
|
||||
/* winlist */
|
||||
ACT_GO(winlist);
|
||||
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);
|
||||
ACT_GO_MOUSE(winlist);
|
||||
ACT_GO_KEY(winlist);
|
||||
|
||||
ACT_GO(restart);
|
||||
e_action_predef_name_set(_("Enlightenment"), _("Restart"), "restart",
|
||||
NULL, NULL, 0);
|
||||
|
|
|
@ -118,6 +118,8 @@ static Evas_List *focus_stack = NULL;
|
|||
|
||||
static Ecore_X_Screen_Size screen_size = { -1, -1 };
|
||||
|
||||
static int focus_track_frozen = 0;
|
||||
|
||||
EAPI int E_EVENT_BORDER_ADD = 0;
|
||||
EAPI int E_EVENT_BORDER_REMOVE = 0;
|
||||
EAPI int E_EVENT_BORDER_ZONE_SET = 0;
|
||||
|
@ -1324,7 +1326,7 @@ e_border_focus_set(E_Border *bd, int focus, int set)
|
|||
}
|
||||
if (bd->visible)
|
||||
{
|
||||
if (!e_winlist_active_get())
|
||||
if (focus_track_frozen > 0)
|
||||
e_border_focus_latest_set(bd);
|
||||
}
|
||||
// printf("EMIT 0x%x activeve\n", bd->client.win);
|
||||
|
@ -7440,3 +7442,15 @@ e_border_hook_del(E_Border_Hook *bh)
|
|||
else
|
||||
_e_border_hooks_delete++;
|
||||
}
|
||||
|
||||
EAPI void
|
||||
e_border_focus_track_freeze(void)
|
||||
{
|
||||
focus_track_frozen++;
|
||||
}
|
||||
|
||||
EAPI void
|
||||
e_border_focus_track_thaw(void)
|
||||
{
|
||||
focus_track_frozen--;
|
||||
}
|
||||
|
|
|
@ -668,6 +668,8 @@ EAPI void e_border_resize_limit(E_Border *bd, int *w, int *h);
|
|||
|
||||
EAPI E_Border_Hook *e_border_hook_add(E_Border_Hook_Point hookpoint, void (*func) (void *data, E_Border *bd), void *data);
|
||||
EAPI void e_border_hook_del(E_Border_Hook *bh);
|
||||
EAPI void e_border_focus_track_freeze(void);
|
||||
EAPI void e_border_focus_track_thaw(void);
|
||||
|
||||
extern EAPI int E_EVENT_BORDER_RESIZE;
|
||||
extern EAPI int E_EVENT_BORDER_MOVE;
|
||||
|
|
|
@ -759,6 +759,7 @@ e_config_init(void)
|
|||
CFG_MODULE("temperature", 1, 0);
|
||||
CFG_MODULE("pager", 1, 0);
|
||||
CFG_MODULE("exebuf", 1, 1);
|
||||
CFG_MODULE("winlist", 1, 1);
|
||||
CFG_MODULE("conf_applications", 1, 1);
|
||||
CFG_MODULE("conf_borders", 1, 1);
|
||||
CFG_MODULE("conf_clientlist", 1, 1);
|
||||
|
|
|
@ -48,7 +48,6 @@
|
|||
#include "e_prefix.h"
|
||||
#include "e_datastore.h"
|
||||
#include "e_msg.h"
|
||||
#include "e_winlist.h"
|
||||
#include "e_alert.h"
|
||||
#include "e_maximize.h"
|
||||
#include "e_grabinput.h"
|
||||
|
|
|
@ -740,14 +740,6 @@ main(int argc, char **argv)
|
|||
_e_main_shutdown(-1);
|
||||
}
|
||||
_e_main_shutdown_push(e_module_shutdown);
|
||||
TS("winlist");
|
||||
/* setup winlist */
|
||||
if (!e_winlist_init())
|
||||
{
|
||||
e_error_message_show(_("Enlightenment cannot set up its window list system."));
|
||||
_e_main_shutdown(-1);
|
||||
}
|
||||
_e_main_shutdown_push(e_winlist_shutdown);
|
||||
TS("colorclasses");
|
||||
/* setup color_class */
|
||||
if (!e_color_class_init())
|
||||
|
|
|
@ -11,6 +11,7 @@ ibox \
|
|||
start \
|
||||
layout \
|
||||
exebuf \
|
||||
winlist \
|
||||
conf_wallpaper \
|
||||
conf_theme \
|
||||
conf_colors \
|
||||
|
|
|
@ -148,7 +148,6 @@ e_exebuf_show(E_Zone *zone)
|
|||
E_OBJECT_CHECK_RETURN(zone, 0);
|
||||
E_OBJECT_TYPE_CHECK_RETURN(zone, E_ZONE_TYPE, 0);
|
||||
|
||||
if (e_winlist_active_get()) return 0;
|
||||
if (exebuf) return 0;
|
||||
|
||||
input_window = ecore_x_window_input_new(zone->container->win, zone->x,
|
||||
|
|
|
@ -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
|
|
@ -2,6 +2,7 @@
|
|||
* vim:ts=8:sw=3:sts=8:noexpandtab:cino=>5n-3f0^-2{2
|
||||
*/
|
||||
#include "e.h"
|
||||
#include "e_winlist.h"
|
||||
|
||||
/* local subsystem functions */
|
||||
typedef struct _E_Winlist_Win E_Winlist_Win;
|
||||
|
@ -115,6 +116,7 @@ e_winlist_show(E_Zone *zone)
|
|||
|
||||
winlist = e_popup_new(zone, x, y, w, h);
|
||||
if (!winlist) return 0;
|
||||
e_border_focus_track_freeze();
|
||||
|
||||
evas_event_feed_mouse_in(winlist->evas, ecore_x_current_time_get(), NULL);
|
||||
evas_event_feed_mouse_move(winlist->evas, -1000000, -1000000, ecore_x_current_time_get(), NULL);
|
||||
|
@ -243,6 +245,7 @@ e_winlist_hide(void)
|
|||
bg_object = NULL;
|
||||
evas_event_thaw(winlist->evas);
|
||||
e_object_del(E_OBJECT(winlist));
|
||||
e_border_focus_track_thaw();
|
||||
winlist = NULL;
|
||||
hold_count = 0;
|
||||
hold_mod = 0;
|
||||
|
@ -302,13 +305,6 @@ e_winlist_hide(void)
|
|||
}
|
||||
}
|
||||
|
||||
EAPI int
|
||||
e_winlist_active_get(void)
|
||||
{
|
||||
if (winlist) return 1;
|
||||
return 0;
|
||||
}
|
||||
|
||||
EAPI void
|
||||
e_winlist_next(void)
|
||||
{
|
|
@ -12,7 +12,6 @@ EAPI int e_winlist_shutdown(void);
|
|||
|
||||
EAPI int e_winlist_show(E_Zone *zone);
|
||||
EAPI void e_winlist_hide(void);
|
||||
EAPI int e_winlist_active_get(void);
|
||||
EAPI void e_winlist_next(void);
|
||||
EAPI void e_winlist_prev(void);
|
||||
EAPI void e_winlist_modifiers_set(int mod);
|
|
@ -0,0 +1,4 @@
|
|||
[Desktop Entry]
|
||||
Type=Link
|
||||
Name=Winlist
|
||||
Icon=e-module-winlist
|
Loading…
Reference in New Issue