forked from enlightenment/enlightenment
Add desktop name to the pager (turn it on in the pager's config menu).
The theme could probably use a bit of touch up, but it works for now :) Add an event when desktop names change. Note: currently 'adding' a name with enlightenment_remote sends out change events for ALL of the desktops (even the ones that didn't change). This should be fixed... SVN revision: 16604
This commit is contained in:
parent
3416045581
commit
8356b338e9
|
@ -27,6 +27,58 @@ group {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
part {
|
||||||
|
name: "desktop_name";
|
||||||
|
type: TEXT;
|
||||||
|
effect: SOFT_SHADOW;
|
||||||
|
description {
|
||||||
|
state: "default" 0.0;
|
||||||
|
visible: 0;
|
||||||
|
color: 0 0 0 180;
|
||||||
|
color3: 0 0 0 15;
|
||||||
|
text {
|
||||||
|
text: "Desktop Name";
|
||||||
|
font: "Vera";
|
||||||
|
size: 8;
|
||||||
|
min: 1 1;
|
||||||
|
align: 0.5 0.5;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
description {
|
||||||
|
state: "name_top" 0.0;
|
||||||
|
inherit: "default" 0.0;
|
||||||
|
visible: 1;
|
||||||
|
rel1 {
|
||||||
|
to_x: "items";
|
||||||
|
to_y: "background";
|
||||||
|
relative: 0 0;
|
||||||
|
offset: 0 8;
|
||||||
|
}
|
||||||
|
rel2 {
|
||||||
|
to: "items";
|
||||||
|
relative: 1 0;
|
||||||
|
offset: -1 -1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
description {
|
||||||
|
state: "name_bottom" 0.0;
|
||||||
|
inherit: "default" 0.0;
|
||||||
|
visible: 1;
|
||||||
|
rel1 {
|
||||||
|
to: "items";
|
||||||
|
relative: 0 1;
|
||||||
|
offset: 0 2;
|
||||||
|
}
|
||||||
|
rel2 {
|
||||||
|
to_x: "items";
|
||||||
|
to_y: "background";
|
||||||
|
offset: -1 -4;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
part {
|
part {
|
||||||
name: "items";
|
name: "items";
|
||||||
mouse_events: 0;
|
mouse_events: 0;
|
||||||
|
@ -41,6 +93,16 @@ group {
|
||||||
}
|
}
|
||||||
color: 0 0 0 0;
|
color: 0 0 0 0;
|
||||||
}
|
}
|
||||||
|
description {
|
||||||
|
state: "name_top" 0.0;
|
||||||
|
inherit: "default" 0.0;
|
||||||
|
rel1.offset: 5 18;
|
||||||
|
}
|
||||||
|
description {
|
||||||
|
state: "name_bottom" 0.0;
|
||||||
|
inherit: "default" 0.0;
|
||||||
|
rel2.offset: -6 -19;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
part {
|
part {
|
||||||
name: "overlay";
|
name: "overlay";
|
||||||
|
@ -58,6 +120,37 @@ group {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
programs {
|
||||||
|
program {
|
||||||
|
name: "name_top";
|
||||||
|
signal: "desktop_name,top";
|
||||||
|
source: "*";
|
||||||
|
action: STATE_SET "name_top" 0.0;
|
||||||
|
target: "items";
|
||||||
|
target: "desktop_name";
|
||||||
|
transition: DECELERATE 0.25;
|
||||||
|
}
|
||||||
|
program {
|
||||||
|
name: "name_bottom";
|
||||||
|
signal: "desktop_name,bottom";
|
||||||
|
source: "*";
|
||||||
|
action: STATE_SET "name_bottom" 0.0;
|
||||||
|
target: "items";
|
||||||
|
target: "desktop_name";
|
||||||
|
transition: DECELERATE 0.25;
|
||||||
|
}
|
||||||
|
program {
|
||||||
|
name: "name_none";
|
||||||
|
signal: "desktop_name,none";
|
||||||
|
source: "*";
|
||||||
|
action: STATE_SET "default" 0.0;
|
||||||
|
target: "items";
|
||||||
|
target: "desktop_name";
|
||||||
|
transition: DECELERATE 0.25;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
group {
|
group {
|
||||||
|
|
|
@ -10,13 +10,16 @@
|
||||||
|
|
||||||
static void _e_desk_free(E_Desk *desk);
|
static void _e_desk_free(E_Desk *desk);
|
||||||
static void _e_border_event_desk_show_free(void *data, void *ev);
|
static void _e_border_event_desk_show_free(void *data, void *ev);
|
||||||
|
static void _e_border_event_desk_name_change_free(void *data, void *ev);
|
||||||
|
|
||||||
int E_EVENT_DESK_SHOW = 0;
|
int E_EVENT_DESK_SHOW = 0;
|
||||||
|
int E_EVENT_DESK_NAME_CHANGE = 0;
|
||||||
|
|
||||||
int
|
int
|
||||||
e_desk_init(void)
|
e_desk_init(void)
|
||||||
{
|
{
|
||||||
E_EVENT_DESK_SHOW = ecore_event_type_new();
|
E_EVENT_DESK_SHOW = ecore_event_type_new();
|
||||||
|
E_EVENT_DESK_NAME_CHANGE = ecore_event_type_new();
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -74,10 +77,17 @@ e_desk_new(E_Zone *zone, int x, int y)
|
||||||
void
|
void
|
||||||
e_desk_name_set(E_Desk *desk, const char *name)
|
e_desk_name_set(E_Desk *desk, const char *name)
|
||||||
{
|
{
|
||||||
|
E_Event_Desk_Name_Change *ev;
|
||||||
|
|
||||||
E_OBJECT_CHECK(desk);
|
E_OBJECT_CHECK(desk);
|
||||||
E_OBJECT_TYPE_CHECK(desk, E_DESK_TYPE);
|
E_OBJECT_TYPE_CHECK(desk, E_DESK_TYPE);
|
||||||
E_FREE(desk->name);
|
E_FREE(desk->name);
|
||||||
desk->name = strdup(name);
|
desk->name = strdup(name);
|
||||||
|
|
||||||
|
ev = E_NEW(E_Event_Desk_Name_Change, 1);
|
||||||
|
ev->desk = desk;
|
||||||
|
e_object_ref(E_OBJECT(desk));
|
||||||
|
ecore_event_add(E_EVENT_DESK_NAME_CHANGE, ev, _e_border_event_desk_name_change_free, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
@ -402,3 +412,12 @@ _e_border_event_desk_show_free(void *data, void *event)
|
||||||
free(ev);
|
free(ev);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_e_border_event_desk_name_change_free(void *data, void *event)
|
||||||
|
{
|
||||||
|
E_Event_Desk_Name_Change *ev;
|
||||||
|
|
||||||
|
ev = event;
|
||||||
|
e_object_unref(E_OBJECT(ev->desk));
|
||||||
|
free(ev);
|
||||||
|
}
|
||||||
|
|
|
@ -5,6 +5,7 @@
|
||||||
|
|
||||||
typedef struct _E_Desk E_Desk;
|
typedef struct _E_Desk E_Desk;
|
||||||
typedef struct _E_Event_Desk_Show E_Event_Desk_Show;
|
typedef struct _E_Event_Desk_Show E_Event_Desk_Show;
|
||||||
|
typedef struct _E_Event_Desk_Name_Change E_Event_Desk_Name_Change;
|
||||||
|
|
||||||
#else
|
#else
|
||||||
#ifndef E_DESK_H
|
#ifndef E_DESK_H
|
||||||
|
@ -29,6 +30,11 @@ struct _E_Event_Desk_Show
|
||||||
E_Desk *desk;
|
E_Desk *desk;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
struct _E_Event_Desk_Name_Change
|
||||||
|
{
|
||||||
|
E_Desk *desk;
|
||||||
|
};
|
||||||
|
|
||||||
EAPI int e_desk_init(void);
|
EAPI int e_desk_init(void);
|
||||||
EAPI int e_desk_shutdown(void);
|
EAPI int e_desk_shutdown(void);
|
||||||
EAPI E_Desk *e_desk_new(E_Zone *zone, int x, int y);
|
EAPI E_Desk *e_desk_new(E_Zone *zone, int x, int y);
|
||||||
|
@ -50,6 +56,7 @@ EAPI void e_desk_col_add(E_Zone *zone);
|
||||||
EAPI void e_desk_col_remove(E_Zone *zone);
|
EAPI void e_desk_col_remove(E_Zone *zone);
|
||||||
|
|
||||||
extern EAPI int E_EVENT_DESK_SHOW;
|
extern EAPI int E_EVENT_DESK_SHOW;
|
||||||
|
extern EAPI int E_EVENT_DESK_NAME_CHANGE;
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -14,7 +14,7 @@ static Pager *_pager_new();
|
||||||
static void _pager_free(Pager *pager);
|
static void _pager_free(Pager *pager);
|
||||||
static void _pager_config_menu_new(Pager *pager);
|
static void _pager_config_menu_new(Pager *pager);
|
||||||
|
|
||||||
static Pager_Face *_pager_face_new(E_Zone *zone);
|
static Pager_Face *_pager_face_new(Pager *pager, E_Zone *zone);
|
||||||
static void _pager_face_free(Pager_Face *face);
|
static void _pager_face_free(Pager_Face *face);
|
||||||
static void _pager_face_menu_new(Pager_Face *face);
|
static void _pager_face_menu_new(Pager_Face *face);
|
||||||
static void _pager_face_enable(Pager_Face *face);
|
static void _pager_face_enable(Pager_Face *face);
|
||||||
|
@ -49,6 +49,7 @@ static int _pager_face_cb_event_border_lower(void *data, int type, void
|
||||||
static int _pager_face_cb_event_border_icon_change(void *data, int type, void *event);
|
static int _pager_face_cb_event_border_icon_change(void *data, int type, void *event);
|
||||||
static int _pager_face_cb_event_zone_desk_count_set(void *data, int type, void *event);
|
static int _pager_face_cb_event_zone_desk_count_set(void *data, int type, void *event);
|
||||||
static int _pager_face_cb_event_desk_show(void *data, int type, void *event);
|
static int _pager_face_cb_event_desk_show(void *data, int type, void *event);
|
||||||
|
static int _pager_face_cb_event_desk_name_change(void *data, int type, void *event);
|
||||||
static int _pager_face_cb_event_container_resize(void *data, int type, void *event);
|
static int _pager_face_cb_event_container_resize(void *data, int type, void *event);
|
||||||
static void _pager_face_cb_menu_enabled(void *data, E_Menu *m, E_Menu_Item *mi);
|
static void _pager_face_cb_menu_enabled(void *data, E_Menu *m, E_Menu_Item *mi);
|
||||||
static void _pager_face_cb_menu_edit(void *data, E_Menu *m, E_Menu_Item *mi);
|
static void _pager_face_cb_menu_edit(void *data, E_Menu *m, E_Menu_Item *mi);
|
||||||
|
@ -67,6 +68,13 @@ static void _pager_face_cb_move(void *data, const char *type, void *drop)
|
||||||
static void _pager_face_cb_leave(void *data, const char *type, void *drop);
|
static void _pager_face_cb_leave(void *data, const char *type, void *drop);
|
||||||
static void _pager_face_cb_drop(void *data, const char *type, void *drop);
|
static void _pager_face_cb_drop(void *data, const char *type, void *drop);
|
||||||
|
|
||||||
|
static void _pager_face_cb_deskname_none(void *data, E_Menu *m, E_Menu_Item *mi);
|
||||||
|
static void _pager_face_cb_deskname_top(void *data, E_Menu *m, E_Menu_Item *mi);
|
||||||
|
static void _pager_face_cb_deskname_bottom(void *data, E_Menu *m, E_Menu_Item *mi);
|
||||||
|
static void _pager_face_cb_deskname_left(void *data, E_Menu *m, E_Menu_Item *mi);
|
||||||
|
static void _pager_face_cb_deskname_right(void *data, E_Menu *m, E_Menu_Item *mi);
|
||||||
|
static void _pager_face_deskname_position_change(Pager_Face *face);
|
||||||
|
|
||||||
static int _pager_count;
|
static int _pager_count;
|
||||||
|
|
||||||
static E_Config_DD *_conf_edd;
|
static E_Config_DD *_conf_edd;
|
||||||
|
@ -176,6 +184,7 @@ _pager_new()
|
||||||
#define T Config
|
#define T Config
|
||||||
#define D _conf_edd
|
#define D _conf_edd
|
||||||
E_CONFIG_LIST(D, T, faces, _conf_face_edd);
|
E_CONFIG_LIST(D, T, faces, _conf_face_edd);
|
||||||
|
E_CONFIG_VAL(D, T, deskname_pos, UINT);
|
||||||
|
|
||||||
pager->conf = e_config_domain_load("module.pager", _conf_edd);
|
pager->conf = e_config_domain_load("module.pager", _conf_edd);
|
||||||
if (!pager->conf)
|
if (!pager->conf)
|
||||||
|
@ -206,7 +215,7 @@ _pager_new()
|
||||||
{
|
{
|
||||||
zone = l3->data;
|
zone = l3->data;
|
||||||
|
|
||||||
face = _pager_face_new(zone);
|
face = _pager_face_new(pager, zone);
|
||||||
if (face)
|
if (face)
|
||||||
{
|
{
|
||||||
pager->faces = evas_list_append(pager->faces, face);
|
pager->faces = evas_list_append(pager->faces, face);
|
||||||
|
@ -269,11 +278,66 @@ _pager_free(Pager *pager)
|
||||||
static void
|
static void
|
||||||
_pager_config_menu_new(Pager *pager)
|
_pager_config_menu_new(Pager *pager)
|
||||||
{
|
{
|
||||||
pager->config_menu = e_menu_new();
|
E_Menu *mn;
|
||||||
|
E_Menu_Item *mi;
|
||||||
|
|
||||||
|
mn = e_menu_new();
|
||||||
|
pager->config_menu = mn;
|
||||||
|
|
||||||
|
mn = e_menu_new();
|
||||||
|
pager->config_menu_deskname = mn;
|
||||||
|
|
||||||
|
mi = e_menu_item_new(mn);
|
||||||
|
e_menu_item_label_set(mi, _("None"));
|
||||||
|
e_menu_item_radio_set(mi, 1);
|
||||||
|
e_menu_item_radio_group_set(mi, 2);
|
||||||
|
if (pager->conf->deskname_pos == PAGER_DESKNAME_NONE)
|
||||||
|
e_menu_item_toggle_set(mi, 1);
|
||||||
|
e_menu_item_callback_set(mi, _pager_face_cb_deskname_none, pager);
|
||||||
|
|
||||||
|
mi = e_menu_item_new(mn);
|
||||||
|
e_menu_item_label_set(mi, _("Top"));
|
||||||
|
e_menu_item_radio_set(mi, 1);
|
||||||
|
e_menu_item_radio_group_set(mi, 2);
|
||||||
|
if (pager->conf->deskname_pos == PAGER_DESKNAME_TOP)
|
||||||
|
e_menu_item_toggle_set(mi, 1);
|
||||||
|
e_menu_item_callback_set(mi, _pager_face_cb_deskname_top, pager);
|
||||||
|
|
||||||
|
mi = e_menu_item_new(mn);
|
||||||
|
e_menu_item_label_set(mi, _("Bottom"));
|
||||||
|
e_menu_item_radio_set(mi, 1);
|
||||||
|
e_menu_item_radio_group_set(mi, 2);
|
||||||
|
if (pager->conf->deskname_pos == PAGER_DESKNAME_BOTTOM)
|
||||||
|
e_menu_item_toggle_set(mi, 1);
|
||||||
|
e_menu_item_callback_set(mi, _pager_face_cb_deskname_bottom, pager);
|
||||||
|
|
||||||
|
/* FIXME: implement this in the theme, then re-enable */
|
||||||
|
/*
|
||||||
|
mi = e_menu_item_new(mn);
|
||||||
|
e_menu_item_label_set(mi, _("Left"));
|
||||||
|
e_menu_item_radio_set(mi, 1);
|
||||||
|
e_menu_item_radio_group_set(mi, 2);
|
||||||
|
if (pager->conf->deskname_pos == PAGER_DESKNAME_LEFT)
|
||||||
|
e_menu_item_toggle_set(mi, 1);
|
||||||
|
e_menu_item_callback_set(mi, _pager_face_cb_deskname_left, pager);
|
||||||
|
|
||||||
|
mi = e_menu_item_new(mn);
|
||||||
|
e_menu_item_label_set(mi, _("Right"));
|
||||||
|
e_menu_item_radio_set(mi, 1);
|
||||||
|
e_menu_item_radio_group_set(mi, 2);
|
||||||
|
if (pager->conf->deskname_pos == PAGER_DESKNAME_RIGHT)
|
||||||
|
e_menu_item_toggle_set(mi, 1);
|
||||||
|
e_menu_item_callback_set(mi, _pager_face_cb_deskname_right, pager);
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* Submenus */
|
||||||
|
mi = e_menu_item_new(pager->config_menu);
|
||||||
|
e_menu_item_label_set(mi, _("Desktop Name"));
|
||||||
|
e_menu_item_submenu_set(mi, pager->config_menu_deskname);
|
||||||
}
|
}
|
||||||
|
|
||||||
static Pager_Face *
|
static Pager_Face *
|
||||||
_pager_face_new(E_Zone *zone)
|
_pager_face_new(Pager *pager, E_Zone *zone)
|
||||||
{
|
{
|
||||||
Pager_Face *face;
|
Pager_Face *face;
|
||||||
Evas_Object *o;
|
Evas_Object *o;
|
||||||
|
@ -282,6 +346,8 @@ _pager_face_new(E_Zone *zone)
|
||||||
face = E_NEW(Pager_Face, 1);
|
face = E_NEW(Pager_Face, 1);
|
||||||
if (!face) return NULL;
|
if (!face) return NULL;
|
||||||
|
|
||||||
|
face->pager = pager;
|
||||||
|
|
||||||
/* store what evas we live in */
|
/* store what evas we live in */
|
||||||
face->evas = zone->container->bg_evas;
|
face->evas = zone->container->bg_evas;
|
||||||
|
|
||||||
|
@ -328,6 +394,9 @@ _pager_face_new(E_Zone *zone)
|
||||||
face->ev_handler_desk_show =
|
face->ev_handler_desk_show =
|
||||||
ecore_event_handler_add(E_EVENT_DESK_SHOW,
|
ecore_event_handler_add(E_EVENT_DESK_SHOW,
|
||||||
_pager_face_cb_event_desk_show, face);
|
_pager_face_cb_event_desk_show, face);
|
||||||
|
face->ev_handler_desk_name_change =
|
||||||
|
ecore_event_handler_add(E_EVENT_DESK_NAME_CHANGE,
|
||||||
|
_pager_face_cb_event_desk_name_change, face);
|
||||||
face->ev_handler_container_resize =
|
face->ev_handler_container_resize =
|
||||||
ecore_event_handler_add(E_EVENT_CONTAINER_RESIZE,
|
ecore_event_handler_add(E_EVENT_CONTAINER_RESIZE,
|
||||||
_pager_face_cb_event_container_resize, face);
|
_pager_face_cb_event_container_resize, face);
|
||||||
|
@ -379,6 +448,8 @@ _pager_face_new(E_Zone *zone)
|
||||||
e_gadman_client_change_func_set(face->gmc, _pager_face_cb_gmc_change, face);
|
e_gadman_client_change_func_set(face->gmc, _pager_face_cb_gmc_change, face);
|
||||||
e_gadman_client_load(face->gmc);
|
e_gadman_client_load(face->gmc);
|
||||||
|
|
||||||
|
_pager_face_deskname_position_change(face);
|
||||||
|
|
||||||
return face;
|
return face;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -407,6 +478,7 @@ _pager_face_free(Pager_Face *face)
|
||||||
ecore_event_handler_del(face->ev_handler_border_icon_change);
|
ecore_event_handler_del(face->ev_handler_border_icon_change);
|
||||||
ecore_event_handler_del(face->ev_handler_zone_desk_count_set);
|
ecore_event_handler_del(face->ev_handler_zone_desk_count_set);
|
||||||
ecore_event_handler_del(face->ev_handler_desk_show);
|
ecore_event_handler_del(face->ev_handler_desk_show);
|
||||||
|
ecore_event_handler_del(face->ev_handler_desk_name_change);
|
||||||
ecore_event_handler_del(face->ev_handler_container_resize);
|
ecore_event_handler_del(face->ev_handler_container_resize);
|
||||||
|
|
||||||
e_object_del(E_OBJECT(face->menu));
|
e_object_del(E_OBJECT(face->menu));
|
||||||
|
@ -436,6 +508,11 @@ _pager_face_menu_new(Pager_Face *face)
|
||||||
mi = e_menu_item_new(mn);
|
mi = e_menu_item_new(mn);
|
||||||
e_menu_item_label_set(mi, _("Edit Mode"));
|
e_menu_item_label_set(mi, _("Edit Mode"));
|
||||||
e_menu_item_callback_set(mi, _pager_face_cb_menu_edit, face);
|
e_menu_item_callback_set(mi, _pager_face_cb_menu_edit, face);
|
||||||
|
|
||||||
|
/* Submenus */
|
||||||
|
mi = e_menu_item_new(mn);
|
||||||
|
e_menu_item_label_set(mi, _("Desktop Name"));
|
||||||
|
e_menu_item_submenu_set(mi, face->pager->config_menu_deskname);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
@ -723,6 +800,7 @@ _pager_face_desk_select(Pager_Desk *pd)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
edje_object_part_text_set(pd->face->pager_object, "desktop_name", pd->desk->name);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
@ -1230,6 +1308,32 @@ _pager_face_cb_event_desk_show(void *data, int type, void *event)
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int
|
||||||
|
_pager_face_cb_event_desk_name_change(void *data, int type, void *event)
|
||||||
|
{
|
||||||
|
Pager_Face *face;
|
||||||
|
E_Event_Desk_Show *ev;
|
||||||
|
Evas_List *l;
|
||||||
|
|
||||||
|
face = data;
|
||||||
|
ev = event;
|
||||||
|
if (face->zone != ev->desk->zone) return 1;
|
||||||
|
|
||||||
|
for (l = face->desks; l; l = l->next)
|
||||||
|
{
|
||||||
|
Pager_Desk *pd;
|
||||||
|
pd = l->data;
|
||||||
|
|
||||||
|
if ( (pd->desk == ev->desk) && pd->current)
|
||||||
|
{
|
||||||
|
edje_object_part_text_set(pd->face->pager_object, "desktop_name", ev->desk->name);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
_pager_face_cb_event_container_resize(void *data, int type, void *event)
|
_pager_face_cb_event_container_resize(void *data, int type, void *event)
|
||||||
{
|
{
|
||||||
|
@ -1489,3 +1593,117 @@ _pager_face_cb_drop(void *data, const char *type, void *event_info)
|
||||||
edje_object_signal_emit(pd->desk_object, "drag", "out");
|
edje_object_signal_emit(pd->desk_object, "drag", "out");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_pager_face_cb_deskname_none(void *data, E_Menu *m, E_Menu_Item *mi)
|
||||||
|
{
|
||||||
|
Pager *pager;
|
||||||
|
Evas_List *l;
|
||||||
|
|
||||||
|
pager = data;
|
||||||
|
pager->conf->deskname_pos = PAGER_DESKNAME_NONE;
|
||||||
|
for (l = pager->faces; l; l = l->next)
|
||||||
|
{
|
||||||
|
Pager_Face *face;
|
||||||
|
|
||||||
|
face = l->data;
|
||||||
|
_pager_face_deskname_position_change(face);
|
||||||
|
}
|
||||||
|
e_config_save_queue();
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_pager_face_cb_deskname_top(void *data, E_Menu *m, E_Menu_Item *mi)
|
||||||
|
{
|
||||||
|
Pager *pager;
|
||||||
|
Evas_List *l;
|
||||||
|
|
||||||
|
pager = data;
|
||||||
|
pager->conf->deskname_pos = PAGER_DESKNAME_TOP;
|
||||||
|
for (l = pager->faces; l; l = l->next)
|
||||||
|
{
|
||||||
|
Pager_Face *face;
|
||||||
|
|
||||||
|
face = l->data;
|
||||||
|
_pager_face_deskname_position_change(face);
|
||||||
|
}
|
||||||
|
e_config_save_queue();
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_pager_face_cb_deskname_bottom(void *data, E_Menu *m, E_Menu_Item *mi)
|
||||||
|
{
|
||||||
|
Pager *pager;
|
||||||
|
Evas_List *l;
|
||||||
|
|
||||||
|
pager = data;
|
||||||
|
pager->conf->deskname_pos = PAGER_DESKNAME_BOTTOM;
|
||||||
|
for (l = pager->faces; l; l = l->next)
|
||||||
|
{
|
||||||
|
Pager_Face *face;
|
||||||
|
|
||||||
|
face = l->data;
|
||||||
|
_pager_face_deskname_position_change(face);
|
||||||
|
}
|
||||||
|
e_config_save_queue();
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_pager_face_cb_deskname_left(void *data, E_Menu *m, E_Menu_Item *mi)
|
||||||
|
{
|
||||||
|
Pager *pager;
|
||||||
|
Evas_List *l;
|
||||||
|
|
||||||
|
pager = data;
|
||||||
|
pager->conf->deskname_pos = PAGER_DESKNAME_LEFT;
|
||||||
|
for (l = pager->faces; l; l = l->next)
|
||||||
|
{
|
||||||
|
Pager_Face *face;
|
||||||
|
|
||||||
|
face = l->data;
|
||||||
|
_pager_face_deskname_position_change(face);
|
||||||
|
}
|
||||||
|
e_config_save_queue();
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_pager_face_cb_deskname_right(void *data, E_Menu *m, E_Menu_Item *mi)
|
||||||
|
{
|
||||||
|
Pager *pager;
|
||||||
|
Evas_List *l;
|
||||||
|
|
||||||
|
pager = data;
|
||||||
|
pager->conf->deskname_pos = PAGER_DESKNAME_RIGHT;
|
||||||
|
for (l = pager->faces; l; l = l->next)
|
||||||
|
{
|
||||||
|
Pager_Face *face;
|
||||||
|
|
||||||
|
face = l->data;
|
||||||
|
_pager_face_deskname_position_change(face);
|
||||||
|
}
|
||||||
|
e_config_save_queue();
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_pager_face_deskname_position_change(Pager_Face *face)
|
||||||
|
{
|
||||||
|
switch (face->pager->conf->deskname_pos)
|
||||||
|
{
|
||||||
|
case PAGER_DESKNAME_NONE:
|
||||||
|
edje_object_signal_emit(face->pager_object, "desktop_name,none", "");
|
||||||
|
break;
|
||||||
|
case PAGER_DESKNAME_TOP:
|
||||||
|
edje_object_signal_emit(face->pager_object, "desktop_name,top", "");
|
||||||
|
break;
|
||||||
|
case PAGER_DESKNAME_BOTTOM:
|
||||||
|
edje_object_signal_emit(face->pager_object, "desktop_name,bottom", "");
|
||||||
|
break;
|
||||||
|
case PAGER_DESKNAME_LEFT:
|
||||||
|
edje_object_signal_emit(face->pager_object, "desktop_name,left", "");
|
||||||
|
break;
|
||||||
|
case PAGER_DESKNAME_RIGHT:
|
||||||
|
edje_object_signal_emit(face->pager_object, "desktop_name,right", "");
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
|
@ -16,9 +16,17 @@ typedef struct _Pager_Win Pager_Win;
|
||||||
#define PAGER_RESIZE_VERT 2
|
#define PAGER_RESIZE_VERT 2
|
||||||
#define PAGER_RESIZE_BOTH 3
|
#define PAGER_RESIZE_BOTH 3
|
||||||
|
|
||||||
|
#define PAGER_DESKNAME_NONE 0
|
||||||
|
#define PAGER_DESKNAME_TOP 1
|
||||||
|
#define PAGER_DESKNAME_BOTTOM 2
|
||||||
|
#define PAGER_DESKNAME_LEFT 3
|
||||||
|
#define PAGER_DESKNAME_RIGHT 4
|
||||||
|
|
||||||
struct _Config
|
struct _Config
|
||||||
{
|
{
|
||||||
Evas_List *faces;
|
Evas_List *faces;
|
||||||
|
/* Position of desktop name */
|
||||||
|
unsigned int deskname_pos;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct _Config_Face
|
struct _Config_Face
|
||||||
|
@ -35,6 +43,7 @@ struct _Pager
|
||||||
{
|
{
|
||||||
Evas_List *faces;
|
Evas_List *faces;
|
||||||
E_Menu *config_menu;
|
E_Menu *config_menu;
|
||||||
|
E_Menu *config_menu_deskname;
|
||||||
Evas_List *menus;
|
Evas_List *menus;
|
||||||
|
|
||||||
Config *conf;
|
Config *conf;
|
||||||
|
@ -42,6 +51,7 @@ struct _Pager
|
||||||
|
|
||||||
struct _Pager_Face
|
struct _Pager_Face
|
||||||
{
|
{
|
||||||
|
Pager *pager;
|
||||||
E_Gadman_Client *gmc;
|
E_Gadman_Client *gmc;
|
||||||
E_Menu *menu;
|
E_Menu *menu;
|
||||||
Evas *evas;
|
Evas *evas;
|
||||||
|
@ -76,6 +86,7 @@ struct _Pager_Face
|
||||||
Ecore_Event_Handler *ev_handler_border_icon_change;
|
Ecore_Event_Handler *ev_handler_border_icon_change;
|
||||||
Ecore_Event_Handler *ev_handler_zone_desk_count_set;
|
Ecore_Event_Handler *ev_handler_zone_desk_count_set;
|
||||||
Ecore_Event_Handler *ev_handler_desk_show;
|
Ecore_Event_Handler *ev_handler_desk_show;
|
||||||
|
Ecore_Event_Handler *ev_handler_desk_name_change;
|
||||||
Ecore_Event_Handler *ev_handler_container_resize;
|
Ecore_Event_Handler *ev_handler_container_resize;
|
||||||
|
|
||||||
E_Drop_Handler *drop_handler;
|
E_Drop_Handler *drop_handler;
|
||||||
|
|
Loading…
Reference in New Issue