forked from enlightenment/enlightenment
Rework indicator for xinerama support.
SVN revision: 44904
This commit is contained in:
parent
00a39733f9
commit
e8d3e7c673
|
@ -4,18 +4,27 @@
|
||||||
#include "e_mod_win.h"
|
#include "e_mod_win.h"
|
||||||
|
|
||||||
/* local variables */
|
/* local variables */
|
||||||
static Il_Ind_Win *iwin = NULL;
|
static Eina_List *iwins = NULL;
|
||||||
|
|
||||||
EAPI E_Module_Api e_modapi = { E_MODULE_API_VERSION, "Illume-Indicator" };
|
EAPI E_Module_Api e_modapi = { E_MODULE_API_VERSION, "Illume-Indicator" };
|
||||||
|
|
||||||
EAPI void *
|
EAPI void *
|
||||||
e_modapi_init(E_Module *m)
|
e_modapi_init(E_Module *m)
|
||||||
{
|
{
|
||||||
|
E_Screen *screen;
|
||||||
|
const Eina_List *l;
|
||||||
|
|
||||||
if (!il_ind_config_init(m)) return NULL;
|
if (!il_ind_config_init(m)) return NULL;
|
||||||
|
|
||||||
e_mod_ind_win_init();
|
e_mod_ind_win_init();
|
||||||
|
|
||||||
iwin = e_mod_ind_win_new();
|
EINA_LIST_FOREACH(e_xinerama_screens_get(), l, screen)
|
||||||
|
{
|
||||||
|
Il_Ind_Win *iwin = NULL;
|
||||||
|
|
||||||
|
if (!(iwin = e_mod_ind_win_new(screen))) continue;
|
||||||
|
iwins = eina_list_append(iwins, iwin);
|
||||||
|
}
|
||||||
|
|
||||||
return m;
|
return m;
|
||||||
}
|
}
|
||||||
|
@ -23,8 +32,13 @@ e_modapi_init(E_Module *m)
|
||||||
EAPI int
|
EAPI int
|
||||||
e_modapi_shutdown(E_Module *m)
|
e_modapi_shutdown(E_Module *m)
|
||||||
{
|
{
|
||||||
|
Il_Ind_Win *iwin;
|
||||||
|
|
||||||
|
EINA_LIST_FREE(iwins, iwin)
|
||||||
|
{
|
||||||
e_object_del(E_OBJECT(iwin));
|
e_object_del(E_OBJECT(iwin));
|
||||||
iwin = NULL;
|
iwin = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
e_mod_ind_win_shutdown();
|
e_mod_ind_win_shutdown();
|
||||||
il_ind_config_shutdown();
|
il_ind_config_shutdown();
|
||||||
|
|
|
@ -37,9 +37,10 @@ e_mod_ind_win_shutdown(void)
|
||||||
}
|
}
|
||||||
|
|
||||||
Il_Ind_Win *
|
Il_Ind_Win *
|
||||||
e_mod_ind_win_new(void)
|
e_mod_ind_win_new(E_Screen *screen)
|
||||||
{
|
{
|
||||||
Il_Ind_Win *iwin;
|
Il_Ind_Win *iwin;
|
||||||
|
E_Container *con;
|
||||||
E_Zone *zone;
|
E_Zone *zone;
|
||||||
Evas *evas;
|
Evas *evas;
|
||||||
Eina_List *l;
|
Eina_List *l;
|
||||||
|
@ -53,7 +54,10 @@ e_mod_ind_win_new(void)
|
||||||
snprintf(buff, sizeof(buff), "%s/e-module-illume-indicator.edj",
|
snprintf(buff, sizeof(buff), "%s/e-module-illume-indicator.edj",
|
||||||
il_ind_cfg->mod_dir);
|
il_ind_cfg->mod_dir);
|
||||||
|
|
||||||
iwin->win = e_win_new(e_util_container_number_get(0));
|
con = e_container_current_get(e_manager_current_get());
|
||||||
|
zone = e_util_container_zone_id_get(con->num, screen->escreen);
|
||||||
|
|
||||||
|
iwin->win = e_win_new(con);
|
||||||
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(iwin->win->evas_win, states, 2);
|
ecore_x_netwm_window_state_set(iwin->win->evas_win, states, 2);
|
||||||
|
@ -68,8 +72,6 @@ e_mod_ind_win_new(void)
|
||||||
|
|
||||||
evas = e_win_evas_get(iwin->win);
|
evas = e_win_evas_get(iwin->win);
|
||||||
|
|
||||||
zone = e_zone_current_get(e_container_current_get(e_manager_current_get()));
|
|
||||||
|
|
||||||
iwin->o_event = evas_object_rectangle_add(evas);
|
iwin->o_event = evas_object_rectangle_add(evas);
|
||||||
evas_object_color_set(iwin->o_event, 0, 0, 0, 0);
|
evas_object_color_set(iwin->o_event, 0, 0, 0, 0);
|
||||||
evas_object_move(iwin->o_event, 0, 0);
|
evas_object_move(iwin->o_event, 0, 0);
|
||||||
|
@ -113,6 +115,7 @@ e_mod_ind_win_new(void)
|
||||||
|
|
||||||
e_win_size_min_set(iwin->win, zone->w, 32);
|
e_win_size_min_set(iwin->win, zone->w, 32);
|
||||||
e_win_show(iwin->win);
|
e_win_show(iwin->win);
|
||||||
|
e_win_move(iwin->win, zone->x, zone->y);
|
||||||
|
|
||||||
if (_il_ind_win_is_locked())
|
if (_il_ind_win_is_locked())
|
||||||
ecore_x_e_illume_drag_locked_set(iwin->win->border->client.win, 1);
|
ecore_x_e_illume_drag_locked_set(iwin->win->border->client.win, 1);
|
||||||
|
|
|
@ -3,6 +3,6 @@
|
||||||
|
|
||||||
int e_mod_ind_win_init(void);
|
int e_mod_ind_win_init(void);
|
||||||
int e_mod_ind_win_shutdown(void);
|
int e_mod_ind_win_shutdown(void);
|
||||||
Il_Ind_Win *e_mod_ind_win_new(void);
|
Il_Ind_Win *e_mod_ind_win_new(E_Screen *screen);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in New Issue