forked from enlightenment/enlightenment
a whole wad more bindings... i'll stop here. it's now a matter of slow, over
time, expansion of actions and systems to hook in. SVN revision: 14512
This commit is contained in:
parent
350fab40ce
commit
c5fab74cbf
|
@ -115,15 +115,34 @@ ACT_FN_GO(window_menu)
|
||||||
{
|
{
|
||||||
if (!obj) obj = E_OBJECT(e_border_focused_get());
|
if (!obj) obj = E_OBJECT(e_border_focused_get());
|
||||||
if (!obj) return;
|
if (!obj) return;
|
||||||
if (obj->type != E_BORDER_TYPE) return;
|
if (obj->type != E_BORDER_TYPE)
|
||||||
e_border_act_menu_begin((E_Border *)obj, NULL);
|
{
|
||||||
|
obj = E_OBJECT(e_border_focused_get());
|
||||||
|
if (!obj) return;
|
||||||
|
}
|
||||||
|
e_border_act_menu_begin((E_Border *)obj, NULL, 0);
|
||||||
}
|
}
|
||||||
ACT_FN_GO_MOUSE(window_menu)
|
ACT_FN_GO_MOUSE(window_menu)
|
||||||
{
|
{
|
||||||
if (!obj) obj = E_OBJECT(e_border_focused_get());
|
if (!obj) obj = E_OBJECT(e_border_focused_get());
|
||||||
if (!obj) return;
|
if (!obj) return;
|
||||||
if (obj->type != E_BORDER_TYPE) return;
|
if (obj->type != E_BORDER_TYPE)
|
||||||
e_border_act_menu_begin((E_Border *)obj, ev);
|
{
|
||||||
|
obj = E_OBJECT(e_border_focused_get());
|
||||||
|
if (!obj) return;
|
||||||
|
}
|
||||||
|
e_border_act_menu_begin((E_Border *)obj, ev, 0);
|
||||||
|
}
|
||||||
|
ACT_FN_GO_KEY(window_menu)
|
||||||
|
{
|
||||||
|
if (!obj) obj = E_OBJECT(e_border_focused_get());
|
||||||
|
if (!obj) return;
|
||||||
|
if (obj->type != E_BORDER_TYPE)
|
||||||
|
{
|
||||||
|
obj = E_OBJECT(e_border_focused_get());
|
||||||
|
if (!obj) return;
|
||||||
|
}
|
||||||
|
e_border_act_menu_begin((E_Border *)obj, NULL, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
/***************************************************************************/
|
/***************************************************************************/
|
||||||
|
@ -165,6 +184,95 @@ ACT_FN_GO(window_close)
|
||||||
e_border_act_close_begin((E_Border *)obj);
|
e_border_act_close_begin((E_Border *)obj);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/***************************************************************************/
|
||||||
|
ACT_FN_GO(window_kill)
|
||||||
|
{
|
||||||
|
if (!obj) obj = E_OBJECT(e_border_focused_get());
|
||||||
|
if (!obj) return;
|
||||||
|
if (obj->type != E_BORDER_TYPE)
|
||||||
|
{
|
||||||
|
obj = E_OBJECT(e_border_focused_get());
|
||||||
|
if (!obj) return;
|
||||||
|
}
|
||||||
|
e_border_act_kill_begin((E_Border *)obj);
|
||||||
|
}
|
||||||
|
|
||||||
|
/***************************************************************************/
|
||||||
|
ACT_FN_GO(window_sticky_toggle)
|
||||||
|
{
|
||||||
|
if (!obj) obj = E_OBJECT(e_border_focused_get());
|
||||||
|
if (!obj) return;
|
||||||
|
if (obj->type != E_BORDER_TYPE)
|
||||||
|
{
|
||||||
|
obj = E_OBJECT(e_border_focused_get());
|
||||||
|
if (!obj) return;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
E_Border *bd;
|
||||||
|
|
||||||
|
bd = (E_Border *)obj;
|
||||||
|
if (bd->sticky) e_border_unstick(bd);
|
||||||
|
else e_border_stick(bd);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/***************************************************************************/
|
||||||
|
ACT_FN_GO(window_iconic_toggle)
|
||||||
|
{
|
||||||
|
if (!obj) obj = E_OBJECT(e_border_focused_get());
|
||||||
|
if (!obj) return;
|
||||||
|
if (obj->type != E_BORDER_TYPE)
|
||||||
|
{
|
||||||
|
obj = E_OBJECT(e_border_focused_get());
|
||||||
|
if (!obj) return;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
E_Border *bd;
|
||||||
|
|
||||||
|
bd = (E_Border *)obj;
|
||||||
|
if (bd->iconic) e_border_uniconify(bd);
|
||||||
|
else e_border_iconify(bd);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/***************************************************************************/
|
||||||
|
ACT_FN_GO(window_maximized_toggle)
|
||||||
|
{
|
||||||
|
if (!obj) obj = E_OBJECT(e_border_focused_get());
|
||||||
|
if (!obj) return;
|
||||||
|
if (obj->type != E_BORDER_TYPE)
|
||||||
|
{
|
||||||
|
obj = E_OBJECT(e_border_focused_get());
|
||||||
|
if (!obj) return;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
E_Border *bd;
|
||||||
|
|
||||||
|
bd = (E_Border *)obj;
|
||||||
|
if (bd->maximized) e_border_unmaximize(bd);
|
||||||
|
else e_border_maximize(bd);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/***************************************************************************/
|
||||||
|
ACT_FN_GO(window_shaded_toggle)
|
||||||
|
{
|
||||||
|
if (!obj) obj = E_OBJECT(e_border_focused_get());
|
||||||
|
if (!obj) return;
|
||||||
|
if (obj->type != E_BORDER_TYPE)
|
||||||
|
{
|
||||||
|
obj = E_OBJECT(e_border_focused_get());
|
||||||
|
if (!obj) return;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
E_Border *bd;
|
||||||
|
|
||||||
|
bd = (E_Border *)obj;
|
||||||
|
if (bd->shaded) e_border_unshade(bd, E_DIRECTION_UP);
|
||||||
|
else e_border_shade(bd, E_DIRECTION_UP);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/***************************************************************************/
|
/***************************************************************************/
|
||||||
ACT_FN_GO(desk_flip_by)
|
ACT_FN_GO(desk_flip_by)
|
||||||
{
|
{
|
||||||
|
@ -245,6 +353,141 @@ ACT_FN_GO(desk_linear_flip_to)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/***************************************************************************/
|
||||||
|
static void
|
||||||
|
_e_actions_cb_menu_end(void *data, E_Menu *m)
|
||||||
|
{
|
||||||
|
e_object_del(E_OBJECT(m));
|
||||||
|
}
|
||||||
|
static E_Menu *
|
||||||
|
_e_actions_menu_find(char *name)
|
||||||
|
{
|
||||||
|
if (!strcmp(name, "main")) return e_int_menus_main_new();
|
||||||
|
else if (!strcmp(name, "favorites")) return e_int_menus_favorite_apps_new();
|
||||||
|
else if (!strcmp(name, "clients")) return e_int_menus_clients_new();
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
ACT_FN_GO(menu_show)
|
||||||
|
{
|
||||||
|
E_Zone *zone;
|
||||||
|
|
||||||
|
/* menu is active - abort */
|
||||||
|
if (e_menu_grab_window_get()) return;
|
||||||
|
if (!obj) return;
|
||||||
|
if (obj->type == E_MANAGER_TYPE)
|
||||||
|
{
|
||||||
|
zone = e_util_zone_current_get((E_Manager *)obj);
|
||||||
|
if (zone)
|
||||||
|
{
|
||||||
|
if (params)
|
||||||
|
{
|
||||||
|
E_Menu *m = NULL;
|
||||||
|
|
||||||
|
m = _e_actions_menu_find(params);
|
||||||
|
if (m)
|
||||||
|
{
|
||||||
|
int x, y;
|
||||||
|
|
||||||
|
/* FIXME: this is a bit of a hack... setting m->con - bad hack */
|
||||||
|
m->zone = zone;
|
||||||
|
ecore_x_pointer_xy_get(zone->container->win, &x, &y);
|
||||||
|
e_menu_post_deactivate_callback_set(m, _e_actions_cb_menu_end, NULL);
|
||||||
|
e_menu_activate_mouse(m, zone, x, y, 1, 1,
|
||||||
|
E_MENU_POP_DIRECTION_DOWN);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
ACT_FN_GO_MOUSE(menu_show)
|
||||||
|
{
|
||||||
|
E_Zone *zone;
|
||||||
|
|
||||||
|
/* menu is active - abort */
|
||||||
|
if (e_menu_grab_window_get()) return;
|
||||||
|
if (!obj) return;
|
||||||
|
if (obj->type == E_MANAGER_TYPE)
|
||||||
|
{
|
||||||
|
zone = e_util_zone_current_get((E_Manager *)obj);
|
||||||
|
if (zone)
|
||||||
|
{
|
||||||
|
if (params)
|
||||||
|
{
|
||||||
|
E_Menu *m = NULL;
|
||||||
|
|
||||||
|
m = _e_actions_menu_find(params);
|
||||||
|
if (m)
|
||||||
|
{
|
||||||
|
int x, y;
|
||||||
|
|
||||||
|
/* FIXME: this is a bit of a hack... setting m->con - bad hack */
|
||||||
|
m->zone = zone;
|
||||||
|
x = ev->root.x;
|
||||||
|
y = ev->root.y;
|
||||||
|
x -= zone->container->x;
|
||||||
|
y -= zone->container->y;
|
||||||
|
e_menu_post_deactivate_callback_set(m, _e_actions_cb_menu_end, NULL);
|
||||||
|
e_menu_activate_mouse(m, zone, x, y, 1, 1,
|
||||||
|
E_MENU_POP_DIRECTION_DOWN);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
ACT_FN_GO_KEY(menu_show)
|
||||||
|
{
|
||||||
|
E_Zone *zone;
|
||||||
|
|
||||||
|
/* menu is active - abort */
|
||||||
|
if (e_menu_grab_window_get()) return;
|
||||||
|
if (!obj) return;
|
||||||
|
if (obj->type == E_MANAGER_TYPE)
|
||||||
|
{
|
||||||
|
zone = e_util_zone_current_get((E_Manager *)obj);
|
||||||
|
if (zone)
|
||||||
|
{
|
||||||
|
if (params)
|
||||||
|
{
|
||||||
|
E_Menu *m = NULL;
|
||||||
|
|
||||||
|
m = _e_actions_menu_find(params);
|
||||||
|
if (m)
|
||||||
|
{
|
||||||
|
int x, y;
|
||||||
|
|
||||||
|
/* FIXME: this is a bit of a hack... setting m->con - bad hack */
|
||||||
|
m->zone = zone;
|
||||||
|
ecore_x_pointer_xy_get(zone->container->win, &x, &y);
|
||||||
|
e_menu_post_deactivate_callback_set(m, _e_actions_cb_menu_end, NULL);
|
||||||
|
e_menu_activate_key(m, zone, x, y, 1, 1,
|
||||||
|
E_MENU_POP_DIRECTION_DOWN);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/***************************************************************************/
|
||||||
|
ACT_FN_GO(exec)
|
||||||
|
{
|
||||||
|
E_Zone *zone;
|
||||||
|
|
||||||
|
if (!obj) return;
|
||||||
|
if (obj->type != E_MANAGER_TYPE) return;
|
||||||
|
zone = e_util_zone_current_get((E_Manager *)obj);
|
||||||
|
if (zone)
|
||||||
|
{
|
||||||
|
if (params)
|
||||||
|
{
|
||||||
|
Ecore_Exe *exe;
|
||||||
|
|
||||||
|
exe = ecore_exe_run(params, NULL);
|
||||||
|
if (exe) ecore_exe_free(exe);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/* local subsystem globals */
|
/* local subsystem globals */
|
||||||
static Evas_Hash *actions = NULL;
|
static Evas_Hash *actions = NULL;
|
||||||
|
|
||||||
|
@ -267,12 +510,24 @@ e_actions_init(void)
|
||||||
|
|
||||||
ACT_GO(window_menu);
|
ACT_GO(window_menu);
|
||||||
ACT_GO_MOUSE(window_menu);
|
ACT_GO_MOUSE(window_menu);
|
||||||
|
ACT_GO_KEY(window_menu);
|
||||||
|
|
||||||
ACT_GO(window_raise);
|
ACT_GO(window_raise);
|
||||||
|
|
||||||
ACT_GO(window_lower);
|
ACT_GO(window_lower);
|
||||||
|
|
||||||
ACT_GO(window_close);
|
ACT_GO(window_close);
|
||||||
|
|
||||||
|
ACT_GO(window_kill);
|
||||||
|
|
||||||
|
ACT_GO(window_sticky_toggle);
|
||||||
|
|
||||||
|
ACT_GO(window_iconic_toggle);
|
||||||
|
|
||||||
|
ACT_GO(window_maximized_toggle);
|
||||||
|
|
||||||
|
ACT_GO(window_shaded_toggle);
|
||||||
|
|
||||||
ACT_GO(desk_flip_by);
|
ACT_GO(desk_flip_by);
|
||||||
|
|
||||||
ACT_GO(desk_flip_to);
|
ACT_GO(desk_flip_to);
|
||||||
|
@ -280,6 +535,12 @@ e_actions_init(void)
|
||||||
ACT_GO(desk_linear_flip_by);
|
ACT_GO(desk_linear_flip_by);
|
||||||
|
|
||||||
ACT_GO(desk_linear_flip_to);
|
ACT_GO(desk_linear_flip_to);
|
||||||
|
|
||||||
|
ACT_GO(menu_show);
|
||||||
|
ACT_GO_MOUSE(menu_show);
|
||||||
|
ACT_GO_KEY(menu_show);
|
||||||
|
|
||||||
|
ACT_GO(exec);
|
||||||
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
|
@ -61,6 +61,7 @@ e_bindings_init(void)
|
||||||
e_bindings_mouse_add(E_BINDING_CONTEXT_BORDER,
|
e_bindings_mouse_add(E_BINDING_CONTEXT_BORDER,
|
||||||
3, E_BINDING_MODIFIER_ALT, 0,
|
3, E_BINDING_MODIFIER_ALT, 0,
|
||||||
"window_menu", "");
|
"window_menu", "");
|
||||||
|
|
||||||
e_bindings_key_add(E_BINDING_CONTEXT_ANY,
|
e_bindings_key_add(E_BINDING_CONTEXT_ANY,
|
||||||
"Left", E_BINDING_MODIFIER_SHIFT | E_BINDING_MODIFIER_ALT, 0,
|
"Left", E_BINDING_MODIFIER_SHIFT | E_BINDING_MODIFIER_ALT, 0,
|
||||||
"desk_flip_by", "-1 0");
|
"desk_flip_by", "-1 0");
|
||||||
|
@ -82,6 +83,25 @@ e_bindings_init(void)
|
||||||
e_bindings_key_add(E_BINDING_CONTEXT_ANY,
|
e_bindings_key_add(E_BINDING_CONTEXT_ANY,
|
||||||
"x", E_BINDING_MODIFIER_CTRL | E_BINDING_MODIFIER_ALT, 0,
|
"x", E_BINDING_MODIFIER_CTRL | E_BINDING_MODIFIER_ALT, 0,
|
||||||
"window_close", "");
|
"window_close", "");
|
||||||
|
e_bindings_key_add(E_BINDING_CONTEXT_ANY,
|
||||||
|
"k", E_BINDING_MODIFIER_CTRL | E_BINDING_MODIFIER_ALT, 0,
|
||||||
|
"window_kill", "");
|
||||||
|
e_bindings_key_add(E_BINDING_CONTEXT_ANY,
|
||||||
|
"w", E_BINDING_MODIFIER_CTRL | E_BINDING_MODIFIER_ALT, 0,
|
||||||
|
"window_menu", "");
|
||||||
|
e_bindings_key_add(E_BINDING_CONTEXT_ANY,
|
||||||
|
"s", E_BINDING_MODIFIER_CTRL | E_BINDING_MODIFIER_ALT, 0,
|
||||||
|
"window_sticky_toggle", "");
|
||||||
|
e_bindings_key_add(E_BINDING_CONTEXT_ANY,
|
||||||
|
"i", E_BINDING_MODIFIER_CTRL | E_BINDING_MODIFIER_ALT, 0,
|
||||||
|
"window_iconic_toggle", "");
|
||||||
|
e_bindings_key_add(E_BINDING_CONTEXT_ANY,
|
||||||
|
"f", E_BINDING_MODIFIER_CTRL | E_BINDING_MODIFIER_ALT, 0,
|
||||||
|
"window_maximized_toggle", "");
|
||||||
|
e_bindings_key_add(E_BINDING_CONTEXT_ANY,
|
||||||
|
"r", E_BINDING_MODIFIER_CTRL | E_BINDING_MODIFIER_ALT, 0,
|
||||||
|
"window_shaded_toggle", "");
|
||||||
|
|
||||||
e_bindings_key_add(E_BINDING_CONTEXT_ANY,
|
e_bindings_key_add(E_BINDING_CONTEXT_ANY,
|
||||||
"Left", E_BINDING_MODIFIER_CTRL | E_BINDING_MODIFIER_ALT, 0,
|
"Left", E_BINDING_MODIFIER_CTRL | E_BINDING_MODIFIER_ALT, 0,
|
||||||
"desk_linear_flip_by", "-1");
|
"desk_linear_flip_by", "-1");
|
||||||
|
@ -124,6 +144,46 @@ e_bindings_init(void)
|
||||||
e_bindings_key_add(E_BINDING_CONTEXT_ANY,
|
e_bindings_key_add(E_BINDING_CONTEXT_ANY,
|
||||||
"F12", E_BINDING_MODIFIER_ALT, 0,
|
"F12", E_BINDING_MODIFIER_ALT, 0,
|
||||||
"desk_linear_flip_to", "11");
|
"desk_linear_flip_to", "11");
|
||||||
|
e_bindings_key_add(E_BINDING_CONTEXT_ANY,
|
||||||
|
"m", E_BINDING_MODIFIER_CTRL | E_BINDING_MODIFIER_ALT, 0,
|
||||||
|
"menu_show", "main");
|
||||||
|
e_bindings_key_add(E_BINDING_CONTEXT_ANY,
|
||||||
|
"a", E_BINDING_MODIFIER_CTRL | E_BINDING_MODIFIER_ALT, 0,
|
||||||
|
"menu_show", "favorites");
|
||||||
|
e_bindings_key_add(E_BINDING_CONTEXT_ANY,
|
||||||
|
"Menu", 0, 0,
|
||||||
|
"menu_show", "main");
|
||||||
|
e_bindings_key_add(E_BINDING_CONTEXT_ANY,
|
||||||
|
"Menu", E_BINDING_MODIFIER_CTRL, 0,
|
||||||
|
"menu_show", "clients");
|
||||||
|
e_bindings_key_add(E_BINDING_CONTEXT_ANY,
|
||||||
|
"Menu", E_BINDING_MODIFIER_ALT, 0,
|
||||||
|
"menu_show", "favorites");
|
||||||
|
|
||||||
|
e_bindings_key_add(E_BINDING_CONTEXT_ANY,
|
||||||
|
"Insert", E_BINDING_MODIFIER_CTRL | E_BINDING_MODIFIER_ALT, 0,
|
||||||
|
"exec", "Eterm");
|
||||||
|
|
||||||
|
/* shoudl do these - can't yet due to other things missing... */
|
||||||
|
|
||||||
|
/* need a yes/no dialog for these - to stop accidental logouts. for this
|
||||||
|
* i'd make a special case that can ask u to log out, restart or shut down
|
||||||
|
* or even reboot (if you have permissions to do so)
|
||||||
|
*/
|
||||||
|
/* CTRL+ALT Delete - logout */
|
||||||
|
/* CTRL+ALT End - restart */
|
||||||
|
|
||||||
|
/* need a way to display all focused windows nicely - subsystem for
|
||||||
|
* this that also grabs the modifier on activate (if there are any) so
|
||||||
|
* on release of modifier(s) OR on any new action this list aborts display
|
||||||
|
*/
|
||||||
|
/* ALT Tab - next window focus */
|
||||||
|
/* ALT_SHIFT Tab - prev window focus */
|
||||||
|
|
||||||
|
/* need to support fullscreen anyway for this - ie netwm and the border
|
||||||
|
* system need to handle this as well as possibly using xrandr/xvidmode
|
||||||
|
*/
|
||||||
|
/* ALT Return - fullscreen window */
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -68,7 +68,7 @@ static void _e_border_resize_handle(E_Border *bd);
|
||||||
static int _e_border_shade_animator(void *data);
|
static int _e_border_shade_animator(void *data);
|
||||||
|
|
||||||
static void _e_border_cb_border_menu_end(void *data, E_Menu *m);
|
static void _e_border_cb_border_menu_end(void *data, E_Menu *m);
|
||||||
static void _e_border_menu_show(E_Border *bd, Evas_Coord x, Evas_Coord y);
|
static void _e_border_menu_show(E_Border *bd, Evas_Coord x, Evas_Coord y, int key);
|
||||||
static void _e_border_menu_cb_close(void *data, E_Menu *m, E_Menu_Item *mi);
|
static void _e_border_menu_cb_close(void *data, E_Menu *m, E_Menu_Item *mi);
|
||||||
static void _e_border_menu_cb_iconify(void *data, E_Menu *m, E_Menu_Item *mi);
|
static void _e_border_menu_cb_iconify(void *data, E_Menu *m, E_Menu_Item *mi);
|
||||||
static void _e_border_menu_cb_maximize(void *data, E_Menu *m, E_Menu_Item *mi);
|
static void _e_border_menu_cb_maximize(void *data, E_Menu *m, E_Menu_Item *mi);
|
||||||
|
@ -1270,18 +1270,20 @@ e_border_act_resize_end(E_Border *bd, Ecore_X_Event_Mouse_Button_Up *ev)
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
e_border_act_menu_begin(E_Border *bd, Ecore_X_Event_Mouse_Button_Down *ev)
|
e_border_act_menu_begin(E_Border *bd, Ecore_X_Event_Mouse_Button_Down *ev, int key)
|
||||||
{
|
{
|
||||||
if (ev)
|
if (ev)
|
||||||
{
|
{
|
||||||
_e_border_menu_show(bd, bd->x + ev->x, bd->y + ev->y);
|
_e_border_menu_show(bd,
|
||||||
|
bd->x + ev->x - bd->zone->container->x,
|
||||||
|
bd->y + ev->y - bd->zone->container->y, key);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
int x, y;
|
int x, y;
|
||||||
|
|
||||||
ecore_x_pointer_last_xy_get(&x, &y);
|
ecore_x_pointer_xy_get(bd->zone->container->win, &x, &y);
|
||||||
_e_border_menu_show(bd, x, y);
|
_e_border_menu_show(bd, x, y, key);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1300,6 +1302,15 @@ e_border_act_close_begin(E_Border *bd)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
e_border_act_kill_begin(E_Border *bd)
|
||||||
|
{
|
||||||
|
ecore_x_kill(bd->client.win);
|
||||||
|
ecore_x_sync();
|
||||||
|
e_border_hide(bd, 0);
|
||||||
|
e_object_del(E_OBJECT(bd));
|
||||||
|
}
|
||||||
|
|
||||||
/* local subsystem functions */
|
/* local subsystem functions */
|
||||||
static void
|
static void
|
||||||
_e_border_free(E_Border *bd)
|
_e_border_free(E_Border *bd)
|
||||||
|
@ -2172,7 +2183,7 @@ _e_border_cb_signal_action(void *data, Evas_Object *obj, const char *emission, c
|
||||||
Evas_Coord x, y;
|
Evas_Coord x, y;
|
||||||
|
|
||||||
evas_pointer_canvas_xy_get(bd->bg_evas , &x, &y);
|
evas_pointer_canvas_xy_get(bd->bg_evas , &x, &y);
|
||||||
_e_border_menu_show(bd, x + bd->x, y + bd->y);
|
_e_border_menu_show(bd, x + bd->x, y + bd->y, 0);
|
||||||
}
|
}
|
||||||
else if (!strcmp(source, "lower"))
|
else if (!strcmp(source, "lower"))
|
||||||
{
|
{
|
||||||
|
@ -3632,7 +3643,7 @@ _e_border_cb_border_menu_end(void *data, E_Menu *m)
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
_e_border_menu_show(E_Border *bd, Evas_Coord x, Evas_Coord y)
|
_e_border_menu_show(E_Border *bd, Evas_Coord x, Evas_Coord y, int key)
|
||||||
{
|
{
|
||||||
E_Menu *m;
|
E_Menu *m;
|
||||||
E_Menu_Item *mi;
|
E_Menu_Item *mi;
|
||||||
|
@ -3744,9 +3755,12 @@ _e_border_menu_show(E_Border *bd, Evas_Coord x, Evas_Coord y)
|
||||||
e_menu_item_callback_set(mi, _e_border_menu_cb_icon_edit, buf);
|
e_menu_item_callback_set(mi, _e_border_menu_cb_icon_edit, buf);
|
||||||
}
|
}
|
||||||
|
|
||||||
e_menu_activate_mouse(m, bd->zone, x, y, 1, 1,
|
if (key)
|
||||||
|
e_menu_activate_key(m, bd->zone, x, y, 1, 1,
|
||||||
E_MENU_POP_DIRECTION_DOWN);
|
E_MENU_POP_DIRECTION_DOWN);
|
||||||
|
else
|
||||||
|
e_menu_activate_mouse(m, bd->zone, x, y, 1, 1,
|
||||||
|
E_MENU_POP_DIRECTION_DOWN);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
@ -3773,7 +3787,7 @@ _e_border_menu_cb_iconify(void *data, E_Menu *m, E_Menu_Item *mi)
|
||||||
E_Border *bd;
|
E_Border *bd;
|
||||||
|
|
||||||
bd = data;
|
bd = data;
|
||||||
if (bd->maximized) e_border_uniconify(bd);
|
if (bd->iconic) e_border_uniconify(bd);
|
||||||
else e_border_iconify(bd);
|
else e_border_iconify(bd);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -352,9 +352,10 @@ EAPI void e_border_act_move_begin(E_Border *bd, Ecore_X_Event_Mouse_Button_Down
|
||||||
EAPI void e_border_act_move_end(E_Border *bd, Ecore_X_Event_Mouse_Button_Up *ev);
|
EAPI void e_border_act_move_end(E_Border *bd, Ecore_X_Event_Mouse_Button_Up *ev);
|
||||||
EAPI void e_border_act_resize_begin(E_Border *bd, Ecore_X_Event_Mouse_Button_Down *ev);
|
EAPI void e_border_act_resize_begin(E_Border *bd, Ecore_X_Event_Mouse_Button_Down *ev);
|
||||||
EAPI void e_border_act_resize_end(E_Border *bd, Ecore_X_Event_Mouse_Button_Up *ev);
|
EAPI void e_border_act_resize_end(E_Border *bd, Ecore_X_Event_Mouse_Button_Up *ev);
|
||||||
EAPI void e_border_act_menu_begin(E_Border *bd, Ecore_X_Event_Mouse_Button_Down *ev);
|
EAPI void e_border_act_menu_begin(E_Border *bd, Ecore_X_Event_Mouse_Button_Down *ev, int key);
|
||||||
EAPI void e_border_act_close_begin(E_Border *bd);
|
EAPI void e_border_act_close_begin(E_Border *bd);
|
||||||
|
EAPI void e_border_act_kill_begin(E_Border *bd);
|
||||||
|
|
||||||
extern EAPI int E_EVENT_BORDER_RESIZE;
|
extern EAPI int E_EVENT_BORDER_RESIZE;
|
||||||
extern EAPI int E_EVENT_BORDER_MOVE;
|
extern EAPI int E_EVENT_BORDER_MOVE;
|
||||||
extern EAPI int E_EVENT_BORDER_ADD;
|
extern EAPI int E_EVENT_BORDER_ADD;
|
||||||
|
|
|
@ -151,8 +151,8 @@ e_menu_activate_key(E_Menu *m, E_Zone *zone, int x, int y, int w, int h, int dir
|
||||||
E_OBJECT_TYPE_CHECK(zone, E_ZONE_TYPE);
|
E_OBJECT_TYPE_CHECK(zone, E_ZONE_TYPE);
|
||||||
_e_menu_activate_time = 0.0;
|
_e_menu_activate_time = 0.0;
|
||||||
_e_menu_activate_internal(m, zone);
|
_e_menu_activate_internal(m, zone);
|
||||||
m->cur.x = 200;
|
m->cur.x = x + w;
|
||||||
m->cur.y = 200;
|
m->cur.y = y + h;
|
||||||
_e_menu_activate_first();
|
_e_menu_activate_first();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -167,8 +167,8 @@ e_menu_activate_mouse(E_Menu *m, E_Zone *zone, int x, int y, int w, int h, int d
|
||||||
E_OBJECT_TYPE_CHECK(zone, E_ZONE_TYPE);
|
E_OBJECT_TYPE_CHECK(zone, E_ZONE_TYPE);
|
||||||
_e_menu_activate_time = ecore_time_get();
|
_e_menu_activate_time = ecore_time_get();
|
||||||
_e_menu_activate_internal(m, zone);
|
_e_menu_activate_internal(m, zone);
|
||||||
m->cur.x = x;
|
m->cur.x = x + w;
|
||||||
m->cur.y = y;
|
m->cur.y = y + h;
|
||||||
|
|
||||||
pmi = _e_menu_item_active_get();
|
pmi = _e_menu_item_active_get();
|
||||||
if (pmi) e_menu_item_active_set(pmi, 0);
|
if (pmi) e_menu_item_active_set(pmi, 0);
|
||||||
|
|
|
@ -202,8 +202,8 @@ e_zone_current_get(E_Container *con)
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
int x, y;
|
int x, y;
|
||||||
|
|
||||||
ecore_x_pointer_last_xy_get(&x, &y);
|
ecore_x_pointer_xy_get(con->win, &x, &y);
|
||||||
for (l = con->zones; l; l = l->next)
|
for (l = con->zones; l; l = l->next)
|
||||||
{
|
{
|
||||||
E_Zone *zone;
|
E_Zone *zone;
|
||||||
|
@ -618,7 +618,7 @@ _e_zone_cb_timer(void *data)
|
||||||
|
|
||||||
zone = data;
|
zone = data;
|
||||||
|
|
||||||
ecore_x_pointer_last_xy_get(&x, &y);
|
ecore_x_pointer_xy_get(zone->container->win, &x, &y);
|
||||||
|
|
||||||
switch (zone->flip.direction)
|
switch (zone->flip.direction)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue