forked from enlightenment/enlightenment
parent
251bb08baf
commit
56d7e58f04
|
@ -2183,6 +2183,91 @@ ACT_FN_GO(desk_lock)
|
|||
e_desklock_show();
|
||||
}
|
||||
|
||||
/***************************************************************************/
|
||||
ACT_FN_GO(shelf_show)
|
||||
{
|
||||
Eina_List *l;
|
||||
E_Shelf *es;
|
||||
|
||||
if (params)
|
||||
{
|
||||
for (; *params != '\0'; params++)
|
||||
if (!isspace(*params))
|
||||
break;
|
||||
if (*params == '\0')
|
||||
params = NULL;
|
||||
}
|
||||
|
||||
EINA_LIST_FOREACH(e_shelf_list(), l, es)
|
||||
{
|
||||
if ((!params) || (params && (fnmatch(params, es->name, 0) == 0)))
|
||||
{
|
||||
e_shelf_toggle(es, 1);
|
||||
e_shelf_toggle(es, 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
/***************************************************************************/
|
||||
#define ACT_SHELF_SHOW(params, es) \
|
||||
if ((!params) || (params && (fnmatch(params, es->name, 0) == 0))) \
|
||||
{ \
|
||||
e_shelf_toggle(es, 1); \
|
||||
e_shelf_toggle(es, 0); \
|
||||
}
|
||||
|
||||
ACT_FN_GO_EDGE(shelf_show)
|
||||
{
|
||||
Eina_List *l;
|
||||
E_Shelf *es;
|
||||
|
||||
if (params)
|
||||
{
|
||||
for (; *params != '\0'; params++)
|
||||
if (!isspace(*params))
|
||||
break;
|
||||
if (*params == '\0')
|
||||
params = NULL;
|
||||
}
|
||||
|
||||
EINA_LIST_FOREACH(e_shelf_list(), l, es)
|
||||
{
|
||||
switch(ev->edge)
|
||||
{
|
||||
case E_ZONE_EDGE_LEFT:
|
||||
if ((es->gadcon->orient == E_GADCON_ORIENT_LEFT ||
|
||||
es->gadcon->orient == E_GADCON_ORIENT_CORNER_LT ||
|
||||
es->gadcon->orient == E_GADCON_ORIENT_CORNER_LB) &&
|
||||
(ev->y >= es->y) && (ev->y <= (es->y + es->h)))
|
||||
ACT_SHELF_SHOW(params, es);
|
||||
break;
|
||||
case E_ZONE_EDGE_RIGHT:
|
||||
if ((es->gadcon->orient == E_GADCON_ORIENT_RIGHT ||
|
||||
es->gadcon->orient == E_GADCON_ORIENT_CORNER_RT ||
|
||||
es->gadcon->orient == E_GADCON_ORIENT_CORNER_RB) &&
|
||||
(ev->y >= es->y) && (ev->y <= (es->y + es->h)))
|
||||
ACT_SHELF_SHOW(params, es);
|
||||
break;
|
||||
case E_ZONE_EDGE_TOP:
|
||||
if ((es->gadcon->orient == E_GADCON_ORIENT_TOP ||
|
||||
es->gadcon->orient == E_GADCON_ORIENT_CORNER_TL ||
|
||||
es->gadcon->orient == E_GADCON_ORIENT_CORNER_TR) &&
|
||||
(ev->x >= es->x) && (ev->x <= (es->x + es->w)))
|
||||
ACT_SHELF_SHOW(params, es);
|
||||
break;
|
||||
case E_ZONE_EDGE_BOTTOM:
|
||||
if ((es->gadcon->orient == E_GADCON_ORIENT_BOTTOM ||
|
||||
es->gadcon->orient == E_GADCON_ORIENT_CORNER_BL ||
|
||||
es->gadcon->orient == E_GADCON_ORIENT_CORNER_BR) &&
|
||||
(ev->x >= es->x) && (ev->x <= (es->x + es->w)))
|
||||
ACT_SHELF_SHOW(params, es);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
#undef ACT_SHELF_SHOW
|
||||
|
||||
/***************************************************************************/
|
||||
typedef struct _Delayed_Action Delayed_Action;
|
||||
|
||||
|
@ -2558,6 +2643,12 @@ e_actions_init(void)
|
|||
e_action_predef_name_set(_("Desktop"), _("Show The Desktop"),
|
||||
"desk_deskshow_toggle", NULL, NULL, 0);
|
||||
|
||||
/* shelf_show */
|
||||
ACT_GO(shelf_show);
|
||||
ACT_GO_EDGE(shelf_show);
|
||||
e_action_predef_name_set(_("Desktop"), _("Show The Shelf"), "shelf_show",
|
||||
NULL, "shelf name glob: Shelf-* ", 1);
|
||||
|
||||
/* desk_linear_flip_to */
|
||||
ACT_GO(desk_flip_to);
|
||||
e_action_predef_name_set(_("Desktop"), _("Flip Desktop To..."),
|
||||
|
|
Loading…
Reference in New Issue