forked from enlightenment/enlightenment
edge flip now is configurable
:)tho not via ipc yet SVN revision: 14717
This commit is contained in:
parent
695c49a765
commit
5eecbcdfff
|
@ -112,6 +112,9 @@ e_config_init(void)
|
|||
E_CONFIG_VAL(D, T, font_cache, INT);
|
||||
E_CONFIG_VAL(D, T, zone_desks_x_count, INT);
|
||||
E_CONFIG_VAL(D, T, zone_desks_y_count, INT);
|
||||
E_CONFIG_VAL(D, T, use_virtual_roots, INT);
|
||||
E_CONFIG_VAL(D, T, use_edge_flip, INT);
|
||||
E_CONFIG_VAL(D, T, edge_flip_timeout, DOUBLE);
|
||||
E_CONFIG_VAL(D, T, language, STR);
|
||||
E_CONFIG_LIST(D, T, modules, _e_config_module_edd);
|
||||
E_CONFIG_LIST(D, T, font_fallbacks, _e_config_font_fallback_edd);
|
||||
|
@ -169,6 +172,8 @@ e_config_init(void)
|
|||
e_config->zone_desks_x_count = 4;
|
||||
e_config->zone_desks_y_count = 1;
|
||||
e_config->use_virtual_roots = 0;
|
||||
e_config->use_edge_flip = 1;
|
||||
e_config->edge_flip_timeout = 0.25;
|
||||
e_config->evas_engine_default = E_EVAS_ENGINE_SOFTWARE_X11;
|
||||
e_config->evas_engine_container = E_EVAS_ENGINE_DEFAULT;
|
||||
e_config->evas_engine_init = E_EVAS_ENGINE_DEFAULT;
|
||||
|
|
|
@ -46,7 +46,7 @@ typedef Eet_Data_Descriptor E_Config_DD;
|
|||
* defaults for e to work - started at 100 when we introduced this config
|
||||
* versioning feature
|
||||
*/
|
||||
#define E_CONFIG_FILE_VERSION 101
|
||||
#define E_CONFIG_FILE_VERSION 102
|
||||
|
||||
#define E_EVAS_ENGINE_DEFAULT 0
|
||||
#define E_EVAS_ENGINE_SOFTWARE_X11 1
|
||||
|
@ -68,6 +68,8 @@ struct _E_Config
|
|||
int zone_desks_x_count;
|
||||
int zone_desks_y_count;
|
||||
int use_virtual_roots;
|
||||
int use_edge_flip;
|
||||
double edge_flip_timeout;
|
||||
int evas_engine_default;
|
||||
int evas_engine_container;
|
||||
int evas_engine_init;
|
||||
|
|
|
@ -57,10 +57,10 @@ e_zone_new(E_Container *con, int num, int x, int y, int w, int h)
|
|||
zone->h = h;
|
||||
zone->num = num;
|
||||
|
||||
zone->flip.top = ecore_x_window_input_new(con->win, 1, 0, w - 2, 1);
|
||||
zone->flip.right = ecore_x_window_input_new(con->win, w - 1, 1, 1, h - 2);
|
||||
zone->flip.bottom = ecore_x_window_input_new(con->win, 1, h - 1, w - 2, 1);
|
||||
zone->flip.left = ecore_x_window_input_new(con->win, 0, 1, 1, h - 2);
|
||||
zone->flip.left = ecore_x_window_input_new(con->win, zone->x, zone->y, 1, zone->h);
|
||||
zone->flip.right = ecore_x_window_input_new(con->win, zone->x + zone->w - 1, zone->y, 1, zone->h);
|
||||
zone->flip.top = ecore_x_window_input_new(con->win, zone->x + 1, zone->y, zone->w - 2, 1);
|
||||
zone->flip.bottom = ecore_x_window_input_new(con->win, zone->x + 1, zone->y + zone->h - 1, zone->w - 2, 1);
|
||||
|
||||
zone->handlers = evas_list_append(zone->handlers,
|
||||
ecore_event_handler_add(ECORE_X_EVENT_MOUSE_IN,
|
||||
|
@ -151,6 +151,10 @@ e_zone_move(E_Zone *zone, int x, int y)
|
|||
evas_object_move(zone->bg_object, x, y);
|
||||
evas_object_move(zone->bg_event_object, x, y);
|
||||
evas_object_move(zone->bg_clip_object, x, y);
|
||||
ecore_x_window_move_resize(zone->flip.left, zone->x, zone->y, 1, zone->h);
|
||||
ecore_x_window_move_resize(zone->flip.right, zone->x + zone->w - 1, zone->y, 1, zone->h);
|
||||
ecore_x_window_move_resize(zone->flip.top, zone->x + 1, zone->y, zone->w - 2, 1);
|
||||
ecore_x_window_move_resize(zone->flip.bottom, zone->x + 1, zone->y + zone->h - 1, zone->w - 2, 1);
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -166,10 +170,10 @@ e_zone_resize(E_Zone *zone, int w, int h)
|
|||
evas_object_resize(zone->bg_event_object, w, h);
|
||||
evas_object_resize(zone->bg_clip_object, w, h);
|
||||
|
||||
ecore_x_window_move_resize(zone->flip.top, 1, 0, w - 2, 1);
|
||||
ecore_x_window_move_resize(zone->flip.right, w - 1, 1, 1, h - 2);
|
||||
ecore_x_window_move_resize(zone->flip.bottom, 1, h - 1, w - 2, 1);
|
||||
ecore_x_window_move_resize(zone->flip.left, 0, 1, 1, h - 2);
|
||||
ecore_x_window_move_resize(zone->flip.left, zone->x, zone->y, 1, zone->h);
|
||||
ecore_x_window_move_resize(zone->flip.right, zone->x + zone->w - 1, zone->y, 1, zone->h);
|
||||
ecore_x_window_move_resize(zone->flip.top, zone->x + 1, zone->y, zone->w - 2, 1);
|
||||
ecore_x_window_move_resize(zone->flip.bottom, zone->x + 1, zone->y + zone->h - 1, zone->w - 2, 1);
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -253,7 +257,7 @@ e_zone_flip_coords_handle(E_Zone *zone, int x, int y)
|
|||
/* top */
|
||||
if (zone->flip.timer)
|
||||
ecore_timer_del(zone->flip.timer);
|
||||
zone->flip.timer = ecore_timer_add(0.5, _e_zone_cb_timer, zone);
|
||||
zone->flip.timer = ecore_timer_add(e_config->edge_flip_timeout, _e_zone_cb_timer, zone);
|
||||
zone->flip.direction = E_DIRECTION_UP;
|
||||
}
|
||||
else if ((x == (zone->w - 1)) && E_ZONE_FLIP_RIGHT(zone))
|
||||
|
@ -261,7 +265,7 @@ e_zone_flip_coords_handle(E_Zone *zone, int x, int y)
|
|||
/* right */
|
||||
if (zone->flip.timer)
|
||||
ecore_timer_del(zone->flip.timer);
|
||||
zone->flip.timer = ecore_timer_add(0.5, _e_zone_cb_timer, zone);
|
||||
zone->flip.timer = ecore_timer_add(e_config->edge_flip_timeout, _e_zone_cb_timer, zone);
|
||||
zone->flip.direction = E_DIRECTION_RIGHT;
|
||||
}
|
||||
else if ((y == (zone->h - 1)) && E_ZONE_FLIP_DOWN(zone))
|
||||
|
@ -269,7 +273,7 @@ e_zone_flip_coords_handle(E_Zone *zone, int x, int y)
|
|||
/* bottom */
|
||||
if (zone->flip.timer)
|
||||
ecore_timer_del(zone->flip.timer);
|
||||
zone->flip.timer = ecore_timer_add(0.5, _e_zone_cb_timer, zone);
|
||||
zone->flip.timer = ecore_timer_add(e_config->edge_flip_timeout, _e_zone_cb_timer, zone);
|
||||
zone->flip.direction = E_DIRECTION_DOWN;
|
||||
}
|
||||
else if ((x == 0) && E_ZONE_FLIP_LEFT(zone))
|
||||
|
@ -277,7 +281,7 @@ e_zone_flip_coords_handle(E_Zone *zone, int x, int y)
|
|||
/* left */
|
||||
if (zone->flip.timer)
|
||||
ecore_timer_del(zone->flip.timer);
|
||||
zone->flip.timer = ecore_timer_add(0.5, _e_zone_cb_timer, zone);
|
||||
zone->flip.timer = ecore_timer_add(e_config->edge_flip_timeout, _e_zone_cb_timer, zone);
|
||||
zone->flip.direction = E_DIRECTION_LEFT;
|
||||
}
|
||||
else
|
||||
|
@ -610,28 +614,28 @@ _e_zone_cb_mouse_in(void *data, int type, void *event)
|
|||
{
|
||||
if (zone->flip.timer)
|
||||
ecore_timer_del(zone->flip.timer);
|
||||
zone->flip.timer = ecore_timer_add(0.5, _e_zone_cb_timer, zone);
|
||||
zone->flip.timer = ecore_timer_add(e_config->edge_flip_timeout, _e_zone_cb_timer, zone);
|
||||
zone->flip.direction = E_DIRECTION_UP;
|
||||
}
|
||||
else if (ev->win == zone->flip.right)
|
||||
{
|
||||
if (zone->flip.timer)
|
||||
ecore_timer_del(zone->flip.timer);
|
||||
zone->flip.timer = ecore_timer_add(0.5, _e_zone_cb_timer, zone);
|
||||
zone->flip.timer = ecore_timer_add(e_config->edge_flip_timeout, _e_zone_cb_timer, zone);
|
||||
zone->flip.direction = E_DIRECTION_RIGHT;
|
||||
}
|
||||
else if (ev->win == zone->flip.bottom)
|
||||
{
|
||||
if (zone->flip.timer)
|
||||
ecore_timer_del(zone->flip.timer);
|
||||
zone->flip.timer = ecore_timer_add(0.5, _e_zone_cb_timer, zone);
|
||||
zone->flip.timer = ecore_timer_add(e_config->edge_flip_timeout, _e_zone_cb_timer, zone);
|
||||
zone->flip.direction = E_DIRECTION_DOWN;
|
||||
}
|
||||
else if (ev->win == zone->flip.left)
|
||||
{
|
||||
if (zone->flip.timer)
|
||||
ecore_timer_del(zone->flip.timer);
|
||||
zone->flip.timer = ecore_timer_add(0.5, _e_zone_cb_timer, zone);
|
||||
zone->flip.timer = ecore_timer_add(e_config->edge_flip_timeout, _e_zone_cb_timer, zone);
|
||||
zone->flip.direction = E_DIRECTION_LEFT;
|
||||
}
|
||||
return 1;
|
||||
|
@ -739,13 +743,17 @@ static void
|
|||
_e_zone_update_flip(E_Zone *zone)
|
||||
{
|
||||
|
||||
if (E_ZONE_FLIP_UP(zone))
|
||||
if ((e_config->use_edge_flip) &&
|
||||
/* if we have more than 1 zone - disable */
|
||||
(evas_list_count(zone->container->zones) == 1))
|
||||
{
|
||||
ecore_x_window_show(zone->flip.top);
|
||||
e_container_window_raise(zone->container, zone->flip.top, 999);
|
||||
if (E_ZONE_FLIP_LEFT(zone))
|
||||
{
|
||||
ecore_x_window_show(zone->flip.left);
|
||||
e_container_window_raise(zone->container, zone->flip.left, 999);
|
||||
}
|
||||
else
|
||||
ecore_x_window_hide(zone->flip.top);
|
||||
ecore_x_window_hide(zone->flip.left);
|
||||
|
||||
if (E_ZONE_FLIP_RIGHT(zone))
|
||||
{
|
||||
|
@ -755,6 +763,14 @@ _e_zone_update_flip(E_Zone *zone)
|
|||
else
|
||||
ecore_x_window_hide(zone->flip.right);
|
||||
|
||||
if (E_ZONE_FLIP_UP(zone))
|
||||
{
|
||||
ecore_x_window_show(zone->flip.top);
|
||||
e_container_window_raise(zone->container, zone->flip.top, 999);
|
||||
}
|
||||
else
|
||||
ecore_x_window_hide(zone->flip.top);
|
||||
|
||||
if (E_ZONE_FLIP_DOWN(zone))
|
||||
{
|
||||
ecore_x_window_show(zone->flip.bottom);
|
||||
|
@ -763,11 +779,12 @@ _e_zone_update_flip(E_Zone *zone)
|
|||
else
|
||||
ecore_x_window_hide(zone->flip.bottom);
|
||||
|
||||
if (E_ZONE_FLIP_LEFT(zone))
|
||||
{
|
||||
ecore_x_window_show(zone->flip.left);
|
||||
e_container_window_raise(zone->container, zone->flip.left, 999);
|
||||
}
|
||||
else
|
||||
{
|
||||
ecore_x_window_hide(zone->flip.left);
|
||||
ecore_x_window_hide(zone->flip.right);
|
||||
ecore_x_window_hide(zone->flip.top);
|
||||
ecore_x_window_hide(zone->flip.bottom);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue