winlist_warp_speed->pointer_warp_speed

pointer warp options consolidated into their own tab in focus settings


SVN revision: 83633
This commit is contained in:
Mike Blumenkrantz 2013-02-05 14:22:54 +00:00
parent d7c52deb98
commit fcd92901fc
7 changed files with 51 additions and 31 deletions

View File

@ -4,6 +4,9 @@
* fix bug where edge flips would stop functioning after dragging to an invalid edge containing a shelf
* edge bindings can now be set to "drag only"
* merged all binding config dialogs into conf_bindings module
* new option for disabling all pointer warps
* move pointer warp speed option to be general option
* new tab in focus settings for pointer warping
2013-02-04 Mike Blumenkrantz

6
NEWS
View File

@ -31,16 +31,19 @@ Additions:
* added options and functionality for "fast" composite effects
* split comp window match settings into separate dialog
* edge bindings can now be set to "drag only"
* new option for disabling all pointer warps
Changes:
Modules:
* modules no longer require shutdown or save functions
* merged all binding config dialogs into conf_bindings module
API:
* e_menu_category_callback create callback parameter order has been changed
* e_manager_comp_set() is no longer accessible by modules
* e_xkb_layout API now deals directly with E_Config_XKB_Layout structs
Config:
* move winlist_warp_speed option to pointer_warp_speed
Deprecations:
*
@ -86,6 +89,7 @@ Improvements:
* optimize use of edje_file_collection_list
* add support for edje files in filepreview widget
* improve load time of apps dialogs
* new tab in focus settings for pointer warping
Fixes:
* IBar menu didn't allow to configure different icon sources, show contents menu even on empty IBar.

View File

@ -631,6 +631,7 @@ _e_config_edd_init(Eina_Bool old)
E_CONFIG_VAL(D, T, focus_revert_on_hide_or_close, INT); /**/
E_CONFIG_VAL(D, T, pointer_slide, INT); /**/
E_CONFIG_VAL(D, T, disable_all_pointer_warps, INT); /**/
E_CONFIG_VAL(D, T, pointer_warp_speed, DOUBLE); /**/
E_CONFIG_VAL(D, T, use_e_cursor, INT); /**/
E_CONFIG_VAL(D, T, cursor_size, INT); /**/
E_CONFIG_VAL(D, T, menu_autoscroll_margin, INT); /**/
@ -1290,6 +1291,12 @@ e_config_load(void)
e_config->modules = eina_list_append(e_config->modules, em);
}
}
CONFIG_VERSION_CHECK(11)
{
CONFIG_VERSION_UPDATE_INFO(11);
e_config->pointer_warp_speed = e_config->winlist_warp_speed;
e_config->winlist_warp_speed = 0;
}
}
if (!e_config->remember_internal_fm_windows)
e_config->remember_internal_fm_windows = !!(e_config->remember_internal_windows & E_REMEMBER_INTERNAL_FM_WINS);
@ -1370,6 +1377,7 @@ e_config_load(void)
E_CONFIG_LIMIT(e_config->focus_revert_on_hide_or_close, 0, 1);
E_CONFIG_LIMIT(e_config->pointer_slide, 0, 1);
E_CONFIG_LIMIT(e_config->disable_all_pointer_warps, 0, 1);
E_CONFIG_LIMIT(e_config->pointer_warp_speed, 0.0, 1.0);
E_CONFIG_LIMIT(e_config->show_cursor, 0, 1);
E_CONFIG_LIMIT(e_config->use_e_cursor, 0, 1);
E_CONFIG_LIMIT(e_config->cursor_size, 0, 1024);

View File

@ -48,7 +48,7 @@ typedef enum
/* increment this whenever a new set of config values are added but the users
* config doesn't need to be wiped - simply new values need to be put in
*/
#define E_CONFIG_FILE_GENERATION 10
#define E_CONFIG_FILE_GENERATION 11
#define E_CONFIG_FILE_VERSION ((E_CONFIG_FILE_EPOCH * 1000000) + E_CONFIG_FILE_GENERATION)
#define E_CONFIG_BINDINGS_VERSION 0 // DO NOT INCREMENT UNLESS YOU WANT TO WIPE ALL BINDINGS!!!!!
@ -128,7 +128,7 @@ struct _E_Config
int winlist_warp_while_selecting; // GUI
int winlist_warp_at_end; // GUI
int winlist_no_warp_on_direction; // GUI
double winlist_warp_speed; // GUI
double winlist_warp_speed; // GUI **** NO LONGER USED!!!
int winlist_scroll_animate; // GUI
double winlist_scroll_speed; // GUI
int winlist_list_show_iconified; // GUI
@ -170,6 +170,7 @@ struct _E_Config
int focus_revert_on_hide_or_close; // GUI
int disable_all_pointer_warps; // GUI
int pointer_slide; // GUI
double pointer_warp_speed; // GUI
int use_e_cursor; // GUI
int cursor_size; // GUI
int menu_autoscroll_margin; // GUI

View File

@ -1580,6 +1580,8 @@ e_configure_option_init(void)
OPT_ADD(BOOL, focus_revert_on_hide_or_close, _("Revert window focus on window hide or close"), _("border"), _("focus"));
OPT_ADD(BOOL, pointer_slide, _("Warp pointer to new windows and away from closed windows"), _("border"), _("focus"), _("warp"), _("pointer"));
OPT_ADD(BOOL, disable_all_pointer_warps, _("Prevent all forms of pointer warping"), _("border"), _("focus"), _("warp"), _("pointer"));
OPT_ADD(DOUBLE, pointer_warp_speed, _("Speed to move pointer when warping between windows"), _("border"), _("focus"), _("warp"), _("pointer"), _("speed"));
OPT_MINMAX_STEP_FMT(0.0, 1.0, 0.01, "%1.2f");
OPT_ADD(BOOL, border_raise_on_mouse_action, _("Windows raise on mouse move/resize"), _("border"), _("raise"), _("focus"), _("mouse"), _("pointer"), _("move"), _("resize"));
OPT_ADD(BOOL, border_raise_on_focus, _("Windows raise when focused"), _("border"), _("raise"), _("focus"), _("mouse"));
@ -1604,8 +1606,6 @@ e_configure_option_init(void)
OPT_ADD(BOOL, winlist_warp_at_end, _("Winlist moves pointer to currently selected window after winlist closes"), _("border"), _("winlist"), _("focus"), _("warp"), _("pointer"));
OPT_ADD(BOOL, winlist_no_warp_on_direction, _("Disable pointer warping on winlist directional focus change"), _("border"), _("winlist"), _("focus"), _("warp"), _("pointer"));
OPT_HELP(_("This option, when enabled, disables pointer warping only when switching windows using a directional winlist action (up/down/left/right)"));
OPT_ADD(DOUBLE, winlist_warp_speed, _("Winlist pointer warp speed while selecting"), _("border"), _("winlist"), _("focus"), _("warp"), _("pointer"), _("speed"));
OPT_MINMAX_STEP_FMT(0.0, 1.0, 0.01, "%1.2f");
OPT_ADD(BOOL, winlist_scroll_animate, _("Enable winlist scroll animation"), _("border"), _("winlist"), _("animate"));
OPT_ADD(DOUBLE, winlist_scroll_speed, _("Winlist scroll speed"), _("border"), _("winlist"), _("animate"), _("speed"));
OPT_MINMAX_STEP_FMT(0.0, 1.0, 0.01, "%1.2f");

View File

@ -29,6 +29,7 @@ struct _E_Config_Dialog_Data
int focus_revert_on_hide_or_close;
int pointer_slide;
int disable_all_pointer_warps;
double pointer_warp_speed;
double auto_raise_delay;
int border_raise_on_mouse_action;
int border_raise_on_focus;
@ -79,6 +80,7 @@ _fill_data(E_Config_Dialog_Data *cfdata)
e_config->focus_revert_on_hide_or_close;
cfdata->pointer_slide = e_config->pointer_slide;
cfdata->disable_all_pointer_warps = e_config->disable_all_pointer_warps;
cfdata->pointer_warp_speed = e_config->pointer_warp_speed;
cfdata->mode = cfdata->focus_policy;
@ -187,6 +189,7 @@ _advanced_apply(E_Config_Dialog *cfd __UNUSED__, E_Config_Dialog_Data *cfdata)
cfdata->focus_revert_on_hide_or_close;
e_config->pointer_slide = cfdata->pointer_slide;
e_config->disable_all_pointer_warps = cfdata->disable_all_pointer_warps;
e_config->pointer_warp_speed = cfdata->pointer_warp_speed;
e_config->use_auto_raise = cfdata->use_auto_raise;
e_config->auto_raise_delay = cfdata->auto_raise_delay;
@ -211,6 +214,7 @@ _advanced_check_changed(E_Config_Dialog *cfd __UNUSED__, E_Config_Dialog_Data *c
(e_config->focus_revert_on_hide_or_close != cfdata->focus_revert_on_hide_or_close) ||
(e_config->pointer_slide != cfdata->pointer_slide) ||
(e_config->disable_all_pointer_warps != cfdata->disable_all_pointer_warps) ||
(fabs(e_config->pointer_warp_speed - cfdata->pointer_warp_speed) < DBL_EPSILON) ||
(e_config->use_auto_raise != cfdata->use_auto_raise) ||
(e_config->auto_raise_delay != cfdata->auto_raise_delay) ||
(e_config->border_raise_on_mouse_action != cfdata->border_raise_on_mouse_action) ||
@ -323,6 +327,32 @@ _advanced_create(E_Config_Dialog *cfd __UNUSED__, Evas *evas, E_Config_Dialog_Da
e_widget_framelist_object_append(of, ob);
e_widget_toolbook_page_append(otb, NULL, _("Hints"), of,
1, 0, 1, 0, 0.5, 0.0);
/* Pointer */
ol = e_widget_list_add(evas, 0, 0);
of = e_widget_framelist_add(evas, _("Warping"), 0);
/* NOTE/TODO:
*
* IMHO all these slide-pointer-to-window, warp and all should have
* an unique and consistent setting. In some cases it just do not
* make sense to have one but not the other.
*/
ob = e_widget_check_add(evas, _("Slide pointer to a new window which is focused"),
&(cfdata->pointer_slide));
e_widget_framelist_object_append(of, ob);
ob = e_widget_check_add(evas, _("Prevent all forms of pointer warping"),
&(cfdata->disable_all_pointer_warps));
e_widget_framelist_object_append(of, ob);
ob = e_widget_label_add(evas, _("Warp speed"));
e_widget_framelist_object_append(of, ob);
ob = e_widget_slider_add(evas, 1, 0, _("%1.2f"), 0.0, 1.0, 0.01, 0,
&(cfdata->pointer_warp_speed), NULL, 100);
e_widget_framelist_object_append(of, ob);
e_widget_list_object_append(ol, of, 1, 0, 0.5);
e_widget_toolbook_page_append(otb, NULL, _("Pointer"), ol,
1, 0, 1, 0, 0.5, 0.0);
/* Misc */
ol = e_widget_list_add(evas, 0, 0);
of = e_widget_framelist_add(evas, _("Other Settings"), 0);
@ -341,20 +371,6 @@ _advanced_create(E_Config_Dialog *cfd __UNUSED__, Evas *evas, E_Config_Dialog_Da
ob = e_widget_check_add(evas, _("Focus last focused window on lost focus"),
&(cfdata->focus_revert_on_hide_or_close));
e_widget_framelist_object_append(of, ob);
/* NOTE/TODO:
*
* IMHO all these slide-pointer-to-window, warp and all should have
* an unique and consistent setting. In some cases it just do not
* make sense to have one but not the other.
*/
ob = e_widget_check_add(evas, _("Slide pointer to a new window which is focused"),
&(cfdata->pointer_slide));
e_widget_framelist_object_append(of, ob);
ob = e_widget_check_add(evas, _("Prevent all forms of pointer warping"),
&(cfdata->disable_all_pointer_warps));
e_widget_framelist_object_append(of, ob);
e_widget_list_object_append(ol, of, 1, 0, 0.5);
e_widget_toolbook_page_append(otb, NULL, _("Miscellaneous"), ol,
1, 0, 1, 0, 0.5, 0.0);

View File

@ -23,7 +23,6 @@ struct _E_Config_Dialog_Data
int warp_while_selecting;
int warp_at_end;
int no_warp_on_direction;
double warp_speed;
int jump_desk;
int scroll_animate;
@ -84,7 +83,6 @@ _fill_data(E_Config_Dialog_Data *cfdata)
cfdata->warp_while_selecting = e_config->winlist_warp_while_selecting;
cfdata->warp_at_end = e_config->winlist_warp_at_end;
cfdata->no_warp_on_direction = e_config->winlist_no_warp_on_direction;
cfdata->warp_speed = e_config->winlist_warp_speed;
cfdata->scroll_animate = e_config->winlist_scroll_animate;
cfdata->scroll_speed = e_config->winlist_scroll_speed;
@ -133,7 +131,6 @@ _basic_apply(E_Config_Dialog *cfd __UNUSED__, E_Config_Dialog_Data *cfdata)
DO(warp_while_selecting, warp_while_selecting);
DO(warp_at_end, warp_at_end);
DO(no_warp_on_direction, no_warp_on_direction);
DO(warp_speed, warp_speed);
DO(scroll_animate, scroll_animate);
DO(scroll_speed, scroll_speed);
DO(list_focus_while_selecting, focus);
@ -167,7 +164,6 @@ _basic_check_changed(E_Config_Dialog *cfd __UNUSED__, E_Config_Dialog_Data *cfda
DO(warp_while_selecting, warp_while_selecting);
DO(warp_at_end, warp_at_end);
DO(no_warp_on_direction, no_warp_on_direction);
DO(warp_speed, warp_speed);
DO(scroll_animate, scroll_animate);
DO(scroll_speed, scroll_speed);
DO(list_focus_while_selecting, focus);
@ -239,14 +235,6 @@ _basic_create(E_Config_Dialog *cfd __UNUSED__, Evas *evas, E_Config_Dialog_Data
0, 0, 1, 0, 0.5, 0.0);
ol = e_widget_list_add(evas, 0, 0);
ob = e_widget_label_add(evas, _("Warp speed"));
cfdata->gui.disable_warp =
eina_list_append(cfdata->gui.disable_warp, ob);
e_widget_list_object_append(ol, ob, 1, 0, 0.0);
ob = e_widget_slider_add(evas, 1, 0, _("%1.2f"), 0.0, 1.0, 0.01, 0,
&(cfdata->warp_speed), NULL, 100);
cfdata->gui.disable_warp = eina_list_append(cfdata->gui.disable_warp, ob);
e_widget_list_object_append(ol, ob, 1, 0, 0.0);
ob = e_widget_check_add(evas, _("Scroll Animation"),
&(cfdata->scroll_animate));
e_widget_on_change_hook_set(ob, _scroll_animate_changed, cfdata);