forked from enlightenment/enlightenment
Modified Patch from hannes Janetzek (jeffdame1h) for fixing pager popup always having
same size as shelf & problem of having 2 pagers in one zone. SVN revision: 33139
This commit is contained in:
parent
73fe916ef6
commit
9cf5076159
|
@ -16,6 +16,7 @@ struct _E_Config_Dialog_Data
|
|||
int show_popup_urgent;
|
||||
int popup_urgent_stick;
|
||||
double popup_urgent_speed;
|
||||
int popup_pager_height;
|
||||
int drag_resist;
|
||||
unsigned int btn_drag;
|
||||
unsigned int btn_noplace;
|
||||
|
@ -85,6 +86,7 @@ _fill_data(Config_Item *ci, E_Config_Dialog_Data *cfdata)
|
|||
cfdata->show_popup_urgent = pager_config->popup_urgent;
|
||||
cfdata->popup_urgent_stick = pager_config->popup_urgent_stick;
|
||||
cfdata->popup_urgent_speed = pager_config->popup_urgent_speed;
|
||||
cfdata->popup_pager_height = pager_config->popup_pager_height;
|
||||
cfdata->drag_resist = pager_config->drag_resist;
|
||||
cfdata->btn_drag = pager_config->btn_drag;
|
||||
cfdata->btn_noplace = pager_config->btn_noplace;
|
||||
|
@ -169,6 +171,10 @@ _advanced_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data
|
|||
of = e_widget_framelist_add(evas, _("Pager Popup Settings"), 0);
|
||||
ob = e_widget_check_add(evas, _("Show Popup on desktop change"), &(cfdata->show_popup));
|
||||
e_widget_framelist_object_append(of, ob);
|
||||
ob = e_widget_label_add(evas, _("Popup Pager Height"));
|
||||
e_widget_framelist_object_append(of, ob);
|
||||
ob = e_widget_slider_add(evas, 1, 0, _("%.0f px"), 20.0, 200.0, 0.1, 0, NULL, &(cfdata->popup_pager_height), 200);
|
||||
e_widget_framelist_object_append(of, ob);
|
||||
ob = e_widget_label_add(evas, _("Popup Speed"));
|
||||
e_widget_framelist_object_append(of, ob);
|
||||
ob = e_widget_slider_add(evas, 1, 0, _("%1.1f seconds"), 0.1, 10.0, 0.1, 0, &(cfdata->popup_speed), NULL, 200);
|
||||
|
@ -202,6 +208,7 @@ _advanced_apply_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata)
|
|||
pager_config->popup_urgent = cfdata->show_popup_urgent;
|
||||
pager_config->popup_urgent_stick = cfdata->popup_urgent_stick;
|
||||
pager_config->popup_urgent_speed = cfdata->popup_urgent_speed;
|
||||
pager_config->popup_pager_height = cfdata->popup_pager_height;
|
||||
pager_config->drag_resist = cfdata->drag_resist;
|
||||
pager_config->btn_drag = cfdata->btn_drag;
|
||||
pager_config->btn_noplace = cfdata->btn_noplace;
|
||||
|
|
|
@ -1,11 +1,10 @@
|
|||
/*
|
||||
* vim:ts=8:sw=3:sts=8:noexpandtab:cino=>5n-3f0^-2{2
|
||||
*/
|
||||
|
||||
#include "e.h"
|
||||
#include "e_mod_main.h"
|
||||
|
||||
/***************************************************************************/
|
||||
/**/
|
||||
/* gadcon requirements */
|
||||
static E_Gadcon_Client *_gc_init(E_Gadcon *gc, const char *name, const char *id, const char *style);
|
||||
static void _gc_shutdown(E_Gadcon_Client *gcc);
|
||||
|
@ -19,19 +18,13 @@ static const E_Gadcon_Client_Class _gadcon_class =
|
|||
GADCON_CLIENT_CLASS_VERSION,
|
||||
"pager",
|
||||
{
|
||||
_gc_init, _gc_shutdown, _gc_orient, _gc_label, _gc_icon, _gc_id_new, NULL
|
||||
_gc_init, _gc_shutdown, _gc_orient, _gc_label, _gc_icon, _gc_id_new, NULL
|
||||
},
|
||||
E_GADCON_CLIENT_STYLE_INSET
|
||||
};
|
||||
/**/
|
||||
/***************************************************************************/
|
||||
|
||||
/***************************************************************************/
|
||||
/**/
|
||||
/* actual module specifics */
|
||||
|
||||
typedef struct _Instance Instance;
|
||||
|
||||
typedef struct _Pager Pager;
|
||||
typedef struct _Pager_Desk Pager_Desk;
|
||||
typedef struct _Pager_Win Pager_Win;
|
||||
|
@ -53,7 +46,6 @@ struct _Pager
|
|||
E_Zone *zone;
|
||||
int xnum, ynum;
|
||||
Evas_List *desks;
|
||||
Pager_Popup *popup;
|
||||
unsigned char dragging : 1;
|
||||
unsigned char just_dragged : 1;
|
||||
Evas_Coord dnd_x, dnd_y;
|
||||
|
@ -69,6 +61,7 @@ struct _Pager_Desk
|
|||
Evas_Object *o_layout;
|
||||
int xpos, ypos;
|
||||
int current : 1;
|
||||
int urgent;
|
||||
struct {
|
||||
Pager *from_pager;
|
||||
unsigned char in_pager : 1;
|
||||
|
@ -101,7 +94,7 @@ struct _Pager_Win
|
|||
struct _Pager_Popup
|
||||
{
|
||||
E_Popup *popup;
|
||||
Pager *pager, *src_pager;
|
||||
Pager *pager;
|
||||
Evas_Object *o_bg;
|
||||
Ecore_Timer *timer;
|
||||
unsigned char urgent : 1;
|
||||
|
@ -164,10 +157,13 @@ static void _pager_window_free(Pager_Win *pw);
|
|||
static void _pager_window_move(Pager_Win *pw);
|
||||
static Pager_Win *_pager_window_find(Pager *p, E_Border *border);
|
||||
static Pager_Win *_pager_desk_window_find(Pager_Desk *pd, E_Border *border);
|
||||
static Pager_Popup *_pager_popup_new(Pager *p, int urgent);
|
||||
static Pager_Popup *_pager_popup_new(E_Zone *zone, int urgent);
|
||||
static void _pager_popup_free(Pager_Popup *pp);
|
||||
static Pager_Popup *_pager_popup_find(E_Zone *zone);
|
||||
static E_Config_Dialog *_pager_config_dialog(E_Container *con, const char *params);
|
||||
|
||||
static E_Config_DD *conf_edd = NULL;
|
||||
static Evas_List *pager_popups = NULL;
|
||||
|
||||
Config *pager_config = NULL;
|
||||
|
||||
|
@ -258,11 +254,6 @@ _gc_id_new(void)
|
|||
return _gadcon_class.name;
|
||||
}
|
||||
|
||||
/**/
|
||||
/***************************************************************************/
|
||||
|
||||
/***************************************************************************/
|
||||
/**/
|
||||
static Pager *
|
||||
_pager_new(Evas *evas, E_Zone *zone)
|
||||
{
|
||||
|
@ -312,7 +303,7 @@ _pager_fill(Pager *p)
|
|||
static void
|
||||
_pager_empty(Pager *p)
|
||||
{
|
||||
if (p->popup) _pager_popup_free(p->popup);
|
||||
// if (p->popup) _pager_popup_free(p->popup);
|
||||
|
||||
while (p->desks)
|
||||
{
|
||||
|
@ -335,6 +326,8 @@ _pager_desk_new(Pager *p, E_Desk *desk, int xpos, int ypos)
|
|||
pd->xpos = xpos;
|
||||
pd->ypos = ypos;
|
||||
|
||||
pd->urgent = 0;
|
||||
|
||||
pd->desk = desk;
|
||||
e_object_ref(E_OBJECT(desk));
|
||||
pd->pager = p;
|
||||
|
@ -454,7 +447,7 @@ _pager_desk_switch(Pager_Desk *pd1, Pager_Desk *pd2)
|
|||
Pager_Win *pw;
|
||||
Evas_List *l;
|
||||
|
||||
if (!pd1 || !pd2 || !pd1->desk || !pd2->desk) return;
|
||||
if ((!pd1) || (!pd2) || (!pd1->desk) || (!pd2->desk)) return;
|
||||
if (pd1 == pd2) return;
|
||||
|
||||
desk1 = pd1->desk;
|
||||
|
@ -465,14 +458,14 @@ _pager_desk_switch(Pager_Desk *pd1, Pager_Desk *pd2)
|
|||
/* Move opened windows from on desk to the other */
|
||||
for (l = pd1->wins; l; l = l->next)
|
||||
{
|
||||
pw = l->data;
|
||||
if (!pw || !pw->border || pw->border->iconic) continue;
|
||||
pw = l->data;
|
||||
if (!pw || !pw->border || pw->border->iconic) continue;
|
||||
e_border_desk_set(pw->border, desk2);
|
||||
}
|
||||
for (l = pd2->wins; l; l = l->next)
|
||||
{
|
||||
pw = l->data;
|
||||
if (!pw || !pw->border || pw->border->iconic) continue;
|
||||
pw = l->data;
|
||||
if (!pw || !pw->border || pw->border->iconic) continue;
|
||||
e_border_desk_set(pw->border, desk1);
|
||||
}
|
||||
|
||||
|
@ -481,26 +474,26 @@ _pager_desk_switch(Pager_Desk *pd1, Pager_Desk *pd2)
|
|||
{
|
||||
E_Config_Desktop_Name *tmp_dn;
|
||||
|
||||
tmp_dn = l->data;
|
||||
if (!tmp_dn) continue;
|
||||
if (tmp_dn->desk_x == desk1->x &&
|
||||
tmp_dn = l->data;
|
||||
if (!tmp_dn) continue;
|
||||
if (tmp_dn->desk_x == desk1->x &&
|
||||
tmp_dn->desk_y == desk1->y &&
|
||||
tmp_dn->zone == desk1->zone->num)
|
||||
{
|
||||
tmp_dn->desk_x = desk2->x;
|
||||
tmp_dn->desk_y = desk2->y;
|
||||
{
|
||||
tmp_dn->desk_x = desk2->x;
|
||||
tmp_dn->desk_y = desk2->y;
|
||||
tmp_dn->zone = desk2->zone->num;
|
||||
c++;
|
||||
}
|
||||
else if (tmp_dn->desk_x == desk2->x &&
|
||||
tmp_dn->desk_y == desk2->y &&
|
||||
c++;
|
||||
}
|
||||
else if (tmp_dn->desk_x == desk2->x &&
|
||||
tmp_dn->desk_y == desk2->y &&
|
||||
tmp_dn->zone == desk2->zone->num)
|
||||
{
|
||||
tmp_dn->desk_x = desk1->x;
|
||||
tmp_dn->desk_y = desk1->y;
|
||||
{
|
||||
tmp_dn->desk_x = desk1->x;
|
||||
tmp_dn->desk_y = desk1->y;
|
||||
tmp_dn->zone = desk1->zone->num;
|
||||
c++;
|
||||
}
|
||||
c++;
|
||||
}
|
||||
}
|
||||
if (c > 0) e_config_save();
|
||||
e_desk_name_update();
|
||||
|
@ -510,30 +503,29 @@ _pager_desk_switch(Pager_Desk *pd1, Pager_Desk *pd2)
|
|||
{
|
||||
E_Config_Desktop_Background *tmp_db;
|
||||
|
||||
tmp_db = l->data;
|
||||
if (!tmp_db) continue;
|
||||
if (tmp_db->desk_x == desk1->x &&
|
||||
tmp_db = l->data;
|
||||
if (!tmp_db) continue;
|
||||
if (tmp_db->desk_x == desk1->x &&
|
||||
tmp_db->desk_y == desk1->y &&
|
||||
tmp_db->zone == desk1->zone->num)
|
||||
{
|
||||
tmp_db->desk_x = desk2->x;
|
||||
tmp_db->desk_y = desk2->y;
|
||||
tmp_db->zone = desk2->zone->num;
|
||||
c++;
|
||||
}
|
||||
else if (tmp_db->desk_x == desk2->x &&
|
||||
tmp_db->desk_y == desk2->y &&
|
||||
{
|
||||
tmp_db->desk_x = desk2->x;
|
||||
tmp_db->desk_y = desk2->y;
|
||||
tmp_db->zone = desk2->zone->num;
|
||||
c++;
|
||||
}
|
||||
else if (tmp_db->desk_x == desk2->x &&
|
||||
tmp_db->desk_y == desk2->y &&
|
||||
tmp_db->zone == desk2->zone->num)
|
||||
{
|
||||
tmp_db->desk_x = desk1->x;
|
||||
tmp_db->desk_y = desk1->y;
|
||||
tmp_db->zone = desk1->zone->num;
|
||||
c++;
|
||||
}
|
||||
{
|
||||
tmp_db->desk_x = desk1->x;
|
||||
tmp_db->desk_y = desk1->y;
|
||||
tmp_db->zone = desk1->zone->num;
|
||||
c++;
|
||||
}
|
||||
}
|
||||
if (c > 0) e_config_save();
|
||||
|
||||
|
||||
/* If the current desktop has been switched, force to update of the screen */
|
||||
if (desk2 == e_desk_current_get(zone2))
|
||||
{
|
||||
|
@ -590,11 +582,11 @@ _pager_window_new(Pager_Desk *pd, E_Border *border)
|
|||
|
||||
if (border->client.icccm.urgent)
|
||||
{
|
||||
if (!(border->iconic))
|
||||
edje_object_signal_emit(pd->o_desk,
|
||||
"e,state,urgent", "e");
|
||||
edje_object_signal_emit(pw->o_window,
|
||||
"e,state,urgent", "e");
|
||||
if (!(border->iconic))
|
||||
edje_object_signal_emit(pd->o_desk,
|
||||
"e,state,urgent", "e");
|
||||
edje_object_signal_emit(pw->o_window,
|
||||
"e,state,urgent", "e");
|
||||
}
|
||||
|
||||
evas_object_show(o);
|
||||
|
@ -656,44 +648,46 @@ _pager_desk_window_find(Pager_Desk *pd, E_Border *border)
|
|||
}
|
||||
|
||||
static Pager_Popup *
|
||||
_pager_popup_new(Pager *p, int urgent)
|
||||
_pager_popup_new(E_Zone *zone, int urgent)
|
||||
{
|
||||
Pager_Popup *pp;
|
||||
Evas_Coord w, h;
|
||||
int x, y, height, width;
|
||||
E_Desk *desk;
|
||||
|
||||
pp = E_NEW(Pager_Popup, 1);
|
||||
if (!pp) return NULL;
|
||||
|
||||
/* Show popup */
|
||||
pp->popup = e_popup_new(p->zone, 0, 0, 1, 1);
|
||||
pp->popup = e_popup_new(zone, 0, 0, 1, 1);
|
||||
if (!pp->popup)
|
||||
{
|
||||
free(pp);
|
||||
return NULL;
|
||||
}
|
||||
e_popup_layer_set(pp->popup, 999);
|
||||
pp->src_pager = p;
|
||||
e_popup_layer_set(pp->popup, 255);
|
||||
|
||||
p->popup = pp;
|
||||
pp->pager = _pager_new(pp->popup->evas, zone);
|
||||
|
||||
evas_object_geometry_get(p->o_table, NULL, NULL, &w, &h);
|
||||
|
||||
pp->pager = _pager_new(pp->popup->evas, p->zone);
|
||||
pp->pager->inst = p->inst;
|
||||
pp->pager->is_popup = 1;
|
||||
|
||||
e_zone_desk_count_get(zone, &x, &y);
|
||||
height = pager_config->popup_pager_height * y;
|
||||
width = ((zone->w * x)/(zone->h * y)) * height;
|
||||
|
||||
evas_object_move(pp->pager->o_table, 0, 0);
|
||||
evas_object_resize(pp->pager->o_table, w, h);
|
||||
evas_object_resize(pp->pager->o_table, width, height);
|
||||
|
||||
pp->o_bg = edje_object_add(pp->popup->evas);
|
||||
e_theme_edje_object_set(pp->o_bg,
|
||||
"base/theme/modules/pager",
|
||||
"e/widgets/pager/popup");
|
||||
desk = e_desk_current_get(p->zone);
|
||||
desk = e_desk_current_get(zone);
|
||||
if (desk)
|
||||
edje_object_part_text_set(pp->o_bg, "text", desk->name);
|
||||
evas_object_show(pp->o_bg);
|
||||
edje_extern_object_min_size_set(pp->pager->o_table, w, h);
|
||||
|
||||
edje_extern_object_min_size_set(pp->pager->o_table, width, height);
|
||||
edje_object_part_swallow(pp->o_bg, "pager", pp->pager->o_table);
|
||||
edje_object_size_min_calc(pp->o_bg, &w, &h);
|
||||
|
||||
|
@ -701,41 +695,58 @@ _pager_popup_new(Pager *p, int urgent)
|
|||
evas_object_resize(pp->o_bg, w, h);
|
||||
e_popup_edje_bg_object_set(pp->popup, pp->o_bg);
|
||||
//e_popup_ignore_events_set(pp->popup, 1);
|
||||
e_popup_move_resize(pp->popup, ((p->zone->w - w) / 2),
|
||||
((p->zone->h - h) / 2), w, h);
|
||||
e_popup_move_resize(pp->popup, ((zone->w - w) / 2),
|
||||
((zone->h - h) / 2), w, h);
|
||||
e_bindings_mouse_grab(E_BINDING_CONTEXT_POPUP, pp->popup->evas_win);
|
||||
e_bindings_wheel_grab(E_BINDING_CONTEXT_POPUP, pp->popup->evas_win);
|
||||
e_popup_show(pp->popup);
|
||||
|
||||
if (!urgent)
|
||||
{
|
||||
pp->timer = ecore_timer_add(pager_config->popup_speed,
|
||||
_pager_popup_cb_timeout, pp);
|
||||
pp->timer = ecore_timer_add(pager_config->popup_speed,
|
||||
_pager_popup_cb_timeout, pp);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!pager_config->popup_urgent_stick)
|
||||
pp->timer = ecore_timer_add(pager_config->popup_urgent_speed,
|
||||
_pager_popup_cb_timeout, pp);
|
||||
if (!pager_config->popup_urgent_stick)
|
||||
pp->timer = ecore_timer_add(pager_config->popup_urgent_speed,
|
||||
_pager_popup_cb_timeout, pp);
|
||||
}
|
||||
pp->urgent = urgent;
|
||||
|
||||
pager_popups = evas_list_append(pager_popups, pp);
|
||||
|
||||
return pp;
|
||||
}
|
||||
|
||||
static void
|
||||
_pager_popup_free(Pager_Popup *pp)
|
||||
{
|
||||
pp->src_pager->popup = NULL;
|
||||
if (pp->timer) ecore_timer_del(pp->timer);
|
||||
evas_object_del(pp->o_bg);
|
||||
_pager_free(pp->pager);
|
||||
e_bindings_mouse_ungrab(E_BINDING_CONTEXT_POPUP, pp->popup->evas_win);
|
||||
e_bindings_wheel_ungrab(E_BINDING_CONTEXT_POPUP, pp->popup->evas_win);
|
||||
e_object_del(E_OBJECT(pp->popup));
|
||||
pager_popups = evas_list_remove(pager_popups, pp);
|
||||
free(pp);
|
||||
}
|
||||
|
||||
static Pager_Popup *
|
||||
_pager_popup_find(E_Zone *zone)
|
||||
{
|
||||
Pager_Popup *pp;
|
||||
Evas_List *l;
|
||||
|
||||
for(l = pager_popups; l; l = l->next)
|
||||
{
|
||||
pp = l->data;
|
||||
pp->pager->zone == zone;
|
||||
return pp;
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static void
|
||||
_pager_cb_obj_moveresize(void *data, Evas *e, Evas_Object *obj, void *event_info)
|
||||
{
|
||||
|
@ -804,6 +815,16 @@ _pager_inst_cb_menu_configure(void *data, E_Menu *m, E_Menu_Item *mi)
|
|||
_config_pager_module(NULL);
|
||||
}
|
||||
|
||||
static E_Config_Dialog *
|
||||
_pager_config_dialog(E_Container *con, const char *params)
|
||||
{
|
||||
if (!pager_config) return;
|
||||
if (pager_config->config_dialog) return;
|
||||
/* FIXME: pass zone config item */
|
||||
_config_pager_module(NULL);
|
||||
return pager_config->config_dialog;
|
||||
}
|
||||
|
||||
static void
|
||||
_pager_inst_cb_menu_virtual_desktops_dialog(void *data, E_Menu *m, E_Menu_Item *mi)
|
||||
{
|
||||
|
@ -832,7 +853,7 @@ static int
|
|||
_pager_cb_event_border_resize(void *data, int type, void *event)
|
||||
{
|
||||
E_Event_Border_Resize *ev;
|
||||
Evas_List *l, *l2;
|
||||
Evas_List *l, *l2;
|
||||
|
||||
ev = event;
|
||||
for (l = pager_config->instances; l; l = l->next)
|
||||
|
@ -857,8 +878,8 @@ _pager_cb_event_border_resize(void *data, int type, void *event)
|
|||
static int
|
||||
_pager_cb_event_border_move(void *data, int type, void *event)
|
||||
{
|
||||
E_Event_Border_Move *ev;
|
||||
Evas_List *l, *l2;
|
||||
E_Event_Border_Move *ev;
|
||||
Evas_List *l, *l2;
|
||||
|
||||
ev = event;
|
||||
for (l = pager_config->instances; l; l = l->next)
|
||||
|
@ -884,7 +905,7 @@ static int
|
|||
_pager_cb_event_border_add(void *data, int type, void *event)
|
||||
{
|
||||
E_Event_Border_Add *ev;
|
||||
Evas_List *l;
|
||||
Evas_List *l;
|
||||
|
||||
ev = event;
|
||||
for (l = pager_config->instances; l; l = l->next)
|
||||
|
@ -912,7 +933,7 @@ static int
|
|||
_pager_cb_event_border_remove(void *data, int type, void *event)
|
||||
{
|
||||
E_Event_Border_Remove *ev;
|
||||
Evas_List *l, *l2;
|
||||
Evas_List *l, *l2;
|
||||
|
||||
ev = event;
|
||||
for (l = pager_config->instances; l; l = l->next)
|
||||
|
@ -941,8 +962,8 @@ _pager_cb_event_border_remove(void *data, int type, void *event)
|
|||
static int
|
||||
_pager_cb_event_border_iconify(void *data, int type, void *event)
|
||||
{
|
||||
E_Event_Border_Iconify *ev;
|
||||
Evas_List *l, *l2;
|
||||
E_Event_Border_Iconify *ev;
|
||||
Evas_List *l, *l2;
|
||||
|
||||
ev = event;
|
||||
for (l = pager_config->instances; l; l = l->next)
|
||||
|
@ -973,7 +994,7 @@ static int
|
|||
_pager_cb_event_border_uniconify(void *data, int type, void *event)
|
||||
{
|
||||
E_Event_Border_Uniconify *ev;
|
||||
Evas_List *l, *l2;
|
||||
Evas_List *l, *l2;
|
||||
|
||||
ev = event;
|
||||
for (l = pager_config->instances; l; l = l->next)
|
||||
|
@ -998,8 +1019,8 @@ _pager_cb_event_border_uniconify(void *data, int type, void *event)
|
|||
static int
|
||||
_pager_cb_event_border_stick(void *data, int type, void *event)
|
||||
{
|
||||
E_Event_Border_Stick *ev;
|
||||
Evas_List *l, *l2;
|
||||
E_Event_Border_Stick *ev;
|
||||
Evas_List *l, *l2;
|
||||
|
||||
ev = event;
|
||||
for (l = pager_config->instances; l; l = l->next)
|
||||
|
@ -1030,7 +1051,7 @@ static int
|
|||
_pager_cb_event_border_unstick(void *data, int type, void *event)
|
||||
{
|
||||
E_Event_Border_Unstick *ev;
|
||||
Evas_List *l, *l2;
|
||||
Evas_List *l, *l2;
|
||||
|
||||
ev = event;
|
||||
for (l = pager_config->instances; l; l = l->next)
|
||||
|
@ -1064,7 +1085,7 @@ static int
|
|||
_pager_cb_event_border_desk_set(void *data, int type, void *event)
|
||||
{
|
||||
E_Event_Border_Desk_Set *ev;
|
||||
Evas_List *l, *l2;
|
||||
Evas_List *l, *l2;
|
||||
|
||||
ev = event;
|
||||
for (l = pager_config->instances; l; l = l->next)
|
||||
|
@ -1075,7 +1096,7 @@ _pager_cb_event_border_desk_set(void *data, int type, void *event)
|
|||
|
||||
inst = l->data;
|
||||
/* if this pager is not for the zone of the border */
|
||||
if (inst->pager->zone != ev->border->zone)
|
||||
if (inst->pager->zone != ev->border->zone)
|
||||
{
|
||||
/* look at all desks in the pager */
|
||||
for (l2 = inst->pager->desks; l2; l2 = l2->next)
|
||||
|
@ -1196,8 +1217,8 @@ _pager_cb_event_border_desk_set(void *data, int type, void *event)
|
|||
static int
|
||||
_pager_cb_event_border_stack(void *data, int type, void *event)
|
||||
{
|
||||
E_Event_Border_Stack *ev;
|
||||
Evas_List *l, *l2;
|
||||
E_Event_Border_Stack *ev;
|
||||
Evas_List *l, *l2;
|
||||
|
||||
ev = event;
|
||||
for (l = pager_config->instances; l; l = l->next)
|
||||
|
@ -1205,7 +1226,7 @@ _pager_cb_event_border_stack(void *data, int type, void *event)
|
|||
Instance *inst;
|
||||
|
||||
inst = l->data;
|
||||
if (inst->pager->zone != ev->border->zone) continue;
|
||||
if (inst->pager->zone != ev->border->zone) continue;
|
||||
for (l2 = inst->pager->desks; l2; l2 = l2->next)
|
||||
{
|
||||
Pager_Desk *pd;
|
||||
|
@ -1255,8 +1276,8 @@ _pager_cb_event_border_stack(void *data, int type, void *event)
|
|||
static int
|
||||
_pager_cb_event_border_icon_change(void *data, int type, void *event)
|
||||
{
|
||||
E_Event_Border_Icon_Change *ev;
|
||||
Evas_List *l, *l2;
|
||||
E_Event_Border_Icon_Change *ev;
|
||||
Evas_List *l, *l2;
|
||||
|
||||
ev = event;
|
||||
for (l = pager_config->instances; l; l = l->next)
|
||||
|
@ -1264,7 +1285,7 @@ _pager_cb_event_border_icon_change(void *data, int type, void *event)
|
|||
Instance *inst;
|
||||
|
||||
inst = l->data;
|
||||
if (inst->pager->zone != ev->border->zone) continue;
|
||||
if (inst->pager->zone != ev->border->zone) continue;
|
||||
for (l2 = inst->pager->desks; l2; l2 = l2->next)
|
||||
{
|
||||
Pager_Desk *pd;
|
||||
|
@ -1299,15 +1320,25 @@ static int
|
|||
_pager_cb_event_border_urgent_change(void *data, int type, void *event)
|
||||
{
|
||||
E_Event_Border_Urgent_Change *ev;
|
||||
Evas_List *l, *l2;
|
||||
Evas_List *l, *l2;
|
||||
Pager_Popup *pp;
|
||||
E_Zone *zone;
|
||||
int urgent;
|
||||
int urgent_cnt = 0;
|
||||
|
||||
ev = event;
|
||||
zone = ev->border->zone;
|
||||
urgent = ev->border->client.icccm.urgent;
|
||||
|
||||
/* this didnt handle the case when two windows became urgent at
|
||||
the same time */
|
||||
|
||||
for (l = pager_config->instances; l; l = l->next)
|
||||
{
|
||||
Instance *inst;
|
||||
|
||||
inst = l->data;
|
||||
if (inst->pager->zone != ev->border->zone) continue;
|
||||
if (inst->pager->zone != zone) continue;
|
||||
for (l2 = inst->pager->desks; l2; l2 = l2->next)
|
||||
{
|
||||
Pager_Desk *pd;
|
||||
|
@ -1317,38 +1348,70 @@ _pager_cb_event_border_urgent_change(void *data, int type, void *event)
|
|||
pw = _pager_desk_window_find(pd, ev->border);
|
||||
if (pw)
|
||||
{
|
||||
if (ev->border->client.icccm.urgent)
|
||||
if (urgent)
|
||||
{
|
||||
if (!(ev->border->iconic))
|
||||
edje_object_signal_emit(pd->o_desk,
|
||||
"e,state,urgent", "e");
|
||||
edje_object_signal_emit(pd->o_desk,
|
||||
"e,state,urgent", "e");
|
||||
edje_object_signal_emit(pw->o_window,
|
||||
"e,state,urgent", "e");
|
||||
|
||||
if (pager_config->popup_urgent &&
|
||||
!inst->pager->popup)
|
||||
{
|
||||
_pager_popup_new(inst->pager, 1);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
/* FIXME this seems to be wrong - why set the
|
||||
desk to not urgent when iconic, while
|
||||
another window on that desk could still be urgent? */
|
||||
if (!(ev->border->iconic))
|
||||
edje_object_signal_emit(pd->o_desk,
|
||||
"e,state,not_urgent", "e");
|
||||
edje_object_signal_emit(pw->o_window,
|
||||
"e,state,not_urgent", "e");
|
||||
|
||||
if (inst->pager->popup &&
|
||||
inst->pager->popup->urgent)
|
||||
{
|
||||
_pager_popup_free(inst->pager->popup);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (pager_config->popup_urgent)
|
||||
{
|
||||
pp = _pager_popup_find(zone);
|
||||
|
||||
if ((!pp) && (urgent))
|
||||
_pager_popup_new(zone, 1);
|
||||
else if (pp)
|
||||
{
|
||||
for (l = pp->pager->desks; l; l = l->next)
|
||||
{
|
||||
Pager_Desk *pd;
|
||||
Pager_Win *pw;
|
||||
|
||||
pd = l->data;
|
||||
pw = _pager_desk_window_find(pd, ev->border);
|
||||
if (!pw) continue;
|
||||
|
||||
if (urgent)
|
||||
{
|
||||
edje_object_signal_emit(pd->o_desk,
|
||||
"e,state,urgent", "e");
|
||||
edje_object_signal_emit(pw->o_window,
|
||||
"e,state,urgent", "e");
|
||||
pd->urgent++;
|
||||
}
|
||||
else
|
||||
{
|
||||
pd->urgent--;
|
||||
|
||||
if (!(pd->urgent))
|
||||
edje_object_signal_emit(pd->o_desk,
|
||||
"e,state,not_urgent", "e");
|
||||
edje_object_signal_emit(pw->o_window,
|
||||
"e,state,not_urgent", "e");
|
||||
}
|
||||
urgent_cnt += pd->urgent;
|
||||
}
|
||||
if (urgent_cnt == 0) _pager_popup_free(pp);
|
||||
}
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
@ -1356,8 +1419,8 @@ static int
|
|||
_pager_cb_event_border_property(void *data, int type, void *event)
|
||||
{
|
||||
E_Event_Border_Property *ev;
|
||||
Evas_List *l, *l2;
|
||||
int found = 0;
|
||||
Evas_List *l, *l2;
|
||||
int found = 0;
|
||||
|
||||
ev = event;
|
||||
for (l = pager_config->instances; l; l = l->next)
|
||||
|
@ -1426,7 +1489,7 @@ _pager_cb_event_border_property(void *data, int type, void *event)
|
|||
{
|
||||
for (l2 = inst->pager->desks; l2; l2 = l2->next)
|
||||
{
|
||||
Pager_Win *pw;
|
||||
Pager_Win *pw;
|
||||
|
||||
pd = l2->data;
|
||||
pw = _pager_window_new(pd, ev->border);
|
||||
|
@ -1455,10 +1518,11 @@ static int
|
|||
_pager_cb_event_zone_desk_count_set(void *data, int type, void *event)
|
||||
{
|
||||
Evas_List *l;
|
||||
Instance *inst;
|
||||
|
||||
for (l = pager_config->instances; l; l = l->next)
|
||||
{
|
||||
Instance *inst;
|
||||
|
||||
inst = l->data;
|
||||
_pager_empty(inst->pager);
|
||||
_pager_fill(inst->pager);
|
||||
|
@ -1471,30 +1535,35 @@ static int
|
|||
_pager_cb_event_desk_show(void *data, int type, void *event)
|
||||
{
|
||||
E_Event_Desk_Show *ev;
|
||||
Evas_List *l;
|
||||
Evas_List *l;
|
||||
Pager_Desk *pd;
|
||||
Pager_Popup *pp;
|
||||
|
||||
ev = event;
|
||||
for (l = pager_config->instances; l; l = l->next)
|
||||
{
|
||||
Instance *inst;
|
||||
Pager_Desk *pd;
|
||||
|
||||
inst = l->data;
|
||||
if (inst->pager->zone != ev->desk->zone) continue;
|
||||
|
||||
pd = _pager_desk_find(inst->pager, ev->desk);
|
||||
if (pd)
|
||||
{
|
||||
_pager_desk_select(pd);
|
||||
if (pd->pager->popup) _pager_popup_free(pd->pager->popup);
|
||||
if (pager_config->popup)
|
||||
{
|
||||
Pager_Popup *pp;
|
||||
if (pd) _pager_desk_select(pd);
|
||||
}
|
||||
|
||||
pp = _pager_popup_new(pd->pager, 0);
|
||||
}
|
||||
if (pager_config->popup)
|
||||
{
|
||||
if (!(pp = _pager_popup_find(ev->desk->zone)))
|
||||
_pager_popup_new(ev->desk->zone, 0);
|
||||
else
|
||||
{
|
||||
pd = _pager_desk_find(pp->pager, ev->desk);
|
||||
if (pd) _pager_desk_select(pd);
|
||||
ecore_timer_del(pp->timer);
|
||||
pp->timer = ecore_timer_add(pager_config->popup_speed,
|
||||
_pager_popup_cb_timeout, pp);
|
||||
}
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
@ -1502,7 +1571,7 @@ static int
|
|||
_pager_cb_event_desk_name_change(void *data, int type, void *event)
|
||||
{
|
||||
E_Event_Desk_Name_Change *ev;
|
||||
Evas_List *l;
|
||||
Evas_List *l;
|
||||
|
||||
ev = event;
|
||||
for (l = pager_config->instances; l; l = l->next)
|
||||
|
@ -1523,7 +1592,7 @@ static int
|
|||
_pager_cb_event_container_resize(void *data, int type, void *event)
|
||||
{
|
||||
E_Event_Container_Resize *ev;
|
||||
Evas_List *l, *l2;
|
||||
Evas_List *l, *l2;
|
||||
|
||||
ev = event;
|
||||
for (l = pager_config->instances; l; l = l->next)
|
||||
|
@ -1549,7 +1618,7 @@ static void
|
|||
_pager_window_cb_mouse_in(void *data, Evas *e, Evas_Object *obj, void *event_info)
|
||||
{
|
||||
Evas_Event_Mouse_In *ev;
|
||||
Pager_Win *pw;
|
||||
Pager_Win *pw;
|
||||
|
||||
ev = event_info;
|
||||
pw = data;
|
||||
|
@ -1560,7 +1629,7 @@ static void
|
|||
_pager_window_cb_mouse_out(void *data, Evas *e, Evas_Object *obj, void *event_info)
|
||||
{
|
||||
Evas_Event_Mouse_Out *ev;
|
||||
Pager_Win *pw;
|
||||
Pager_Win *pw;
|
||||
|
||||
ev = event_info;
|
||||
pw = data;
|
||||
|
@ -1629,6 +1698,15 @@ _pager_window_cb_mouse_move(void *data, Evas *e, Evas_Object *obj, void *event_i
|
|||
{
|
||||
Evas_Event_Mouse_Move *ev;
|
||||
Pager_Win *pw;
|
||||
E_Drag *drag;
|
||||
Evas_Object *o, *oo;
|
||||
Evas_Coord x, y, w, h;
|
||||
const char *file = NULL, *part = NULL;
|
||||
const char *drag_types[] = { "enlightenment/pager_win", "enlightenment/border" };
|
||||
Evas_Coord dx, dy;
|
||||
unsigned int resist = 0;
|
||||
Evas_Coord mx, my, vx, vy;
|
||||
Pager_Desk *pd;
|
||||
|
||||
ev = event_info;
|
||||
pw = data;
|
||||
|
@ -1638,9 +1716,6 @@ _pager_window_cb_mouse_move(void *data, Evas *e, Evas_Object *obj, void *event_i
|
|||
/* prevent drag for a few pixels */
|
||||
if (pw->drag.start)
|
||||
{
|
||||
Evas_Coord dx, dy;
|
||||
unsigned int resist = 0;
|
||||
|
||||
dx = pw->drag.x - ev->cur.output.x;
|
||||
dy = pw->drag.y - ev->cur.output.y;
|
||||
if (pw->desk && pw->desk->pager && pw->desk->pager->inst)
|
||||
|
@ -1655,9 +1730,6 @@ _pager_window_cb_mouse_move(void *data, Evas *e, Evas_Object *obj, void *event_i
|
|||
/* dragging this win around inside the pager */
|
||||
if (pw->drag.in_pager)
|
||||
{
|
||||
Evas_Coord mx, my, vx, vy;
|
||||
Pager_Desk *pd;
|
||||
|
||||
/* m for mouse */
|
||||
mx = ev->cur.canvas.x;
|
||||
my = ev->cur.canvas.y;
|
||||
|
@ -1677,12 +1749,6 @@ _pager_window_cb_mouse_move(void *data, Evas *e, Evas_Object *obj, void *event_i
|
|||
}
|
||||
else
|
||||
{
|
||||
E_Drag *drag;
|
||||
Evas_Object *o, *oo;
|
||||
Evas_Coord x, y, w, h;
|
||||
const char *file = NULL, *part = NULL;
|
||||
const char *drag_types[] = { "enlightenment/pager_win", "enlightenment/border" };
|
||||
|
||||
evas_object_geometry_get(pw->o_window, &x, &y, &w, &h);
|
||||
evas_object_hide(pw->o_window);
|
||||
|
||||
|
@ -1729,6 +1795,10 @@ static void
|
|||
_pager_window_cb_drag_finished(E_Drag *drag, int dropped)
|
||||
{
|
||||
Pager_Win *pw;
|
||||
E_Container *cont;
|
||||
E_Zone *zone;
|
||||
E_Desk *desk;
|
||||
int x, y, dx, dy;
|
||||
|
||||
pw = drag->data;
|
||||
if (!pw) return;
|
||||
|
@ -1736,11 +1806,6 @@ _pager_window_cb_drag_finished(E_Drag *drag, int dropped)
|
|||
if (!dropped)
|
||||
{
|
||||
/* wasn't dropped (on pager). move it to position of mouse on screen */
|
||||
int x, y, dx, dy;
|
||||
E_Container *cont;
|
||||
E_Zone *zone;
|
||||
E_Desk *desk;
|
||||
|
||||
cont = e_container_current_get(e_manager_current_get());
|
||||
zone = e_zone_current_get(cont);
|
||||
desk = e_desk_current_get(zone);
|
||||
|
@ -1873,6 +1938,8 @@ _pager_inst_cb_drop(void *data, const char *type, void *event_info)
|
|||
Pager_Win *pw = NULL;
|
||||
Evas_Coord xx, yy;
|
||||
int x, y;
|
||||
Evas_Coord wx, wy, wx2, wy2;
|
||||
Evas_Coord nx, ny;
|
||||
|
||||
ev = event_info;
|
||||
inst = data;
|
||||
|
@ -1894,8 +1961,6 @@ _pager_inst_cb_drop(void *data, const char *type, void *event_info)
|
|||
}
|
||||
else if (!strcmp(type, "enlightenment/border"))
|
||||
{
|
||||
Evas_Coord wx, wy, wx2, wy2;
|
||||
|
||||
bd = ev->data;
|
||||
e_layout_coord_virtual_to_canvas(pd->o_layout, bd->x, bd->y, &wx, &wy);
|
||||
e_layout_coord_virtual_to_canvas(pd->o_layout, bd->x + bd->w, bd->y + bd->h, &wx2, &wy2);
|
||||
|
@ -1905,7 +1970,7 @@ _pager_inst_cb_drop(void *data, const char *type, void *event_info)
|
|||
else if (!strcmp(type, "enlightenment/vdesktop"))
|
||||
{
|
||||
pd2 = ev->data;
|
||||
if (!pd2) return;
|
||||
if (!pd2) return;
|
||||
_pager_desk_switch(pd, pd2);
|
||||
}
|
||||
else
|
||||
|
@ -1913,8 +1978,6 @@ _pager_inst_cb_drop(void *data, const char *type, void *event_info)
|
|||
|
||||
if (bd)
|
||||
{
|
||||
Evas_Coord nx, ny;
|
||||
|
||||
if (bd->iconic) e_border_uniconify(bd);
|
||||
e_border_desk_set(bd, pd->desk);
|
||||
if ((!pw) || ((pw) && (!pw->drag.no_place)))
|
||||
|
@ -1946,14 +2009,13 @@ _pager_desk_cb_mouse_down(void *data, Evas *e, Evas_Object *obj, void *event_inf
|
|||
{
|
||||
Evas_Event_Mouse_Down *ev;
|
||||
Pager_Desk *pd;
|
||||
Evas_Coord ox, oy;
|
||||
|
||||
ev = event_info;
|
||||
pd = data;
|
||||
if (!pd) return;
|
||||
if (ev->button == pager_config->btn_desk)
|
||||
{
|
||||
Evas_Coord ox, oy;
|
||||
|
||||
evas_object_geometry_get(pd->o_desk, &ox, &oy, NULL, NULL);
|
||||
pd->drag.start = 1;
|
||||
pd->drag.in_pager = 1;
|
||||
|
@ -1978,13 +2040,13 @@ _pager_desk_cb_mouse_up(void *data, Evas *e, Evas_Object *obj, void *event_info)
|
|||
if (!pd) return;
|
||||
p = pd->pager;
|
||||
|
||||
if ( p->is_popup &&
|
||||
(pd->desk == e_desk_current_get(pd->pager->zone)) )
|
||||
/* if ( p->is_popup &&
|
||||
(pd->desk == e_desk_current_get(pd->pager->zone)) )
|
||||
{
|
||||
if (p->inst->pager->popup)
|
||||
_pager_popup_free(p->inst->pager->popup);
|
||||
if (p->inst->pager->popup)
|
||||
_pager_popup_free(p->inst->pager->popup);
|
||||
}
|
||||
|
||||
*/
|
||||
/* FIXME: pd->pager->dragging is 0 when finishing a drag from desk to desk */
|
||||
if ((ev->button == 1) && (!pd->pager->dragging) &&
|
||||
(!pd->pager->just_dragged))
|
||||
|
@ -2001,6 +2063,14 @@ _pager_desk_cb_mouse_move(void *data, Evas *e, Evas_Object *obj, void *event_inf
|
|||
{
|
||||
Evas_Event_Mouse_Move *ev;
|
||||
Pager_Desk *pd;
|
||||
Evas_Coord dx, dy;
|
||||
unsigned int resist = 0;
|
||||
E_Drag *drag;
|
||||
Evas_Object *o, *oo, *o_icon;
|
||||
Evas_Coord x, y, w, h;
|
||||
const char *drag_types[] = { "enlightenment/vdesktop" };
|
||||
Pager_Win *pw;
|
||||
Evas_List *l;
|
||||
|
||||
ev = event_info;
|
||||
pd = data;
|
||||
|
@ -2008,9 +2078,6 @@ _pager_desk_cb_mouse_move(void *data, Evas *e, Evas_Object *obj, void *event_inf
|
|||
/* prevent drag for a few pixels */
|
||||
if (pd->drag.start)
|
||||
{
|
||||
Evas_Coord dx, dy;
|
||||
unsigned int resist = 0;
|
||||
|
||||
dx = pd->drag.x - ev->cur.output.x;
|
||||
dy = pd->drag.y - ev->cur.output.y;
|
||||
if (pd->pager && pd->pager->inst)
|
||||
|
@ -2024,13 +2091,6 @@ _pager_desk_cb_mouse_move(void *data, Evas *e, Evas_Object *obj, void *event_inf
|
|||
|
||||
if (pd->drag.in_pager)
|
||||
{
|
||||
E_Drag *drag;
|
||||
Evas_Object *o, *oo, *o_icon;
|
||||
Evas_Coord x, y, w, h;
|
||||
const char *drag_types[] = { "enlightenment/vdesktop" };
|
||||
Pager_Win *pw;
|
||||
Evas_List *l;
|
||||
|
||||
evas_object_geometry_get(pd->o_desk, &x, &y, &w, &h);
|
||||
drag = e_drag_new(pd->pager->inst->gcc->gadcon->zone->container,
|
||||
x, y, drag_types, 1, pd, -1,
|
||||
|
@ -2043,7 +2103,7 @@ _pager_desk_cb_mouse_move(void *data, Evas *e, Evas_Object *obj, void *event_inf
|
|||
evas_object_show(o);
|
||||
|
||||
/* redraw the desktop theme above */
|
||||
o = edje_object_add(drag->evas);
|
||||
o = edje_object_add(drag->evas);
|
||||
e_theme_edje_object_set(o, "base/theme/modules/pager",
|
||||
"e/modules/pager/desk");
|
||||
evas_object_show(o);
|
||||
|
@ -2059,7 +2119,7 @@ _pager_desk_cb_mouse_move(void *data, Evas *e, Evas_Object *obj, void *event_inf
|
|||
{
|
||||
pw = l->data;
|
||||
if (!pw || pw->border->iconic
|
||||
|| pw->border->client.netwm.state.skip_pager)
|
||||
|| pw->border->client.netwm.state.skip_pager)
|
||||
continue;
|
||||
|
||||
o = edje_object_add(drag->evas);
|
||||
|
@ -2094,21 +2154,19 @@ static void
|
|||
_pager_desk_cb_drag_finished(E_Drag *drag, int dropped)
|
||||
{
|
||||
Pager_Desk *pd;
|
||||
Pager_Desk *pd2 = NULL;
|
||||
Evas_List *l;
|
||||
E_Desk *desk;
|
||||
E_Zone *zone;
|
||||
|
||||
pd = drag->data;
|
||||
if (!pd) return;
|
||||
if (!dropped)
|
||||
{
|
||||
/* wasn't dropped on pager, switch with current desktop */
|
||||
Pager_Desk *pd2 = NULL;
|
||||
Evas_List *l;
|
||||
E_Desk *desk;
|
||||
|
||||
if (!pd->desk) return;
|
||||
desk = e_desk_current_get(
|
||||
e_zone_current_get(
|
||||
e_container_current_get(
|
||||
e_manager_current_get())));
|
||||
zone = e_util_zone_current_get(e_manager_current_get());
|
||||
desk = e_desk_current_get(zone);
|
||||
for (l = pager_config->instances; l && !pd2; l = l->next)
|
||||
{
|
||||
Instance *inst;
|
||||
|
@ -2175,6 +2233,7 @@ e_modapi_init(E_Module *m)
|
|||
E_CONFIG_VAL(D, T, popup_urgent, UINT);
|
||||
E_CONFIG_VAL(D, T, popup_urgent_stick, UINT);
|
||||
E_CONFIG_VAL(D, T, popup_urgent_speed, DOUBLE);
|
||||
E_CONFIG_VAL(D, T, popup_pager_height, INT);
|
||||
E_CONFIG_VAL(D, T, drag_resist, UINT);
|
||||
E_CONFIG_VAL(D, T, scale, UCHAR);
|
||||
E_CONFIG_VAL(D, T, resize, UCHAR);
|
||||
|
@ -2193,6 +2252,7 @@ e_modapi_init(E_Module *m)
|
|||
pager_config->popup_urgent = 0;
|
||||
pager_config->popup_urgent_stick = 0;
|
||||
pager_config->popup_urgent_speed = 1.5;
|
||||
pager_config->popup_pager_height = 60;
|
||||
pager_config->drag_resist = 3;
|
||||
pager_config->scale = 1;
|
||||
pager_config->resize = PAGER_RESIZE_BOTH;
|
||||
|
@ -2206,6 +2266,7 @@ e_modapi_init(E_Module *m)
|
|||
E_CONFIG_LIMIT(pager_config->popup_urgent, 0, 1);
|
||||
E_CONFIG_LIMIT(pager_config->popup_urgent_stick, 0, 1);
|
||||
E_CONFIG_LIMIT(pager_config->popup_urgent_speed, 0.1, 10.0);
|
||||
E_CONFIG_LIMIT(pager_config->popup_pager_height, 20, 200);
|
||||
E_CONFIG_LIMIT(pager_config->drag_resist, 0, 50);
|
||||
E_CONFIG_LIMIT(pager_config->resize, PAGER_RESIZE_HORZ, PAGER_RESIZE_BOTH);
|
||||
E_CONFIG_LIMIT(pager_config->flip_desk, 0, 1);
|
||||
|
@ -2270,7 +2331,11 @@ e_modapi_init(E_Module *m)
|
|||
pager_config->module = m;
|
||||
|
||||
e_gadcon_provider_register(&_gadcon_class);
|
||||
return m;
|
||||
|
||||
e_configure_registry_item_add("extensions/pager", 40, N_("Pager"), NULL,
|
||||
"enlightenment/pager", _pager_config_dialog);
|
||||
|
||||
return m;
|
||||
}
|
||||
|
||||
EAPI int
|
||||
|
@ -2292,6 +2357,9 @@ e_modapi_shutdown(E_Module *m)
|
|||
e_object_del(E_OBJECT(pager_config->menu));
|
||||
pager_config->menu = NULL;
|
||||
}
|
||||
|
||||
e_configure_registry_item_del("extensions/pager");
|
||||
|
||||
E_FREE(pager_config);
|
||||
E_CONFIG_DD_FREE(conf_edd);
|
||||
return 1;
|
||||
|
@ -2303,6 +2371,3 @@ e_modapi_save(E_Module *m)
|
|||
e_config_domain_save("module.pager", conf_edd, pager_config);
|
||||
return 1;
|
||||
}
|
||||
|
||||
/**/
|
||||
/***************************************************************************/
|
||||
|
|
|
@ -26,6 +26,7 @@ struct _Config
|
|||
unsigned int popup_urgent;
|
||||
unsigned int popup_urgent_stick;
|
||||
double popup_urgent_speed;
|
||||
int popup_pager_height;
|
||||
unsigned int drag_resist;
|
||||
unsigned int scale;
|
||||
unsigned char resize;
|
||||
|
|
Loading…
Reference in New Issue