forked from enlightenment/enlightenment
Add Indicator module.
Some minor fixes for softkey module. SVN revision: 43965
This commit is contained in:
parent
d37f2595ce
commit
2945763e97
|
@ -239,7 +239,7 @@ SUBDIRS += connman
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if USE_MODULE_ILLUME
|
if USE_MODULE_ILLUME
|
||||||
SUBDIRS += illume illume2 illume-home illume-softkey illume-keyboard
|
SUBDIRS += illume illume2 illume-home illume-softkey illume-keyboard illume-indicator
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if USE_MODULE_SYSCON
|
if USE_MODULE_SYSCON
|
||||||
|
|
|
@ -0,0 +1,33 @@
|
||||||
|
MAINTAINERCLEANFILES = Makefile.in
|
||||||
|
MODULE = illume-indicator
|
||||||
|
|
||||||
|
# data files for the module
|
||||||
|
filesdir = $(libdir)/enlightenment/modules/$(MODULE)
|
||||||
|
files_DATA = \
|
||||||
|
e-module-$(MODULE).edj module.desktop
|
||||||
|
|
||||||
|
EXTRA_DIST = $(files_DATA)
|
||||||
|
|
||||||
|
# the module .so file
|
||||||
|
INCLUDES = -I. \
|
||||||
|
-I$(top_srcdir) \
|
||||||
|
-I$(top_srcdir)/src/modules/$(MODULE) \
|
||||||
|
-I$(top_srcdir)/src/bin \
|
||||||
|
-I$(top_srcdir)/src/lib \
|
||||||
|
-I$(top_srcdir)/src/modules \
|
||||||
|
@e_cflags@
|
||||||
|
pkgdir = $(libdir)/enlightenment/modules/$(MODULE)/$(MODULE_ARCH)
|
||||||
|
pkg_LTLIBRARIES = module.la
|
||||||
|
module_la_SOURCES = e_mod_main.c \
|
||||||
|
e_mod_main.h \
|
||||||
|
e_mod_config.c \
|
||||||
|
e_mod_config.h \
|
||||||
|
e_mod_win.c \
|
||||||
|
e_mod_win.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,60 @@
|
||||||
|
#include "e.h"
|
||||||
|
#include "e_mod_main.h"
|
||||||
|
#include "e_mod_config.h"
|
||||||
|
|
||||||
|
/* local variables */
|
||||||
|
EAPI Il_Ind_Config *il_ind_cfg = NULL;
|
||||||
|
static E_Config_DD *conf_edd = NULL;
|
||||||
|
|
||||||
|
EAPI int
|
||||||
|
il_ind_config_init(E_Module *m)
|
||||||
|
{
|
||||||
|
conf_edd = E_CONFIG_DD_NEW("Illume-Ind_Cfg", Il_Ind_Config);
|
||||||
|
#undef T
|
||||||
|
#undef D
|
||||||
|
#define T Il_Ind_Config
|
||||||
|
#define D conf_edd
|
||||||
|
E_CONFIG_VAL(D, T, version, INT);
|
||||||
|
|
||||||
|
il_ind_cfg = e_config_domain_load("module.illume-indicator", conf_edd);
|
||||||
|
if ((il_ind_cfg) &&
|
||||||
|
((il_ind_cfg->version >> 16) < IL_CONFIG_MAJ))
|
||||||
|
{
|
||||||
|
E_FREE(il_ind_cfg);
|
||||||
|
il_ind_cfg = NULL;
|
||||||
|
}
|
||||||
|
if (!il_ind_cfg)
|
||||||
|
{
|
||||||
|
il_ind_cfg = E_NEW(Il_Ind_Config, 1);
|
||||||
|
il_ind_cfg->version = 0;
|
||||||
|
}
|
||||||
|
if (il_ind_cfg)
|
||||||
|
{
|
||||||
|
/* Add new config variables here */
|
||||||
|
/* if ((il_ind_cfg->version & 0xffff) < 1) */
|
||||||
|
il_ind_cfg->version = (IL_CONFIG_MAJ << 16) | IL_CONFIG_MIN;
|
||||||
|
}
|
||||||
|
|
||||||
|
il_ind_cfg->mod_dir = eina_stringshare_add(m->dir);
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
EAPI int
|
||||||
|
il_ind_config_shutdown(void)
|
||||||
|
{
|
||||||
|
if (il_ind_cfg->mod_dir) eina_stringshare_del(il_ind_cfg->mod_dir);
|
||||||
|
il_ind_cfg->mod_dir = NULL;
|
||||||
|
|
||||||
|
E_FREE(il_ind_cfg);
|
||||||
|
il_ind_cfg = NULL;
|
||||||
|
|
||||||
|
E_CONFIG_DD_FREE(conf_edd);
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
EAPI int
|
||||||
|
il_ind_config_save(void)
|
||||||
|
{
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,23 @@
|
||||||
|
#ifndef E_MOD_CONFIG_H
|
||||||
|
#define E_MOD_CONFIG_H
|
||||||
|
|
||||||
|
#define IL_CONFIG_MIN 0
|
||||||
|
#define IL_CONFIG_MAJ 0
|
||||||
|
|
||||||
|
typedef struct _Il_Ind_Config Il_Ind_Config;
|
||||||
|
|
||||||
|
struct _Il_Ind_Config
|
||||||
|
{
|
||||||
|
int version;
|
||||||
|
|
||||||
|
// Placeholders
|
||||||
|
const char *mod_dir;
|
||||||
|
};
|
||||||
|
|
||||||
|
EAPI int il_ind_config_init(E_Module *m);
|
||||||
|
EAPI int il_ind_config_shutdown(void);
|
||||||
|
EAPI int il_ind_config_save(void);
|
||||||
|
|
||||||
|
extern EAPI Il_Ind_Config *il_ind_cfg;
|
||||||
|
|
||||||
|
#endif
|
|
@ -0,0 +1,36 @@
|
||||||
|
#include "e.h"
|
||||||
|
#include "e_mod_main.h"
|
||||||
|
#include "e_mod_config.h"
|
||||||
|
#include "e_mod_win.h"
|
||||||
|
|
||||||
|
/* local variables */
|
||||||
|
static Il_Ind_Win *iwin = NULL;
|
||||||
|
|
||||||
|
EAPI E_Module_Api e_modapi = { E_MODULE_API_VERSION, "Illume-Indicator" };
|
||||||
|
|
||||||
|
EAPI void *
|
||||||
|
e_modapi_init(E_Module *m)
|
||||||
|
{
|
||||||
|
if (!il_ind_config_init(m)) return NULL;
|
||||||
|
e_mod_win_init();
|
||||||
|
iwin = e_mod_win_new();
|
||||||
|
return m;
|
||||||
|
}
|
||||||
|
|
||||||
|
EAPI int
|
||||||
|
e_modapi_shutdown(E_Module *m)
|
||||||
|
{
|
||||||
|
e_object_del(E_OBJECT(iwin));
|
||||||
|
iwin = NULL;
|
||||||
|
|
||||||
|
e_mod_win_shutdown();
|
||||||
|
il_ind_config_shutdown();
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
EAPI int
|
||||||
|
e_modapi_save(E_Module *m)
|
||||||
|
{
|
||||||
|
return il_ind_config_save();
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,24 @@
|
||||||
|
#ifndef E_MOD_MAIN_H
|
||||||
|
#define E_MOD_MAIN_H
|
||||||
|
|
||||||
|
#define IL_IND_WIN_TYPE 0xE1b0786
|
||||||
|
|
||||||
|
typedef struct _Il_Ind_Win Il_Ind_Win;
|
||||||
|
|
||||||
|
struct _Il_Ind_Win
|
||||||
|
{
|
||||||
|
E_Object e_obj_inherit;
|
||||||
|
|
||||||
|
E_Win *win;
|
||||||
|
E_Menu *menu;
|
||||||
|
E_Gadcon *gadcon;
|
||||||
|
Evas_Object *o_base, *o_event;
|
||||||
|
};
|
||||||
|
|
||||||
|
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
|
|
@ -0,0 +1,281 @@
|
||||||
|
#include "e.h"
|
||||||
|
#include "e_mod_main.h"
|
||||||
|
#include "e_mod_win.h"
|
||||||
|
#include "e_mod_config.h"
|
||||||
|
|
||||||
|
/* local function prototypes */
|
||||||
|
static void _il_ind_win_cb_free(Il_Ind_Win *iwin);
|
||||||
|
static void _il_ind_win_cb_resize(E_Win *ewin);
|
||||||
|
static void _il_ind_win_cb_mouse_down(void *data, Evas *evas, Evas_Object *obj, void *event);
|
||||||
|
static int _il_ind_win_gadcon_client_add(void *data, const E_Gadcon_Client_Class *cc);
|
||||||
|
static void _il_ind_win_gadcon_client_del(void *data, E_Gadcon_Client *gcc);
|
||||||
|
static void _il_ind_win_gadcon_min_size_request(void *data, E_Gadcon *gc, Evas_Coord w, Evas_Coord h);
|
||||||
|
static void _il_ind_win_gadcon_size_request(void *data, E_Gadcon *gc, Evas_Coord w, Evas_Coord h);
|
||||||
|
static Evas_Object *_il_ind_win_gadcon_frame_request(void *data, E_Gadcon_Client *gcc, const char *style);
|
||||||
|
static void _il_ind_win_cb_menu_post(void *data, E_Menu *m);
|
||||||
|
static void _il_ind_win_menu_append(Il_Ind_Win *iwin, E_Menu *mn);
|
||||||
|
static void _il_ind_win_cb_menu_pre(void *data, E_Menu *mn);
|
||||||
|
static void _il_ind_win_cb_menu_items_append(void *data, E_Gadcon_Client *gcc, E_Menu *mn);
|
||||||
|
static void _il_ind_win_cb_menu_edit(void *data, E_Menu *mn, E_Menu_Item *mi);
|
||||||
|
static void _il_ind_win_cb_menu_contents(void *data, E_Menu *mn, E_Menu_Item *mi);
|
||||||
|
|
||||||
|
EAPI int
|
||||||
|
e_mod_win_init(void)
|
||||||
|
{
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
EAPI int
|
||||||
|
e_mod_win_shutdown(void)
|
||||||
|
{
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
EAPI Il_Ind_Win *
|
||||||
|
e_mod_win_new(void)
|
||||||
|
{
|
||||||
|
Il_Ind_Win *iwin;
|
||||||
|
E_Zone *zone;
|
||||||
|
Evas *evas;
|
||||||
|
Eina_List *l;
|
||||||
|
E_Config_Gadcon *cg;
|
||||||
|
Ecore_X_Window_State states[2];
|
||||||
|
char buff[PATH_MAX];
|
||||||
|
|
||||||
|
iwin = E_OBJECT_ALLOC(Il_Ind_Win, IL_IND_WIN_TYPE, _il_ind_win_cb_free);
|
||||||
|
if (!iwin) return NULL;
|
||||||
|
|
||||||
|
snprintf(buff, sizeof(buff), "%s/e-module-illume-indicator.edj",
|
||||||
|
il_ind_cfg->mod_dir);
|
||||||
|
|
||||||
|
iwin->win = e_win_new(e_util_container_number_get(0));
|
||||||
|
states[0] = ECORE_X_WINDOW_STATE_SKIP_TASKBAR;
|
||||||
|
states[1] = ECORE_X_WINDOW_STATE_SKIP_PAGER;
|
||||||
|
ecore_x_netwm_window_state_set(iwin->win->evas_win, states, 2);
|
||||||
|
ecore_x_icccm_hints_set(iwin->win->evas_win, 0, 0, 0, 0, 0, 0, 0);
|
||||||
|
ecore_x_netwm_window_type_set(iwin->win->evas_win, ECORE_X_WINDOW_TYPE_DOCK);
|
||||||
|
|
||||||
|
e_win_no_remember_set(iwin->win, 1);
|
||||||
|
e_win_resize_callback_set(iwin->win, _il_ind_win_cb_resize);
|
||||||
|
e_win_borderless_set(iwin->win, 1);
|
||||||
|
iwin->win->data = iwin;
|
||||||
|
e_win_title_set(iwin->win, _("Illume Indicator"));
|
||||||
|
e_win_name_class_set(iwin->win, "E", "Illume-Indicator");
|
||||||
|
|
||||||
|
evas = e_win_evas_get(iwin->win);
|
||||||
|
|
||||||
|
zone = e_util_container_zone_number_get(0, 0);
|
||||||
|
|
||||||
|
iwin->o_event = evas_object_rectangle_add(evas);
|
||||||
|
evas_object_color_set(iwin->o_event, 0, 0, 0, 0);
|
||||||
|
evas_object_move(iwin->o_event, 0, 0);
|
||||||
|
evas_object_resize(iwin->o_event, zone->w, 32);
|
||||||
|
evas_object_event_callback_add(iwin->o_event, EVAS_CALLBACK_MOUSE_DOWN,
|
||||||
|
_il_ind_win_cb_mouse_down, iwin);
|
||||||
|
evas_object_show(iwin->o_event);
|
||||||
|
evas_object_layer_set(iwin->o_event, 200);
|
||||||
|
|
||||||
|
iwin->o_base = edje_object_add(evas);
|
||||||
|
evas_object_resize(iwin->o_base, zone->w, 32);
|
||||||
|
if (!e_theme_edje_object_set(iwin->o_base,
|
||||||
|
"base/theme/modules/illume-indicator",
|
||||||
|
"modules/illume-indicator/shelf"))
|
||||||
|
edje_object_file_set(iwin->o_base, buff, "modules/illume-indicator/shelf");
|
||||||
|
evas_object_move(iwin->o_base, 0, 0);
|
||||||
|
evas_object_resize(iwin->o_base, zone->w, 32);
|
||||||
|
evas_object_layer_set(iwin->o_base, 200);
|
||||||
|
evas_object_show(iwin->o_base);
|
||||||
|
|
||||||
|
iwin->gadcon = e_gadcon_swallowed_new("illume-indicator", 1, iwin->o_base,
|
||||||
|
"e.swallow.content");
|
||||||
|
iwin->gadcon->instant_edit = 1;
|
||||||
|
edje_extern_object_min_size_set(iwin->gadcon->o_container, zone->w, 32);
|
||||||
|
edje_object_part_swallow(iwin->o_base, "e.swallow.content",
|
||||||
|
iwin->gadcon->o_container);
|
||||||
|
e_gadcon_min_size_request_callback_set(iwin->gadcon,
|
||||||
|
_il_ind_win_gadcon_min_size_request,
|
||||||
|
iwin);
|
||||||
|
e_gadcon_size_request_callback_set(iwin->gadcon,
|
||||||
|
_il_ind_win_gadcon_size_request, iwin);
|
||||||
|
e_gadcon_frame_request_callback_set(iwin->gadcon,
|
||||||
|
_il_ind_win_gadcon_frame_request, iwin);
|
||||||
|
e_gadcon_orient(iwin->gadcon, E_GADCON_ORIENT_TOP);
|
||||||
|
e_gadcon_zone_set(iwin->gadcon, zone);
|
||||||
|
e_gadcon_ecore_evas_set(iwin->gadcon, iwin->win->ecore_evas);
|
||||||
|
e_gadcon_util_menu_attach_func_set(iwin->gadcon,
|
||||||
|
_il_ind_win_cb_menu_items_append, iwin);
|
||||||
|
|
||||||
|
e_gadcon_populate(iwin->gadcon);
|
||||||
|
|
||||||
|
e_win_size_min_set(iwin->win, zone->w, 32);
|
||||||
|
e_win_show(iwin->win);
|
||||||
|
e_win_move_resize(iwin->win, 0, 0, zone->w, 32);
|
||||||
|
|
||||||
|
return iwin;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* local function prototypes */
|
||||||
|
static void
|
||||||
|
_il_ind_win_cb_free(Il_Ind_Win *iwin)
|
||||||
|
{
|
||||||
|
e_object_del(E_OBJECT(iwin->gadcon));
|
||||||
|
iwin->gadcon = NULL;
|
||||||
|
|
||||||
|
if (iwin->menu)
|
||||||
|
{
|
||||||
|
e_menu_post_deactivate_callback_set(iwin->menu, NULL, NULL);
|
||||||
|
e_object_del(E_OBJECT(iwin->menu));
|
||||||
|
iwin->menu = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
e_object_del(E_OBJECT(iwin->win));
|
||||||
|
E_FREE(iwin);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_il_ind_win_cb_resize(E_Win *ewin)
|
||||||
|
{
|
||||||
|
Il_Ind_Win *iwin;
|
||||||
|
|
||||||
|
if (!(iwin = ewin->data)) return;
|
||||||
|
evas_object_resize(iwin->o_event, iwin->win->w, iwin->win->h);
|
||||||
|
evas_object_resize(iwin->o_base, iwin->win->w, iwin->win->h);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_il_ind_win_cb_mouse_down(void *data, Evas *evas, Evas_Object *obj, void *event)
|
||||||
|
{
|
||||||
|
Il_Ind_Win *iwin;
|
||||||
|
Evas_Event_Mouse_Down *ev;
|
||||||
|
|
||||||
|
if (!(iwin = data)) return;
|
||||||
|
ev = event;
|
||||||
|
if (ev->button == 3)
|
||||||
|
{
|
||||||
|
E_Menu *mn;
|
||||||
|
E_Zone *zone;
|
||||||
|
int x, y, w, h;
|
||||||
|
|
||||||
|
mn = e_menu_new();
|
||||||
|
e_menu_post_deactivate_callback_set(mn, _il_ind_win_cb_menu_post, iwin);
|
||||||
|
iwin->menu = mn;
|
||||||
|
|
||||||
|
_il_ind_win_menu_append(iwin, mn);
|
||||||
|
|
||||||
|
zone = e_util_container_zone_number_get(0, 0);
|
||||||
|
e_gadcon_canvas_zone_geometry_get(iwin->gadcon, &x, &y, NULL, NULL);
|
||||||
|
e_menu_activate_mouse(mn, zone, x + ev->output.x, y + ev->output.y,
|
||||||
|
1, 1, E_MENU_POP_DIRECTION_AUTO, ev->timestamp);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_il_ind_win_cb_menu_post(void *data, E_Menu *m)
|
||||||
|
{
|
||||||
|
Il_Ind_Win *iwin;
|
||||||
|
|
||||||
|
if (!(iwin = data)) return;
|
||||||
|
if (!iwin->menu) return;
|
||||||
|
e_object_del(E_OBJECT(iwin->menu));
|
||||||
|
iwin->menu = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_il_ind_win_cb_menu_items_append(void *data, E_Gadcon_Client *gcc, E_Menu *mn)
|
||||||
|
{
|
||||||
|
Il_Ind_Win *iwin;
|
||||||
|
|
||||||
|
if (!(iwin = data)) return;
|
||||||
|
_il_ind_win_menu_append(iwin, mn);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_il_ind_win_menu_append(Il_Ind_Win *iwin, E_Menu *mn)
|
||||||
|
{
|
||||||
|
E_Menu *sm;
|
||||||
|
E_Menu_Item *mi;
|
||||||
|
|
||||||
|
sm = e_menu_new();
|
||||||
|
mi = e_menu_item_new(mn);
|
||||||
|
e_menu_item_label_set(mi, _("Illume Indicator"));
|
||||||
|
e_util_menu_item_theme_icon_set(mi, "preferences-desktop-shelf");
|
||||||
|
e_menu_pre_activate_callback_set(sm, _il_ind_win_cb_menu_pre, iwin);
|
||||||
|
e_object_data_set(E_OBJECT(mi), iwin);
|
||||||
|
e_menu_item_submenu_set(mi, sm);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_il_ind_win_cb_menu_pre(void *data, E_Menu *mn)
|
||||||
|
{
|
||||||
|
Il_Ind_Win *iwin;
|
||||||
|
E_Menu_Item *mi;
|
||||||
|
|
||||||
|
if (!(iwin = data)) return;
|
||||||
|
e_menu_pre_activate_callback_set(mn, NULL, NULL);
|
||||||
|
|
||||||
|
mi = e_menu_item_new(mn);
|
||||||
|
if (iwin->gadcon->editing)
|
||||||
|
e_menu_item_label_set(mi, _("Stop Moving/Resizing Items"));
|
||||||
|
else
|
||||||
|
e_menu_item_label_set(mi, _("Begin Moving/Resizing Items"));
|
||||||
|
e_util_menu_item_theme_icon_set(mi, "transform-scale");
|
||||||
|
e_menu_item_callback_set(mi, _il_ind_win_cb_menu_edit, iwin);
|
||||||
|
|
||||||
|
mi = e_menu_item_new(mn);
|
||||||
|
e_menu_item_separator_set(mi, 1);
|
||||||
|
|
||||||
|
mi = e_menu_item_new(mn);
|
||||||
|
e_menu_item_label_set(mi, _("Set Contents"));
|
||||||
|
e_util_menu_item_theme_icon_set(mi, "preferences-desktop-shelf");
|
||||||
|
e_menu_item_callback_set(mi, _il_ind_win_cb_menu_contents, iwin);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_il_ind_win_gadcon_min_size_request(void *data, E_Gadcon *gc, Evas_Coord w, Evas_Coord h)
|
||||||
|
{
|
||||||
|
Il_Ind_Win *iwin;
|
||||||
|
|
||||||
|
if (!(iwin = data)) return;
|
||||||
|
if (gc == iwin->gadcon)
|
||||||
|
{
|
||||||
|
if (h < 32) h = 32;
|
||||||
|
edje_extern_object_min_size_set(iwin->gadcon->o_container, w, h);
|
||||||
|
edje_object_part_swallow(iwin->o_base, "e.swallow.content",
|
||||||
|
iwin->gadcon->o_container);
|
||||||
|
}
|
||||||
|
evas_object_resize(iwin->o_base, iwin->win->w, iwin->win->h);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_il_ind_win_gadcon_size_request(void *data, E_Gadcon *gc, Evas_Coord w, Evas_Coord h)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
static Evas_Object *
|
||||||
|
_il_ind_win_gadcon_frame_request(void *data, E_Gadcon_Client *gcc, const char *style)
|
||||||
|
{
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_il_ind_win_cb_menu_edit(void *data, E_Menu *mn, E_Menu_Item *mi)
|
||||||
|
{
|
||||||
|
Il_Ind_Win *iwin;
|
||||||
|
|
||||||
|
if (!(iwin = data)) return;
|
||||||
|
if (iwin->gadcon->editing)
|
||||||
|
e_gadcon_edit_end(iwin->gadcon);
|
||||||
|
else
|
||||||
|
e_gadcon_edit_begin(iwin->gadcon);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_il_ind_win_cb_menu_contents(void *data, E_Menu *mn, E_Menu_Item *mi)
|
||||||
|
{
|
||||||
|
Il_Ind_Win *iwin;
|
||||||
|
|
||||||
|
if (!(iwin = data)) return;
|
||||||
|
if (!iwin->gadcon->config_dialog)
|
||||||
|
e_int_gadcon_config_shelf(iwin->gadcon);
|
||||||
|
}
|
|
@ -0,0 +1,8 @@
|
||||||
|
#ifndef E_MOD_WIN_H
|
||||||
|
#define E_MOD_WIN_H
|
||||||
|
|
||||||
|
EAPI int e_mod_win_init(void);
|
||||||
|
EAPI int e_mod_win_shutdown(void);
|
||||||
|
EAPI Il_Ind_Win *e_mod_win_new(void);
|
||||||
|
|
||||||
|
#endif
|
|
@ -0,0 +1,6 @@
|
||||||
|
[Desktop Entry]
|
||||||
|
Type=Link
|
||||||
|
Name=Illume-Indicator
|
||||||
|
Icon=e-module-illume-indicator
|
||||||
|
X-Enlightenment-ModuleType=system
|
||||||
|
Comment=<title>Illume Indicator for Embedded</title>
|
|
@ -3,7 +3,7 @@
|
||||||
#include "e_mod_config.h"
|
#include "e_mod_config.h"
|
||||||
#include "e_mod_win.h"
|
#include "e_mod_win.h"
|
||||||
|
|
||||||
static Il_Sk_Win *win = NULL;
|
static Il_Sk_Win *swin = NULL;
|
||||||
|
|
||||||
EAPI E_Module_Api e_modapi = { E_MODULE_API_VERSION, "Illume-Softkey" };
|
EAPI E_Module_Api e_modapi = { E_MODULE_API_VERSION, "Illume-Softkey" };
|
||||||
|
|
||||||
|
@ -14,7 +14,8 @@ e_modapi_init(E_Module *m)
|
||||||
if (!il_sk_config_init(m)) return NULL;
|
if (!il_sk_config_init(m)) return NULL;
|
||||||
|
|
||||||
e_mod_win_init();
|
e_mod_win_init();
|
||||||
win = e_mod_win_new();
|
|
||||||
|
swin = e_mod_win_new();
|
||||||
|
|
||||||
return m;
|
return m;
|
||||||
}
|
}
|
||||||
|
@ -22,8 +23,8 @@ e_modapi_init(E_Module *m)
|
||||||
EAPI int
|
EAPI int
|
||||||
e_modapi_shutdown(E_Module *m)
|
e_modapi_shutdown(E_Module *m)
|
||||||
{
|
{
|
||||||
e_object_del(E_OBJECT(win));
|
e_object_del(E_OBJECT(swin));
|
||||||
win = NULL;
|
swin = NULL;
|
||||||
|
|
||||||
e_mod_win_shutdown();
|
e_mod_win_shutdown();
|
||||||
il_sk_config_shutdown();
|
il_sk_config_shutdown();
|
||||||
|
|
|
@ -40,8 +40,8 @@ e_mod_win_new(void)
|
||||||
states[0] = ECORE_X_WINDOW_STATE_SKIP_TASKBAR;
|
states[0] = ECORE_X_WINDOW_STATE_SKIP_TASKBAR;
|
||||||
states[1] = ECORE_X_WINDOW_STATE_SKIP_PAGER;
|
states[1] = ECORE_X_WINDOW_STATE_SKIP_PAGER;
|
||||||
ecore_x_netwm_window_state_set(swin->win->evas_win, states, 2);
|
ecore_x_netwm_window_state_set(swin->win->evas_win, states, 2);
|
||||||
|
|
||||||
ecore_x_icccm_hints_set(swin->win->evas_win, 0, 0, 0, 0, 0, 0, 0);
|
ecore_x_icccm_hints_set(swin->win->evas_win, 0, 0, 0, 0, 0, 0, 0);
|
||||||
|
// ecore_x_netwm_window_type_set(swin->win->evas_win, ECORE_X_WINDOW_TYPE_DOCK);
|
||||||
|
|
||||||
zone = e_util_container_zone_number_get(0, 0);
|
zone = e_util_container_zone_number_get(0, 0);
|
||||||
e_win_no_remember_set(swin->win, 1);
|
e_win_no_remember_set(swin->win, 1);
|
||||||
|
@ -73,10 +73,10 @@ e_mod_win_new(void)
|
||||||
e_widget_list_object_append(swin->o_box, swin->b_close, 1, 0, 0.5);
|
e_widget_list_object_append(swin->o_box, swin->b_close, 1, 0, 0.5);
|
||||||
|
|
||||||
e_win_size_min_set(swin->win, zone->w, 48);
|
e_win_size_min_set(swin->win, zone->w, 48);
|
||||||
|
e_win_layer_set(swin->win, 200);
|
||||||
e_win_show(swin->win);
|
e_win_show(swin->win);
|
||||||
e_win_move_resize(swin->win, 0, (zone->h - 48), zone->w, 48);
|
e_win_move_resize(swin->win, 0, (zone->h - 48), zone->w, 48);
|
||||||
|
|
||||||
ecore_x_netwm_window_type_set(swin->win->evas_win, ECORE_X_WINDOW_TYPE_DOCK);
|
|
||||||
return swin;
|
return swin;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -3,4 +3,4 @@ Type=Link
|
||||||
Name=Illume-Softkey
|
Name=Illume-Softkey
|
||||||
Icon=e-module-illume-softkey
|
Icon=e-module-illume-softkey
|
||||||
X-Enlightenment-ModuleType=system
|
X-Enlightenment-ModuleType=system
|
||||||
Comment=<title>Illume Home for Embedded</title>
|
Comment=<title>Illume Softkey for Embedded</title>
|
||||||
|
|
|
@ -718,9 +718,9 @@ _e_kbd_dbus_keyboard_eval(void)
|
||||||
if (have_real != _e_kbd_dbus_have_real_keyboard)
|
if (have_real != _e_kbd_dbus_have_real_keyboard)
|
||||||
{
|
{
|
||||||
_e_kbd_dbus_have_real_keyboard = have_real;
|
_e_kbd_dbus_have_real_keyboard = have_real;
|
||||||
if (_e_kbd_dbus_have_real_keyboard)
|
// if (_e_kbd_dbus_have_real_keyboard)
|
||||||
_e_kbd_all_disable();
|
// _e_kbd_all_disable();
|
||||||
else
|
// else
|
||||||
_e_kbd_all_enable();
|
_e_kbd_all_enable();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue