diff --git a/src/bin/e_actions.c b/src/bin/e_actions.c index cc7bc070d..c117a8082 100644 --- a/src/bin/e_actions.c +++ b/src/bin/e_actions.c @@ -1153,7 +1153,6 @@ ACT_FN_GO_EDGE(desk_flip_in_direction) wev = E_NEW(E_Event_Pointer_Warp, 1); if ((!wev) || (!zone)) return; prev = e_desk_at_xy_get(zone, zone->desk_x_current, zone->desk_y_current); - if (prev->fullscreen_borders && (!e_config->fullscreen_flip)) return; ecore_x_pointer_xy_get(zone->container->win, &x, &y); wev->prev.x = x; wev->prev.y = y; diff --git a/src/bin/e_bindings.c b/src/bin/e_bindings.c index bd6e58b39..56f27269f 100644 --- a/src/bin/e_bindings.c +++ b/src/bin/e_bindings.c @@ -610,9 +610,13 @@ EAPI E_Action * e_bindings_edge_in_event_handle(E_Binding_Context ctxt, E_Object *obj, E_Event_Zone_Edge *ev) { E_Binding_Modifier mod = 0; + E_Desk *current = NULL; E_Action *act = NULL; Eina_List *l; + current = e_desk_at_xy_get(ev->zone, ev->zone->desk_x_current, ev->zone->desk_y_current); + if (current->fullscreen_borders && (!e_config->fullscreen_flip)) return NULL; + if (ev->modifiers & ECORE_X_MODIFIER_SHIFT) mod |= E_BINDING_MODIFIER_SHIFT; if (ev->modifiers & ECORE_X_MODIFIER_CTRL) mod |= E_BINDING_MODIFIER_CTRL; if (ev->modifiers & ECORE_X_MODIFIER_ALT) mod |= E_BINDING_MODIFIER_ALT; diff --git a/src/modules/conf_desks/e_int_config_desks.c b/src/modules/conf_desks/e_int_config_desks.c index 9442f2894..70a37847d 100644 --- a/src/modules/conf_desks/e_int_config_desks.c +++ b/src/modules/conf_desks/e_int_config_desks.c @@ -23,7 +23,6 @@ struct _E_Config_Dialog_Data /*- ADVANCED -*/ int edge_flip_dragging; int flip_wrap; - int fullscreen_flip; int flip_mode; int flip_interp; double flip_speed; @@ -66,7 +65,6 @@ _fill_data(E_Config_Dialog_Data *cfdata) cfdata->flip_animate = e_config->desk_flip_animate_mode > 0; cfdata->edge_flip_dragging = e_config->edge_flip_dragging; cfdata->flip_wrap = e_config->desk_flip_wrap; - cfdata->fullscreen_flip = e_config->fullscreen_flip; cfdata->flip_mode = e_config->desk_flip_animate_mode; cfdata->flip_interp = e_config->desk_flip_animate_interpolation; cfdata->flip_speed = e_config->desk_flip_animate_time; @@ -162,7 +160,6 @@ _advanced_apply_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata) e_config->edge_flip_dragging = cfdata->edge_flip_dragging; e_config->desk_flip_wrap = cfdata->flip_wrap; - e_config->fullscreen_flip = cfdata->fullscreen_flip; e_config_save_queue(); return 1; /* Apply was OK */ @@ -238,8 +235,6 @@ _advanced_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data e_widget_framelist_object_append(of, ob); ob = e_widget_check_add(evas, _("Wrap desktops around when flipping"), &(cfdata->flip_wrap)); e_widget_framelist_object_append(of, ob); - ob = e_widget_check_add(evas, _("Allow flipping with fullscreen windows"), &(cfdata->fullscreen_flip)); - e_widget_framelist_object_append(of, ob); e_widget_table_object_append(ott, of, 1, 0, 1, 1, 1, 0, 1, 0); of = e_widget_framelist_add(evas, _("Flip Animation"), 0); diff --git a/src/modules/conf_edgebindings/e_int_config_edgebindings.c b/src/modules/conf_edgebindings/e_int_config_edgebindings.c index 47a1586da..11f3fe12d 100644 --- a/src/modules/conf_edgebindings/e_int_config_edgebindings.c +++ b/src/modules/conf_edgebindings/e_int_config_edgebindings.c @@ -77,6 +77,9 @@ struct _E_Config_Dialog_Data } gui; const char *params; + + int fullscreen_flip; + E_Config_Dialog *cfd; }; @@ -137,6 +140,8 @@ _fill_data(E_Config_Dialog_Data *cfdata) cfdata->binding.edge = eina_list_append(cfdata->binding.edge, bi2); } + + cfdata->fullscreen_flip = e_config->fullscreen_flip; } static void * @@ -215,6 +220,8 @@ _basic_apply_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata) e_bindings_edge_add(bi->context, bi->edge, bi->modifiers, bi->any_mod, bi->action, bi->params, bi->delay); } + e_config->fullscreen_flip = cfdata->fullscreen_flip; + e_config_save_queue(); return 1; @@ -223,15 +230,16 @@ _basic_apply_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata) static Evas_Object * _basic_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cfdata) { - Evas_Object *o, *ot, *of, *ob; + Evas_Object *o, *ol, *ot, *of, *ob; cfdata->evas = evas; - o = e_widget_list_add(evas, 0, 1); + o = e_widget_list_add(evas, 0, 0); + ol = e_widget_list_add(evas, 0, 1); of = e_widget_frametable_add(evas, _("Edge Bindings"), 0); ob = e_widget_ilist_add(evas, 32, 32, &(cfdata->locals.binding)); cfdata->gui.o_binding_list = ob; - e_widget_min_size_set(ob, 200, 200); + e_widget_min_size_set(ob, 200, 160); e_widget_frametable_object_append(of, ob, 0, 0, 2, 1, 1, 1, 1, 1); ob = e_widget_button_add(evas, _("Add Edge"), NULL, _add_edge_binding_cb, cfdata, NULL); cfdata->gui.o_add = ob; @@ -250,13 +258,13 @@ _basic_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cf e_widget_frametable_object_append(of, ob, 1, 2, 1, 1, 1, 0, 1, 0); ob = e_widget_button_add(evas, _("Restore Default Bindings"), "enlightenment/e", _restore_edge_binding_defaults_cb, cfdata, NULL); e_widget_frametable_object_append(of, ob, 0, 3, 2, 1, 1, 0, 1, 0); - e_widget_list_object_append(o, of, 1, 1, 0.5); + e_widget_list_object_append(ol, of, 1, 1, 0.5); ot = e_widget_table_add(evas, 0); of = e_widget_framelist_add(evas, _("Action"), 0); ob = e_widget_ilist_add(evas, 24, 24, &(cfdata->locals.action)); cfdata->gui.o_action_list = ob; - e_widget_min_size_set(ob, 200, 280); + e_widget_min_size_set(ob, 200, 240); e_widget_framelist_object_append(of, ob); e_widget_table_object_append(ot, of, 0, 0, 1, 1, 1, 1, 1, 1); @@ -266,7 +274,14 @@ _basic_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cf e_widget_disabled_set(ob, 1); e_widget_framelist_object_append(of, ob); e_widget_table_object_append(ot, of, 0, 1, 1, 1, 1, 1, 1, 0); - e_widget_list_object_append(o, ot, 1, 1, 0.5); + e_widget_list_object_append(ol, ot, 1, 1, 0.5); + + e_widget_list_object_append(o, ol, 1, 1, 0.5); + + of = e_widget_framelist_add(evas, _("General Options"), 0); + ob = e_widget_check_add(evas, _("Allow binding activation with fullscreen windows"), &(cfdata->fullscreen_flip)); + e_widget_framelist_object_append(of, ob); + e_widget_list_object_append(o, of, 1, 1, 0.5); _update_edge_binding_list(cfdata); _fill_actions_list(cfdata);